Theoretische Informatik I

Größe: px
Ab Seite anzeigen:

Download "Theoretische Informatik I"

Transkript

1 Theoretische Informatik I Einheit 3.2 Pushdown Automaten 1. Das Maschinenmodell 2. Arbeitsweise & erkannte Sprache 3. Beziehung zu Typ-2 Sprachen 4. Deterministische PDAs

2 Ein Maschinenmodell für Typ-2 Sprachen Eingabe Externer Speicher Zustandsüberführung δ Endlicher Automat Interner Zustand Maschinenmodell für Typ-2 Sprachen Akzeptieren Ablehnen Typ-3 Sprachen werden von NEAs akzeptiert Typ-3 Grammatik erzeugt pro Schritt ein Terminalsymbol NEA verarbeitet pro Schritt ein Eingabesymbol Erzeugte Terminalsymbole stehen links von der aktuellen Variablen Verarbeitete Eingabesymbole führen zu aktuellem Zustand Rechts von der aktuellen Variablen steht noch nichts Im Zustand ist nichts über noch unverarbeitete Eingabesymbole bekannt Welches Maschinenmodell paßt zu Typ-2 Sprachen? Kontextfreie Grammatiken können L 1 = {0 m 1 m m N} erzeugen Endliche Automaten haben kein Gedächtnis und können L 1 nicht erkennen Typ-2 Maschinenmodell benötigt externen Speicher Theoretische Informatik I 3.2: 1 Pushdown Automaten

3 Welches Speichermodell brauchen Typ-2 Sprachen? Benutze Analogie der Linksableitungen Links von der aktuellen Variablen A stehen nur erzeugte Terminalsymbole Entspricht den schon verarbeiteten Eingabesymbolen Aber rechts von A steht bereits Text Abarbeitung von A schiebt weiteren Text in die Mitte Automat muß Information speichern, die noch verarbeitet werden muß Information erklärt, was am Ende der Eingabe erwartet wird Wenn A komplett abgearbeitet, springt Linksableitung über Terminalsymbole zur nächsten Variablen Automat muß zuletzt erzeugte Information zuerst abarbeiten Speicher des Automaten sollte ein Stack sein Theoretische Informatik I 3.2: 2 Pushdown Automaten

4 Pushdown-Automaten intuitiv Eingabe Endlicher Automat + Stack Endliche Steuerung liest Eingabesymbole Interner Zustand Endliche Steuerung Zustandsüberführung δ a b c e f Stack Gleichzeitig kann das oberste Symbol im Stack beobachtet werden Eingabe und Stack wird gleichzeitig bearbeitet Gelesenes Symbol wird aus Eingabe entfernt Zustand kann verändert werden Akzeptieren Ablehnen Oberstes Stacksymbol wird durch (mehrere neue Stacksymbole ersetzt Nichtdeterministische Entscheidungen und spontane ɛ-übergänge möglich Theoretische Informatik I 3.2: 3 Pushdown Automaten

5 Pushdown-Automat für gerade Palindrome L = {ww R w {0, 1} } ist kontextfrei Speichere w in q 0 In q 0 wird je ein Symbol gelesen und auf den Stack gelegt Gelesenes Wort steht von unten nach oben im Stack Spontaner Wechsel in der Mitte Nichtdeterministischer ɛ-übergang von q 0 nach q 1 Im Stack steht w in umgekehrter Reihenfolge Verarbeite w R in q 1 In q 1 wird je ein Symbol gelesen und mit dem Stacksymbol verglichen Stacksymbol wird bei Gleichheit entfernt Leerer Stack akzeptiert Wenn Stack leer ist, wurde w R in q 1 verarbeitet Theoretische Informatik I 3.2: 4 Pushdown Automaten

6 Pushdown-Automaten mathematisch präzisiert Eingabe Interner Zustand Endliche Steuerung Zustandsüberführung δ Akzeptieren Ablehnen a b c e f Stack Ein Pushdown-Automat (PDA, Kellerautomat ist ein 7-Tupel P = (Q, Σ, Γ, δ, q 0, Z 0, F mit Q nichtleere endliche Zustandsmenge Σ endliches Eingabealphabet Γ endliches Stackalphabet δ:q (Σ {ɛ} Γ P(Q Γ q 0 Q Startzustand Z 0 Γ Initialsymbol des Stacks Überführungsfunktion F Q Menge von akzeptierenden Zuständen (Anfangszustand Theoretische Informatik I 3.2: 5 Pushdown Automaten (Endzustände Pushdown-Automaten sind üblicherweise nichtdeterministisch!

7 Pushdown-Automat für {ww R w {0, 1} } 0,X / 0X 1,X / 1X 0,0 / ɛ 1,1 / ɛ Start q 0 ɛ,x / X q 1 ɛ,z 0 / Z 0 q2 Speichere w in q 0 Jedes gelesene Symbol wird dem Stack zugefügt δ(q 0,a,X = {(q 0,aX} für a {0,1}, X Γ Spontaner ɛ-übergang von q 0 nach q 1 δ(q 0,ɛ,X = {(q 1,X} für X Γ Verarbeite w R in q 1 Jedes gelesene Symbol wird dem obersten Stacksymbol verglichen δ(q 1,a,a = {(q 1,ɛ} für a {0,1} Leerer Stack akzeptiert (ɛ-übergang nach q 2 δ(q 1,ɛ,Z 0 = {(q 2,Z 0 } P = ({q 0, q 1, q 2 }, {0,1}, {0,1,Z 0 }, δ, q 0, Z 0, {q 2 } Theoretische Informatik I 3.2: 6 Pushdown Automaten

8 Beschreibung von Pushdown-automaten Übergangsdiagramme Start 0,X / 0X 1,X / 1X q 0 ɛ,x / X 0,0 / ɛ 1,1 / ɛ q 1 ɛ,z 0 / Z 0 q 2 Jeder Zustand in Q wird durch einen Knoten (Kreise dargestellt Für (p, α δ(q, a, X, a (Σ ɛ hat das Diagramm eine Kante q a,x/α p (mehrere Beschriftungen derselben Kante möglich q 0 wird durch einen mit Start beschrifteten Pfeil angezeigt Endzustände in F werden durch doppelte Kreise gekennzeichnet Σ und Γ implizit durch die Diagramm bestimmt, Initialsymbol heißt Z 0 Übergangstabellen Tabellarische Darstellung der Funktion δ Kennzeichnung von q 0 durch einen Pfeil Kennzeichnung von F durch Sterne Σ, Γ und Q implizit durch die Tabelle bestimmt Wildcard (,,.. für a Σ oder X Γ erlaubt Q Σ ɛ Γ Resultat q 0 0 q 0,0 q 0 1 q 0,1 q 0 ɛ q 1, q q 1,ɛ q q 1,ɛ q 1 ɛ Z 0 q 2,Z 0 * q 2 Theoretische Informatik I 3.2: 7 Pushdown Automaten

9 Arbeitsweise von Pushdown-Automaten Generalisiere ˆδ zu Konfigurationsübergängen Konfiguration: der wirkliche Zustand des PDA Mehr als q Q: auch Inhalt des Stacks und unverarbeitete Eingabe zählt Formal dargestellt als Tripel K = (q,w,γ Q Σ Γ Konfigurationsübergang Wechsel zwischen Konfigurationen durch Abarbeitung von Worten (q,aw,xβ (p,w,αβ, falls (p, α δ(q, a, X K 1 K 2, falls K 1 = K 2 oder es gibt eine Konfiguration K mit K 1 K und K K 2 Konfigurationsübergänge für NEAs definierbar Konfigurationen sind Paare K = (q,w Q Σ (q,aw (p,w, falls p δ(q, a, K 1 K 2 definiert wie oben Allgemeinere, aber für endliche Automaten weniger intuitive Notation Theoretische Informatik I 3.2: 8 Pushdown Automaten

10 Abarbeitung des Palindrom PDA Verarbeitung von 1111 (q 0, 1111, Z 0 Start 0,X / 0X 1,X / 1X q 0 0,0 / ɛ 1,1 / ɛ ɛ,x / X q 1 ɛ,z 0 / Z 0 q 2 (q 0, 111, 1Z 0 (q 1, 1111, Z 0 (q 2, 1111, Z 0 (q 0, 11, 11Z 0 (q 1, 111, 1Z 0 (q 1, 11, Z 0 (q 0, 1, 111Z 0 (q 1, 11, 11Z 0 (q 2, 11, Z 0 (q 0, ɛ, 1111Z 0 (q 1, 1, 111Z 0 (q 1, 1, 1Z 0 (q 1, ɛ, 1111Z 0 (q 1, ɛ, 11Z 0 (q 1, ɛ, Z 0 (q 2, ɛ, Z 0 Theoretische Informatik I 3.2: 9 Pushdown Automaten

11 Wichtige Einsichten zu Konfigurationsübergängen Gilt (q,x,α (p,y,β dann gilt auch (q,xw,αγ (p,yw,βγ für alle w Σ, γ Γ Weder w noch γ werden bei der Verarbeitung angesehen Beweis durch Induktion über Anzahl der Konfigurationsschritte Kernargument: (q,aw,xγ (p,w,βγ, falls (p, β δ(q, a, X was hinter a bzw. X kommt, bleibt unverändert Gilt (q,xw,α (p,yw,β dann gilt auch (q,x,α (p,y,β für alle w Σ Wenn w bisher nicht gelesen wurde, dann spielt es (noch keine Rolle Dagegen kann es von Bedeutung sein, ob im Stack hiner α etwas steht Theoretische Informatik I 3.2: 10 Pushdown Automaten

12 Erkannte Sprache eines Pushdown-Automaten Zwei alternative Definitionen Akzeptanz durch akzeptierende Endzustände (Standarddefinition L F (P = { w Σ q F. β Γ. (q 0, w, Z 0 (q, ɛ, β } Akzeptanz durch leeren Stack (oft praktischer L ɛ (P = { w Σ q Q. (q 0, w, Z 0 (q, ɛ, ɛ } Beide Akzeptanzdefinitionen sind äquivalent Zu jedem PDA P ɛ = (Q, Σ, Γ, q 0, Z 0, δ, kann ein PDA P F konstruiert werden mit L ɛ (P ɛ = L F (P F Zu jedem PDA P F = (Q, Σ, Γ, q 0, Z 0, δ, F kann ein PDA P ɛ konstruiert werden mit L F (P F = L ɛ (P ɛ Theoretische Informatik I 3.2: 11 Pushdown Automaten

13 Sprachen des Palindromautomaten 0,X / 0X 1,X / 1X 0,0 / ɛ 1,1 / ɛ Start q 0 ɛ,x / X q 1 ɛ,z 0 / Z 0 q 2 L F (P = {ww R w {0, 1} } : Durch Induktion über Länge von w zeige, daß für jedes Wort ww R gilt (q 0,ww R,Z 0 (q 0,w R,w R Z 0 (q 1,w R,w R Z 0 (q 1,ɛ,Z 0 (q 2,ɛ,Z 0 : Durch Induktion über Länge von x zeige Wenn (q 0,x,α (q 1,ɛ,α dann x=ww R für ein w {0,1} Kernidee: (q 0,x 1..x n, α (q 0,x 2..x n, x 1 α (q 1,x i..x n, βx 1 α (q 1,x n, x 1 α (q 1,ɛ,α impliziert (q 0,x 1..x n 1, α (q 0,x 2..x n 1, x 1 α... (q 1,ɛ, x 1 α und x 1..x n = x 1 x 2..x n 1 x 1 = x 1 vv R x 1 für ein v {0,1} Siehe HMU L ɛ (P = Einfaches Argument: Z 0 wird nie gelöscht Modifikation: Ändere Kantenbeschriftung von q 1 nach Q 2 zu ɛ,z 0 / ɛ Dann gilt L ɛ (P = L F (P = {ww R w {0, 1} } Theoretische Informatik I 3.2: 12 Pushdown Automaten

14 Transformation von L ɛ in L F Zu jedem PDA P ɛ = (Q, Σ, Γ, q 0, Z 0, δ, kann ein PDA P F konstruiert werden mit L ɛ (P ɛ = L F (P F Bei leerem Stack wechsele in Endzustand Neues Initialsymbol X 0 für P F markiert unteres Ende des Stacks Neuer Anfangszustand p 0 für P F schreibt Initialsymbol von P ɛ auf Stack Neuer Endzustand p f in den bei leerem Stack gewechselt wird P F = (Q {p 0, p f }, Σ, Γ {X 0 }, p 0, X 0, δ F, {p f } δ F (p 0,ɛ,X 0 = {(q 0,Z 0 X 0 } δ F (q,a,x = δ(q,a,x für alle q Q, X Γ δ F (q,ɛ,x 0 = {(p f,ɛ} für alle q Q Korrektheitsbeweis durch Detailanalyse Theoretische Informatik I 3.2: 13 Pushdown Automaten

15 Umwandlung eines L ɛ -PDA in einen L F -PDA Gegeben P ɛ = ({q}, {if, else}, {Z}, q, Z, δ, mit δ(q, if, Z = {(q, ZZ} δ(q, else, Z = {(q, ɛ} Erkennt, daß ein (Teil-Ausdruck mehr else als if enthält Start if,z / ZZ else,z / ɛ q 0 P F = ({p 0, q, p f }, {if, else}, {X 0, Z}, p 0, X 0, δ F, {p f } δ F (p 0,ɛ,X 0 = {(q,zx 0 } δ F (q, if, Z = {(q, ZZ} δ F (q, else, Z = {(q, ɛ} Start p 0 ɛ,x 0 / ZX 0 if,z / ZZ else,z / ɛ q0 ɛ,x 0 / ɛ p f δ F (q,ɛ,x 0 = {(p f,ɛ} Theoretische Informatik I 3.2: 14 Pushdown Automaten

16 Transformation von L F in L ɛ Zu jedem PDA P F = (Q, Σ, Γ, q 0, Z 0, δ, F kann ein PDA P ɛ konstruiert werden mit L F (P F = L ɛ (P ɛ Im Endzustand leere den Stack Neuer Stacklösch-Zustand p, in von Endzuständen gewechselt wird Neues Initialsymbol X 0 für P ɛ verhindert irrtümliches Leeren des Stacks Neuer Anfangszustand p 0 für P ɛ schreibt Initialsymbol von P F auf Stack P F = (Q {p 0, p}, Σ, Γ {X 0 }, q 0, X 0, δ ɛ, δ ɛ (p 0,ɛ,X 0 = {(q 0,Z 0 X 0 } δ ɛ (q,a,x = δ(q,a,x für alle q Q, X Γ δ ɛ (q,ɛ,x 0 = {(p,ɛ} für alle q F δ ɛ (p,ɛ,x = {(p,ɛ} für alle X Γ {X 0 } Theoretische Informatik I 3.2: 15 Pushdown Automaten

17 Sind PDAs wirklich die Maschinen für Typ-2 Sprachen? L 2 = L P DA = { L P :PDAs. L=L ɛ (P } Konfigurationsübergänge ˆ= Linksableitungen (q 0, xy, Z 0 (q, y, A α bedeutet, daß P nach Verarbeitung von x im Zustand q ist und noch y und den Stack A α zu verarbeiten hat A α muß gespeichert und beim Lesen von y komplett abgearbeitet werden Linksableitung S xa α xy erzeugt aus dem Startsymbol zuerst das Wort xa α umd muß dann y aus A α ableiten Grammatik Pushdown-Automat PDA muß Linksableitung auf Stack simulieren Erzeugte linke Terminalteilworte müssen mit Teil der Eingabe verglichen werden um nächste Variable freizulegen Pushdown-Automat Grammatik Grammatik muß Abarbeitung von Symbolen des Stacks simulieren Regeln beschreiben wie PDA zur Abarbeitung von X mit δ Zwischenworte im Stack auf- und schließlich wieder abbaut Theoretische Informatik I 3.2: 16 Pushdown Automaten

18 Von Grammatiken zu Pushdown-Automaten Zu jeder kontextfreien Grammatik G = (V, T, P G, S kann ein PDA P konstruiert werden mit L(G = L ɛ (P Stack simuliert Linksableitungen von G Beginne mit Startsymbol von G A V wird durch die rechte Seite β einer Regel A β ersetzt a T wird vom Stack entfernt, wenn es als Eingabesymbol erscheint um nächste Variable der Linksableitungen im Stack zu identifizieren P = ({q}, T, V T, q, S, δ, δ(q,ɛ,a = {(q,β A β P G } für alle A V δ(q,a,a = {(q,ɛ} für alle a T Korrektheitsbeweis L(G = L ɛ (P Zeige: ( Wenn S = x 1 A 1 α 1 L..x m A m α m L w T dann gibt es y i mit (q, w, S (q, y i, A i α i und x i y i = w ( Wenn (q, w, X (q, ɛ, ɛ dann X w Theoretische Informatik I 3.2: 17 Pushdown Automaten

19 Korrektheitsbeweis L(G L ɛ (P Wenn S = x 1 A 1 α 1 L..x m A m α m L w T (x i T, A i V dann gibt es y i mit (q, w, S (q, y i, A i α i und x i y i = w Beweis durch Induktion über Länge i der Linksableitung Basisfall i = 1: S = x 1 A 1 α 1 L w T Es folgt S = A 1 und x 1 =α 1 =ɛ, also y 1 =w (q, w, S (q, w, S gilt mit 0 Konfigurationsübergängen Induktionsschritt: S.. L x i A i α i L x i+1 A i+1 α i+1 L w T x i A i α i L x i+1 A i+1 α i+1 verlangt A i β P G für ein β Also (q,β δ(q,ɛ,a i also (q,y i,a i α i (q,y i,βα i Zerlege βα i in xa i+1 α i+1. Dann kann y i in xy i+1 zerlegt werden Es folgt (q,xy i+1,xa i+1 α i+1 (q, y i+1, A i+1 α i+1 (PDA arbeitet x ab Mit Induktionsannahme: (q, w, S (q, y i, A i α i (q, y i+1, A i+1 α i+1 Schlußfolgerung: S = x 1 A 1 α 1 L..x m+1 A m+1 α m+1 = w T x m+1 =w und A m+1 =α m+1 =y m+1 =ɛ Also (q, w, S (q, ɛ, ɛ, d.h. w L ɛ (P Theoretische Informatik I 3.2: 18 Pushdown Automaten

20 Korrektheitsbeweis L(G L ɛ (P Wenn (q, w, X (q, ɛ, ɛ dann X w Beweis durch Induktion über Länge der PDA Berechnung Basisfall: (q, w, X (q, ɛ, ɛ Es folgt X ɛ P G und w = ɛ, also X w Induktionsschritt: (q, w, X n+1 (q, ɛ, ɛ Da X oben im Stack steht, muß der erste Schritt die Form (q, w, X (q, w, Y 1..Y k für ein X Y 1..Y k P G haben Dann gibt eine Zerlegung w = w 1..w k mit (q, w 1..w k, Y 1..Y k (q, w 2..w k, Y 2..Y k (q, ɛ, ɛ Es folgt (q, w i..w k, Y i (q, w i+1..w k, ɛ also (q, w i, Y i (q, ɛ, ɛ Per Induktionsannahme folgt Y i w i für alle i also X Y 1..Y k w 1..w k = w L(G L ɛ (P folgt nun mit w L ɛ (P und X = S Theoretische Informatik I 3.2: 19 Pushdown Automaten

21 Umwandlung einer Grammatik in einen PDA G 6 = ({E, I}, {a, b, 0, 1, +,, (, }, P G, E mit P G = { E I E+E E E (E I a b Ia Ib I0 I1 } Erzeuge P = ({q}, T, V T, q, E, δ, mit V ={E, I} und T ={a, b, 0, 1, +,, (, } δ(q,ɛ,e = {(q,i, (q,e+e, (q,e E, (q,(e} δ(q,ɛ,i = {(q,a, (q,b, (q,ia, (q,ib, (q,i0, (q,i1} δ(q,a,a = {(q,ɛ} δ(q,+,+ = {(q,ɛ} δ(q,b,b = {(q,ɛ} δ(q,, = {(q,ɛ} δ(q,0,0 = {(q,ɛ} δ(q,(,( = {(q,ɛ} δ(q,1,1 = {(q,ɛ} δ(q,, = {(q,ɛ} Theoretische Informatik I 3.2: 20 Pushdown Automaten

22 Von Pushdown-Automaten zu Grammatiken Zu jedem PDA P = (Q, Σ, Γ, q 0, Z 0, δ, F kann eine kontextfreie Grammatik G konstruiert werden mit L ɛ (P = L(G Simuliere Abarbeitung eines Symbols vom Stack Verarbeite Variablen der Form (p, X, q: Entfernen von X kann von Zustand p zu Zustand q führen Entfernen von X kann heißen, zuerst ein Y 1..Y m auf- und dann abzubauen Beginne mit Erzeugung von Z 0 und zeige, daß Z 0 entfernt werden kann G = (Σ, {S} Q Γ Q, P G, S S (q 0, Z 0, q P G für alle q Q (p, X, q m a (p, Y 1, q 1...(q m 1, Y m, q m P G, für beliebige q 1,.., q m Q, falls (p, Y 1..Y m δ(q, a, X Korrektheitsbeweis L ɛ (P = L(G Zeige: (p, X, q w Σ genau dann, wenn (p, w, X (q, ɛ, ɛ : Induktion über Länge der PDA Berechnung : Induktion über Länge der Ableitung (viele Details Theoretische Informatik I 3.2: 21 Pushdown Automaten

23 Umwandlung eines PDA in eine Grammatik Gegeben P = ({q}, {if, else}, {Z}, q, Z, δ, mit δ(q, if, Z = {(q, ZZ} δ(q, else, Z = {(q, ɛ} Start if,z / ZZ else,z / ɛ q 0 G = ({if, else}, {S, (q, Z, q}, P G, S mit P G = S (q, Z, q (q, Z, q if (q, Z, q(q, Z, q (q, Z, q else Kurzschreibweise A für Hilfssymbol (q, Z, q ergibt elegantere Darstellung G = ({if, else}, {S, A}, P G, S mit P G = S A A if AA A else Theoretische Informatik I 3.2: 22 Pushdown Automaten

24 Brauchen wir Nichtdeterministische Automaten? Grammatiken sind nichtdeterministisch Nichtdeterministische Automaten sind das natürliche Gegenstück Grammatikregeln führen zu mengenwertiger Überführungsfunktion Wirkliche Automaten müssen deterministisch sein Typ-3 Sprachen haben deterministische Modelle NEAs können in äquivalente DEAs umgewandelt werden Teilmengenkonstruktion kann Automaten exponentiell vergrößern Reichen deterministische PDAs für Typ-2 Sprachen? Überführungsfunktion δ:q (Σ {ɛ} Γ Q Γ muß eindeutig sein Gibt es für PDAs immer äquivalente deterministische PDAs? Theoretische Informatik I 3.2: 23 Pushdown Automaten

25 Deterministische Pushdown-Automaten präzisiert Ein Deterministischer Pushdown-Automat (DPDA ist ein 7-Tupel P = (Q, Σ, Γ, δ, q 0, Z 0, F mit Q nichtleere endliche Zustandsmenge Σ endliches Eingabealphabet Γ endliches Stackalphabet δ:q (Σ {ɛ} Γ Q Γ Überführungsfunktion δ(q,ɛ,x nur definiert, wenn δ(q,a,x für alle a Σ undefiniert q 0 Q Startzustand Z 0 Γ Initialsymbol des Stacks F Q Menge von akzeptierenden Zuständen Erkannte Sprache (Anfangszustand (Endzustände L F (P = { w Σ q F. β Γ. (q 0, w, Z 0 (q, ɛ, β } L ɛ (P = { w Σ q Q. (q 0, w, Z 0 (q, ɛ, ɛ } Theoretische Informatik I 3.2: 24 Pushdown Automaten

26 DPDAs sind nicht mächtig genug DPDA-Sprachen sind eine echte Teilklasse von L 2 1. L(DP DA L 2 : Jeder DPDA ist ein spezieller PDA 2. DPDAs können {ww R w {0, 1} } nicht erkennen DPDA P kann nicht entscheiden, wo die Mitte eines Wortes liegt Wenn 0 n 110 n (großes n gelesen ist, ist Stack durchs Zählen geleert Wenn noch einmal 0 n 110 n gelesen wird, muß P akzeptieren Wenn stattdessen 0 m 110 m (m n kommt, darf P nicht akzeptieren Aber die Information über n ist nicht mehr gespeichert (Details aufwendig DPDAs erkennen nur eindeutige Typ-2 Sprachen 1. Für jeden DPDA P hat L ɛ (P eine eindeutige Grammatik Für DPDAs ergibt die Umwandlung eine eindeutige Typ-2 Grammatik Folge der Konfigurationsübergänge bestimmt Linksableitung eindeutig 2. Für jeden DPDA P hat L F (P eine eindeutige Grammatik Umwandlung in L ɛ DP DA kann deterministisch gemacht werden Theoretische Informatik I 3.2: 25 Pushdown Automaten

27 DPDAs sind mächtiger als endliche Automaten L 3 = L(DEA L F (DP DA Jeder DEA ist ein spezieller DPDA Aussage gilt nur für Erkennung mit Endzustand L = {w#w R w {0, 1} } L F (DP DA L(DEA L ist nicht regulär Beweis durch Pumping Lemma, analog zu {ww R w {0, 1} } L = L F (P für folgenden DPDA P 0,X / 0X 1,X / 1X 0,0 / ɛ 1,1 / ɛ Start q 0 #,X / X q 1 ɛ,z 0 / Z 0 q 2 P ist deterministisch, da ɛ-übergang in q 1 genau bei Stacksymbol Z 0 {0} L ɛ (DP DA Wenn der Stack einmal leer ist, kann ein DPDA nicht mehr weiterarbeiten Theoretische Informatik I 3.2: 26 Pushdown Automaten

28 Pushdown-Automaten Zusammenfassung Maschinenmodell für kontextfreie Sprachen Nichtdeterministischer endlicher Automat mit Stack und ɛ-übergängen Erkennung von Worten durch Endzustand oder leeren Stack Erkennungsmodelle sind ineinander transformierbar Verhaltensanalyse durch Konfigurationsübergänge Konfigurationen beschreiben Gesamtzustand von Pushdown-Automaten Konfigurationsübergänge verallgemeinern Überführungsfunktionen Äquivalent zu kontextfreien Grammatiken Umwandlung von Konfigurationsübergängen in Regeln und umgekehrt Deterministische PDAs sind weniger mächtig DPDAs erkennen nur eindeutige Typ-2 Sprachen L ɛ -DPDAs können nicht einmal alle regulären Sprachen erkennen Theoretische Informatik I 3.2: 27 Pushdown Automaten

Theoretische Informatik I

Theoretische Informatik I heoretische Informatik I Einheit 2 Endliche Automaten & Reguläre Sprachen. Deterministische endliche Automaten 2. Nichtdeterministische Automaten 3. Reguläre Ausdrücke 4. Grammatiken 5. Eigenschaften regulärer

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus:

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus: 4.7 Kellerautomaten In der Literatur findet man häufig auch die Bezeichnungen Stack-Automat oder Pushdown-Automat. Kellerautomaten sind, wenn nichts anderes gesagt wird, nichtdeterministisch. Definition

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Einheit 2 Endliche Automaten & Reguläre Sprachen. Deterministische endliche Automaten 2. Nichtdeterministische Automaten 3. Reguläre Ausdrücke 4. Grammatiken 5. Eigenschaften

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Rückblick Theoretische Informatik I 1. Mathematische Methoden 2. Reguläre Sprachen 3. Kontextfreie Sprachen Themen der Theoretischen Informatik I & II Mathematische Methodik in

Mehr

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr Bemerkung: Jede NDTM N (die die Sprache L(N) akzeptiert) kann in eine deterministische Turing-Maschine M konvertiert werden, die ebenfalls genau die Sprache L(N) akzeptiert. Beweisidee: Die Berechnungspfade

Mehr

Theoretische Informatik I

Theoretische Informatik I heoretische Informatik I Einheit 2 Endliche Automaten & Reguläre Sprachen. Deterministische endliche Automaten 2. Nichtdeterministische Automaten 3. Reguläre Ausdrücke 4. Grammatiken 5. Eigenschaften regulärer

Mehr

10 Kellerautomaten. Kellerautomaten

10 Kellerautomaten. Kellerautomaten 10 Kellerautomaten Bisher hatten wir kontextfreie Sprachen nur mit Hilfe von Grammatiken charakterisiert. Wir haben gesehen, dass endliche Automaten nicht in der Lage sind, alle kontextfreien Sprachen

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Einheit 2.5 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibung des Aufbaus von Sprachen Mathematische Mengennotation Beschreibung durch Eigenschaften

Mehr

Die mathematische Seite

Die mathematische Seite Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion

Mehr

Theoretische Informatik II

Theoretische Informatik II Theoretische Informatik II Einheit 4.2 Modelle für Typ-0 & Typ-1 Sprachen 1. Nichtdeterministische Turingmaschinen 2. Äquivalenz zu Typ-0 Sprachen 3. Linear beschränkte Automaten und Typ-1 Sprachen Maschinenmodelle

Mehr

Theoretische Informatik I

Theoretische Informatik I heoretische Informatik I Einheit 2 Endliche Automaten & Reguläre Sprachen. Deterministische endliche Automaten 2. Nichtdeterministische Automaten 3. Reguläre Ausdrücke 4. Grammatiken 5. Eigenschaften regulärer

Mehr

Ogden s Lemma: Der Beweis (1/5)

Ogden s Lemma: Der Beweis (1/5) Ogden s Lemma: Der Beweis (1/5) Wir betrachten zuerst die Rahmenbedingungen : Laut dem auf der vorhergehenden Folie zitierten Satz gibt es zur kontextfreien Sprache L eine Grammatik G = (Σ, V, S, P) in

Mehr

Informatik III - WS07/08

Informatik III - WS07/08 Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner dwagner@ira.uka.de Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition

Mehr

Kellerautomaten u. kontextfr. Spr.

Kellerautomaten u. kontextfr. Spr. Kellerautomaten u. kontextfr. Spr. Ziel: Maschinenmodell für die kontextfreien Sprachen. Überblick Greibach-Normalform für kontextfreie Grammatiken Kellerautomaten Beziehung zwischen Kellerautomaten und

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/07 7. Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/07 7. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 7. Vorlesung 16.11.2006 schindel@informatik.uni-freiburg.de 1 Informatik III 7. Vorlesung - 2 Informatik III 7. Vorlesung - 3 Informatik III

Mehr

8. Turingmaschinen und kontextsensitive Sprachen

8. Turingmaschinen und kontextsensitive Sprachen 8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten

Mehr

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Kontextfreie Sprachen und Pushdown-Automaten Dozentin: Wiebke Petersen WS 2004/2005 Wiebke Petersen Formale Komplexität natürlicher Sprachen WS 03/04 Wiederholung c

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (IV) 15.06.2016 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Automaten und formale Sprachen Notizen zu den Folien

Automaten und formale Sprachen Notizen zu den Folien 13 Kellerautomaten Automaten und formale Sprachen Notizen zu den Folien Warum ein Automatenmodell für kontextfreien Sprachen (zu Folie 233) Manche Konstruktionen und Verfahren lassen sich besser mit Hilfe

Mehr

5.2 Endliche Automaten

5.2 Endliche Automaten 114 5.2 Endliche Automaten Endliche Automaten sind Turingmaschinen, die nur endlichen Speicher besitzen. Wie wir bereits im Zusammenhang mit Turingmaschinen gesehen haben, kann endlicher Speicher durch

Mehr

{a i b i i 0} FORMALE SYSTEME. Kellerautomaten. (Nicht)Abschlusseigenschaften für Typ 2. Ein Berechnungsmodell für Typ-2-Sprachen

{a i b i i 0} FORMALE SYSTEME. Kellerautomaten. (Nicht)Abschlusseigenschaften für Typ 2. Ein Berechnungsmodell für Typ-2-Sprachen (Nicht)Abschlusseigenschaften für Typ 2 FORMALE SYSTEME 15. Vorlesung: Einleitung Kellerautomaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Satz: Wenn L, L 1 und L 2 kontextfreie Sprachen sind,

Mehr

Übersicht. 3 3 Kontextfreie Sprachen

Übersicht. 3 3 Kontextfreie Sprachen Formale Systeme, Automaten, Prozesse Übersicht 3 3.1 Kontextfreie Sprachen und Grammatiken 3.2 Ableitungsbäume 3.3 Die pre -Operation 3.4 Entscheidungsprobleme für CFGs 3.5 Normalformen für CFGs 3.6 Chomsky-Normalform

Mehr

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat Formale Grundlagen der Informatik 1 Kapitel 5 Über reguläre Sprachen hinaus und (Teil 2) Frank Heitmann heitmann@informatik.uni-hamburg.de 21. April 2015 Der Kellerautomat - Formal Definition (Kellerautomat

Mehr

Proseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer.

Proseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer. Proseminar TI: Kellerautomaten Vortrag: 10.11.2015 Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer. 1 Motivation Wir kennen bereits die Chomsky-Hierarchie. Sie klassiziert formale

Mehr

Rekursiv aufzählbare Sprachen

Rekursiv aufzählbare Sprachen Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben

Mehr

Kellerautomat (1/4) Kellerautomat (2/4) Kellerautomat (3/4) Kellerautomat (4/4)

Kellerautomat (1/4) Kellerautomat (2/4) Kellerautomat (3/4) Kellerautomat (4/4) Kellerautomat (1/4) Kellerautomat (2/4) Kontextfreie Grammatiken können von Kellerautomaten (Push Down Automata, PDA) erkannt werden PDAs sind eine Erweiterung der endlichen Automaten um ein einfaches

Mehr

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen Prof. Dr. Viorica Sofronie-Stokkermans Universität Koblenz-Landau Fachbereich 4: Informatik Dennis Peuter 01. Juni 2017 Übung zur Vorlesung Grundlagen der theoretischen Informatik Aufgabenblatt 7 Lösungen

Mehr

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen

Mehr

DisMod-Repetitorium Tag 4

DisMod-Repetitorium Tag 4 DisMod-Repetitorium Tag 4 Endliche Automaten, Reguläre Sprachen und Kontextfreie Grammatiken 22. März 2018 1 Endliche Automaten Definition DFA Auswertungen Äquivalenzrelationen Verschmelzungsrelation und

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Wintersemester 2007 / 2008 Prof. Dr. Heribert Vollmer Institut für Theoretische Informatik 29.10.2007 Reguläre Sprachen Ein (deterministischer) endlicher Automat

Mehr

Worterkennung in Texten speziell im Compilerbau 20. April Frank Heitmann 2/64

Worterkennung in Texten speziell im Compilerbau 20. April Frank Heitmann 2/64 Grenzen regulärer Sprachen? Formale Grundlagen der Informatik 1 Kapitel 4 Über reguläre Sprachen hinaus und Pumping Lemma Frank Heitmann heitmann@informatik.uni-hamburg.de Wir haben mittlerweile einiges

Mehr

Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken

Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken 1 / 15 Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken Prof. Dr. Hans Kleine Büning FG Wissensbasierte Systeme WS 08/09 2 / 15 Deterministischer endlicher Automat (DEA) Definition 1:

Mehr

Automaten und formale Sprachen Klausurvorbereitung

Automaten und formale Sprachen Klausurvorbereitung Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen

Mehr

Akzeptierende Turing-Maschine

Akzeptierende Turing-Maschine Akzeptierende Turing-Maschine Definition: Eine akzeptierende Turing-Maschine M ist ein Sechstupel M = (X, Z, z 0, Q, δ, F ), wobei (X, Z, z 0, Q, δ) eine Turing-Maschine ist und F Q gilt. Die von M akzeptierte

Mehr

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004 Lösung zur Klausur Grundlagen der Theoretischen Informatik im WiSe 2003/2004 1. Geben Sie einen deterministischen endlichen Automaten an, der die Sprache aller Wörter über dem Alphabet {0, 1} akzeptiert,

Mehr

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Maximilian Haslbeck Fabian Mitterwallner Georg Moser David Obwaller cbr.uibk.ac.at Zusammenfassung der letzten LVA Definition Eine Grammatik G ist ein Quadrupel

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 4.2.2011 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 15 + 16 vom 17.12.2012 und 20.12.2012 Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung 17.11.2006 schindel@informatik.uni-freiburg.de 1 Prinzip des Kellerautomats Push-Down-Automaton (PDA) Ein Kellerautomat vereinigt

Mehr

Beweisidee: 1 Verwende den Keller zur Simulation der Grammatik. Leite ein Wort. 2 Problem: der Keller darf nicht beliebig verwendet werden, man kann

Beweisidee: 1 Verwende den Keller zur Simulation der Grammatik. Leite ein Wort. 2 Problem: der Keller darf nicht beliebig verwendet werden, man kann Automaten und Formale prachen alias Theoretische Informatik ommersemester 2011 Dr. ander Bruggink Übungsleitung: Jan tückrath Wir beschäftigen uns ab jetzt einige Wochen mit kontextfreien prachen: Kontextfreie

Mehr

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23 1/23 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 9. Januar 2008 2/23 Automaten (informell) gedachte Maschine/abstraktes Modell einer Maschine verhält sich

Mehr

Automatentheorie und formale Sprachen

Automatentheorie und formale Sprachen Automatentheorie und formale Sprachen VL 8 Chomsky-Grammatiken Kathrin Hoffmann 23. Mai 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 23.5. 2012 250 Wortproblem Wortproblem ist das

Mehr

(z', B 1...B k ) δ(z,a,a):

(z', B 1...B k ) δ(z,a,a): 7. Kellerautomaten 7.1 Kellerautomaten und akeptierte Sprachen Endliche Automaten haben, abgesehen von den Zuständen, kein "Gedächtnis" und können sich nicht "merken", wie sie in einen bestimmten Zustand

Mehr

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S) Grammatiken Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V Startsymbol S V Produktionen P ( (V Σ) \ Σ ) (V Σ) Kurzschreibweise G = (V, Σ, P, S) Schreibweise für Produktion (α, β) P: α β 67 /

Mehr

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 19.

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 19. Wiederholung FORMALE SYSTEME 4. Vorlesung: Nichtdeterministische Endliche Automaten Markus Krötzsch Professur für Wissensbasierte Systeme Grammatiken können Sprachen beschreiben und sie grob in Typen unterteilen

Mehr

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p. Thorsten Timmer SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke Turing Maschine SS 2005 p. 1/35 Inhalt Einführung Formale Definition Berechenbare Sprachen und Funktionen Berechnung ganzzahliger

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Ausgabe 22. Januar 2019 Abgabe 5. Februar 2019, 11:00 Uhr (im

Mehr

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln, Theorie der Informatik 8. März 25 8. Reguläre Sprachen I Theorie der Informatik 8. Reguläre Sprachen I 8. Reguläre Grammatiken Malte Helmert Gabriele Röger 8.2 DFAs Universität Basel 8. März 25 8.3 NFAs

Mehr

Es gibt drei unterschiedliche Automaten:

Es gibt drei unterschiedliche Automaten: Automatentheorie Es gibt drei unterschiedliche Automaten: 1. Deterministische Endliche Automaten (DEA) 2. Nichtdeterministische Endliche Automaten (NEA) 3. Endliche Automaten mit Epsilon-Übergängen (ε-

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen besitzen große Bedeutung im Compilerbau Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung durch

Mehr

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven WS06/07 Referentin: Katharina Blinova Formale Sprachen Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven 1. Allgemeines 2. Formale Sprachen 3. Formale Grammatiken 4. Chomsky-Hierarchie 5.

Mehr

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}}

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}} 2 Endliche Automaten Fragen 1. Was ergibt sich bei {a, bc} {de, fg}? a) {abc, defg} b) {abcde, abcfg} c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} 2. Was ergibt sich bei {abc, a} {bc, λ}?

Mehr

Formale Grundlagen der Informatik 1 Kapitel 5 Abschlusseigenschaften

Formale Grundlagen der Informatik 1 Kapitel 5 Abschlusseigenschaften Formale Grundlagen der Informatik 1 Kapitel 5 Frank Heitmann heitmann@informatik.uni-hamburg.de 18. April 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/64 NFAs - Grundlagen DFAs vs. NFAs Der

Mehr

Grundbegriffe der Informatik Tutorium 33

Grundbegriffe der Informatik Tutorium 33 Tutorium 33 02.02.2017 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Gliederung 1 2 3 Ein ist ein Tupel A = (Z, z 0, X, f, Y, h)

Mehr

Finite-State Technology

Finite-State Technology Finite-State Technology Teil III: Automaten 1 Wiederholung Formale Grammatiken sind entweder axiomatische Systeme mit Ableitungsregeln oder Automaten. Beide beschreiben formale Sprachen. Formale Sprachen

Mehr

Formale Sprachen. Reguläre Sprachen. Rudolf FREUND, Marian KOGLER

Formale Sprachen. Reguläre Sprachen. Rudolf FREUND, Marian KOGLER Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER Endliche Automaten - Kleene STEPHEN KLEENE (99-994) 956: Representation of events in nerve nets and finite automata. In: C.E. Shannon und

Mehr

11.1 Kontextsensitive und allgemeine Grammatiken

11.1 Kontextsensitive und allgemeine Grammatiken Theorie der Informatik 7. April 2014 11. Kontextsensitive und Typ-0-Sprachen Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen 11.1 Kontextsensitive und allgemeine Grammatiken Malte Helmert

Mehr

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/2006 07.02.2006 28. und letzte Vorlesung 1 Die Chomsky-Klassifizierung Chomsky-Hierachien 3: Reguläre Grammatiken

Mehr

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2011/12 Schematische Darstellung einer Turing-Maschine: Kopf kann sich nach links und

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012 utomaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink utomaten und Formale Sprachen 1 Der CYK-lgorithmus Beispiel

Mehr

Worterkennung in Texten speziell im Compilerbau 14. April Frank Heitmann 2/65

Worterkennung in Texten speziell im Compilerbau 14. April Frank Heitmann 2/65 Grenzen regulärer Sprachen? Formale Grundlagen der Informatik 1 Kapitel 4 Über reguläre Sprachen hinaus und Frank Heitmann heitmann@informatik.uni-hamburg.de Wir haben mittlerweile einiges kennengelernt,

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (IV) 31.05.2017 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Kontextfreie Sprachen werden von PDAs akzeptiert

Kontextfreie Sprachen werden von PDAs akzeptiert Kontextfreie Sprachen werden von PDAs akzeptiert Sei G = (Σ, V, S, P) eine kontextfreie Grammatik. Dann gibt es einen PDA A mit L(A) = L(G). Der PDA A arbeitet mit nur einem Zustand q 0, besitzt das Kelleralphabet

Mehr

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 20.

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 20. Wiederholung FORMALE SYSTEME 4. Vorlesung: Nichtdeterministische Endliche Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Grammatiken können Sprachen beschreiben und sie grob in Typen unterteilen

Mehr

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14 Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen Malte Helmert Gabriele Röger Universität Basel 7. April 2014 Kontextsensitive und allgemeine Grammatiken Wiederholung: (kontextsensitive)

Mehr

Theoretische Informatik für Medieninformatiker

Theoretische Informatik für Medieninformatiker Theoretische Informatik für Medieninformatiker Jan Johannsen Lehrveranstaltung im Sommersemester 27 / 6 Organisatorisches: Jede Lehrveranstaltungsstunde gliedert sich in einen Vorlesungsteil, dessen Länge

Mehr

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln, Theorie der Informatik 9. März 24 7. Reguläre Sprachen I Theorie der Informatik 7. Reguläre Sprachen I Malte Helmert Gabriele Röger Universität Basel 9. März 24 7. Reguläre Grammatiken 7.2 DFAs 7.3 NFAs

Mehr

Grundlagen der theoretischen Informatik

Grundlagen der theoretischen Informatik Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 04.06.2013 An den Transitionen sieht man zunächst, dass nur die folgenden Zustandsübergänge

Mehr

THIA - Übungsblatt 2.

THIA - Übungsblatt 2. THIA - Übungsblatt 2. Aufgabe 12 (Eine einfache Sprache). Endliche Ziffernfolgen, die mit einer 0 beginnen, auf die mindestens eine weitere Ziffer folgt, wobei nur die Ziffern 0,..., 7 vorkommen, sollen

Mehr

2.2 Reguläre Sprachen Endliche Automaten

2.2 Reguläre Sprachen Endliche Automaten 2.2.1 Endliche Automaten E I N G A B E Lesekopf endliche Kontrolle Signal für Endzustand Ein endlicher Automat liest ein Wort zeichenweise und akzeptiert oder verwirft. endlicher Automat Sprache der akzeptierten

Mehr

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Erzeugende Grammatiken akzeptierende Automaten.

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Erzeugende Grammatiken akzeptierende Automaten. Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 7 15. Juni 2010 Einführung in die Theoretische

Mehr

Automatentheorie und formale Sprachen rechtslineare Grammatiken

Automatentheorie und formale Sprachen rechtslineare Grammatiken Automatentheorie und formale Sprachen rechtslineare Grammatiken Dozentin: Wiebke Petersen 17.6.2009 Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 1 Pumping lemma for regular languages

Mehr

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

Mehr

a b b a Alphabet und Wörter - Zusammengefasst Formale Grundlagen der Informatik 1 Kapitel 2 Endliche Automaten und reguläre Sprachen

a b b a Alphabet und Wörter - Zusammengefasst Formale Grundlagen der Informatik 1 Kapitel 2 Endliche Automaten und reguläre Sprachen Formale Grundlagen der Informatik Kapitel 2 und reguläre Sprachen Frank Heitmann heitmann@informatik.uni-hamburg.de 5. April 26 Frank Heitmann heitmann@informatik.uni-hamburg.de /52 Alphabet und Wörter

Mehr

Mehrdeutige Grammatiken

Mehrdeutige Grammatiken Mehrdeutige Grammatiken Wir haben gesehen, dass es auch mehr als eine Linksableitung, d.h. mehr als einen Syntaxbaum geben kann, um das selbe Terminalwort zu erzeugen. Eine Grammatik, die für mindestens

Mehr

kontextfreie Sprachen: Normalformen

kontextfreie Sprachen: Normalformen 1 kontextfreie Sprachen: Normalformen Zur Erinnerung: Kontextfreie Sprachen sind diejenigen, die von Grammatiken erzeugt werden, die auf allen linken Regelseiten nur je ein Nichtterminalsymbol haben. Aufgrund

Mehr

2 2 Reguläre Sprachen. 2.2 Endliche Automaten. Übersicht

2 2 Reguläre Sprachen. 2.2 Endliche Automaten. Übersicht Formale Systeme, Automaten, Prozesse Übersicht 2 2. Reguläre Ausdrücke 2.3 Nichtdeterministische endliche Automaten 2.4 Die Potenzmengenkonstruktion 2.5 NFAs mit ɛ-übergängen 2.6 Minimale DFAs und der

Mehr

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO).

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO). 1 Grammatiken Autor: Tilman Blumenbach Letzte Änderung: 28. Juni 2012 18:15 Ziel von Grammatiken Wollen die Struktur von Sprachen modellieren und charakterisieren. Beispiel Ein Satz der deutschen Sprache

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 8. Reguläre Sprachen II Malte Helmert Gabriele Röger Universität Basel 24. März 24 Pumping Lemma Pumping Lemma: Motivation Man kann zeigen, dass eine Sprache regulär ist, indem man

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 18.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Das Halteproblem für Turingmaschinen

Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen ist definiert als die Sprache H := { T w : T ist eine TM, die bei Eingabe w {0, 1} hält }. Behauptung: H {0, 1} ist nicht entscheidbar.

Mehr

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik . Übungsblatt 6. VU Theoretische Informatik und Logik 25. September 23 Aufgabe Sind folgende Aussagen korrekt? Begründen Sie jeweils Ihre Antwort. a) Für jede Sprache L gilt: L < L (wobei A die Anzahl

Mehr

2.2 Nichtdeterministische endliche Automaten

2.2 Nichtdeterministische endliche Automaten 2 Endliche Automaten arbeiten und hier kann dann ggf. auch wieder auf die Konstruktion verwiesen werden. Fragen 1. Wie viele Informationen kann man in einem DFA speichern? a) beliebig viele b) endlich

Mehr

1 Eliminieren von ɛ-übergängen

1 Eliminieren von ɛ-übergängen 1 Eliminieren von ɛ-übergängen 1.1 Beispiel 1 (a) Ausgangspunkt: Zwei ɛ-übergänge (b) Entfernung eines ɛ-übergangs, Reduktion (c) Entfernen eines ɛ-übergangs, Reduktion Abbildung 1: Elimination von ɛ-übergängen,

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 3. Endliche Automaten 30.04.2015 Viorica Sofronie-Stokkermans Matthias Horbach e-mail: sofronie@uni-koblenz.de, horbach@uni-koblenz.de 1 Bis jetzt 1. Motivation

Mehr

5.7 Kontextfreie Grammatiken und Kellerautomaten

5.7 Kontextfreie Grammatiken und Kellerautomaten 130 5.7 Kontextfreie Grammatiken und Kellerautomaten Im letzten Abschnitt haben wir gesehen, dass wir reguläre Sprachen auch mit Hilfe von endlichen Automaten charakterisieren können. Jetzt wollen wir

Mehr

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 6 7 7 8 8 12 err. Punkte Gesamtpunktzahl: Note: 1 Aufgabe 1 (3+1+1+1 = 6 Punkte) Es seien

Mehr

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier Automaten und Formale Sprachen SoSe 2007 in Trier Henning Fernau Universität Trier fernau@informatik.uni-trier.de 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche

Mehr

2.6 Verdeutlichung verwendeter Begriffe

2.6 Verdeutlichung verwendeter Begriffe 2.6 Verdeutlichung verwendeter Begriffe endlich/finit: die Mengen der Zustände und der Ein- bzw. Ausgabezeichen sind endlich synchron: die Ausgabezeichen erscheinen synchron mit dem Einlauf der Eingabezeichen

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Kapitel 4: Typ 2 kontextfreie Sprachen Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Kapitel

Mehr

Reguläre Sprachen und endliche Automaten

Reguläre Sprachen und endliche Automaten Reguläre Sprachen und endliche Automaten 1 Motivation: Syntaxüberprüfung Definition: Fließkommazahlen in Java A floating-point literal has the following parts: a whole-number part, a decimal point (represented

Mehr

Kurz-Skript zur Theoretischen Informatik I

Kurz-Skript zur Theoretischen Informatik I Kurz-Skript zur Theoretischen Informatik I Inhaltsverzeichnis 1 Grundlagen 2 2 Reguläre Ausdrücke 4 3 Endliche Automaten 5 3.1 Vollständige endliche Automaten................................... 6 3.2 ε

Mehr