Formale Sprachen und Automaten

Größe: px
Ab Seite anzeigen:

Download "Formale Sprachen und Automaten"

Transkript

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

2 Kapitel 2 Typ 3 Deterministische endliche Automaten Reguläre Ausdrücke Grammatiken Typ-3-Grammatiken Nichtdeterministische endliche Automaten Zustandsminimierung endlicher Automaten Inhalt 2/124

3 Deterministische endliche Automaten Reguläre Ausdrücke Grammatiken Typ-3-Grammatiken Nichtdeterministische endliche Automaten Zustandsminimierung endlicher Automaten Deterministische endliche Automaten 3/124

4 Ziel Kennenlernen des einfachsten Automatentyps Definition Notationen Arbeitsweise Beispiele und Nichtbeispiele Deterministische endliche Automaten 4/124

5 2.1 Beispiel: Parkplatz mit 5 Stellplätzen Schranke an der Einfahrt, Induktionsschleifen an Ein- und Ausfahrt vereinfachende Annahme: nicht gleichzeitig Signal von beiden Induktionsschleifen elektrisches System soll Schranke steuern und Zähler mit der Anzahl geparkter Autos verwalten. Einfahrschranke: soll nur aufgehen, wenn noch ein Parkplatz frei ist; sonst rote Ampel an der Einfahrt Operateur: Warnsignal, wenn Parkplatz leer, aber Signal von Ausfahrtsschleife sonst Mitteilung, dass Anzahl Autos erniedrigt Deterministische endliche Automaten 5/124

6 2.1 Beispiel: Parkplatz mit 5 Parkplätzen (2) Formalisierung: Eingabesignale für System: Eingabealphabet X = {E, A} Ausgabesignale von System: Ausgabealphabet Y = {,,,?!} Zähler mit Wert in Z = {0, 1, 2, 3, 4, 5}: (Belegungs-)Zustand des Parkplatzes Deterministische endliche Automaten 6/124

7 2.1 Beispiel: Parkplatz mit 5 Parkplätzen (3) Arbeitsweise Änderungen des Zählers: Eingabe alter Zählerstand E A erzeugte Ausgabesignale: Eingabe alter Zählerstand E A?! Deterministische endliche Automaten 7/124

8 2.1 Beispiel: Parkplatz mit 5 Parkplätzen (4) Grafische Darstellung: A/?! E/ E/ E/ E/ E/ A/ A/ A/ A/ A/ E/ Knoten: Zustand des Zählers Kante von Knoten i zu Knoten j, mit x/y beschriftet Übergang von Zustand i bei Eingabe von x in Zustand j dabei die Ausgabe y erzeugt Deterministische endliche Automaten 8/124

9 2.2 Definition Ein endlicher Automat ist festgelegt durch eine endliche Zustandsmenge Z einen Anfangszustand z 0 Z ein Eingabealphabet X eine Überführungsfunktion f : Z X Z Ausgaben: kommen später dazu Deterministische endliche Automaten 9/124

10 2.3 Beispiel Zustandsmenge Z = {A, B, M, Q}, Anfangszustand A Eingabealphabet X = {0, 1, -} Überführungsfunktion: A B M Q 0 B B B Q 1 B B B Q 0,1 - M Q Q Q 0,1 A B - 0,1 M - - Q 0,1,- Deterministische endliche Automaten 10/124

11 2.4 Definition Endlicher Automat mit f : Z X Z Erweiterungen für Eingabe eines ganzen Wortes w X : f (z, w) zuletzt erreichter Zustand f : Z X Z f (z, ε) = z w X x X : f (z, wx) = f (f (z, w), x) f (z, w) alle durchlaufenen Zustände f : Z X Z f (z, ε) = z w X x X : f (z, wx) = f (z, w)f (f (z, w), x) Deterministische endliche Automaten 11/124

12 2.5 (induktive Definitionen) Definitionen wie in 2.4 nennt man auch rekursiv oder induktiv. Z. B. Funktionswerte einer Funktion festgelegt durch einen (oder evtl. mehrere) Funktionswerte für den (oder evtl. mehrere) kleinste Argumentwerte und Vorschrift, wie sich aus Funktionswert(en) für kleinere Argumentwerte der Funktionswert für einen größeren Argumentwert ergibt. Oben: Größe des zweiten Arguments ist seine Länge Kleinster Argumentwert: leeres Wort von längeren Argumentwerten wird letztes Symbol abgespalten der kürzere Rest wird als kleinerer Argumentwert benutzt Deterministische endliche Automaten 12/124

13 2.5 (induktive Beweise) Beweis einer Eigenschaft einer so definierten Funktion kann unter Umständen dieser Struktur folgen z. B. vollständige Induktion, wenn die Größe eine natürliche Zahl ist. Deterministische endliche Automaten 13/124

14 2.6 Beispiel Zeige: Für alle z Z und alle w X gilt: f (z, w) = 1 + w. Es sei z Z beliebig. Wir führen eine Induktion über die Länge n = w von w: Induktionsanfang n = 0: Dann muss w = ε sein. Folglich: f (z, w) = f (z, ε) = z = 1 = = 1 + ε wie behauptet. Deterministische endliche Automaten 14/124

15 2.6 Beispiel (Forts.) Induktionsschritt n 1 n: Induktionsannahme oder Induktionsvoraussetzung: Für Wörter w der Länge n 1 gilt: f (z, w ) = 1 + w = 1 + (n 1) = n. Wort w habe Länge n 1, also w = w x mit w = n 1 und x X. Laut Def.: f (z, w x) = f (z, w )f (f (z, w ), x). Folglich f (z, w x) = f (z, w )f (f (z, w ), x) = f (z, w ) + f (f (z, w ), x). Induktionsvoraussetzung: f (z, w ) = n. Außerdem: f (f (z, w ), x) = f (..., x) = 1 Insgesamt: f (z, w x) = n + 1 wie behauptet. Deterministische endliche Automaten 15/124

16 2.7 Beobachtung Für alle Wörter w 1, w 2 X und alle Zustände z gilt: f (z, w 1 w 2 ) = f (f (z, w 1 ), w 2 ). Das ist inhaltlich völlig banal. Trotzdem müsste man es genau genommen beweisen... Deterministische endliche Automaten 16/124

17 2.9 Definition Ausgabealphabet Y Ausgabefunktion g: zwei Varianten Mealy-Automat: g : Z X Y für jede Eingabe bekommt man eine Ausgabe Moore-Automat: g : Z Y in jedem Zustand bekommt man eine Ausgabe Deterministische endliche Automaten 17/124

18 2.10 Beispiel (Fortsetzung von 2.3) Zustandsmenge Z = {A, B, M, Q}, Anfangszustand A Eingabealphabet X = {0, 1, -} 0,1 A - 0,1 0,1 B M - - Q 0,1,- Deterministische endliche Automaten 18/124

19 2.10 Beispiel (Fortsetzung von 2.3) Zustandsmenge Z = {A, B, M, Q}, Anfangszustand A Eingabealphabet X = {0, 1, -} Y = {0, 1} 0,1 A - 0,1 0,1 B M - - Q 0,1,- Deterministische endliche Automaten 18/124

20 2.10 Beispiel (Fortsetzung von 2.3) Zustandsmenge Z = {A, B, M, Q}, Anfangszustand A Eingabealphabet X = {0, 1, -} Y = {0, 1} g(b) = 1 und g(z) = 0 für alle z {A, M, Q} 0,1 A - 0,1 0,1 B M - - Q 0,1,- Deterministische endliche Automaten 18/124

21 2.10 Beispiel (Fortsetzung von 2.3) Zustandsmenge Z = {A, B, M, Q}, Anfangszustand A Eingabealphabet X = {0, 1, -} Y = {0, 1} g(b) = 1 und g(z) = 0 für alle z {A, M, Q} 0,1 A - 0,1 0,1 B M - - Q 0,1,- Deterministische endliche Automaten 18/124

22 2.12 Festlegung Sei Y = {0, 1} und nur das letzte Ausgabesymbol von Interesse Zu Y und g äquivalente Spezifikation: Teilmenge F Z der Zustände z mit Ausgabe g(z) = 1 in F : akzeptierende Zustände So ein Automat heißt auch ein Akzeptor. Deterministische endliche Automaten 19/124

23 2.13 Definition Von endlichem Akzeptor M = (Z, z 0, X, f, F ) erkannte Sprache: L(M) = {w X f (z 0, w) F } Deterministische endliche Automaten 20/124

24 2.13 Definition Von endlichem Akzeptor M = (Z, z 0, X, f, F ) erkannte Sprache: L(M) = {w X f (z 0, w) F } Frage: Welche Sprachen kann man mit endlichen Akzeptoren erkennen? Deterministische endliche Automaten 20/124

25 2.14 Beispiel Gesucht: endlicher Akzeptor für die formale Sprache L = {0 k 1 l k, l N 0 } = {w {0, 1} in w kommen alle 0 vor allen 1 } Deterministische endliche Automaten 21/124

26 2.14 Beispiel Gesucht: endlicher Akzeptor für die formale Sprache L = {0 k 1 l k, l N 0 } = {w {0, 1} in w kommen alle 0 vor allen 1 } 0 1 0,1 1 0 A B C Zustand A: noch keine 1 in der Eingabe Zustand B: schon mindestens eine 1 in der Eingabe, aber danach noch keine 0, Zustand C: Zeichenfolge 10 kam in der Eingabe vor Deterministische endliche Automaten 21/124

27 2.15 Beispiel Gesucht: endlicher Akzeptor für die formale Sprache L = {w {0, 1} in w kommen vor jeder 1 mindestens zwei 0 vor } Deterministische endliche Automaten 22/124

28 2.15 Beispiel Gesucht: endlicher Akzeptor für die formale Sprache L = {w {0, 1} in w kommen vor jeder 1 mindestens zwei 0 vor } Q 0,1 Deterministische endliche Automaten 22/124

29 2.16 Grenzen endlicher Akzeptoren Es gibt eine formale Sprache, die von keinem endlichen Akzeptor erkannt werden kann. Selbst dann, wenn man nur X = {0} erlaubt. Verschiedene Beweise; z. B.: 1. Es gibt abzählbar unendlich viele ( N viele ) endliche Akzeptoren. 2. Es gibt überabzählbar unendlich viele ( R viele ) formale Sprachen über {0}. 3. Es gibt keine surjektive Abbildung von N auf R (Cantor). Man lernt aber auch etwas an konkreten Beispielen... Deterministische endliche Automaten 23/124

30 2.17 Lemma Die formale Sprache L ={0 k 1 k k N 0 } ={ Anzahl der 0 und Anzahl der 1 sind gleich} wird von keinem endlichen Akzeptor erkannt. Deterministische endliche Automaten 24/124

31 2.17 Lemma Die formale Sprache L ={0 k 1 k k N 0 } ={ Anzahl der 0 und Anzahl der 1 sind gleich} wird von keinem endlichen Akzeptor erkannt. L = {ε, 01, 0011, ,...} z. B / L und 1010 / L Deterministische endliche Automaten 24/124

32 2.18 Beweisidee Mit endlich vielen Zuständen kann man sich nicht jede mögliche Länge des 0-Blockes merken, und das müsste man ja irgendwie... Deterministische endliche Automaten 25/124

33 2.19 Beweis Beweis indirekt Annahme, es gäbe doch einen endlichen Akzeptor M = (Z, z 0, X, f, F ) mit L(M) = L. Ziel: Widerspruch Anzahl Zustände Z = m. Deterministische endliche Automaten 26/124

34 2.19 Beweis Beweis indirekt Annahme, es gäbe doch einen endlichen Akzeptor M = (Z, z 0, X, f, F ) mit L(M) = L. Ziel: Widerspruch Anzahl Zustände Z = m. Drei Schritte: 1. Betrachte spezielle Eingabe w = 0 m 1 m. 2. Was genau macht der Automat für diese Eingabe...? 3. Aha! Dann können wir ihn doch reinlegen... Deterministische endliche Automaten 26/124

35 2.19 Beweis (2) 1. Offensichtlich ist w = 0 m 1 m L. Da L(M) = L ist, muss M bei Eingabe w in einen Endzustand gelangen: f (z 0, w) = z f F. Deterministische endliche Automaten 27/124

36 2.19 Beweis (3) 2. Betrachte durchlaufene Zustände für Eingabe 0 m : das sind Deterministische endliche Automaten 28/124

37 2.19 Beweis (3) 2. Betrachte durchlaufene Zustände für Eingabe 0 m : das sind z 0 Deterministische endliche Automaten 28/124

38 2.19 Beweis (3) 2. Betrachte durchlaufene Zustände für Eingabe 0 m : das sind z 0 f (z 0, 0) = z 1 Deterministische endliche Automaten 28/124

39 2.19 Beweis (3) 2. Betrachte durchlaufene Zustände für Eingabe 0 m : das sind z 0 f (z 0, 0) = z 1 f (z 1, 0) = z 2 Deterministische endliche Automaten 28/124

40 2.19 Beweis (3) 2. Betrachte durchlaufene Zustände für Eingabe 0 m : das sind z 0 f (z 0, 0) = z 1 f (z 1, 0) = z 2... Deterministische endliche Automaten 28/124

41 2.19 Beweis (3) 2. Betrachte durchlaufene Zustände für Eingabe 0 m : das sind z 0 f (z 0, 0) = z 1 f (z 1, 0) = z 2... f (z m 1, 0) = z m Deterministische endliche Automaten 28/124

42 2.19 Beweis (3) 2. Betrachte durchlaufene Zustände für Eingabe 0 m : das sind z 0 f (z 0, 0) = z 1 f (z 1, 0) = z 2... f (z m 1, 0) = z m f (z 0, 0 m ) = z 0 z 1 z m. Deterministische endliche Automaten 28/124

43 2.19 Beweis (3) 2. Betrachte durchlaufene Zustände für Eingabe 0 m : das sind z 0 f (z 0, 0) = z 1 f (z 1, 0) = z 2... f (z m 1, 0) = z m f (z 0, 0 m ) = z 0 z 1 z m. Offensichtlich: f (z m, 1 m ) = z f F. Deterministische endliche Automaten 28/124

44 2.19 Beweis (3) 2. Betrachte durchlaufene Zustände für Eingabe 0 m : das sind z 0 f (z 0, 0) = z 1 f (z 1, 0) = z 2... f (z m 1, 0) = z m f (z 0, 0 m ) = z 0 z 1 z m. Offensichtlich: f (z m, 1 m ) = z f F. Liste z 0 z 1 z m besteht aus m + 1 Zuständen. Deterministische endliche Automaten 28/124

45 2.19 Beweis (3) 2. Betrachte durchlaufene Zustände für Eingabe 0 m : das sind z 0 f (z 0, 0) = z 1 f (z 1, 0) = z 2... f (z m 1, 0) = z m f (z 0, 0 m ) = z 0 z 1 z m. Offensichtlich: f (z m, 1 m ) = z f F. Liste z 0 z 1 z m besteht aus m + 1 Zuständen. Aber M hat nur m verschiedene Zustände. Deterministische endliche Automaten 28/124

46 2.19 Beweis (3) 2. Betrachte durchlaufene Zustände für Eingabe 0 m : das sind z 0 f (z 0, 0) = z 1 f (z 1, 0) = z 2... f (z m 1, 0) = z m f (z 0, 0 m ) = z 0 z 1 z m. Offensichtlich: f (z m, 1 m ) = z f F. Liste z 0 z 1 z m besteht aus m + 1 Zuständen. Aber M hat nur m verschiedene Zustände. Also kommt mindestens ein Zustand doppelt vor. Deterministische endliche Automaten 28/124

47 2.19 Beweis (3) 2. Betrachte durchlaufene Zustände für Eingabe 0 m : das sind z 0 f (z 0, 0) = z 1 f (z 1, 0) = z 2... f (z m 1, 0) = z m f (z 0, 0 m ) = z 0 z 1 z m. Offensichtlich: f (z m, 1 m ) = z f F. Liste z 0 z 1 z m besteht aus m + 1 Zuständen. Aber M hat nur m verschiedene Zustände. Also kommt mindestens ein Zustand doppelt vor. Automat befindet sich in einer Schleife. Deterministische endliche Automaten 28/124

48 2.19 Beweis (4) 2. (Forts.) Automat befindet sich in einer Schleife. Sei zi das erste und z j das zweite Auftreten des ersten doppelten Zustandes. Länge der Schleife: l = j i 1. Automat bleibt in Schleife, solange Eingabesymbol 0. Also ist auch z m l = z m. z f 1 1 z m z m l = z m z j 1 z i+1 = z j z 0 z 1 z i = z j Deterministische endliche Automaten 29/124

49 2.19 Beweis (5) 3. Durchlaufe die Schleife einmal weniger: betrachte Eingabe w = 0 m l 1 m Deterministische endliche Automaten 30/124

50 2.19 Beweis (5) 3. Durchlaufe die Schleife einmal weniger: betrachte Eingabe w = 0 m l 1 m Was macht der Akzeptor? Deterministische endliche Automaten 30/124

51 2.19 Beweis (5) 3. Durchlaufe die Schleife einmal weniger: betrachte Eingabe w = 0 m l 1 m Was macht der Akzeptor? Nach Präfix 0 m l ist er in Zustand z m l und z m l = z m. Deterministische endliche Automaten 30/124

52 2.19 Beweis (5) 3. Durchlaufe die Schleife einmal weniger: betrachte Eingabe w = 0 m l 1 m Was macht der Akzeptor? Nach Präfix 0 m l ist er in Zustand z m l und z m l = z m. Wir wissen: f (z m, 1 m ) = z f F. Deterministische endliche Automaten 30/124

53 2.19 Beweis (5) 3. Durchlaufe die Schleife einmal weniger: betrachte Eingabe w = 0 m l 1 m Was macht der Akzeptor? Nach Präfix 0 m l ist er in Zustand z m l und z m l = z m. Wir wissen: f (z m, 1 m ) = z f F. Also: f (z 0, 0 m l 1 m ) Deterministische endliche Automaten 30/124

54 2.19 Beweis (5) 3. Durchlaufe die Schleife einmal weniger: betrachte Eingabe w = 0 m l 1 m Was macht der Akzeptor? Nach Präfix 0 m l ist er in Zustand z m l und z m l = z m. Wir wissen: f (z m, 1 m ) = z f F. Also: f (z 0, 0 m l 1 m ) = f (f (z 0, 0 m l ), 1 m ) Deterministische endliche Automaten 30/124

55 2.19 Beweis (5) 3. Durchlaufe die Schleife einmal weniger: betrachte Eingabe w = 0 m l 1 m Was macht der Akzeptor? Nach Präfix 0 m l ist er in Zustand z m l und z m l = z m. Wir wissen: f (z m, 1 m ) = z f F. Also: f (z 0, 0 m l 1 m ) = f (f (z 0, 0 m l ), 1 m ) = f (z m l, 1 m ) Deterministische endliche Automaten 30/124

56 2.19 Beweis (5) 3. Durchlaufe die Schleife einmal weniger: betrachte Eingabe w = 0 m l 1 m Was macht der Akzeptor? Nach Präfix 0 m l ist er in Zustand z m l und z m l = z m. Wir wissen: f (z m, 1 m ) = z f F. Also: f (z 0, 0 m l 1 m ) = f (f (z 0, 0 m l ), 1 m ) = f (z m l, 1 m ) = f (z m, 1 m ) Deterministische endliche Automaten 30/124

57 2.19 Beweis (5) 3. Durchlaufe die Schleife einmal weniger: betrachte Eingabe w = 0 m l 1 m Was macht der Akzeptor? Nach Präfix 0 m l ist er in Zustand z m l und z m l = z m. Wir wissen: f (z m, 1 m ) = z f F. Also: f (z 0, 0 m l 1 m ) = f (f (z 0, 0 m l ), 1 m ) = f (z m l, 1 m ) = f (z m, 1 m ) = z f F. Deterministische endliche Automaten 30/124

58 2.19 Beweis (5) 3. Durchlaufe die Schleife einmal weniger: betrachte Eingabe w = 0 m l 1 m Was macht der Akzeptor? Nach Präfix 0 m l ist er in Zustand z m l und z m l = z m. Wir wissen: f (z m, 1 m ) = z f F. Also: f (z 0, 0 m l 1 m ) = f (f (z 0, 0 m l ), 1 m ) = f (z m l, 1 m ) = f (z m, 1 m ) = z f F. Also akzeptiert M Eingabe w = 0 m l 1 m Deterministische endliche Automaten 30/124

59 2.19 Beweis (5) 3. Durchlaufe die Schleife einmal weniger: betrachte Eingabe w = 0 m l 1 m Was macht der Akzeptor? Nach Präfix 0 m l ist er in Zustand z m l und z m l = z m. Wir wissen: f (z m, 1 m ) = z f F. Also: f (z 0, 0 m l 1 m ) = f (f (z 0, 0 m l ), 1 m ) = f (z m l, 1 m ) = f (z m, 1 m ) = z f F. Also akzeptiert M Eingabe w = 0 m l 1 m Aber w / L! Deterministische endliche Automaten 30/124

60 2.19 Beweis (5) 3. Durchlaufe die Schleife einmal weniger: betrachte Eingabe w = 0 m l 1 m Was macht der Akzeptor? Nach Präfix 0 m l ist er in Zustand z m l und z m l = z m. Wir wissen: f (z m, 1 m ) = z f F. Also: f (z 0, 0 m l 1 m ) = f (f (z 0, 0 m l ), 1 m ) = f (z m l, 1 m ) = f (z m, 1 m ) = z f F. Also akzeptiert M Eingabe w = 0 m l 1 m Aber w / L! Also ist L(M) L. Deterministische endliche Automaten 30/124

61 2.19 Beweis (5) 3. Durchlaufe die Schleife einmal weniger: betrachte Eingabe w = 0 m l 1 m Was macht der Akzeptor? Nach Präfix 0 m l ist er in Zustand z m l und z m l = z m. Wir wissen: f (z m, 1 m ) = z f F. Also: f (z 0, 0 m l 1 m ) = f (f (z 0, 0 m l ), 1 m ) = f (z m l, 1 m ) = f (z m, 1 m ) = z f F. Also akzeptiert M Eingabe w = 0 m l 1 m Aber w / L! Also ist L(M) L. Widerspruch! Deterministische endliche Automaten 30/124

62 2.20 Beispiel Die formale Sprache L = {0 k 1 i 0 k 1 j i, j, k N} wird von keinem endlichen Akzeptor erkannt. Deterministische endliche Automaten 31/124

63 Deterministische endliche Automaten Reguläre Ausdrücke Grammatiken Typ-3-Grammatiken Nichtdeterministische endliche Automaten Zustandsminimierung endlicher Automaten Reguläre Ausdrücke 32/124

64 Ziel Definition regulärer Ausdruck Definition der dadurch beschriebenen formalen Sprache Zusammenhang mit endlichen Akzeptoren, Teil 1 Reguläre Ausdrücke 33/124

65 2.21 Definition Alphabet A enthalte keines der fünf Zeichen aus Z = {, (, ), *, O/} regulärer Ausdruck über A: Zeichenfolge über Alphabet A Z, die gewissen Vorschriften genügt. Die Menge der regulären Ausdrücke ist wie folgt festgelegt: O/ ist ein regulärer Ausdruck. Für jedes a A ist a ein regulärer Ausdruck. Wenn R 1 und R 2 reguläre Ausdrücke sind, dann auch (R 1 R 2 ) und (R 1 R 2 ). Wenn R ein regulärer Ausdruck ist, dann auch (R*). Nichts anderes sind reguläre Ausdrücke. (Nur das, was man in endlich vielen Schritten aus den atomaren regulären Ausdrücken gemäß obigen Regeln konstruieren kann.) Reguläre Ausdrücke 34/124

66 Reguläre Ausdrücke (Forts.) Klammervereinfachungsregeln: Stern vor Punkt und Punkt vor Strich : R 1 R 2 R 3 * statt (R 1 (R 2 (R 3 *))) links vor rechts : R 1 R 2 R 3 statt ((R 1 R 2 ) R 3 ) Reguläre Ausdrücke 35/124

67 2.22 Beispiele O/ 0 1 (01) ((01)0) (((01)0)0) ((01)(00)) (O/ 1) (0 1) ((0(0 1)) 1) (0 (1 (0 0))) (O/*) (0*) ((10)(1*)) (((10)1)*) ((0*)*) (((((01)1)*)*) (O/*)) Mit Klammereinsparungsregeln: (00) O/ (0 1) 1 (0 (1 (0 0))) O/* 0* 101* (101)* 0** (011)** O/* Reguläre Ausdrücke 36/124

68 2.22 Nicht-Beispiele Das sind z. B. alles keine regulären Ausdrücke über {0, 1}: ( 1) O/ ()01 ((01) *(01) 2* Reguläre Ausdrücke 37/124

69 2.23 Definition Von regulärem Ausdruck R beschriebene formale Sprache R : O/ = (leere Menge). Für a A ist a = {a}. Sind R 1 und R 2 reguläre Ausdrücke, so ist R 1 R 2 = R 1 R 2. Sind R 1 und R 2 reguläre Ausdrücke, so ist R 1 R 2 = R 1 R 2. Ist R ein regulärer Ausdruck, so ist R* = R. Falls w R ist, sagt man auch w passt zu dem Muster R oder R matcht w. Reguläre Ausdrücke 38/124

70 2.24 Beispiele R = 0 1: Dann ist R = 0 1 = 0 1 = {0} {1} = {0, 1}. R = (0 1)*: Dann ist R = (0 1)* = 0 1 = {0, 1}. R = (0*1*)*: Dann ist R = (0*1*)* = 0*1* = ( 0* 1* ) = ( 0 1 ) = ({0} {1} ). NB: {0, 1} = ({0} {1} ), aber die regulären Ausdrücke (0 1)* und (0*1*)* sind verschieden! Reguläre Ausdrücke 39/124

71 2.25 Man kann eine formale Sprache durch verschiedene reguläre Ausdrücke beschreiben wenn sie denn überhaupt so beschreibbar ist. Fragen: 1. Welche formalen Sprachen sind denn durch reguläre Ausdrücke beschreibbar? 2. Kann man algorithmisch von zwei beliebigen regulären Ausdrücken R 1, R 2 feststellen, ob sie die gleiche formale Sprache beschreiben, d. h. ob R 1 = R 2 ist? Reguläre Ausdrücke 40/124

72 2.26 Äquivalenz regulärer Ausdrücke Das Problem ist PSPACE-vollständig (was auch immer das sei). Alle bisher bekannten Algorithmen sind sehr sehr langsam: die Rechenzeit wächst stark exponentiell (z. B. wie 2 n2 o.ä.) mit der Länge n der regulären Ausdrücke. Man weiß nicht, ob es signifikant schnellere Algorithmen für das Problem gibt, aber man sie nur noch nicht gefunden hat. Reguläre Ausdrücke 41/124

73 2.27 Satz Für jede formale Sprache L sind die folgenden beiden Aussagen äquivalent: L kann von einem endlichen Akzeptor erkannt werden. L kann durch einen regulären Ausdruck beschrieben werden. Reguläre Ausdrücke 42/124

74 2.27 Satz Für jede formale Sprache L sind die folgenden beiden Aussagen äquivalent: L kann von einem endlichen Akzeptor erkannt werden. L kann durch einen regulären Ausdruck beschrieben werden. Die eine Hälfte beweisen wir gleich, die andere später. Reguläre Ausdrücke 42/124

75 2.28 Definition Eine reguläre Sprache ist eine formale Sprache, die die Eigenschaften aus Satz 2.27 hat. Reguläre Ausdrücke 43/124

76 2.29 Lemma Für jeden endlichen Akzeptor M ist L(M) durch einen regulären Ausdruck beschreibbar. Reguläre Ausdrücke 44/124

77 2.30 Beweisskizze Nun M = (Z, z 0, X, f, F ) endlicher Akzeptor mit m = Z Zuständen Zustände: z 0, z 1,..., z m 1 Für 0 k m sei Z k = {z l l < k} also ist z. B. Z 0 = und Z m = Z definiere für alle i, j {0, 1,..., m 1} und alle k {0, 1,..., m} die formale Sprache { } L k ij = w X f (z i, w) {z i }Zk {z j} (i = j w = ε) Beachte: das hochgestellte k soll keine Potenz, sondern ein dritter Index sein. Reguläre Ausdrücke 45/124

78 2.30 Beweisskizze (2) Es gilt: 1. L(M) kann man als Vereinigung einiger L k ij ausdrücken. 2. Jede Sprache L k ij kann man durch einen regulären Ausdruck R k ij beschreiben. Das geht so: 1. Bezeichnet I F die Menge der Indizes der akzeptierenden Zustände, so ist L(M) = j I F L m 0j. 2. Beweis durch Induktion über k. Reguläre Ausdrücke 46/124

79 2.30 Beweisskizze (3) Als erstes überlegt man sich, wie die Sprachen L 0 ij aussehen: L 0 ij = {w X f (z i, w) {z i }Z 0 {z j } (i = j w = ε)} = {w X f (z i, w) {z i }{z j } (i = j w = ε)} { {ε} falls i = j = {x X f (z i, x) = z j } {} falls i j Das sind endliche Mengen von Eingabesymbole (und evtl. ε), also durch reguläre Ausdrücke R 0 ij beschreibbar. Reguläre Ausdrücke 47/124

80 2.30 Beweisskizze (3) Als erstes überlegt man sich, wie die Sprachen L 0 ij aussehen: L 0 ij = {w X f (z i, w) {z i }Z 0 {z j } (i = j w = ε)} = {w X f (z i, w) {z i }{z j } (i = j w = ε)} { {ε} falls i = j = {x X f (z i, x) = z j } {} falls i j Das sind endliche Mengen von Eingabesymbole (und evtl. ε), also durch reguläre Ausdrücke R 0 ij beschreibbar. Und für k > 0 gilt folgende Gleichung: L k ij = L k 1 ij Also ist dann R k ij = (R k 1 ij L k 1 i,k 1 (Lk 1 k 1,k 1 ) L k 1 k 1,j (R k 1 i,k 1 (Rk 1 k 1,k 1 )* Rk 1 k 1,j )) und man kann ausgehend von den Rij 0 sukzessive die Rij 1, die Rij 2, usw. bis zu den Rm ij konstruieren. Reguläre Ausdrücke 47/124

81 2.31 Warum so spartanisch? Frage: Warum nicht auch Symbole für die mengentheoretischen Operationen Durchschnitt und Komplementbildung in regulären Ausdrücken? Man könnte ja zum Beispiel Definition 2.22 um den Punkt Wenn R ein regulärer Ausdruck ist, dann auch (^R). erweitern und Definition 2.24 um Ist R ein regulärer Ausdruck, so ist (^R) = A R. Antwort: Das ist überflüssig. Reguläre Ausdrücke 48/124

82 2.32 Satz Sind L 1 und L 2 reguläre Sprachen über einem Alphabet A, dann sind auch A L 1 und L 1 L 2 reguläre Sprachen. Reguläre Ausdrücke 49/124

83 2.33 Beweis Benutze die Charakterisierung über endliche Akzeptoren. Es seien M 1 = (Z 1, A, f 1, F 1, z 01 ) resp. M 2 = (Z 2, A, f 2, F 2, z 02 ) endliche Akzeptoren von L 1 resp. L 2. Komplement: endlicher Akzeptor M für A L 1 : muss genau dann akzeptieren, wenn M 1 nicht akzeptiert. Reguläre Ausdrücke 50/124

84 2.33 Beweis Benutze die Charakterisierung über endliche Akzeptoren. Es seien M 1 = (Z 1, A, f 1, F 1, z 01 ) resp. M 2 = (Z 2, A, f 2, F 2, z 02 ) endliche Akzeptoren von L 1 resp. L 2. Komplement: endlicher Akzeptor M für A L 1 : muss genau dann akzeptieren, wenn M 1 nicht akzeptiert. Also leistet M = (Z 1, A, f 1, Z 1 F 1, z 01 ) das Gewünschte. Reguläre Ausdrücke 50/124

85 2.33 Beweis (2) Durchschnitt: Konstruiere M = (Z, z 0, A, f, F ) mit L(M) = L 1 L 2. Idee: beide Akzeptoren M1 und M 2 parallel laufen lassen. M merkt sich immer sowohl den Zustand, in dem M1 nach einer Eingabe wäre, als auch den, in dem M 2 danach wäre: Z = Z 1 Z 2 = {(z 1, z 2) z 1 Z 1 z 2 Z 2}; z 0 = (z 01, z 02). für alle (z 1, z 2) Z und alle a A: f ((z 1, z 2), a) = (f 1(z 1, a), f 2(z 2, a)), denn M soll die Arbeit beider Akzeptoren M i nachvollziehen; F = F 1 F 2, denn M soll genau dann akzeptieren, wenn ein Eingabewort in L 1 L 2 liegt, also wenn beide Akzeptoren M i es akzeptieren. Reguläre Ausdrücke 51/124

86 Deterministische endliche Automaten Reguläre Ausdrücke Grammatiken Typ-3-Grammatiken Nichtdeterministische endliche Automaten Zustandsminimierung endlicher Automaten Grammatiken 52/124

87 2.34 Definition (erzeugende) Grammatik G = (N, T, S, P); dabei N Alphabet der Nichtterminalsymbole, T Alphabet der Terminalsymbole, zu N disjunkt, S N ausgezeichnetes Startsymbol und P V NV V endliche Menge von Produktionen. Abkürzung: V = N T. Produktion: (v, w) P, meist geschrieben als v w linke Seite v V NV muss Nichtterminalsymbol enthalten rechte Seite w V beliebig gelesen: v geht über in w, v wird ersetzt durch w, o.ä. Grammatiken 53/124

88 2.35 Abkürzung statt v w 1, v w 2, v w 3 kürzer v w 1 w 2 w 3 Grammatiken 54/124

89 2.36 Beispiel G = (N, T, S, P) mit N = {X } T = {0, 1} S = X P = {X 01, X 0X 1} = {X 01 0X 1} Grammatiken 55/124

90 2.37 Beispiel G = ({B, Q, S, X, Y, Z}, {a}, S, P) mit P = S axbz, XB Q, QB Q, QZ ε, XB axyb, YB aaby, YZ BZ, X a ax, Ba ab Wofür auch immer dieses Kauderwelsch gut sein mag... Grammatiken 56/124

91 2.38 Beispiel G = (N, T, S, P) mit N = {X z, X m, X v, X n, X e, X b } T = {0, 1, -,., E} S = X z P = { X z X m X v X n X e X m - ε X v X b X n.x b ε X e EX m X b ε X b 0X b 1X b 0 1 } Grammatiken 57/124

92 2.38 Beispiel: besser lesbare Form mit Folgen deutscher Buchstaben umgeben von spitzen Klammern als einzelnen Nichtterminalsymbolen: N = { zahl, opt.minus, vorkomma, opt.nachkomma, opt.exponent, bitfolge } T = {0, 1, -,., E} S = zahl P = { zahl opt.minus vorkomma opt.nachkomma opt.exponent opt.minus - ε vorkomma bitfolge opt.nachkomma. bitfolge ε opt.exponent E opt.minus bitfolge ε bitfolge 0 bitfolge 1 bitfolge 0 1 } Grammatiken 58/124

93 2.39 Definition Es sei G = (N, T, S, P) eine Grammatik und w 1, w 2 V w 1 w 2, falls es Wörter u, u V und Produktion v w gibt, so dass w 1 = uvu und w 2 = uwu ist. Gelegentlich deutlicher: uvu uwu. w 1 w 2, falls Also: w1 = w 2 oder es gibt ein w V mit w 1 w und w w 2 Wenn w 1 w 2, dann w 1 w 2 w 1 w 2, falls man in endlich vielen Schritten mit von w 1 zu w 2 kommt. Wenn w 1 w 2 und w 2 w 3, dann auch w 1 w 3. ist die reflexiv-transitive Hülle von. Grammatiken 59/124

94 2.40 Beispiel Grammatik aus 2.38: X z X m X v X n X e -X v X n X e -X v εx e -X b X e -1X b X e -10X b X e -101X e -101 und deswegen also X z -101 Grammatiken 60/124

95 2.40 Beispiel (Fortsetzung) Was kann man aus X b mit den Produktionen X b 0X b 1X b 0 1 ableiten? X b 0 und X b 1. X b 0X b 00 und X b 0X b 01 sowie X b 1X b 10 und X b 1X b 11. und so weiter. Genauer gesagt: Für jedes k N und jedes Wort w {0, 1} k gilt X b w und X b wx b. Grammatiken 61/124

96 2.40 Beispiel (Fortsetzung) Behauptung: Für alle k N und alle w {0, 1} k gilt: X b w und X b wx b. Induktionsanfang k = 1: offensichtlich richtig. Induktionsschritt k k + 1: betrachte beliebiges w = w x {0, 1} k {0, 1}. Zeige: X b w X b wx b Induktionsvoraussetzung: X b w X b. Da Xb x Produktion, gilt auch w X b w x, also X b w. Außerdem ist Xb xx b Produktion. Folglich: X b w X b w xx b = wx b. Grammatiken 62/124

97 2.41 Definition Die von einer Grammatik G = (N, T, S, P) erzeugte Sprache ist L(G) = {w T S w}. Beachte: nur Wörter aus Terminalsymbolen werden aufgenommen. Grammatiken 63/124

98 2.42 Beispiel G = ({X }, {0, 1}, X, {X 01, X 0X 1}. Ableitung eines Terminalwortes muss mit Produktion X 01 enden. Vorher muss man (wenn überhaupt) stets Produktion X 0X 1 anwenden. Wenn das k 1 mal geschieht, ergibt sich X 0X 1 00X 11 0 k 1 X 1 k 1 0 k 1 k. Also ist L(G) = {0 k 1 k k N}. Vgl. 2.17: Sprache wird von keinem endlichen Akzeptor erkannt. Man kann mit Grammatiken formale Sprachen spezifizieren (erzeugen), die man mit endlichen Akzeptoren nicht spezifizieren (erkennen) kann. Grammatiken 64/124

99 2.43 Beispiel Grammatik aus 2.37 Was kann man mit P = Behauptungen: S axbz, XB Q, QB Q, QZ ε, XB axyb, YB aaby, YZ BZ, X a ax, Ba ab Für alle k N gilt: XB k Z ε. Für alle k N gilt: XB k Z a 2k+1 XB k+1 Z. Für alle k N gilt: a k2 XB k Z a (k+1)2 XB k+1 Z. L(G) = {a k2 k N}. ableiten? Grammatiken 65/124

100 2.44 Beispiel Betrachte G = (N, T, S, P) mit N = {X 0, X 1, X 2, X 3, X 4, X 5, X 6, X 7 } T = {0, 1, -,., E} S = X 0 P = { X 0 -X 1 X 1 X 1 0X 2 1X 2 X 2 0X 2 1X 2 ε X 3 X 3.0X 4.1X 4 X 5 X 4 0X 4 1X 4 ε X 5 X 5 E-X 6 EX 6 X 6 0X 7 1X 7 X 7 0X 7 1X 7 ε } Grammatiken 66/124

101 Scharfes Hinsehen ergibt Auch diese Grammatik erzeugt die formale Sprache gewisser Zahldarstellungen wie die Grammatik in Beispiel Unterschied zu vorhin: auf der rechten Seite immer nur ein Nichtterminalsymbol und außerdem immer am rechten Ende Also werden bei jeder Ableitung eines terminalen Wortes die Symbole der Reihe nach von links nach rechts erzeugt. Grammatiken 67/124

102 Scharfes Hinsehen ergibt Auch diese Grammatik erzeugt die formale Sprache gewisser Zahldarstellungen wie die Grammatik in Beispiel Unterschied zu vorhin: auf der rechten Seite immer nur ein Nichtterminalsymbol und außerdem immer am rechten Ende Also werden bei jeder Ableitung eines terminalen Wortes die Symbole der Reihe nach von links nach rechts erzeugt. Ein endlicher Akzeptor liest die Symbole des Eingabewortes der Reihe nach von links nach rechts. Na? Grammatiken 67/124

103 Deterministische endliche Automaten Reguläre Ausdrücke Grammatiken Typ-3-Grammatiken Nichtdeterministische endliche Automaten Zustandsminimierung endlicher Automaten Typ-3-Grammatiken 68/124

104 Ziele Definition des am weitesten eingeschränkten Grammatiktyps Zusammenhang mit regulären Ausdrücken Typ-3-Grammatiken 69/124

105 2.45 Definition Eine Typ-3-Grammatik ist eine Grammatik, bei der jede Produktion entweder von der Form X w oder von der Form X wy ist, wobei w T und X, Y N. Sprechweisen: rechtslineare Produktionen und rechtslineare Grammatiken Typ-3-Grammatiken 70/124

106 2.48 Satz Für jede formale Sprache L sind die folgenden drei Aussagen äquivalent: 1. L kann von einem endlichen Akzeptor erkannt werden. 2. L kann durch einen regulären Ausdruck beschrieben werden. 3. L kann von einer Typ-3-Grammatik erzeugt werden. Typ-3-Grammatiken 71/124

107 2.49 Lemma Wird eine formale Sprache L von einem endlichen Akzeptor erkannt, dann kann sie auch von einer Typ-3-Grammatik erzeugt werden. Typ-3-Grammatiken 72/124

108 2.50 Beweisskizze Es sei M = (Z, z 0, X, f, F ) ein endlicher Akzeptor. Definiere G = (N, T, S, P) wie folgt: N = {X z z Z} T = X S = X z0 P = {X z xx z f (z, x) = z } {X z ε z F }. Typ-3-Grammatiken 73/124

109 2.50 Beweisskizze Es sei M = (Z, z 0, X, f, F ) ein endlicher Akzeptor. Definiere G = (N, T, S, P) wie folgt: N = {X z z Z} T = X S = X z0 P = {X z xx z f (z, x) = z } {X z ε z F }. M.a.W.: Wenn M bei Eingabe x von Zustand z in Zustand z übergeht, Typ-3-Grammatiken 73/124

110 2.50 Beweisskizze Es sei M = (Z, z 0, X, f, F ) ein endlicher Akzeptor. Definiere G = (N, T, S, P) wie folgt: N = {X z z Z} T = X S = X z0 P = {X z xx z f (z, x) = z } {X z ε z F }. M.a.W.: Wenn M bei Eingabe x von Zustand z in Zustand z übergeht, dann und nur dann Typ-3-Grammatiken 73/124

111 2.50 Beweisskizze Es sei M = (Z, z 0, X, f, F ) ein endlicher Akzeptor. Definiere G = (N, T, S, P) wie folgt: N = {X z z Z} T = X S = X z0 P = {X z xx z f (z, x) = z } {X z ε z F }. M.a.W.: Wenn M bei Eingabe x von Zustand z in Zustand z übergeht, dann und nur dann erlaubt die Grammatik die Erzeugung von x beim Übergang vom Nichtterminalsymbol X z zum Nichtterminalsymbol X z Typ-3-Grammatiken 73/124

112 2.50 Beweisskizze Es sei M = (Z, z 0, X, f, F ) ein endlicher Akzeptor. Definiere G = (N, T, S, P) wie folgt: N = {X z z Z} T = X S = X z0 P = {X z xx z f (z, x) = z } {X z ε z F }. M.a.W.: Wenn M bei Eingabe x von Zustand z in Zustand z übergeht, dann und nur dann erlaubt die Grammatik die Erzeugung von x beim Übergang vom Nichtterminalsymbol X z zum Nichtterminalsymbol X z Man müsste nun beweisen, dass L(G) = L(M) ist, Typ-3-Grammatiken 73/124

113 2.50 Beweisskizze Es sei M = (Z, z 0, X, f, F ) ein endlicher Akzeptor. Definiere G = (N, T, S, P) wie folgt: N = {X z z Z} T = X S = X z0 P = {X z xx z f (z, x) = z } {X z ε z F }. M.a.W.: Wenn M bei Eingabe x von Zustand z in Zustand z übergeht, dann und nur dann erlaubt die Grammatik die Erzeugung von x beim Übergang vom Nichtterminalsymbol X z zum Nichtterminalsymbol X z Man müsste nun beweisen, dass L(G) = L(M) ist, also L(G) L(M), d. h. G erzeugt alle richtigen Wörter L(G) L(M), d. h. G erzeugt keine falschen Wörter Typ-3-Grammatiken 73/124

114 2.52 Lemma Sind G 1 = (N 1, T 1, X 01, P 1 ) und G 2 = (N 2, T 2, X 02, P 2 ) zwei T3G, dann gibt es T3G G V, G K und G S, so dass gilt: a) L(G V ) = L(G 1 ) L(G 2 ) b) L(G K ) = L(G 1 )L(G 2 ) c) L(G S ) = L(G 1 ) Typ-3-Grammatiken 74/124

115 2.53 Beweisskizze O. B. d. A. seien N 1 und N 2 disjunkt. a) Man wählt ein neues Nichtterminalsymbol X V und setzt G V = (N V, T V, X V, P V ) mit N V = N 1 N 2 {X V }, T V = T 1 T 2, und P V = P 1 P 2 {X X 01 X 02 }. b) Man setzt G K = (N K, T K, X 01, P K ) mit N K = N 1 N 2, T K = T 1 T 2, und P K = ((P 1 P 2 ) {X w w T 1 X w P 1}) {X wx 02 w T 1 X w P 1}. c) G S kann man nach einer ähnlichen Idee konstruieren wir G K : Übungsaufgabe. Beachte: Die Disjunktheit von N 1 und N 2 ist wichtig! Typ-3-Grammatiken 75/124

116 2.54 Korollar Zu jedem regulären Ausdruck R gibt es eine Typ-3-Grammatik G mit L(G) = R. Typ-3-Grammatiken 76/124

117 Deterministische endliche Automaten Reguläre Ausdrücke Grammatiken Typ-3-Grammatiken Nichtdeterministische endliche Automaten Zustandsminimierung endlicher Automaten Nichtdeterministische endliche Automaten 77/124

118 Ziele Definition dieser Verallgemeinerung von DEA Zusammenhang mit T3G und DEA Nichtdeterministische endliche Automaten 78/124

119 2.56 Definition Für eine Menge Z bezeichne 2 Z die Potenzmenge von Z, d. h. die Menge, deren Elemente gerade die Teilmengen von Z sind. Nichtdeterministische endliche Automaten 79/124

120 2.57 Beispiel 1. Ist Z = {0}, dann ist 2 Z = {, {0}}. 2. Ist Z = {0, 1}, dann ist 2 Z = {, {0}, {1}, {0, 1}}. 3. Ist Z = {0, 1, 2}, dann ist 2 Z = {, {0}, {1}, {2}, {0, 1}, {0, 2}, {1, 2}, {0, 1, 2}}. 4. Ist Z =, dann ist 2 Z = { }. Schreibweise 2 Z : Für eine endliche Menge Z mit n Elementen hat ihre Potenzmenge gerade 2 n Elemente: 2 Z = 2 Z. Nichtdeterministische endliche Automaten 80/124

121 2.58 Definition Ein nichtdeterministischer endlicher Akzeptor (kurz NEA) N = (Z, z 0, X, g, F ) ist festgelegt durch: eine endliche Zustandsmenge Z, einen Anfangszustand z 0 Z, ein Eingabealphabet X, eine Menge F Z akzeptierender Zustände und eine Überführungsfunktion g : Z X 2 Z, wobei nur für endlich viele Paare (z, w) gilt: g(z, w). Nichtdeterministische endliche Automaten 81/124

122 2.60 Interpretation Es sei g(z, w) = {z 1,..., z k }. Dies bedeutet, dass der NEA von Zustand z bei Eingabe von w in den Zustand z 1 übergehen kann oder in den Zustand z 2 übergehen kann oder usw.... oder in den Zustand z k übergehen kann. Schreibweise: z w z i Nichtdeterministische endliche Automaten 82/124

123 2.60 Interpretation (2) Beachte: g(z, w) 2: neuer Zustand nicht eindeutig, nichtdeterministischer endlicher Akzeptor (NEA) g(z, w) = : NEA kann dann in keinen neuen Zustand übergehen. w 2: Übergang nur für ganze Folge von Eingabezeichen w = ε: spontaner Zustandsübergang Nichtdeterministische endliche Automaten 83/124

124 2.61 Beispiel Z = {0, 1, 2} Anfangszustand 0 X = {0, 1} F = Z Überführungsfunktion: {1} {2} {2} 1 {0} Nichtdeterministische endliche Automaten 84/124

125 2.61 Beispiel Z = {0, 1, 2} Anfangszustand 0 X = {0, 1} F = Z Überführungsfunktion: {1} {2} {2} 1 {0} Beachte: Alle Zustände sind akzeptierend, aber es werden nicht alle Wörter akzeptiert! Nichtdeterministische endliche Automaten 84/124

126 2.64 Definition Für z 1, z 2 Z und w X w schreibt man z 1 z 2 falls z 1 = z 2 und w = ε ist oder es z Z und w, w X gibt mit w = w w und w z 1 z w z 2 Damit ist g : Z X 2 Z definiert durch g (z 1, w) = {z 2 z 1 w z 2 }. Nichtdeterministische endliche Automaten 85/124

127 2.65 Definition Von nichtdeterministischem endlichen Automaten N erkannte Sprache: L(N) = {w X g (z 0, w) F } Das sind alle Wörter, bei deren Eingabe N vom Anfangszustand z 0 in einen akzeptierenden Zustand z F übergehen kann. Nichtdeterministische endliche Automaten 86/124

128 2.65 Definition Von nichtdeterministischem endlichen Automaten N erkannte Sprache: L(N) = {w X g (z 0, w) F } Das sind alle Wörter, bei deren Eingabe N vom Anfangszustand z 0 in einen akzeptierenden Zustand z F übergehen kann. Äquivalent ist L(N) = {w X z f F : z 0 w z f } Nichtdeterministische endliche Automaten 86/124

129 2.66 Beispiel N = ({0, 2, 5}, 0, {0, 1}, g, {2, 5}) Überführungsfunktion: ε {2, 5} 01 {2} 001 {5} 0 ε ε Welche Eingabewörter akzeptiert N? Nichtdeterministische endliche Automaten 87/124

130 2.68 Lemma Zu jeder T3G G gibt es einen NEA N mit L(N) = L(G). Nichtdeterministische endliche Automaten 88/124

131 2.69 Beweisskizze Sei G = (N, T, X 0, P) eine T3G, d. h. jede Produktion ist von einer der Formen X w oder X wy Konstruiere NEA N = (Z, z 0, X, g, F ) wie folgt: Z = {zx X N} {z f }; dabei ist z f ein neuer Zustand; z0 = z X0 ; X = T ; F = {z f }; g(z X, w) = {z Y X wy P} {z f X w P}. Nichtdeterministische endliche Automaten 89/124

132 2.70 Lemma Zu jedem NEA N gibt es einen DEA M mit L(M) = L(N). Nichtdeterministische endliche Automaten 90/124

133 2.70 Lemma Zu jedem NEA N gibt es einen DEA M mit L(M) = L(N). Beweis konstruktiv in drei Schritten: 1. Beseitigung von Übergängen z w z mit w 2; ε 2. Beseitigung von Übergängen z z ; 3. Beseitigung von Nichtdeterminismus, d. h. der Fälle g(z, w) 2 und g(z, w) =. Nichtdeterministische endliche Automaten 90/124

134 2.71 Beweisskizze (Schritt 1) Für w = x 1 x 2 x k wähle man neue Zustände z 1,..., z k 1 und ersetze z w z durch z x 1 x z 2 x 1 z2 z k k 1 z : Nichtdeterministische endliche Automaten 91/124

135 2.71 Beweisskizze (Schritt 1) Für w = x 1 x 2 x k wähle man neue Zustände z 1,..., z k 1 und ersetze z w z durch z x 1 x z 2 x 1 z2 z k k 1 z : 0 ε ε wird zu 0 ε ε Nichtdeterministische endliche Automaten 91/124

136 2.72 Beweisskizze (Schritt 2) ε a Für z z z füge Übergang z z hinzu. Für z a z z ε füge Übergang z a z hinzu. ε Entferne z z aus dem NEA. a Nichtdeterministische endliche Automaten 92/124

137 2.72 Beweisskizze (Schritt 2) ε a Für z z z füge Übergang z z hinzu. Für z a z z ε füge Übergang z a z hinzu. ε Entferne z z aus dem NEA. Falsch! Falsch! Falsch! Falsch! Falsch! Falsch! Falsch! Falsch! a Nichtdeterministische endliche Automaten 92/124

138 2.72 Beweisskizze (Schritt 2) ε a Für z z z füge Übergang z z hinzu. Für z a z z ε füge Übergang z a z hinzu. ε Entferne z z aus dem NEA. Falsch! Falsch! Falsch! Falsch! Falsch! Falsch! Falsch! Falsch! a ε ε würde zu Nichtdeterministische endliche Automaten 92/124

139 2.72 Beweisskizze (Schritt 2): richtig gemacht Vor Entfernung der ε-übergänge muss man F vergrößern: ε Wenn z z ein Übergang mit z F ist, dann nehme man z zu F hinzu ε ε wird zu 0 ε ε Nichtdeterministische endliche Automaten 93/124

140 2.72 Beweisskizze (Schritt 2): richtig gemacht Anschließend Entfernung der ε-übergänge: ε ε wird zu Nichtdeterministische endliche Automaten 94/124

141 2.73 Zum Nachdenken Vergrößerung von F ändert nichts an der akzeptierten Sprache. Es wäre falsch, auch die umgekehrte Vergrößerung von F durchzuführen. ε Damit ist gemeint: Ist z z ein Übergang und ist z F, dann kann die Hinzunahme von z zu F dazu führen, dass sich die vom NEA akzeptierte Sprache ändert. Entfernung der ε-übergänge und deren Ersetzung durch andere Übergänge ändert nichts an der akzeptierten Sprache. Nichtdeterministische endliche Automaten 95/124

142 2.74 Beweisskizze (Schritt 3) Gegeben NEA N = (Z N, z 0N, X, g, F N ), der schon obige Normalisierungsschritte durchlaufen hat. Alle Übergänge sind für einzelne Symbole. Konstruiere äquivalenten DEA M = (Z M, z 0M, X, f, F M ) aber wie? Nichtdeterministische endliche Automaten 96/124

143 2.74 Beweisskizze (Schritt 3) Gegeben NEA N = (Z N, z 0N, X, g, F N ), der schon obige Normalisierungsschritte durchlaufen hat. Alle Übergänge sind für einzelne Symbole. Konstruiere äquivalenten DEA M = (Z M, z 0M, X, f, F M ) wie folgt: ZM = 2 Z N, also die Teilmengen S Z N von Zuständen von N. z0m = {z 0N }. F M = {S Z N S F N }. f : Z M X Z M mit f (S, x) = g(z, x). Es bliebe im wesentlichen zu zeigen, dass für alle S Z N und alle w X gilt: g (S, w) = f (S, w). z S Das ist wirklich nur noch langweilig, also... Nichtdeterministische endliche Automaten 96/124

144 2.75 Explosion Bei der eben beschriebenen Konstruktion explodiert die Zustandszahl. Wenn der NEA k Zustände hat, dann hat der zugehörige äquivalente DEA 2 k Zustände. Für manche regulären Sprachen muss das so sein. Selbst der kleinste DEA hat für sie so viele Zustände mehr als der kleinste NEA. Und solche Beispiele gibt es für beliebig komplizierte reguläre Sprachen, soll heißen auch solche, die schon nichtdeterministisch sehr viele Zustände erfordern. Nichtdeterministische endliche Automaten 97/124

145 2.76 Zusammenfassung Zu jedem DEA gibt es einen äquivalenten regulären Ausdruck. Zu jedem regulären Ausdruck gibt es eine äquivalenten Typ-3-Grammatik. Zu jeder Typ-3-Grammatik gibt es einen äquivalenten NEA. Zu jedem NEA gibt es einen äquivalenten DEA. Nichtdeterministische endliche Automaten 98/124

146 Deterministische endliche Automaten Reguläre Ausdrücke Grammatiken Typ-3-Grammatiken Nichtdeterministische endliche Automaten Zustandsminimierung endlicher Automaten Zustandsminimierung endlicher Automaten 99/124

147 Ziel ein Algorithmus, der zu jedem DEA M einen DEA M konstruiert, so dass L(M) = L(M ) und unter allen solchen DEA M minimale Zustandszahl hat. Zustandsminimierung endlicher Automaten 100/124

148 2.77 Mitteilung Man kann zeigen: Minimale DEA sind bis auf Isomorphie eindeutig, d.h. alle minimalen ergeben sich auseinander durch Umbenennung der Zustände. Zustandsminimierung endlicher Automaten 101/124

149 2.78 Beobachtung Betrachte M = ({A, B, C, D}, A, {0, 1}, f, {A}) mit f (z, x) = z für alle z und alle x. Zustandsminimierung endlicher Automaten 102/124

150 2.78 Beobachtung Betrachte M = ({A, B, C, D}, A, {0, 1}, f, {A}) mit f (z, x) = z für alle z und alle x. Man kann sich auf jeden Fall auf die von z 0 aus erreichbaren Zustände beschränken! Zustandsminimierung endlicher Automaten 102/124

151 2.79 Lemma Es sei M = (Z, z 0, X, f, F ) DEA mit z, z Z Ist z von z durch Eingabe w erreichbar, d. h. f (z, w) = z, dann gibt es w mit f (z, w ) = z und w Z 1. Zustandsminimierung endlicher Automaten 103/124

152 2.80 Beweisskizze Es sei f (z, w) = z. Zustandsminimierung endlicher Automaten 104/124

153 2.80 Beweisskizze Es sei f (z, w) = z. Ist w < Z, dann ist man schon fertig. Zustandsminimierung endlicher Automaten 104/124

154 2.80 Beweisskizze Es sei f (z, w) = z. Ist w < Z, dann ist man schon fertig. Sonst: w = x 1 x n mit x i X und w = n Z. Zustandsminimierung endlicher Automaten 104/124

155 2.80 Beweisskizze Es sei f (z, w) = z. Ist w < Z, dann ist man schon fertig. Sonst: w = x 1 x n mit x i X und w = n Z. Betrachte Folge z, z 1 = f (z, x 1 ), z 2 = f (z, x 1 x 2 ),..., z n = f (z, x 1 x n ). Zustandsminimierung endlicher Automaten 104/124

156 2.80 Beweisskizze Es sei f (z, w) = z. Ist w < Z, dann ist man schon fertig. Sonst: w = x 1 x n mit x i X und w = n Z. Betrachte Folge z, z 1 = f (z, x 1 ), z 2 = f (z, x 1 x 2 ),..., z n = f (z, x 1 x n ). Das sind n + 1 > Z Zustände, d. h. mindestens einer kommt doppelt vor Zustandsminimierung endlicher Automaten 104/124

157 2.80 Beweisskizze Es sei f (z, w) = z. Ist w < Z, dann ist man schon fertig. Sonst: w = x 1 x n mit x i X und w = n Z. Betrachte Folge z, z 1 = f (z, x 1 ), z 2 = f (z, x 1 x 2 ),..., z n = f (z, x 1 x n ). Das sind n + 1 > Z Zustände, d. h. mindestens einer kommt doppelt vor = Schleifen Zustandsminimierung endlicher Automaten 104/124

158 2.80 Beweisskizze Es sei f (z, w) = z. Ist w < Z, dann ist man schon fertig. Sonst: w = x 1 x n mit x i X und w = n Z. Betrachte Folge z, z 1 = f (z, x 1 ), z 2 = f (z, x 1 x 2 ),..., z n = f (z, x 1 x n ). Das sind n + 1 > Z Zustände, d. h. mindestens einer kommt doppelt vor = Schleifen Vage formuliert: Entferne aus w alle Symbole, die zu Schleifen gehören. Zustandsminimierung endlicher Automaten 104/124

159 2.80 Beweisskizze Es sei f (z, w) = z. Ist w < Z, dann ist man schon fertig. Sonst: w = x 1 x n mit x i X und w = n Z. Betrachte Folge z, z 1 = f (z, x 1 ), z 2 = f (z, x 1 x 2 ),..., z n = f (z, x 1 x n ). Das sind n + 1 > Z Zustände, d. h. mindestens einer kommt doppelt vor = Schleifen Vage formuliert: Entferne aus w alle Symbole, die zu Schleifen gehören. Dann ergibt sich w = x 1 x k mit: Zustandsminimierung endlicher Automaten 104/124

160 2.80 Beweisskizze Es sei f (z, w) = z. Ist w < Z, dann ist man schon fertig. Sonst: w = x 1 x n mit x i X und w = n Z. Betrachte Folge z, z 1 = f (z, x 1 ), z 2 = f (z, x 1 x 2 ),..., z n = f (z, x 1 x n ). Das sind n + 1 > Z Zustände, d. h. mindestens einer kommt doppelt vor = Schleifen Vage formuliert: Entferne aus w alle Symbole, die zu Schleifen gehören. Dann ergibt sich w = x 1 x k mit: f (z, w ) = z Zustandsminimierung endlicher Automaten 104/124

161 2.80 Beweisskizze Es sei f (z, w) = z. Ist w < Z, dann ist man schon fertig. Sonst: w = x 1 x n mit x i X und w = n Z. Betrachte Folge z, z 1 = f (z, x 1 ), z 2 = f (z, x 1 x 2 ),..., z n = f (z, x 1 x n ). Das sind n + 1 > Z Zustände, d. h. mindestens einer kommt doppelt vor = Schleifen Vage formuliert: Entferne aus w alle Symbole, die zu Schleifen gehören. Dann ergibt sich w = x 1 x k mit: f (z, w ) = z Folge z, z 1 = f (z, x 1 ), z 2 = f (z, x 1 x 2 ),..., z n = f (z, x 1 x k ) enthält keinen Zustand doppelt. Zustandsminimierung endlicher Automaten 104/124

162 2.80 Beweisskizze Es sei f (z, w) = z. Ist w < Z, dann ist man schon fertig. Sonst: w = x 1 x n mit x i X und w = n Z. Betrachte Folge z, z 1 = f (z, x 1 ), z 2 = f (z, x 1 x 2 ),..., z n = f (z, x 1 x n ). Das sind n + 1 > Z Zustände, d. h. mindestens einer kommt doppelt vor = Schleifen Vage formuliert: Entferne aus w alle Symbole, die zu Schleifen gehören. Dann ergibt sich w = x 1 x k mit: f (z, w ) = z Folge z, z 1 = f (z, x 1 ), z 2 = f (z, x 1 x 2 ),..., z n = f (z, x 1 x k ) enthält keinen Zustand doppelt. Also muss 1 + k Z sein, d. h. w < Z. Zustandsminimierung endlicher Automaten 104/124

163 2.81 Korollar Um zu prüfen, ob ein Zustand z von z 0 aus erreichbar ist, muss man nur für die endlich vielen kurzen Wörter w Z 1 i=0 überprüfen, ob f (z 0, w) = z ist. X i Der folgende Algorithmus ist noch schlauer. Zustandsminimierung endlicher Automaten 105/124

164 2.82 Algorithmus S und S speichern jeweils eine Teilmenge aller Zustände des Automaten: S {z 0 } repeat S S for each (z, x) S X do S S {f (z, x)} od until S = S Achtung: Tippfehler in einer alten Version des Skripts! Es muss S S {f (z, x)} heißen (Ist behoben, richtig?) Zustandsminimierung endlicher Automaten 106/124

165 2.83 Überlegung Ein DEA kann sich mit Hilfe seiner Zustände gewisse Unterschiede bei verarbeiteten Eingaben merken. Beispiel: L = {0 k 1 l k, l N 0 } = {w {0, 1} in w sind alle 0 vor allen 1 } 0 1 0,1 1 0 A B C Welche Unterschiede muss sich ein DEA merken? Zustandsminimierung endlicher Automaten 107/124

166 2.83 Überlegung (2) Erinnerung: L = {0 k 1 k k N} ist nicht regulär. Jeder hypothetische DEA kann zwei Eingaben w 1 = 0 m und w 2 = 0 m l nicht unterscheiden, aber durch Anhängen von w = 1 m erhält man einerseits ein Wort w 1 w L und andererseits ein Wort w2 w / L. Diese Katastrophe ist nur so zu vermeiden: Wenn es zu w 1 und w 2 ein w gibt, so dass w 1 w L und w 2 w / L ist, dann muss ein DEA, der L erkennt, w1 und w 2 unterscheiden, nämlich dadurch, dass f (z 0, w 1 ) f (z 0, w 2 ) ist. Zustandsminimierung endlicher Automaten 108/124

167 2.83 Überlegung (3) Beispiel: L = {0 k 1 l k, l N 0 } = {w {0, 1} in w sind alle 0 vor allen 1 } 0 1 0,1 1 0 A B C DEA unterscheidet w 1 = 000 und w 2 = 01, weil für w = 0 zwar w 1 w = 0000 L ist, aber w 2 w = 010 / L. Zustandsminimierung endlicher Automaten 109/124

168 2.84 Definition Sind w 1, w 2 und w drei Wörter, so dass w 1 w L und w 2 w / L, dann sagen wir, dass (bezüglich L) w 1 und w 2 von w getrennt werden. Zustandsminimierung endlicher Automaten 110/124

169 2.85 Beobachtung Es sei L reguläre Sprache, die von DEA M = (Z,...) erkannt wird. Wenn w 1 und w 2 von einem Wort w getrennt werden, dann auch von einem Wort w mit einer Länge w < Z. Zustandsminimierung endlicher Automaten 111/124

170 2.86 Definition Eine Relation R M M auf einer Menge M ist eine Äquivalenzrelation, falls gilt: R ist reflexiv: für alle x M gilt: (x, x) R; R ist symmetrisch: für alle x, y M gilt: Wenn (x, y) R ist, dann ist auch (y, x) R; R ist transitiv: für alle x, y, z M gilt: Wenn (x, y) R und (y, z) R, dann auch (x, z) R. Zustandsminimierung endlicher Automaten 112/124

171 2.86 Definition (2) Schreibweise: häufig Infixnotation mit Symbol wie z. B. (oder,... ). Statt (x, y) R schreibt man also x y. Äquivalenzrelation teilt Menge M in Äquivalenzklassen ein. Äquivalenzklasse von x M ist [x] = {y y x}. Wenn x y ist, dann ist [x] = [y] und umgekehrt. Für die Menge aller Äquivalenzklassen schreibt man auch M/. Zustandsminimierung endlicher Automaten 113/124

172 2.87 Beispiel Gleichheit ist Äquivalenzrelation (auf jeder beliebigen Menge), denn es ist immer x = x, wenn x = y ist, dann auch y = x, und wenn x = y ist und y = z, dann ist auch x = z. In diesem Fall besteht jede Äquivalenzklasse aus nur einem Element: [x] = {x}. Zustandsminimierung endlicher Automaten 114/124

173 2.88 Beispiel Bezeichne zwei natürliche Zahlen als äquivalent, wenn sie die gleiche Anzahl von Primfaktoren haben. Z.B. sind 6 = 2 3 und 77 = 7 11 äquivalent, weil beide Produkt zweier Primzahlen sind. Z.B. sind 41 und 13 äquivalent, weil beide (das Produkt) eine(r) Primzahl sind. Die Äquivalenzklasse von 2 ist die Menge aller Primzahlen: [2] = {2, 3, 5, 7, 11, 13, 17,...} M.a.W.: [2] = [3] = [5] = [7] = unendlich viele Äquivalenzklassen: [2 1 ], [2 2 ], [2 3 ], [2 4 ],... denn verschiedene Zweierpotenzen haben verschieden viele Primfaktoren Zustandsminimierung endlicher Automaten 115/124

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 8: kontextfreie Grammatiken Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/37 Überblick Kontextfreie Grammatiken

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

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

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Kapitel 1: Grundlagen Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Ziel Einführung der wichtigsten

Mehr

18 E N D L I C H E AU T O M AT E N erstes beispiel: ein getränkeautomat

18 E N D L I C H E AU T O M AT E N erstes beispiel: ein getränkeautomat 18 E N D L I C H E AU T O M AT E N 18.1 erstes beispiel: ein getränkeautomat Als erstes Beispiel betrachten wir den folgenden primitiven Getränkeautomaten (siehe Abbildung 18.1). Man kann nur 1-Euro-Stücke

Mehr

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten Kapitel 3: Reguläre Grammatiken und Endliche Automaten Prof.-Dr. Peter Brezany Institut für Softwarewissenschaft Universität Wien, Liechtensteinstraße 22 090 Wien Tel. : 0/4277 38825 E-mail : brezany@par.univie.ac.at

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben

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

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

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift Theoretische Informatik Mitschrift 2. Grammatiken und die Chomsky-Hierarchie Beispiel: Syntaxdefinition in BNF :=

Mehr

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden:

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden: Sprachen und Automaten 1 Deterministische endliche Automaten (DFA) Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden: M = (Z,3,*,qo,E) Z = Die Menge der Zustände 3 = Eingabealphabet

Mehr

7 Endliche Automaten. 7.1 Deterministische endliche Automaten

7 Endliche Automaten. 7.1 Deterministische endliche Automaten 7 Endliche Automaten 7.1 Deterministische endliche Automaten 7.2 Nichtdeterministische endliche Automaten 7.3 Endliche Automaten mit g-übergängen Endliche Automaten 1 7.1 Deterministische endliche Automaten

Mehr

Übungsaufgaben zu Formalen Sprachen und Automaten

Übungsaufgaben zu Formalen Sprachen und Automaten Universität Freiburg PD Dr. A. Jakoby Sommer 27 Übungen zum Repetitorium Informatik III Übungsaufgaben zu Formalen Sprachen und Automaten. Untersuchen Sie das folgende Spiel: A B x x 2 x 3 C D Eine Murmel

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

5.4 Endliche Automaten

5.4 Endliche Automaten 5.4 Endliche Automaten Ein endlicher Automat ist ein mathematisches Modell eines Systems mit Ein- und Ausgaben. Ein solches System befindet sich immer in einem internen Zustand. Beispiele Ein Register

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Rolf Socher ISBN 3-446-22987-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22987-6 sowie im Buchhandel Einführung.. 13 2 Endliche

Mehr

Formale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5.

Formale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5. Formale Sprachen Spezialgebiet für Komplexe Systeme Yimin Ge 5ahdvn Inhaltsverzeichnis 1 Grundlagen 1 2 Formale Grammatien 4 Endliche Automaten 5 4 Reguläre Sprachen 9 5 Anwendungen bei Abzählproblemen

Mehr

Suche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften

Suche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften Endlichkeitstest Eingabe: DFA/NFA M. Frage: Ist die von M akzeptierte Sprache endlich? Nahe liegende Beobachtung: In einem DFA/NFA, der eine unendliche Sprache akzeptiert, muss es einen Kreis geben, der

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2016 20.04.2016 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009 Theoretische Informatik Rainer Schrader Institut für Informatik 9. Juli 2009 1 / 41 2 / 41 Gliederung die Chomsky-Hierarchie Typ 0- Typ 3- Typ 1- Die Programmierung eines Rechners in einer höheren Programmiersprache

Mehr

THEORETISCHE INFORMATIK

THEORETISCHE INFORMATIK THEORETISCHE INFORMATIK Vorlesungsskript Jiří Adámek @ Institut für Theoretische Informatik Technische Universität Braunschweig Dezember 28 Inhaltsverzeichnis Endliche Automaten. Mathematische Grundbegriffe......................

Mehr

Vorlesung Theoretische Informatik

Vorlesung Theoretische Informatik Vorlesung Theoretische Informatik Automaten und Formale Sprachen Hochschule Reutlingen Fakultät für Informatik Masterstudiengang Wirtschaftsinformatik überarbeitet von F. Laux (Stand: 09.06.2010) Sommersemester

Mehr

Alphabet, formale Sprache

Alphabet, formale Sprache n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l

Mehr

Endliche Automaten. Im Hauptseminar Neuronale Netze LMU München, WS 2016/17

Endliche Automaten. Im Hauptseminar Neuronale Netze LMU München, WS 2016/17 Endliche Automaten Im Hauptseminar Neuronale Netze LMU München, WS 2016/17 RS- Flipflop RS-Flipflop Ausgangszustand 0 1 0 1 0 1 Set Reset neuer Zustand 0 0 0 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 Was ist ein endlicher

Mehr

2 Mengen und Abbildungen

2 Mengen und Abbildungen 2.1 Mengen Unter einer Menge verstehen wir eine Zusammenfassung von Objekten zu einem Ganzen. Die Objekte heiÿen Elemente. Ist M eine Menge und x ein Element von M so schreiben wir x M. Wir sagen auch:

Mehr

liefern eine nicht maschinenbasierte Charakterisierung der regulären

liefern eine nicht maschinenbasierte Charakterisierung der regulären Reguläre Ausdrücke 1 Ziel: L=L M für NFA M L=L(r) für einen regulären Ausdruck r Reguläre Ausdrücke über einem Alphabet Σ Slide 1 liefern eine nicht maschinenbasierte Charakterisierung der regulären Sprachen

Mehr

Kapitel 1. Grundlagen Mengen

Kapitel 1. Grundlagen Mengen Kapitel 1. Grundlagen 1.1. Mengen Georg Cantor 1895 Eine Menge ist die Zusammenfassung bestimmter, wohlunterschiedener Objekte unserer Anschauung oder unseres Denkens, wobei von jedem dieser Objekte eindeutig

Mehr

Reguläre Grammatiken/Sprachen und endliche Automaten

Reguläre Grammatiken/Sprachen und endliche Automaten Reguläre Grammatiken/Sprachen und endliche Automaten Bei regulären Grammatiken ist die Form der Grammatikregeln am stärksten eingeschränkt. Trotzdem lassen sich bereits weite Teile einer natürlichen Sprache

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

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

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

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2011/12 Deterministische Kellerautomaten Von besonderem Interesse sind kontextfreie Sprachen,

Mehr

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls 4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls δ(q, a, Z) + δ(q, ɛ, Z) 1 (q, a, Z) Q Σ. Die von einem DPDA, der mit leerem Keller akzeptiert,

Mehr

FORMALE SYSTEME. Sprachen beschreiben. Wiederholung. Wie kann man Sprachen beschreiben? 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie

FORMALE SYSTEME. Sprachen beschreiben. Wiederholung. Wie kann man Sprachen beschreiben? 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie Wiederholung FORMALE SYSTEME 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie Markus Krötzsch Formale Sprachen sind in Praxis und Theorie sehr wichtig Ein Alphabet ist eine nichtleere, endliche Menge

Mehr

I.2. Endliche Automaten (ohne Ausgabe)

I.2. Endliche Automaten (ohne Ausgabe) I2 Endliche Automaten (ohne Ausgabe) I2 Deterministische endliche Automaten Beispiel: Pascal-Syntax für Zahlen hat folgende Form: ::=

Mehr

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III Name Vorname Matrikelnummer Universität Karlsruhe Institut für Theoretische Informatik o. Prof. Dr. P. Sanders 10.4.2007 Klausur: Informatik III Aufgabe 1. Multiple Choice 11 Punkte Aufgabe 2. Minimalautomaten

Mehr

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III Name Vorname Matrikelnummer Universität Karlsruhe Institut für Theoretische Informatik o. Prof. Dr. P. Sanders 26. Feb. 2007 Klausur: Informatik III Aufgabe 1. Multiple Choice 10 Punkte Aufgabe 2. Teilmengenkonstruktion

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 10.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 4: Nichtdeterminismus Teil 2 schulz@eprover.org Software Systems Engineering Nichtdeterministische endliche Automaten Definition: Ein nichtdeterministischer

Mehr

Einführung in die Informatik

Einführung in die Informatik Universität Innsbruck - Institut für Informatik Datenbanken und Informationssysteme Prof. Günther Specht, Eva Zangerle 24. November 28 Einführung in die Informatik Übung 7 Allgemeines Für die Abgabe der

Mehr

Formale Systeme. Büchi-Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Büchi-Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik 1 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 2 Kontextfreie Grammatiken Definition: Eine Grammatik G

Mehr

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ. Reguläre Ausdrücke Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (i) ist ein regulärer Ausdruck über Σ. (ii) ε ist ein regulärer Ausdruck über Σ. (iii) Für jedes a Σ ist a ein regulärer

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

(Prüfungs-)Aufgaben zu formale Sprachen

(Prüfungs-)Aufgaben zu formale Sprachen (Prüfungs-)Aufgaben zu formale Sprachen (siehe auch bei den Aufgaben zu endlichen Automaten) 1) Eine Grammatik G sei gegeben durch: N = {S, A}, T = {a, b, c, d}, P = { (S, Sa), (S, ba), (A, ba), (A, c),

Mehr

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2 1 2 Notation für Wörter Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg w a is die Anzahl der Vorkommen von a in w Beispiel: abba

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 22.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

Formale Sprachen und Automaten

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

Mehr

Kapitel 1. Grundlagen

Kapitel 1. Grundlagen Kapitel 1. Grundlagen 1.1. Mengen Georg Cantor 1895 Eine Menge ist die Zusammenfassung bestimmter, wohlunterschiedener Objekte unserer Anschauung oder unseres Denkens, wobei von jedem dieser Objekte eindeutig

Mehr

... = für δ(z, a i ) = z. Abbildung 4.4: Interpretation der Arbeitsweise eines endlichen Automaten

... = für δ(z, a i ) = z. Abbildung 4.4: Interpretation der Arbeitsweise eines endlichen Automaten 3 Reguläre Sprachen 63 3 Reguläre Sprachen In diesem Kapitel beschäftigen wir uns etwas näher mit den regulären Sprachen, insbesondere mit der Möglichkeit verschiedener Charakterisierungen und den Eigenschaften

Mehr

Grundbegriffe. Grammatiken

Grundbegriffe. Grammatiken Grammatiken Grammatiken in der Informatik sind ähnlich wie Grammatiken für natürliche Sprachen ein Mittel, um alle syntaktisch korrekten Sätze (hier: Wörter) einer Sprache zu erzeugen. Beispiel: Eine vereinfachte

Mehr

Beschreibungskomplexität von Grammatiken Definitionen

Beschreibungskomplexität von Grammatiken Definitionen Beschreibungskomplexität von Grammatiken Definitionen Für eine Grammatik G = (N, T, P, S) führen wir die folgenden drei Komplexitätsmaße ein: Var(G) = #(N), Prod(G) = #(P ), Symb(G) = ( α + β + 1). α β

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/59 Graphische Darstellung von Zusammenhängen schon

Mehr

Theoretische Informatik 2

Theoretische Informatik 2 Theoretische Informatik 2 Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2009/10 Die Chomsky-Hierarchie Definition Sei G = (V, Σ, P, S) eine Grammatik. 1 G heißt vom Typ 3 oder

Mehr

THEORETISCHE INFORMATIK

THEORETISCHE INFORMATIK THEORETISCHE INFORMATIK Vorlesungsskript Jiří Adámek Institut für Theoretische Informatik Technische Universität Braunschweig Januar 2014 Inhaltsverzeichnis 1 Endliche Automaten 1 1.1 Mathematische Grundbegriffe.......................

Mehr

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise)

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise) WS 2014/15 Diskrete Strukturen Kapitel 2: Grundlagen (Beweise) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_14

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

Automaten und Formale Sprachen

Automaten und Formale Sprachen Automaten und Formale Sprachen Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2011/12 WS 11/12 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien

Mehr

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S Formale Grundlagen (WIN) Franz Binder Institut für Algebra Johannes Kepler Universität Linz Vorlesung im 2008S http://www.algebra.uni-linz.ac.at/students/win/fg Inhalt Das Alphabet Σ sei eine endliche

Mehr

Theoretische Informatik Testvorbereitung Moritz Resl

Theoretische Informatik Testvorbereitung Moritz Resl Theoretische Informatik Testvorbereitung Moritz Resl Bestandteile einer Programmiersprache: a) Syntax (Form): durch kontextfreie Grammatik beschrieben b) Semantik (Bedeutung) 1.) Kontextfreie Sprachen

Mehr

Kontextfreie Grammatiken

Kontextfreie Grammatiken Kontextfreie Grammatiken Bisher haben wir verschiedene Automatenmodelle kennengelernt. Diesen Automaten können Wörter vorgelegt werden, die von den Automaten gelesen und dann akzeptiert oder abgelehnt

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 15 Ziele vgl. AFS: Berechnungsmodelle für Typ-0- und Typ-1-Sprachen (Nicht-)Abschlußeigenschaften

Mehr

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten

Mehr

5 Grundlagen der Zahlentheorie

5 Grundlagen der Zahlentheorie 5 Grundlagen der Zahlentheorie 1 Primfaktorzerlegung Seienm, n N + := {k N k > 0} Man schreibt n n, gesprochen m teilt n oder m ist ein Teiler von n, wenn es eine positive natürliche Zahl k gibt mit mk

Mehr

1.2 Eigenschaften der ganzen Zahlen

1.2 Eigenschaften der ganzen Zahlen Lineare Algebra I WS 2015/16 c Rudolf Scharlau 13 1.2 Eigenschaften der ganzen Zahlen Dieser Abschnitt handelt von den gewöhlichen ganzen Zahlen Z und ihren Verknüpfungen plus und mal. Man kann die natürlichen

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 27 29..24 FAKULTÄT FÜR INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Definition

Mehr

Einführung in die Computerlinguistik deterministische und nichtdeterministische endliche Automaten

Einführung in die Computerlinguistik deterministische und nichtdeterministische endliche Automaten Einführung in die Computerlinguistik deterministische und nichtdeterministische endliche Automaten Dozentin: Wiebke Petersen Foliensatz 4 Wiebke Petersen Einführung CL 1 Äquivalenz von endlichen Automaten

Mehr

3 Vom Zählen zur Induktion

3 Vom Zählen zur Induktion 7 3 Vom Zählen zur Induktion 3.1 Natürliche Zahlen und Induktions-Prinzip Seit unserer Kindheit kennen wir die Zahlen 1,, 3, 4, usw. Diese Zahlen gebrauchen wir zum Zählen, und sie sind uns so vertraut,

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 4 26..25 INSTITUT FÜR THEORETISCHE INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Satz von Kleene. (Stephen C. Kleene, ) Wiebke Petersen Einführung CL 2

Satz von Kleene. (Stephen C. Kleene, ) Wiebke Petersen Einführung CL 2 Satz von Kleene (Stephen C. Kleene, 1909-1994) Jede Sprache, die von einem deterministischen endlichen Automaten akzeptiert wird ist regulär und jede reguläre Sprache wird von einem deterministischen endlichen

Mehr

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen)

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen) WS 2016/17 Diskrete Strukturen Kapitel 2: Grundlagen (Relationen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16

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 3 14. Mai 2010 Einführung in die Theoretische

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2012 17. DIE KONTEXTFREIEN SPRACHEN II: ABSCHLUSSEIGENSCHAFTEN, MASCHINENCHARAKTERISIERUNG, KOMPLEXITÄT Theoretische

Mehr

2.2 Konstruktion der rationalen Zahlen

2.2 Konstruktion der rationalen Zahlen 2.2 Konstruktion der rationalen Zahlen Wie wir in Satz 2.6 gesehen haben, kann man die Gleichung a + x = b in Z jetzt immer lösen, allerdings die Gleichung a x = b im allgemeinen immer noch nicht. Wir

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Einheit 2.4 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibungsformen für Sprachen Mathematische Mengennotation Prädikate beschreiben Eigenschaften

Mehr

Automaten und Formale Sprachen Endliche Automaten und Reguläre sprachen

Automaten und Formale Sprachen Endliche Automaten und Reguläre sprachen Automaten und Formale Sprachen Endliche Automaten und Reguläre sprachen Ralf Möller Hamburg Univ. of Technology Literatur Gottfried Vossen, Kurt-Ulrich Witt: Grundkurs Theoretische Informatik, Vieweg Verlag

Mehr

Kapitel 3. Natürliche Zahlen und vollständige Induktion

Kapitel 3. Natürliche Zahlen und vollständige Induktion Kapitel 3 Natürliche Zahlen und vollständige Induktion In Kapitel 1 haben wir den direkten Beweis, den modus ponens, kennen gelernt, der durch die Tautologie ( A (A = B) ) = B gegeben ist Dabei war B eine

Mehr

17 R E L AT I O N E N

17 R E L AT I O N E N 17 R E L AT I O N E N 17.1 äquivalenzrelationen 17.1.1 Definition In Abschnitt 11.2.1 hatten wir schon einmal erwähnt, dass eine Relation R M M auf einer Menge M, die reflexiv, symmetrisch und transitiv

Mehr

2. Symmetrische Gruppen

2. Symmetrische Gruppen 14 Andreas Gathmann 2 Symmetrische Gruppen Im letzten Kapitel haben wir Gruppen eingeführt und ihre elementaren Eigenschaften untersucht Wir wollen nun eine neue wichtige Klasse von Beispielen von Gruppen

Mehr

Operationen auf endlichen Automaten und Transduktoren

Operationen auf endlichen Automaten und Transduktoren Operationen auf endlichen Automaten und Transduktoren Kursfolien Karin Haenelt 1 Notationskonventionen L reguläre Sprache A endlicher Automat DEA deterministischer endlicher Automat NEA nichtdeterministischer

Mehr

äußere Klammern können entfallen, ebenso solche, die wegen Assoziativität von + und Konkatenation nicht notwendig sind:

äußere Klammern können entfallen, ebenso solche, die wegen Assoziativität von + und Konkatenation nicht notwendig sind: 3. Reguläre Sprachen Bisher wurden Automaten behandelt und Äquivalenzen zwischen den verschiedenen Automaten gezeigt. DEAs erkennen formale Sprachen. Gibt es formale Sprachen, die nicht erkannt werden?

Mehr

Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 2. Mai HA-Lösung. TA-Lösung

Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 2. Mai HA-Lösung. TA-Lösung Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 2. Mai 2016 HA-Lösung TA-Lösung Einführung in die theoretische Informatik Aufgabenblatt 2 Beachten Sie: Soweit

Mehr

Vorlesung 4. Tilman Bauer. 13. September Wir befassen uns in dieser Vorlesung noch einmal mit Mengen.

Vorlesung 4. Tilman Bauer. 13. September Wir befassen uns in dieser Vorlesung noch einmal mit Mengen. Vorlesung 4 Universität Münster 13. September 2007 1 Kartesische Wir befassen uns in dieser Vorlesung noch einmal mit Mengen. Seien M und N zwei Mengen. Dann bezeichnen wir mit M N das (kartesische) Produkt

Mehr

7 Endliche Automaten. Reimund Albers Papierfalten Kapitel 7 Endliche Automaten 103

7 Endliche Automaten. Reimund Albers Papierfalten Kapitel 7 Endliche Automaten 103 Reimund Albers Papierfalten Kapitel 7 Endliche Automaten 103 7 Endliche Automaten Ein erstes Beispiel Ganz im Sinn der vorangegangenen Kapitel machen wir wieder Anleihen in einem wohl etablierten Gebiet.

Mehr

Mathematische Grundlagen der Computerlinguistik

Mathematische Grundlagen der Computerlinguistik Centrum für Informations- und Sprachverarbeitung (CIS) 10. Juni 2014 Table of Contents 1 2 Äquivalenz Der Begriff der Äquivalenz verallgemeinert den Begriff der Gleichheit. Er beinhaltet in einem zu präzisierenden

Mehr

Induktive Beweise und rekursive Definitionen

Induktive Beweise und rekursive Definitionen Induktive Beweise und rekursive Definitionen Vorlesung Logik in der Informatik, HU Berlin 1. Übungsstunde Beweis durch vollständige Induktion über N Aufgabe 1 Zeige, dass für alle n N gilt: n 2 i = 2 n+1

Mehr

Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 12 LÖSUNGEN

Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 12 LÖSUNGEN Universität Heidelberg / Institut für Informatik 7. Juli 24 Prof. Dr. Klaus Ambos-Spies Nadine Losert Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 2 LÖSUNGEN Aufgabe Verwenden

Mehr

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14 Institut für Theoretische Informatik Prof. Dr. Jörn Müller-Quade Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 23/4 Vorname Nachname Matrikelnummer Hinweise Für die

Mehr

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten Inhalt 1 Einführung 2 Automatentheorie und Formale Sprachen Grammatiken Reguläre Sprachen und endliche Automaten Kontextfreie Sprachen und Kellerautomaten Kontextsensitive und Typ 0-Sprachen 3 Berechenbarkeitstheorie

Mehr

Lösungen zur 3. Projektaufgabe TheGI1

Lösungen zur 3. Projektaufgabe TheGI1 Marco Kunze (makunze@cs.tu-berlin.de) WS 2001/2002 Sebastian Nowozin (nowozin@cs.tu-berlin.de) 21. 1. 2002 Lösungen zur 3. Projektaufgabe TheGI1 Definition: Turing-Aufzähler Ein Turing-Aufzähler einer

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax

Mehr

Schnupperkurs: Ausgewählte Methoden zur Aufgabenlösung

Schnupperkurs: Ausgewählte Methoden zur Aufgabenlösung Mathematisches Institut II.06.004 Universität Karlsruhe Priv.-Doz. Dr. N. Grinberg SS 05 Schnupperkurs: Ausgewählte Methoden zur Aufgabenlösung Vorlesung 3: Elementare Beweismethoden: Direkter Beweis,

Mehr

Strukturelle Rekursion und Induktion

Strukturelle Rekursion und Induktion Kapitel 2 Strukturelle Rekursion und Induktion Rekursion ist eine konstruktive Technik für die Beschreibung unendlicher Mengen (und damit insbesondere für die Beschreibung unendliche Funktionen). Induktion

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht Zusammenhang: Formale Sprache Grammatik Formale Sprache kann durch Grammatik beschrieben werden. Zur Sprache L = L(G) gehören nur diejenigen Kombinationen der Zeichen des Eingabealphabets, die durch die

Mehr

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014 Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Ulrich Furbach Institut für Informatik Sommersemester 2014 Furbach Grundlagen d. Theoretischen Informatik:

Mehr

Wortproblem für kontextfreie Grammatiken

Wortproblem für kontextfreie Grammatiken Wortproblem für kontextfreie Grammatiken G kontextfreie Grammatik. w Σ w L(G)? Wortproblem ist primitiv rekursiv entscheidbar. (schlechte obere Schranke!) Kellerautomat der L(G) akzeptiert Ist dieser effizient?

Mehr

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass: OOP (Java), 3. Syntaxdiagramme und Grammatikregeln 1/32 Objektorientierte Programmierung Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass Martin-Luther-Universität Halle-Wittenberg

Mehr