HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/2006 08.11.2005 6. Vorlesung Christian Schindelhauer 1 HEINZ NIXDORF INS TITUT Überblick: Kontextfreie Sprachen Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Formale Grammatik – Einführung, Beispiele – Formale Definition – Das Wort-Problem – Chomsky Normalform – Cocke-Younger-Kasami-Algorithmus Kellerautomaten – Formale Definition – Beispiele – Äquivalenz zu kontextfreien Sprachen Nichtkontextfreie Sprachen – Pumping-Lemma für kontextfreie Sprachen Berechenbarkeit, Formale Sprachen, 06-2 Komplexitätstheorie HEINZ NIXDORF INS TITUT Kapitel IV Kontextfreie Sprachen Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Kontextfreie Grammatik Berechenbarkeit, Formale Sprachen, 06-3 Komplexitätstheorie HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Beispiele kontextfreier Grammatiken Kontextfreie Grammatiken sind “Wortersetzer” –A → 0A1 –A → B –B → # Ableitungsbaum Ersetzungsregeln bestehen aus Produktionen Variablen, Terminalsymbole (Terminale) Startvariable: A –A –0A1 –00A11 –000A111 –000B111 –000#111 .... und Schluss Das Wort 000#111 ist ein Wort der Grammatik Berechenbarkeit, Formale Sprachen, 06-4 Komplexitätstheorie Formale Definition einer kontextfreien Grammatik HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Definition – Eine kontextfreie Grammatik ist ein Vierer-Tupel G=(V,Σ,R,S), wobei • V ist die endliche Menge der Variablen (Nichtterminale) • Σ ist die endliche Menge der Terminale (Terminalsymbole) V und Σ sind disjunkte Mengen • R ist eine endliche Menge an Ersetzungsregeln (Regeln/Produktionen) Jede Regel besteht aus einer Variable und einer Zeichenkette aus Variablen und Terminalen, ∗ A → w, mit A ∈ V, w ∈ (V ∪ Σ)* • S ∈ V ist die Startvariable Ableitung – Falls die Regel A → w in R ist, dann ist uAv ⇒ uwv, d.h. • uAv kann zu uwv in einem Schritt abgeleitet werden – Wir sagen das u zu v abgeleitet werden kann oder u ⇒* v, wenn es ein k ≥ 0 gibt mit u ⇒ u1 ⇒ u2 ⇒ ... ⇒ uk ⇒ v Sprache der Grammatik G – L(G) = { w ∈ Σ * | S ⇒* v} Die kontextfreien Sprachen werden durch kontextfreie Grammatiken erzeugt. Berechenbarkeit, Formale Sprachen, 06-5 Komplexitätstheorie HEINZ NIXDORF INS TITUT Ist ein Wort in der Sprache? Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Die Entscheidung, ob ein Wort in einer kontextfreien Grammatik abgeleitet werden kann ist nicht trivial: – Mehrdeutige Ableitung – Riesige Worte, die aufgrund der Epsilon-Regeln wieder verschwinden Die Lösungsstrategie: – Chomski-Normalform • Jede Grammatik lässt sich (praktisch) ohne Epsilon-Regeln in einer einfachen Form darstellen – Cocke-Younger-Kasami-Algorithms • Durch dynamische Programmierung lässt sich die Laufzeit reduzieren Berechenbarkeit, Formale Sprachen, 06-6 Komplexitätstheorie HEINZ NIXDORF INS TITUT Chomsky-Normalform Definition –Eine kontextfreie Grammatik ist in Chomsky-Normalform, falls jede Regel die Form • A → BC oder • A → a oder • S → ε hat –wobei • A,B,C,S sind Variablen • a ist ein Terminal • B,C sind nicht das Startsymbol, • S ist das Startsymbol. Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Theorem – Jede kontextfreie Sprache kann in Chomsky-Normalform dargestellt werden. Beispiel – Kontextfreie Grammatik • G = ({A,B}, {0,1,#}, R, A} • R = {A → 0A1, A → B, B → #} – Grammatik mit gleicher Sprache in Chomski-Normalform • G’= ({A,B,C,N,E}, {0,1,#}, R, S} •R={ S → NC, N→ 0, S → #, A → NC, C → AE, E →1, A→#} Berechenbarkeit, Formale Sprachen, 06-7 Komplexitätstheorie Der Cocke-Younger-Kasami-Algorithmus (CYK-Algorithmus) HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge der Teilfolge i = Startindex der Teilfolge j = Schlussindex der Teilfolge Berechenbarkeit, Formale Sprachen, 06-8 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, C → AB, A → a, B → b, C → a } Berechenbarkeit, Formale Sprachen, 06-9 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, C → AB, A → a, B → b, C → a } Berechenbarkeit, Formale Sprachen, 06-10 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, C → AB, A → a, B → b, C → a } Berechenbarkeit, Formale Sprachen, 06-11 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, C → AB, A → a, B → b, C → a } Berechenbarkeit, Formale Sprachen, 06-12 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, C → AB, A → a, B → b, C → a } Berechenbarkeit, Formale Sprachen, 06-13 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, C → AB, A → a, B → b, C → a } Berechenbarkeit, Formale Sprachen, 06-14 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, C → AB, A → a, B → b, C → a } Berechenbarkeit, Formale Sprachen, 06-15 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, C → AB, A → a, B → b, C → a } Berechenbarkeit, Formale Sprachen, 06-16 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, C → AB, A → a, B → b, C → a } Berechenbarkeit, Formale Sprachen, 06-17 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, C → AB, A → a, B → b, C → a } Berechenbarkeit, Formale Sprachen, 06-18 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, C → AB, A → a, B → b, C → a } Berechenbarkeit, Formale Sprachen, 06-19 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, C → AB, A → a, B → b, C → a } Berechenbarkeit, Formale Sprachen, 06-20 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, C → AB, A → a, B → b, C → a } Berechenbarkeit, Formale Sprachen, 06-21 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, C → AB, A → a, B → b, C → a } Berechenbarkeit, Formale Sprachen, 06-22 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, C → AB, A → a, B → b, C → a } Berechenbarkeit, Formale Sprachen, 06-23 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, C → AB, A → a, B → b, C → a } Berechenbarkeit, Formale Sprachen, 06-24 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, C → AB, A → a, B → b, C → a } Berechenbarkeit, Formale Sprachen, 06-25 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, C → AB, A → a, B → b, C → a } Berechenbarkeit, Formale Sprachen, 06-26 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, C → AB, A → a, B → b, C → a } Berechenbarkeit, Formale Sprachen, 06-27 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, C → AB, A → a, B → b, C → a } Berechenbarkeit, Formale Sprachen, 06-28 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, C → AB, A → a, B → b, C → a } Berechenbarkeit, Formale Sprachen, 06-29 Komplexitätstheorie Cocke-Younger-Kasami-Algorithmus Beispiel HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer l = Länge i = Startindex j = Schlussindex G = (V , Σ, S, P ), wobei V = {S, A, B, C } und Σ = {a, b}. P={ S → AB, S → BC, A → BA B → CC, baaba C → AB, A → a, B → b, C → a } ist in der Sprache Berechenbarkeit, Formale Sprachen, 06-30 Komplexitätstheorie HEINZ NIXDORF INS TITUT Kapitel IV Kontextfreie Sprachen Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Kellerautomaten Berechenbarkeit, Formale Sprachen, 06-31 Komplexitätstheorie Prinzip des Kellerautomats Push-Down-Automaton (PDA) HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Ein Kellerautomat vereinigt einen – NFA mit einem – Keller (Stack) Der Keller kann potenziell beliebig viel Zeichen speichern Zugriff ist eingeschränkt: – Pop: Auslesen des obersten Zeichens (inklusive Entfernen) – Push: Hineinlegen eines Zeichens Auf den Übergängen des NFA wird der Zugriff auf den Keller festgelegt – zusätzlich zum aktuellen Zeichen der Eingabe, – die weiterhin von links nach rechts gelesen wird. Berechenbarkeit, Formale Sprachen, 06-32 Komplexitätstheorie HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Keller-Automat: Formale Definition Definition – Ein Kellerautomat (pushdown automaton - PDA) wird durch ein Sechser-Tupel (Q, Σ,Γ,δ,q0,F), wobei Q, Σ,Γ,F endliche Mengen sind und 1. Q ist die Menge der Zustände 2. Σ ist das Eingabealphabet 3. Γ ist das Kelleralphabet 4. δ : Q × Σε × Γε → P(Q × Γε) ist die Übergangsfunktion 5. q0 ist der Startzustand 6. F ⊆ Q ist die Menge der akzeptierenden Zustände Ein PDA akzeptiert die Eingabe w, – wenn es eine Darstellung w= w1 w2 ...wm mit wi ∈ Σε gibt – wenn es eine Zustandsfolge q = r0 r2 ...rm mit si ∈ Q gibt – wenn es Zeichenketten s0,s1 , ... , sm ∈ Γε* gibt, so dass 1. r0 = q0 und s0 =ε − Startzustand mit leeren Keller 2. Für i = 0, ..., m-1 gilt: − (ri+1,b) ∈ δ(ri,wi+1,a), wobei − si = at und si+1 = bt für passende a,b ∈ Γε, t ∈ Γε* − Übergang mit Kellerverhalten: − Lies a, Schreibe b 3. rm ∈ F • Ein akzeptierender Zustand erscheint als Endzustand Berechenbarkeit, Formale Sprachen, 06-33 Komplexitätstheorie HEINZ NIXDORF INS TITUT Keller-Automat: Beispielberechnung Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Der PDA M = (Q, Σ,Γ,δ,q1,F) akzeptiert die Sprache {0n1n | n≥0} Q = {q1,q2,q3,q4} Σ = {0,1} Γ = {0,$} F = {q1, q4} δ: – δ(q1 , ε, ε) = {(q2,$)} • q1: Push $, Gehe zu q2 – δ(q2 , 0, ε) = {(q2,0)} • q2: Falls Lese = 0: Push 0; Gehe zu q2 – δ(q2 , 1, 0) = {(q3,ε)} • q2: Falls Lese=1 und Pop=0 gehe zu q3 – δ(q3 , 1,0) = {(q3,ε)} • q3: Falls Lese=1 gehe zu q3 – δ(q3 , ε, $) = {(q4,ε)} • q3: Falls Pop=$ gehe zu q4 – δ(q , a) = {}, für alle anderen Kombinationen q ∈ Q,a ∈ Σε Berechenbarkeit, Formale Sprachen, 06-34 Komplexitätstheorie HEINZ NIXDORF INS TITUT Keller-Automat: Beispielberechnung Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Berechenbarkeit, Formale Sprachen, 06-35 Komplexitätstheorie HEINZ NIXDORF INS TITUT Keller-Automat: Beispielberechnung Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Berechenbarkeit, Formale Sprachen, 06-36 Komplexitätstheorie HEINZ NIXDORF INS TITUT Keller-Automat: Beispielberechnung Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Berechenbarkeit, Formale Sprachen, 06-37 Komplexitätstheorie HEINZ NIXDORF INS TITUT Keller-Automat: Beispielberechnung Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Berechenbarkeit, Formale Sprachen, 06-38 Komplexitätstheorie HEINZ NIXDORF INS TITUT Keller-Automat: Beispielberechnung Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Berechenbarkeit, Formale Sprachen, 06-39 Komplexitätstheorie HEINZ NIXDORF INS TITUT Keller-Automat: Beispielberechnung Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Berechenbarkeit, Formale Sprachen, 06-40 Komplexitätstheorie HEINZ NIXDORF INS TITUT Keller-Automat: Beispielberechnung Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Berechenbarkeit, Formale Sprachen, 06-41 Komplexitätstheorie HEINZ NIXDORF INS TITUT Keller-Automat: Beispielberechnung Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Berechenbarkeit, Formale Sprachen, 06-42 Komplexitätstheorie HEINZ NIXDORF INS TITUT Keller-Automat: Beispielberechnung Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Berechenbarkeit, Formale Sprachen, 06-43 Komplexitätstheorie HEINZ NIXDORF INS TITUT Keller-Automat: Beispielberechnung Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Berechenbarkeit, Formale Sprachen, 06-44 Komplexitätstheorie Keller-Automat: Beispielberechnung Automat akzeptiert! HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Berechenbarkeit, Formale Sprachen, 06-45 Komplexitätstheorie Keller-Automaten beschreiben genau die kontextfreien Sprachen HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Theorem 6.1 – Eine Sprache ist genau dann kontextfrei, wenn ein Kellerautomat sie erkennt Lemma 6.1 – Ist eine Sprache kontextfrei, dann erkennt Sie ein Kellerautomat. Beweisidee – Die Mehrdeutigkeit der kontextfreien Sprache wird durch den Nichtdeterminismus des PDA gelöst – Die Ableitung der Worte steht im Keller – Im Keller werden die möglichen Übergänge der Ableitung geraten – Oben im Keller = Links, Unten im Keller = Rechts. – Sobald oben im Keller ein Terminal steht, wird es mit der Eingabe verglichen und jeweils gestrichen – Sobald oben im Keller eine Variable steht, wird eine mögliche Ersetzung im Keller durchgeführt. Berechenbarkeit, Formale Sprachen, 06-46 Komplexitätstheorie Jede kontextfreie Sprache kann von einem PDA erkannt werden HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Lemma 6.1 – Ist eine Sprache kontextfrei, dann gibt es einen Kellerautomat für sie. Konstruktion des Kellerautomaten – Wir können davon ausgehen, dass die Sprache als kontextfreie Grammatik G=(V,Σ,R,S) in Chomsky-Normalform vorliegt. – Ist S → ε in der Grammatik so gibt es einen ist der Startzustand des PDA akzeptierend – Zuerst wird der Stack mit den Symbolen $S initialisiert – Sei q der Zustand nach der Initialisierung – Für jede Regel der Form • A → BC • wird ein Übergang von q zu Zustand q[BC] hergestellt, der A vom Keller geholt, ε von der Eingabe liest und C auf den Keller legt • Der Übergang von q[BC] nach q liest ε von der Eingabe und legt B auf den Keller ablegt. – Für jede Regel der Form • A→a • wird ein Übergang von q zu q anglegt, der von der Eingabe a liest und A vom Keller holt – Eine weitere Regel liest $ vom Keller und geht in den einzigen akzeptierenden Zustand q[akz] Berechenbarkeit, Formale Sprachen, 06-47 Komplexitätstheorie HEINZ NIXDORF INS TITUT Beispielkonstruktion Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Grammatik: G=(V,Σ,R,S) mit –V={S,,A,B} –Σ={a,b,c} R = { S → AB, A → BB, A → a, A → c, B→b} Beispiel: – S ⇒ AB ⇒ cB ⇒ cb Keller: $S Keller: $BA Keller: $B Keller: $ Eingabe: cb Eingabe: cb Eingabe: b Eingabe: - Berechenbarkeit, Formale Sprachen, 06-48 Komplexitätstheorie HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Miniklausur Termin: Anmeldung: Thema: MORGEN, 09.11.2005, 13-14 (s.t.) Keine Reguläre Sprachen Inhalt: 4 Aufgaben (je 10 Punkte) Hilfsmittel: Keine - außer Schreibmaterial - Papier wird gestellt Bitte: Pünktlich erscheinen Mit Sicherheitsabstand hinsetzen (möglichst zwei Sitze zum Nachbarn) Punkteverteilung Abschreiben Abschreiben lassen Unterhalten = 0 Punkte = 0 Punkte = 0 Punkte. Berechenbarkeit, Formale Sprachen, 06-49 Komplexitätstheorie HEINZ NIXDORF INS TITUT Universität Paderborn Algorithmen und Komplexität Vielen Dank Ende der 5. Vorlesung Nächste Vorlesung: Nächste Miniklausur: Nächste Zentralübung: Mo. 14.11.2005 Mi. 09.11.2005 Mi. 16.11.2005 Heinz Nixdorf Institut & Institut für Informatik Universität Paderborn Fürstenallee 11 33102 Paderborn Tel.: 0 52 51/60 66 92 Fax: 0 52 51/62 64 82 E-Mail: [email protected] http://www.upb.de/cs/schindel.html 50