Endliche Automaten. Endliche Automaten 1 / 115
|
|
- Krista Fried
- vor 6 Jahren
- Abrufe
Transkript
1 Endliche Automaten Endliche Automaten 1 / 115
2 Endliche Automaten Endliche Automaten erlauben eine Beschreibung von Handlungsabläufen: Wie ändert sich ein Systemzustand in Abhängigkeit von veränderten Umgebungsbedingungen? Endliche Automaten 2 / 115
3 Endliche Automaten Endliche Automaten erlauben eine Beschreibung von Handlungsabläufen: Wie ändert sich ein Systemzustand in Abhängigkeit von veränderten Umgebungsbedingungen? Vielfältiges Einsatzgebiet, nämlich: - in der Definition der regulären Sprachen also der Menge aller Folgen von Ereignissen, die von einem Startzustand in einen gewünschten Zustand führen, - in der Entwicklung digitaler Schaltungen - in der Softwaretechnik (z. B. in der Modellierung des Applikationsverhaltens) - in der Compilierung: Lexikalische Analyse - im Algorithmenentwurf für String Probleme - in der Abstraktion tatsächlicher Automaten (wie Bank- und Getränkeautomaten, Fahrstühle etc.). Endliche Automaten 2 / 115
4 Freischaltung eines Fernsehers (1/2) Um die Kindersicherung des Fernsehers über die Fernbedienung freizuschalten, muss ein dreistelliger Code korrekt eingegeben werden. Dabei sind die folgenden Tasten relevant: - Die Tasten 0,..., 9, - die Taste CODE sowie - die Taste BACK. Endliche Automaten Beispiele 3 / 115
5 Freischaltung eines Fernsehers (1/2) Um die Kindersicherung des Fernsehers über die Fernbedienung freizuschalten, muss ein dreistelliger Code korrekt eingegeben werden. Dabei sind die folgenden Tasten relevant: - Die Tasten 0,..., 9, - die Taste CODE sowie - die Taste BACK. Wird BACK gedrückt, so wird die zuletzt eingegebene Zahl zurückgenommen. Die Taste CODE muss vor Eingabe des Codes gedrückt werden. Wird CODE während der Codeeingabe nochmals gedrückt, so wird die Eingabe neu begonnen. Der Code zum Entsperren ist 999. Endliche Automaten Beispiele 3 / 115
6 CODE Freischaltung eines Fernsehers (2/2) BACK, CODE CODE ready 9 BACK, CODE 9 BACK ON 0,..., 8 BACK, CODE 0,..., 8 x CODE 9x 0,..., 9 BACK BACK 0,..., 8 0,..., 9 xx 0,..., 9 OFF 0,..., 9, BACK Der Automat akzeptiert alle Folgen von Bedienoperationen, die vom Zustand ready in den Zustand ON führen. Endliche Automaten Beispiele 4 / 115
7 Alphabete, Worte und Sprachen Endliche Automaten Alphabete, Worte und Sprachen 5 / 115
8 Worte und Alphabete Sei Σ eine endliche Menge: Wir nennen Σ ein Alphabet. Wir fassen ein Tupel w = (a 1,..., a k ) Σ k als ein Wort mit den Buchstaben a 1,..., a k auf und schreiben oft w = a 1 a k. Das leere Tupel () Σ 0 heißt auch das leere Wort und wird oft mit ε (epsilon) bezeichnet. Endliche Automaten Alphabete, Worte und Sprachen 6 / 115
9 Worte und Alphabete Sei Σ eine endliche Menge: Wir nennen Σ ein Alphabet. Wir fassen ein Tupel w = (a 1,..., a k ) Σ k als ein Wort mit den Buchstaben a 1,..., a k auf und schreiben oft w = a 1 a k. Das leere Tupel () Σ 0 heißt auch das leere Wort und wird oft mit ε (epsilon) bezeichnet. Die Länge a 1 a k eines Wortes a 1 a k ist die Zahl k, die Anzahl seiner Buchstaben. Insbesondere ist ε = Endliche Automaten Alphabete, Worte und Sprachen 6 / 115
10 Worte und Alphabete Sei Σ eine endliche Menge: Wir nennen Σ ein Alphabet. Wir fassen ein Tupel w = (a 1,..., a k ) Σ k als ein Wort mit den Buchstaben a 1,..., a k auf und schreiben oft w = a 1 a k. Das leere Tupel () Σ 0 heißt auch das leere Wort und wird oft mit ε (epsilon) bezeichnet. Die Länge a 1 a k eines Wortes a 1 a k ist die Zahl k, die Anzahl seiner Buchstaben. Insbesondere ist ε = 0, das leere Wort hat also die Länge 0. Endliche Automaten Alphabete, Worte und Sprachen 6 / 115
11 Worte und Alphabete Sei Σ eine endliche Menge: Wir nennen Σ ein Alphabet. Wir fassen ein Tupel w = (a 1,..., a k ) Σ k als ein Wort mit den Buchstaben a 1,..., a k auf und schreiben oft w = a 1 a k. Das leere Tupel () Σ 0 heißt auch das leere Wort und wird oft mit ε (epsilon) bezeichnet. Die Länge a 1 a k eines Wortes a 1 a k ist die Zahl k, die Anzahl seiner Buchstaben. Insbesondere ist ε = 0, das leere Wort hat also die Länge 0. Sind v = a 1 a k und w = b 1 b l zwei Worte über Σ, so ist die Konkatenation von v und w das Wort vw := Endliche Automaten Alphabete, Worte und Sprachen 6 / 115
12 Worte und Alphabete Sei Σ eine endliche Menge: Wir nennen Σ ein Alphabet. Wir fassen ein Tupel w = (a 1,..., a k ) Σ k als ein Wort mit den Buchstaben a 1,..., a k auf und schreiben oft w = a 1 a k. Das leere Tupel () Σ 0 heißt auch das leere Wort und wird oft mit ε (epsilon) bezeichnet. Die Länge a 1 a k eines Wortes a 1 a k ist die Zahl k, die Anzahl seiner Buchstaben. Insbesondere ist ε = 0, das leere Wort hat also die Länge 0. Sind v = a 1 a k und w = b 1 b l zwei Worte über Σ, so ist die Konkatenation von v und w das Wort vw := a 1 a k b 1 b l. Endliche Automaten Alphabete, Worte und Sprachen 6 / 115
13 Sprachen Sei Σ ein Alphabet. (Also ist Σ eine Menge.) (a) Die Menge aller Worte über Σ bezeichnen wir mit Σ. Es gilt also: Σ = Endliche Automaten Alphabete, Worte und Sprachen 7 / 115
14 Sprachen Sei Σ ein Alphabet. (Also ist Σ eine Menge.) (a) Die Menge aller Worte über Σ bezeichnen wir mit Σ. Es gilt also: Σ = k N Σ k = { a 1 a k : k N, a 1,..., a k Σ }. Es ist Σ 0 = Endliche Automaten Alphabete, Worte und Sprachen 7 / 115
15 Sprachen Sei Σ ein Alphabet. (Also ist Σ eine Menge.) (a) Die Menge aller Worte über Σ bezeichnen wir mit Σ. Es gilt also: Σ = k N Σ k = { a 1 a k : k N, a 1,..., a k Σ }. Es ist Σ 0 = {()} = {ε} und Σ enthält insbesondere das leere Wort. (b) Die Menge aller nicht-leeren Worte über Σ bezeichnen wir mit Σ +. Es gilt: Σ + = Endliche Automaten Alphabete, Worte und Sprachen 7 / 115
16 Sprachen Sei Σ ein Alphabet. (Also ist Σ eine Menge.) (a) Die Menge aller Worte über Σ bezeichnen wir mit Σ. Es gilt also: Σ = k N Σ k = { a 1 a k : k N, a 1,..., a k Σ }. Es ist Σ 0 = {()} = {ε} und Σ enthält insbesondere das leere Wort. (b) Die Menge aller nicht-leeren Worte über Σ bezeichnen wir mit Σ +. Es gilt: Σ + = Σ \ {ε} = { a 1 a k : k N >0, a 1,..., a k Σ }. Endliche Automaten Alphabete, Worte und Sprachen 7 / 115
17 Sprachen Sei Σ ein Alphabet. (Also ist Σ eine Menge.) (a) Die Menge aller Worte über Σ bezeichnen wir mit Σ. Es gilt also: Σ = k N Σ k = { a 1 a k : k N, a 1,..., a k Σ }. Es ist Σ 0 = {()} = {ε} und Σ enthält insbesondere das leere Wort. (b) Die Menge aller nicht-leeren Worte über Σ bezeichnen wir mit Σ +. Es gilt: Σ + = Σ \ {ε} = { a 1 a k : k N >0, a 1,..., a k Σ }. (c) Eine Teilmenge von Σ, also eine Menge von Worten über Σ, wird eine Sprache über Σ genannt. Bemerkung: In vielen Büchern werden Sprachen mit dem Buchstaben L (für Language) oder mit Varianten wie L oder L 1 bezeichnet. Endliche Automaten Alphabete, Worte und Sprachen 7 / 115
18 Natürliche Sprachen Wir betrachten das Alphabet Σ deutsch := {A, B,..., Z, Ä, Ö, Ü, a, b,..., z, ä, ö, ü, ß,.,,, :, ;,!,?, -, _}. Endliche Automaten Alphabete, Worte und Sprachen 8 / 115
19 Natürliche Sprachen Wir betrachten das Alphabet Σ deutsch := {A, B,..., Z, Ä, Ö, Ü, a, b,..., z, ä, ö, ü, ß,.,,, :, ;,!,?, -, _}. Beispiele für Sprachen über Σ deutsch sind: L 1 := Menge aller Worte der deutschen Sprache. Endliche Automaten Alphabete, Worte und Sprachen 8 / 115
20 Natürliche Sprachen Wir betrachten das Alphabet Σ deutsch := {A, B,..., Z, Ä, Ö, Ü, a, b,..., z, ä, ö, ü, ß,.,,, :, ;,!,?, -, _}. Beispiele für Sprachen über Σ deutsch sind: L 1 := Menge aller Worte der deutschen Sprache. L 2 := Menge aller grammatikalisch korrekten Sätze der deutschen Sprache aufgefasst als Worte über Σ deutsch, Die Menge aller in Deutsch geschriebenen Bücher, die nur aus grammatikalisch korrekten Sätzen aufgebaut sind, ist eine Teilmenge von Endliche Automaten Alphabete, Worte und Sprachen 8 / 115
21 Natürliche Sprachen Wir betrachten das Alphabet Σ deutsch := {A, B,..., Z, Ä, Ö, Ü, a, b,..., z, ä, ö, ü, ß,.,,, :, ;,!,?, -, _}. Beispiele für Sprachen über Σ deutsch sind: L 1 := Menge aller Worte der deutschen Sprache. L 2 := Menge aller grammatikalisch korrekten Sätze der deutschen Sprache aufgefasst als Worte über Σ deutsch, Die Menge aller in Deutsch geschriebenen Bücher, die nur aus grammatikalisch korrekten Sätzen aufgebaut sind, ist eine Teilmenge von L + 2. Endliche Automaten Alphabete, Worte und Sprachen 8 / 115
22 Programmiersprachen Wir betrachten das Alphabet ASCII (american standard code for information interchange) ASCII := die Menge aller ASCII-Symbole. ASCII besteht aus 95 druckbaren Zeichen (das lateinische Alphabet in Groß- und Kleinschreibung, die arabischen Ziffern, Sonderzeichen) und 33 nicht druckbaren Zeichen. Beispiele für Sprachen über dem Alphabet ASCII sind: Endliche Automaten Alphabete, Worte und Sprachen 9 / 115
23 Programmiersprachen Wir betrachten das Alphabet ASCII (american standard code for information interchange) ASCII := die Menge aller ASCII-Symbole. ASCII besteht aus 95 druckbaren Zeichen (das lateinische Alphabet in Groß- und Kleinschreibung, die arabischen Ziffern, Sonderzeichen) und 33 nicht druckbaren Zeichen. Beispiele für Sprachen über dem Alphabet ASCII sind: L 1 := die Menge aller Python-Schlüsselwörter, Endliche Automaten Alphabete, Worte und Sprachen 9 / 115
24 Programmiersprachen Wir betrachten das Alphabet ASCII (american standard code for information interchange) ASCII := die Menge aller ASCII-Symbole. ASCII besteht aus 95 druckbaren Zeichen (das lateinische Alphabet in Groß- und Kleinschreibung, die arabischen Ziffern, Sonderzeichen) und 33 nicht druckbaren Zeichen. Beispiele für Sprachen über dem Alphabet ASCII sind: L 1 := die Menge aller Python-Schlüsselwörter, L 2 := die Menge aller erlaubten Variablennamen in Python, Endliche Automaten Alphabete, Worte und Sprachen 9 / 115
25 Programmiersprachen Wir betrachten das Alphabet ASCII (american standard code for information interchange) ASCII := die Menge aller ASCII-Symbole. ASCII besteht aus 95 druckbaren Zeichen (das lateinische Alphabet in Groß- und Kleinschreibung, die arabischen Ziffern, Sonderzeichen) und 33 nicht druckbaren Zeichen. Beispiele für Sprachen über dem Alphabet ASCII sind: L 1 := die Menge aller Python-Schlüsselwörter, L 2 := die Menge aller erlaubten Variablennamen in Python, L 3 := die Menge aller syntaktisch korrekten Python-Programme. L 1, L 2, L 3 ASCII. Endliche Automaten Alphabete, Worte und Sprachen 9 / 115
26 Freischaltung eines Fernsehers Im Folgenden interessieren wir uns vor Allem für Sprachen, die von endlichen Automaten definiert werden. Im Fernseher-Beispiel interessieren wir uns etwa für die Sprache aller Worte über dem Alphabet Σ := {0, 1,..., 9} {CODE, BACK}, die zu einer Freischaltung des Fernsehers führen. Endliche Automaten Alphabete, Worte und Sprachen 10 / 115
27 DFAs: Die formale Definition Endliche Automaten DFAs: Die formale Definition 11 / 115
28 Was ist ein endlicher Automat? Ein deterministischer endlicher Automat (engl. deterministic finite automaton, kurz DFA) A = (Σ, Q, δ, q 0, F ) besteht aus: einer endlichen Menge Σ, dem Eingabealphabet, einer endlichen Menge Q, der Zustandsmenge (die Elemente aus Q werden Zustände genannt), einer Funktion δ von Q Σ nach Q, der Übergangsfunktion (oder Überführungsfunktion), einem Zustand q 0 Q, dem Startzustand, sowie einer Menge F Q von Endzuständen bzw. akzeptierenden Zuständen. (Der Buchstabe F steht für final states, also Endzustände ). Endliche Automaten DFAs: Die formale Definition 12 / 115
29 Das Zustandsdiagramm (bzw. der Automatengraph), die grafische Darstellung eines DFA Endliche Automaten Das Zustandsdiagramm 13 / 115
30 Grafische Darstellung: Das Zustandsdiagramm A = (Σ, Q, δ, q 0, F ) sei ein DFA. Für jeden Zustand q Q gibt es einen durch q dargestellten Knoten. Endliche Automaten Das Zustandsdiagramm 14 / 115
31 Grafische Darstellung: Das Zustandsdiagramm A = (Σ, Q, δ, q 0, F ) sei ein DFA. Für jeden Zustand q Q gibt es einen durch q dargestellten Knoten. Der Startzustand q 0 wird durch einen in ihn hinein führenden Pfeil markiert, d.h.: q 0 Endliche Automaten Das Zustandsdiagramm 14 / 115
32 Grafische Darstellung: Das Zustandsdiagramm A = (Σ, Q, δ, q 0, F ) sei ein DFA. Für jeden Zustand q Q gibt es einen durch q dargestellten Knoten. Der Startzustand q 0 wird durch einen in ihn hinein führenden Pfeil markiert, d.h.: q 0 Jeder akzeptierende Zustand q F wird durch eine doppelte Umrandung markiert, d.h.: q Endliche Automaten Das Zustandsdiagramm 14 / 115
33 Grafische Darstellung: Das Zustandsdiagramm A = (Σ, Q, δ, q 0, F ) sei ein DFA. Für jeden Zustand q Q gibt es einen durch q dargestellten Knoten. Der Startzustand q 0 wird durch einen in ihn hinein führenden Pfeil markiert, d.h.: q 0 Jeder akzeptierende Zustand q F wird durch eine doppelte Umrandung markiert, d.h.: Seien p, q Q Zustände und a Σ ein Symbol des Alphabets mit δ(q, a) = p. Dann füge einen mit dem Symbol a beschrifteten Pfeil von Knoten q zu Knoten p ein, d.h.: q q a p Endliche Automaten Das Zustandsdiagramm 14 / 115
34 Vom Zustandsdiagramm zur formalen Beschreibung Der DFA A 1 hat das Zustandsdiagramm a q 0 q 1 a b b Wir möchten A 1 formal beschreiben. 1 Das Eingabealphabet Σ = Endliche Automaten Das Zustandsdiagramm 15 / 115
35 Vom Zustandsdiagramm zur formalen Beschreibung Der DFA A 1 hat das Zustandsdiagramm a q 0 q 1 a b b Wir möchten A 1 formal beschreiben. 1 Das Eingabealphabet Σ = {a, b}, 2 die Zustandsmenge Q = Endliche Automaten Das Zustandsdiagramm 15 / 115
36 Vom Zustandsdiagramm zur formalen Beschreibung Der DFA A 1 hat das Zustandsdiagramm a q 0 q 1 a b b Wir möchten A 1 formal beschreiben. 1 Das Eingabealphabet Σ = {a, b}, 2 die Zustandsmenge Q = {q 0, q 1 } 3 die Übergangsfunktion δ : Q Σ Q: siehe Tafel. Endliche Automaten Das Zustandsdiagramm 15 / 115
37 Vom Zustandsdiagramm zur formalen Beschreibung Der DFA A 1 hat das Zustandsdiagramm a q 0 q 1 a b b Wir möchten A 1 formal beschreiben. 1 Das Eingabealphabet Σ = {a, b}, 2 die Zustandsmenge Q = {q 0, q 1 } 3 die Übergangsfunktion δ : Q Σ Q: siehe Tafel. 4 der Startzustand q 0 und 5 die Menge F = Endliche Automaten Das Zustandsdiagramm 15 / 115
38 Vom Zustandsdiagramm zur formalen Beschreibung Der DFA A 1 hat das Zustandsdiagramm a q 0 q 1 a b b Wir möchten A 1 formal beschreiben. 1 Das Eingabealphabet Σ = {a, b}, 2 die Zustandsmenge Q = {q 0, q 1 } 3 die Übergangsfunktion δ : Q Σ Q: siehe Tafel. 4 der Startzustand q 0 und 5 die Menge F = {q 1 } der akzeptierenden Zustände. Endliche Automaten Das Zustandsdiagramm 15 / 115
39 Wie arbeitet ein DFA? Die erweiterte Übergangsfunktion Endliche Automaten Die erweiterte Übergangsfunktion 16 / 115
40 Wie arbeitet ein DFA A = (Σ, Q, δ, q 0, F )? (1/2) Ein DFA A = (Σ, Q, δ, q 0, F ) erhält als Eingabe ein Wort w Σ. (Das Wort repräsentiert eine Folge von Aktionen oder Bedienoperationen.) A wird im Startzustand q 0 gestartet. 0. Falls w das leere Wort ist, d.h. w = ε, dann Endliche Automaten Die erweiterte Übergangsfunktion 17 / 115
41 Wie arbeitet ein DFA A = (Σ, Q, δ, q 0, F )? (1/2) Ein DFA A = (Σ, Q, δ, q 0, F ) erhält als Eingabe ein Wort w Σ. (Das Wort repräsentiert eine Folge von Aktionen oder Bedienoperationen.) A wird im Startzustand q 0 gestartet. 0. Falls w das leere Wort ist, d.h. w = ε, dann verbleibt A im Zustand q Also gelte w = a 1 a n mit n N >0 und a 1,..., a n Σ. Der Automat liest den ersten Buchstaben a 1 von w und wechselt in den Zustand q 1 := Endliche Automaten Die erweiterte Übergangsfunktion 17 / 115
42 Wie arbeitet ein DFA A = (Σ, Q, δ, q 0, F )? (1/2) Ein DFA A = (Σ, Q, δ, q 0, F ) erhält als Eingabe ein Wort w Σ. (Das Wort repräsentiert eine Folge von Aktionen oder Bedienoperationen.) A wird im Startzustand q 0 gestartet. 0. Falls w das leere Wort ist, d.h. w = ε, dann verbleibt A im Zustand q Also gelte w = a 1 a n mit n N >0 und a 1,..., a n Σ. Der Automat liest den ersten Buchstaben a 1 von w und wechselt in den Zustand q 1 := δ(q 0, a 1 ). In der grafischen Darstellung von A wird der Zustand durch die mit a 1 beschriftete Kante verlassen, und q 1 ist der Endknoten dieser Kante, d.h. a q 1 0 q 1 q 0 Endliche Automaten Die erweiterte Übergangsfunktion 17 / 115
43 Wie arbeitet ein DFA A = (Σ, Q, δ, q 0, F )? (2/2) 2. Durch Lesen von a 2, dem zweiten Symbol von w, wechselt A in den Zustand q 2 := Endliche Automaten Die erweiterte Übergangsfunktion 18 / 115
44 Wie arbeitet ein DFA A = (Σ, Q, δ, q 0, F )? (2/2) 2. Durch Lesen von a 2, dem zweiten Symbol von w, wechselt A in den Zustand q 2 := δ(q 1, a 2 ). In der grafischen Darstellung von A wird q 1 durch die mit a 2 beschriftete a Kante q 2 1 q 2 q 2 = δ(q 1, a 2 ). verlassen und der Automat landet in Zustand Endliche Automaten Die erweiterte Übergangsfunktion 18 / 115
45 Wie arbeitet ein DFA A = (Σ, Q, δ, q 0, F )? (2/2) 2. Durch Lesen von a 2, dem zweiten Symbol von w, wechselt A in den Zustand q 2 := δ(q 1, a 2 ). In der grafischen Darstellung von A wird q 1 durch die mit a 2 beschriftete a Kante q 2 1 q 2 verlassen und der Automat landet in Zustand q 2 = δ(q 1, a 2 ). n. Auf diese Weise wird das gesamte Eingabewort w = a 1 a n abgearbeitet. Ausgehend vom Startzustand q0 erreicht A nacheinander Zustände q 1,..., q n. In der grafischen Darstellung von A entspricht diese Zustandsfolge einem Weg der Länge n, der im Knoten startet und dessen Kanten mit den Buchstaben a 1,..., a n beschriftet sind. q 0 Schreibe δ(q0, w) := q n. Endliche Automaten Die erweiterte Übergangsfunktion 18 / 115
46 Die erweiterte Übergangsfunktion für den DFA A 1 Wir betrachten wieder den DFA A 1 mit dem Zustandsdiagramm a q 0 q 1 a b b 1 δ(q0, ab) = Endliche Automaten Die erweiterte Übergangsfunktion 19 / 115
47 Die erweiterte Übergangsfunktion für den DFA A 1 Wir betrachten wieder den DFA A 1 mit dem Zustandsdiagramm a q 0 q 1 a b b 1 δ(q0, ab) = q 0 2 δ(q0, ababab) = Endliche Automaten Die erweiterte Übergangsfunktion 19 / 115
48 Die erweiterte Übergangsfunktion für den DFA A 1 Wir betrachten wieder den DFA A 1 mit dem Zustandsdiagramm a q 0 q 1 a b b 1 δ(q0, ab) = q 0 2 δ(q0, ababab) = q 0 3 δ(q1, ababab) = Endliche Automaten Die erweiterte Übergangsfunktion 19 / 115
49 Die erweiterte Übergangsfunktion für den DFA A 1 Wir betrachten wieder den DFA A 1 mit dem Zustandsdiagramm a q 0 q 1 a b b 1 δ(q0, ab) = q 0 2 δ(q0, ababab) = q 0 3 δ(q1, ababab) = q 0 4 δ(q1, abbaba) = Endliche Automaten Die erweiterte Übergangsfunktion 19 / 115
50 Die erweiterte Übergangsfunktion für den DFA A 1 Wir betrachten wieder den DFA A 1 mit dem Zustandsdiagramm a q 0 q 1 a b b 1 δ(q0, ab) = q 0 2 δ(q0, ababab) = q 0 3 δ(q1, ababab) = q 0 4 δ(q1, abbaba) = q 1 5 δ(q0, (ba) 100 ) = Endliche Automaten Die erweiterte Übergangsfunktion 19 / 115
51 Die erweiterte Übergangsfunktion für den DFA A 1 Wir betrachten wieder den DFA A 1 mit dem Zustandsdiagramm a q 0 q 1 a b b 1 δ(q0, ab) = q 0 2 δ(q0, ababab) = q 0 3 δ(q1, ababab) = q 0 4 δ(q1, abbaba) = q 1 5 δ(q0, (ba) 100 ) = q 1 Endliche Automaten Die erweiterte Übergangsfunktion 19 / 115
52 Was genau ist δ(q, w)? Sei A := (Σ, Q, δ, q 0, F ) ein DFA. Eine rekursive Definition der Funktion δ : Q Σ Q Der Rekursionsanfang: f.a. q Q ist δ(q, ε) := Endliche Automaten Die erweiterte Übergangsfunktion 20 / 115
53 Was genau ist δ(q, w)? Sei A := (Σ, Q, δ, q 0, F ) ein DFA. Eine rekursive Definition der Funktion δ : Q Σ Q Der Rekursionsanfang: f.a. q Q ist δ(q, ε) := q. Der Rekursionsschritt: F.a. q Q, w Σ und a Σ gilt für q := δ(q, w): δ(q, wa) := Endliche Automaten Die erweiterte Übergangsfunktion 20 / 115
54 Was genau ist δ(q, w)? Sei A := (Σ, Q, δ, q 0, F ) ein DFA. Eine rekursive Definition der Funktion δ : Q Σ Q Der Rekursionsanfang: f.a. q Q ist δ(q, ε) := q. Der Rekursionsschritt: F.a. q Q, w Σ und a Σ gilt für q := δ(q, w): δ(q, wa) := δ(q, a). Grafische Darstellung: q w a ˆδ(q, w) δ(ˆδ(q, w), a) wa δ(q 0, w) ist der Zustand, der nach Verarbeitung des Worts w erreicht wird. Endliche Automaten Die erweiterte Übergangsfunktion 20 / 115
55 DFAs: Die Maschinensichtweise Verarbeitung eines Eingabeworts durch einen DFA A: w = Lesekopf a 1 a 2 a 3 a n q 0 aktueller Zustand Wir können uns einen DFA als eine Maschine vorstellen, die ihre Eingabe w = a 1 a 2 a 3 a n von links-nach-rechts mit Hilfe eines Lesekopfes durchläuft und dabei Zustandsübergänge durchführt. Endliche Automaten DFAs: Die Maschinensichtweise 21 / 115
56 Die akzeptierte Sprache eines DFA DFAs und ihre Sprachen 22 / 115
57 Wann akzeptiert A = (Σ, Q, δ, q 0, F ) ein Wort w? DEFINITION: Das Eingabewort w wird vom DFA A akzeptiert, falls δ(q 0, w) F, d.h., falls der nach Verarbeitung von w erreichte Zustand zur Menge F der akzeptierenden Zustände gehört. Wie übersetzt sich in der grafischen Darstellung von A? Akzeptanz von w = a 1 a n DFAs und ihre Sprachen 23 / 115
58 Wann akzeptiert A = (Σ, Q, δ, q 0, F ) ein Wort w? DEFINITION: Das Eingabewort w wird vom DFA A akzeptiert, falls δ(q 0, w) F, d.h., falls der nach Verarbeitung von w erreichte Zustand zur Menge F der akzeptierenden Zustände gehört. Wie übersetzt sich Akzeptanz von w = a 1 a n in der grafischen Darstellung von A? Es gibt einen in q 0 startenden Weg der Länge n, - dessen Kanten mit den Symbolen a 1,..., a n beschriftet sind, - und der in einem akzeptierenden Zustand endet. DFAs und ihre Sprachen 23 / 115
59 Die akzeptierte Sprache L(A) Die von einem DFA A = (Σ, Q, δ, q 0, F ) akzeptierte Sprache L(A) ist L(A) := { w Σ : DFAs und ihre Sprachen 24 / 115
60 Die akzeptierte Sprache L(A) Die von einem DFA A = (Σ, Q, δ, q 0, F ) akzeptierte Sprache L(A) ist L(A) := { w Σ : δ(q0, w) F }. Ein Wort w Σ gehört also genau dann zur Sprache L(A), wenn w vom DFA A akzeptiert wird. DFAs und ihre Sprachen 24 / 115
61 Der Automat A 1 Wir betrachten wieder den DFA A 1 mit dem Zustandsdiagramm a q 0 q 1 a b b A 1 akzeptiert die Sprache L(A 1 ) = {w {a, b} : DFAs und ihre Sprachen Beispiele 25 / 115
62 Der Automat A 1 Wir betrachten wieder den DFA A 1 mit dem Zustandsdiagramm a q 0 q 1 a b b A 1 akzeptiert die Sprache L(A 1 ) = {w {a, b} : der letzte Buchstabe von w ist ein a } DFAs und ihre Sprachen Beispiele 25 / 115
63 Der Automat A 2 Der DFA A 2 mit dem Zustandsdiagramm b q bb a q ba a b q aa b a b a q ab akzeptiert die Sprache L(A 2 ) = {w {a, b} : DFAs und ihre Sprachen Beispiele 26 / 115
64 Der Automat A 2 Der DFA A 2 mit dem Zustandsdiagramm b q bb a q ba a b q aa b a b a q ab akzeptiert die Sprache L(A 2 ) = {w {a, b} : der vorletzte Buchstabe von w ist ein a } DFAs und ihre Sprachen Beispiele 26 / 115
65 Ein Paritätscheck Bei der Speicherung von Daten auf einem Speichermedium eines Computers werden Informationen durch binäre Worte über dem Alphabet {0, 1} kodiert. Um Fehler bei der Datenübertragung zu erkennen, wird oft ein Paritätsbit angehängt, so dass die Summe der Einsen im resultierenden Wort w gerade ist. Für ein beliebiges Wort w {0, 1} sagen wir w besteht den Paritätscheck, falls die Anzahl der Einsen in w gerade ist. Der folgende DFA A führt einen Paritätscheck durch: DFAs und ihre Sprachen Beispiele 27 / 115
66 Ein Paritätscheck Bei der Speicherung von Daten auf einem Speichermedium eines Computers werden Informationen durch binäre Worte über dem Alphabet {0, 1} kodiert. Um Fehler bei der Datenübertragung zu erkennen, wird oft ein Paritätsbit angehängt, so dass die Summe der Einsen im resultierenden Wort w gerade ist. Für ein beliebiges Wort w {0, 1} sagen wir w besteht den Paritätscheck, falls die Anzahl der Einsen in w gerade ist. Der folgende DFA A führt einen Paritätscheck durch: q 0 q 1 1 Für A gilt: L(A) = {w {0, 1} : w besteht den Paritätscheck }. DFAs und ihre Sprachen Beispiele 27 / 115
67 Minimierung von DFAs Minimierung 28 / 115
68 Minimiere die Zustandszahl A = (Σ, Q A, δ A, q A 0, F A ) und B = (Σ, Q B, δ B, q B 0, F B ) seien DFAs. (a) Wir nennen A und B äquivalent, wenn gilt (b) A heißt L(A) = L(B). minimal, wenn kein mit A äquivalenter vollständiger DFA eine kleinere Zustandszahl besitzt. Minimierung 29 / 115
69 Minimiere die Zustandszahl A = (Σ, Q A, δ A, q A 0, F A ) und B = (Σ, Q B, δ B, q B 0, F B ) seien DFAs. (a) Wir nennen A und B äquivalent, wenn gilt (b) A heißt L(A) = L(B). minimal, wenn kein mit A äquivalenter vollständiger DFA eine kleinere Zustandszahl besitzt. DAS ZIEL: Gegeben ist ein DFA A. Bestimme einen minimalen, mit A äquivalenten DFA. Minimierung 29 / 115
70 Zustandsminimierung: Die Idee Der DFA A = (Σ, Q, δ, q 0, F ) sei gegeben. Die Idee: Wir sollten doch zwei Zustände p, q Q zu einem einzigen Zustand verschmelzen dürfen, wenn p und q aquivalent sind, Aber was bedeutet das? also dasselbe Ausgabeverhalten besitzen. Minimierung 30 / 115
71 Zustandsminimierung: Die Idee Der DFA A = (Σ, Q, δ, q 0, F ) sei gegeben. Die Idee: Wir sollten doch zwei Zustände p, q Q zu einem einzigen Zustand verschmelzen dürfen, wenn p und q aquivalent sind, Aber was bedeutet das? also dasselbe Ausgabeverhalten besitzen. Die Verschmelzungsrelation A ist eine 2-stellige Relation über der Zustandsmenge Q. Wir sagen, dass Zustände p, q Q äquivalent bzgl. A sind, (kurz p A q), wenn f.a. Worte w Σ : Minimierung 30 / 115
72 Zustandsminimierung: Die Idee Der DFA A = (Σ, Q, δ, q 0, F ) sei gegeben. Die Idee: Wir sollten doch zwei Zustände p, q Q zu einem einzigen Zustand verschmelzen dürfen, wenn p und q aquivalent sind, Aber was bedeutet das? also dasselbe Ausgabeverhalten besitzen. Die Verschmelzungsrelation A ist eine 2-stellige Relation über der Zustandsmenge Q. Wir sagen, dass Zustände p, q Q äquivalent bzgl. A sind, (kurz p A q), wenn ( ) f.a. Worte w Σ : δ(p, w) F δ(q, w) F. Wir nennen A Verschmelzungsrelation, da wir bzgl. A äquivalente Zustände in einen Zustand verschmelzen möchten. Minimierung 30 / 115
73 Einschub: Äquivalenzrelationen Minimierung 31 / 115
74 2-stellige Relationen und gerichtete Graphen Zur Erinnerung: Für eine 2-stellige Relation R über der Knotenmenge V gilt R V V. Wir können somit die Relation R als Kantenmenge und umgekehrt eine Kantenmenge als eine 2-stellige Relation auffassen. Minimierung 32 / 115
75 2-stellige Relationen und gerichtete Graphen Zur Erinnerung: Für eine 2-stellige Relation R über der Knotenmenge V gilt R V V. Wir können somit die Relation R als Kantenmenge und umgekehrt eine Kantenmenge als eine 2-stellige Relation auffassen. Gerichtete Graphen mit Knotenmenge V und 2-stellige Relationen über V sind äquivalente Konzepte! Minimierung 32 / 115
76 Wichtige Eigenschaften 2-stelliger Relationen Sei E eine 2-stellige Relation über einer Menge V, d.h. G = (V, E) ist ein gerichteter Graph. (a) E heißt reflexiv, falls für alle v V gilt: (v, v) E. (Skizze: v ) Minimierung 33 / 115
77 Wichtige Eigenschaften 2-stelliger Relationen Sei E eine 2-stellige Relation über einer Menge V, d.h. G = (V, E) ist ein gerichteter Graph. (a) E heißt reflexiv, falls für alle v V gilt: (v, v) E. (Skizze: v ) (b) E heißt symmetrisch, falls f.a. v, w V gilt: Wenn (v, w) E, dann auch (w, v) E. Zur Kante v w gibt es auch die Rückwärtskante v w Minimierung 33 / 115
78 Wichtige Eigenschaften 2-stelliger Relationen Sei E eine 2-stellige Relation über einer Menge V, d.h. G = (V, E) ist ein gerichteter Graph. (a) E heißt reflexiv, falls für alle v V gilt: (v, v) E. (Skizze: v ) (b) E heißt symmetrisch, falls f.a. v, w V gilt: Wenn (v, w) E, dann auch (w, v) E. Zur Kante v w gibt es auch die Rückwärtskante v w (c) E heißt transitiv, falls f.a. v, w, u V gilt: Ist (v, w) E und (w, u) E, so auch (v, u) E. Minimierung 33 / 115
79 Wichtige Eigenschaften 2-stelliger Relationen Sei E eine 2-stellige Relation über einer Menge V, d.h. G = (V, E) ist ein gerichteter Graph. (a) E heißt reflexiv, falls für alle v V gilt: (v, v) E. (Skizze: v ) (b) E heißt symmetrisch, falls f.a. v, w V gilt: Wenn (v, w) E, dann auch (w, v) E. Zur Kante v w gibt es auch die Rückwärtskante v w (c) E heißt transitiv, falls f.a. v, w, u V gilt: Ist (v, w) E und (w, u) E, so auch (v, u) E. E (Skizze: v w u E E v w u ) E E Minimierung 33 / 115
80 Äquivalenzrelationen (a) Eine Äquivalenzrelation ist eine 2-stellige Relation, die reflexiv, symmetrisch und transitiv ist. Minimierung Äquivalenzrelationen 34 / 115
81 Äquivalenzrelationen (a) Eine Äquivalenzrelation ist eine 2-stellige Relation, die reflexiv, symmetrisch und transitiv ist. (b) Sei E eine Äquivalenzrelation über einer Menge V. Für jedes v V bezeichnet [v] E := { v V (v, v ) E } die Äquivalenzklasse von v bezüglich E. [v] E besteht aus allen Elementen von V, die gemäß E äquivalent zu v sind. Minimierung Äquivalenzrelationen 34 / 115
82 Äquivalenzrelationen (a) Eine Äquivalenzrelation ist eine 2-stellige Relation, die reflexiv, symmetrisch und transitiv ist. (b) Sei E eine Äquivalenzrelation über einer Menge V. Für jedes v V bezeichnet [v] E := { v V (v, v ) E } die Äquivalenzklasse von v bezüglich E. [v] E besteht aus allen Elementen von V, die gemäß E äquivalent zu v sind. Eine Menge W V heißt Äquivalenzklasse (bzgl. E), falls W = [v] E für ein Element v V gilt. Das Element v heißt Vertreter seiner Äquivalenzklasse W. Minimierung Äquivalenzrelationen 34 / 115
83 Die wichtigste Eigenschaft von Äquivalenzrelationen Sei E eine Äquivalenzrelation über der Menge V. (a) Dann gilt für alle Elemente v, w V [v] E = [w] E oder [v] E [w] E =. (b) V ist eine disjunkte Vereinigung von Äquivalenzklassen. Beweis: Siehe Tafel. Minimierung Äquivalenzrelationen 35 / 115
84 Äquivalenzrelationen: Beispiele (1/2) (a) Gleichheit: Für jede Menge M ist E := { (m, m) : m M } eine Äquivalenzrelation: (x, y) E gilt genau dann, wenn x = y. Minimierung Äquivalenzrelationen 36 / 115
85 Äquivalenzrelationen: Beispiele (1/2) (a) Gleichheit: Für jede Menge M ist E := { (m, m) : m M } eine Äquivalenzrelation: (x, y) E gilt genau dann, wenn x = y. (b) Gleichmächtigkeit: Für jede endliche Menge M ist E := { (A, B) : A M, B M, A = B } eine Äquivalenzrelation über der Potenzmenge M. Skizze für M = {1, 2}: Minimierung Äquivalenzrelationen 36 / 115
86 Äquivalenzrelationen: Beispiele (1/2) (a) Gleichheit: Für jede Menge M ist E := { (m, m) : m M } eine Äquivalenzrelation: (x, y) E gilt genau dann, wenn x = y. (b) Gleichmächtigkeit: Für jede endliche Menge M ist E := { (A, B) : A M, B M, A = B } eine Äquivalenzrelation über der Potenzmenge M. Skizze für M = {1, 2}: {1, 2} {1} {2} Minimierung Äquivalenzrelationen 36 / 115
87 Äquivalenzrelationen: Beispiele (2/2) (c) Logische Äquivalenz: Die Relation E := { (φ, ψ) : φ, ψ AL, φ ψ } ist eine Äquivalenzrelation über der Menge AL aller aussagenlogischen Formeln. Minimierung Äquivalenzrelationen 37 / 115
88 Äquivalenzrelationen: Beispiele (2/2) (c) Logische Äquivalenz: Die Relation E := { (φ, ψ) : φ, ψ AL, φ ψ } ist eine Äquivalenzrelation über der Menge AL aller aussagenlogischen Formeln. (d) Graph-Isomorphie: Für jede Menge V ist E := {(G 1, G 2 ) G 1 = (V, E 1 ), G 2 = (V, E 2 ) sind isomorphe, ungerichtete Graphen } eine Äquivalenzrelation über der Menge aller ungerichteten Graphen mit Knotenmenge V. Minimierung Äquivalenzrelationen 37 / 115
89 Der Index Sei E eine Äquivalenzrelation. Dann ist der Index von E die Anzahl der verschiedenen Äquivalenzklassen. Der Index einer Äquivalenzrelation gibt an, wie viele verschiedene Äquivalenzklassen es gibt. Betrachte wieder die Äquivalenzrelation der Gleichmächtigkeit für Teilmengen A, B M, also Dann stimmt der Index überein mit A = B A = B. Minimierung Äquivalenzrelationen 38 / 115
90 Der Index Sei E eine Äquivalenzrelation. Dann ist der Index von E die Anzahl der verschiedenen Äquivalenzklassen. Der Index einer Äquivalenzrelation gibt an, wie viele verschiedene Äquivalenzklassen es gibt. Betrachte wieder die Äquivalenzrelation der Gleichmächtigkeit für Teilmengen A, B M, also Dann stimmt der Index überein mit M A = B A = B. Minimierung Äquivalenzrelationen 38 / 115
91 Der Index Sei E eine Äquivalenzrelation. Dann ist der Index von E die Anzahl der verschiedenen Äquivalenzklassen. Der Index einer Äquivalenzrelation gibt an, wie viele verschiedene Äquivalenzklassen es gibt. Betrachte wieder die Äquivalenzrelation der Gleichmächtigkeit für Teilmengen A, B M, also A = B A = B. Dann stimmt der Index überein mit M + 1. Minimierung Äquivalenzrelationen 38 / 115
92 Zurück zur Verschmelzungsrelation A Minimierung Die Verschmelzungsrelation 39 / 115
93 Die Verschmelzungsrelation ist eine Äquivalenzrelation Der DFA A = (Σ, Q, δ, q 0, F ) sei gegeben. Zur Erinnerung: p A q : f.a. Worte w Σ gilt: ( δ(p, w) F Minimierung Die Verschmelzungsrelation 40 / 115
94 Die Verschmelzungsrelation ist eine Äquivalenzrelation Der DFA A = (Σ, Q, δ, q 0, F ) sei gegeben. Zur Erinnerung: p A q : f.a. Worte w Σ gilt: ( δ(p, w) F δ(q, w) F ). Minimierung Die Verschmelzungsrelation 40 / 115
95 Die Verschmelzungsrelation ist eine Äquivalenzrelation Der DFA A = (Σ, Q, δ, q 0, F ) sei gegeben. Zur Erinnerung: p A q : f.a. Worte w Σ gilt: ( δ(p, w) F δ(q, w) F ). (a) Die Verschmelzungsrelation ist reflexiv, f.a. p Q: p A p, Minimierung Die Verschmelzungsrelation 40 / 115
96 Die Verschmelzungsrelation ist eine Äquivalenzrelation Der DFA A = (Σ, Q, δ, q 0, F ) sei gegeben. Zur Erinnerung: p A q : f.a. Worte w Σ gilt: ( δ(p, w) F δ(q, w) F ). (a) Die Verschmelzungsrelation ist reflexiv, f.a. p Q: p A p, symmetrisch, f.a. p, q Q: wenn p A q, dann q A p Minimierung Die Verschmelzungsrelation 40 / 115
97 Die Verschmelzungsrelation ist eine Äquivalenzrelation Der DFA A = (Σ, Q, δ, q 0, F ) sei gegeben. Zur Erinnerung: p A q : f.a. Worte w Σ gilt: ( δ(p, w) F δ(q, w) F ). (a) Die Verschmelzungsrelation ist reflexiv, f.a. p Q: p A p, symmetrisch, f.a. p, q Q: wenn p A q, dann q A p und transitiv, f.a. p, q, r Q: wenn p A q und q A r, dann p A r. Warum? Siehe Tafel. Minimierung Die Verschmelzungsrelation 40 / 115
98 Die Verschmelzungsrelation ist eine Äquivalenzrelation Der DFA A = (Σ, Q, δ, q 0, F ) sei gegeben. Zur Erinnerung: p A q : f.a. Worte w Σ gilt: ( δ(p, w) F δ(q, w) F ). (a) Die Verschmelzungsrelation ist reflexiv, f.a. p Q: p A p, symmetrisch, f.a. p, q Q: wenn p A q, dann q A p und transitiv, f.a. p, q, r Q: wenn p A q und q A r, dann p A r. Warum? Siehe Tafel. (b) Die Verschmelzungsrelation ist eine Äquivalenzrelation! Die Zustandsmenge Q ist die disjunkte Vereinigung der Äquivalenzklassen von A. Minimierung Die Verschmelzungsrelation 40 / 115
99 Die wichtigen Fragen 1 Ist die Verschmelzungsrelation A eine Äquivalenzrelation? 2 Wir möchten alle äquivalenten Zustände zu einem einzigen Zustand verschmelzen. Dürfen wir das? Gilt: Index der Verschmelzungsrelation A = Zustandszahl eines minimalen Automaten? (Wenn ja, haben wir einen minimalen Automaten gefunden!) Minimierung Die Verschmelzungsrelation 41 / 115
100 Die nächsten Schritte Sei der DFA A = (Σ, Q, δ, q 0, F ) gegeben. Wir führen die folgenden Schritte durch: 1. Wir bestimmen die Äquivalenzklassen der Verschmelzungsrelation A. 2. Für jede Äquivalenzklasse von A verschmelzen wir alle Zustände der Klasse zu einem einzigen Zustand und fügen entsprechende Übergänge ein. Und wie genau soll das aussehen? 3. Den neuen Automaten nennen wir A und bezeichnen ihn als den Äquivalenzklassenautomaten von A. Die Anzahl der Zustände von A stimmt mit dem Index von A überein. Wenn der Index mit der minimalen Zustandszahl übereinstimmt, dann ist A minimal! Minimierung Die Verschmelzungsrelation 42 / 115
101 Schritt 1: Wir bestimmen die Verschmelzungsrelation A Minimierung Die Verschmelzungsrelation 43 / 115
102 Zeugen (1/3) Sei (Σ, Q, δ, q 0, F ) ein DFA. (a) Das Wort w Σ ist Zeuge für die Inäquivalenz von p und q, wenn ) ) ( δ(p, w) F δ(q, w) F ( δ(p, w) F δ(q, w) F. Wir sagen auch, dass w die Zustände p und q trennt. Minimierung Die Verschmelzungsrelation 44 / 115
103 Zeugen (1/3) Sei (Σ, Q, δ, q 0, F ) ein DFA. (a) Das Wort w Σ ist Zeuge für die Inäquivalenz von p und q, wenn ) ) ( δ(p, w) F δ(q, w) F ( δ(p, w) F δ(q, w) F. Wir sagen auch, dass w die Zustände p und q trennt. (b) Es ist p A q genau dann, wenn es einen Zeugen für die Inäquivalenz von p und q gibt, bzw wenn es ein Wort gibt, das p und q trennt. Minimierung Die Verschmelzungsrelation 44 / 115
104 Zeugen (2/3) a ε b a aa a b a b a a b b ab ba b a bb b a b Finde einen Zeugen für die Inäquivalenz von ab und ba. Minimierung Die Verschmelzungsrelation 45 / 115
105 Zeugen (2/3) a ε b a aa a b a b a a b b ab ba b a bb b a b Finde einen Zeugen für die Inäquivalenz von ab und ba. Welcher Zeuge trennt ε und a? Minimierung Die Verschmelzungsrelation 45 / 115
106 Zeugen (2/3) a ε b a aa a b a b a a b b ab ba b a bb b a b Finde einen Zeugen für die Inäquivalenz von ab und ba. Welcher Zeuge trennt ε und a? Gibt es Zeugen, die die Zustände a und aa trennen? Minimierung Die Verschmelzungsrelation 45 / 115
107 Zeugen (3/3) a b ε a b a 1 b 1 a b a 2 b 2 b b bb a, b a a Finde einen Zeugen für die Inäquivalenz von b 1 und bb. Minimierung Die Verschmelzungsrelation 46 / 115
108 Zeugen (3/3) a b ε a b a 1 b 1 a b a 2 b 2 b b bb a, b a a Finde einen Zeugen für die Inäquivalenz von b 1 und bb. Welcher Zeuge trennt ε und a 1? Minimierung Die Verschmelzungsrelation 46 / 115
109 Zeugen (3/3) a b ε a b a 1 b 1 a b a 2 b 2 b b bb a, b a a Finde einen Zeugen für die Inäquivalenz von b 1 und bb. Welcher Zeuge trennt ε und a 1? Gibt es Zeugen, die die Zustände a 1 und a 2 trennen? Minimierung Die Verschmelzungsrelation 46 / 115
110 Wir bestimmen alle Paare nicht-äquivalenter Zustände 1. Füge alle Paarmengen {p, q} mit p F und q F in die Menge M 0 ein. Es ist δ(p, ε) F und δ(q, ε) F. w = ε ist Zeuge für die Nicht-Äquivalenz von p und q. Minimierung Die Verschmelzungsrelation 47 / 115
111 Wir bestimmen alle Paare nicht-äquivalenter Zustände 1. Füge alle Paarmengen {p, q} mit p F und q F in die Menge M 0 ein. Es ist δ(p, ε) F und δ(q, ε) F. w = ε ist Zeuge für die Nicht-Äquivalenz von p und q. 2. Die Paarmenge {p, q} gehöre nicht zu M i, aber {r, s} sei Element von M i. für ein a Σ, dann Wenn δ(p, a) = r sowie δ(q, a) = s Minimierung Die Verschmelzungsrelation 47 / 115
112 Wir bestimmen alle Paare nicht-äquivalenter Zustände 1. Füge alle Paarmengen {p, q} mit p F und q F in die Menge M 0 ein. Es ist δ(p, ε) F und δ(q, ε) F. w = ε ist Zeuge für die Nicht-Äquivalenz von p und q. 2. Die Paarmenge {p, q} gehöre nicht zu M i, aber {r, s} sei Element von M i. Wenn δ(p, a) = r sowie δ(q, a) = s für ein a Σ, dann füge {p, q} in die Menge M i+1 ein. Da r A s, gibt es einen Zeugen w mit ) ) ( δ(r, w) F und δ(s, w) F oder ( δ(r, w) F und δ(s, w) F. Das Wort aw trennt p und q = aw ist Zeuge für die Nicht-Äquivalenz von p und q. Minimierung Die Verschmelzungsrelation 47 / 115
113 Wir bestimmen alle Paare nicht-äquivalenter Zustände 1. Füge alle Paarmengen {p, q} mit p F und q F in die Menge M 0 ein. Es ist δ(p, ε) F und δ(q, ε) F. w = ε ist Zeuge für die Nicht-Äquivalenz von p und q. 2. Die Paarmenge {p, q} gehöre nicht zu M i, aber {r, s} sei Element von M i. Wenn δ(p, a) = r sowie δ(q, a) = s für ein a Σ, dann füge {p, q} in die Menge M i+1 ein. Da r A s, gibt es einen Zeugen w mit ) ) ( δ(r, w) F und δ(s, w) F oder ( δ(r, w) F und δ(s, w) F. Das Wort aw trennt p und q = aw ist Zeuge für die Nicht-Äquivalenz von p und q. 3. Halte, wenn Minimierung Die Verschmelzungsrelation 47 / 115
114 Wir bestimmen alle Paare nicht-äquivalenter Zustände 1. Füge alle Paarmengen {p, q} mit p F und q F in die Menge M 0 ein. Es ist δ(p, ε) F und δ(q, ε) F. w = ε ist Zeuge für die Nicht-Äquivalenz von p und q. 2. Die Paarmenge {p, q} gehöre nicht zu M i, aber {r, s} sei Element von M i. Wenn δ(p, a) = r sowie δ(q, a) = s für ein a Σ, dann füge {p, q} in die Menge M i+1 ein. Da r A s, gibt es einen Zeugen w mit ) ) ( δ(r, w) F und δ(s, w) F oder ( δ(r, w) F und δ(s, w) F. Das Wort aw trennt p und q = aw ist Zeuge für die Nicht-Äquivalenz von p und q. 3. Halte, wenn keine neuen Paarmengen {p, q} als nicht-äquivalent nachgewiesen werden können. Wir behaupten, dass p A q genau dann gilt, wenn die Paarmenge {p, q} zu einer Menge M i gehört. Stimmt die Behauptung: Finden wir alle Paare nicht-äquivalenter Zustände? Minimierung Die Verschmelzungsrelation 47 / 115
115 Unser Verfahren funktioniert! Sei P die Menge aller Paare {p, q} nicht-äquivalenter Zustände, die aber von unserem Verfahren nicht gefunden werden. Zeige, dass P leer ist! Minimierung Die Verschmelzungsrelation 48 / 115
116 Unser Verfahren funktioniert! Sei P die Menge aller Paare {p, q} nicht-äquivalenter Zustände, die aber von unserem Verfahren nicht gefunden werden. Zeige, dass P leer ist! Angenommen, P ist nicht-leer. Die Paarmenge {p, q} P habe unter allen Paarmengen in P einen kürzesten Zeugen w. 1. Wenn w = ε, dann Minimierung Die Verschmelzungsrelation 48 / 115
117 Unser Verfahren funktioniert! Sei P die Menge aller Paare {p, q} nicht-äquivalenter Zustände, die aber von unserem Verfahren nicht gefunden werden. Zeige, dass P leer ist! Angenommen, P ist nicht-leer. Die Paarmenge {p, q} P habe unter allen Paarmengen in P einen kürzesten Zeugen w. 1. Wenn w = ε, dann ist ( ) ( ) δ(p, ε) F und δ(q, ε) F oder δ(p, ε) F und δ(q, ε) F, bzw. ( p F und q F ) oder ( p F und q F ). Aber dann haben wir {p, q} in die Menge M 0 eingefügt. Minimierung Die Verschmelzungsrelation 48 / 115
118 Unser Verfahren funktioniert! Sei P die Menge aller Paare {p, q} nicht-äquivalenter Zustände, die aber von unserem Verfahren nicht gefunden werden. Zeige, dass P leer ist! Angenommen, P ist nicht-leer. Die Paarmenge {p, q} P habe unter allen Paarmengen in P einen kürzesten Zeugen w. 1. Wenn w = ε, dann ist ( ) ( ) δ(p, ε) F und δ(q, ε) F oder δ(p, ε) F und δ(q, ε) F, bzw. ( p F und q F ) oder ( p F und q F ). Aber dann haben wir {p, q} in die Menge M 0 eingefügt. 2. Wenn w = au für den Buchstaben a Σ, dann ist Minimierung Die Verschmelzungsrelation 48 / 115
119 Unser Verfahren funktioniert! Sei P die Menge aller Paare {p, q} nicht-äquivalenter Zustände, die aber von unserem Verfahren nicht gefunden werden. Zeige, dass P leer ist! Angenommen, P ist nicht-leer. Die Paarmenge {p, q} P habe unter allen Paarmengen in P einen kürzesten Zeugen w. 1. Wenn w = ε, dann ist ( ) ( ) δ(p, ε) F und δ(q, ε) F oder δ(p, ε) F und δ(q, ε) F, ( ) ( ) bzw. p F und q F oder p F und q F. Aber dann haben wir {p, q} in die Menge M 0 eingefügt. 2. Wenn w = au für den Buchstaben a Σ, dann ist ) ) ( δ(p, au) F und δ(q, au) F oder ( δ(p, au) F und δ(q, au) F, Minimierung Die Verschmelzungsrelation 48 / 115
120 Unser Verfahren funktioniert! Sei P die Menge aller Paare {p, q} nicht-äquivalenter Zustände, die aber von unserem Verfahren nicht gefunden werden. Zeige, dass P leer ist! Angenommen, P ist nicht-leer. Die Paarmenge {p, q} P habe unter allen Paarmengen in P einen kürzesten Zeugen w. 1. Wenn w = ε, dann ist ( ) ( ) δ(p, ε) F und δ(q, ε) F oder δ(p, ε) F und δ(q, ε) F, ( ) ( ) bzw. p F und q F oder p F und q F. Aber dann haben wir {p, q} in die Menge M 0 eingefügt. 2. Wenn w = au für den Buchstaben a Σ, dann ist ) ) ( δ(p, au) F und δ(q, au) F oder ( δ(p, au) F und δ(q, au) F, bzw. ( δ(δ(p, a), u) F und δ(δ(q, a), u) F ) oder ( δ(δ(p, a), u) F und δ(δ(q, a), u) F ). Minimierung Die Verschmelzungsrelation 48 / 115
121 Unser Verfahren funktioniert! Sei P die Menge aller Paare {p, q} nicht-äquivalenter Zustände, die aber von unserem Verfahren nicht gefunden werden. Zeige, dass P leer ist! Angenommen, P ist nicht-leer. Die Paarmenge {p, q} P habe unter allen Paarmengen in P einen kürzesten Zeugen w. 1. Wenn w = ε, dann ist ( ) ( ) δ(p, ε) F und δ(q, ε) F oder δ(p, ε) F und δ(q, ε) F, ( ) ( ) bzw. p F und q F oder p F und q F. Aber dann haben wir {p, q} in die Menge M 0 eingefügt. 2. Wenn w = au für den Buchstaben a Σ, dann ist ) ) ( δ(p, au) F und δ(q, au) F oder ( δ(p, au) F und δ(q, au) F, ) bzw. ( δ(δ(p, a), u) F und δ(δ(q, a), u) F oder ) ( δ(δ(p, a), u) F und δ(δ(q, a), u) F. Aber dann ist δ(p, a) A δ(q, a) mit dem kürzeren Zeugen u: Nach Annahme haben wir {δ(p, a), δ(q, a)} in eine Menge Mi eingefügt und werden darauffolgend {p, q} in die Menge Mi+1 einfügen. Minimierung Die Verschmelzungsrelation 48 / 115
122 Der Äquivalenzklassenautomat Minimierung Der Äquivalenzklassenautomat 49 / 115
123 Der Äquivalenzklassenautomat Wie sieht der Automat nach dem Verschmelzen aller äquivalenten Zustände aus? - Für Zustand p Q bezeichnet [p] A := { q Q : p A q } die Äquivalenzklasse von p. - Der Äquivalenzklassenautomat A für A besitzt die Zustandsmenge Q := Minimierung Der Äquivalenzklassenautomat 50 / 115
124 Der Äquivalenzklassenautomat Wie sieht der Automat nach dem Verschmelzen aller äquivalenten Zustände aus? - Für Zustand p Q bezeichnet [p] A := { q Q : p A q } die Äquivalenzklasse von p. - Der Äquivalenzklassenautomat A für A besitzt die Zustandsmenge Q := { [p] A : p Q }, Minimierung Der Äquivalenzklassenautomat 50 / 115
125 Der Äquivalenzklassenautomat Wie sieht der Automat nach dem Verschmelzen aller äquivalenten Zustände aus? - Für Zustand p Q bezeichnet [p] A := { q Q : p A q } die Äquivalenzklasse von p. - Der Äquivalenzklassenautomat A für A besitzt die Zustandsmenge Q := { [p] A : p Q }, den Anfangszustand q 0 := Minimierung Der Äquivalenzklassenautomat 50 / 115
126 Der Äquivalenzklassenautomat Wie sieht der Automat nach dem Verschmelzen aller äquivalenten Zustände aus? - Für Zustand p Q bezeichnet [p] A := { q Q : p A q } die Äquivalenzklasse von p. - Der Äquivalenzklassenautomat A für A besitzt die Zustandsmenge Q := { [p] A : p Q }, den Anfangszustand q 0 :=[q 0] A, die Menge F := Minimierung Der Äquivalenzklassenautomat 50 / 115
127 Der Äquivalenzklassenautomat Wie sieht der Automat nach dem Verschmelzen aller äquivalenten Zustände aus? - Für Zustand p Q bezeichnet [p] A := { q Q : p A q } die Äquivalenzklasse von p. - Der Äquivalenzklassenautomat A für A besitzt die Zustandsmenge Q := { [p] A : p Q }, den Anfangszustand q 0 :=[q 0] A, die Menge F := { [p] A : p F } der akzeptierenden Zustände Minimierung Der Äquivalenzklassenautomat 50 / 115
128 Der Äquivalenzklassenautomat Wie sieht der Automat nach dem Verschmelzen aller äquivalenten Zustände aus? - Für Zustand p Q bezeichnet [p] A := { q Q : p A q } die Äquivalenzklasse von p. - Der Äquivalenzklassenautomat A für A besitzt die Zustandsmenge Q := { [p] A : p Q }, den Anfangszustand q 0 :=[q 0] A, die Menge F := { [p] A : p F } der akzeptierenden Zustände und das Programm δ mit δ ([p] A, a) := Minimierung Der Äquivalenzklassenautomat 50 / 115
129 Der Äquivalenzklassenautomat Wie sieht der Automat nach dem Verschmelzen aller äquivalenten Zustände aus? - Für Zustand p Q bezeichnet [p] A := { q Q : p A q } die Äquivalenzklasse von p. - Der Äquivalenzklassenautomat A für A besitzt die Zustandsmenge Q := { [p] A : p Q }, den Anfangszustand q 0 :=[q 0] A, die Menge F := { [p] A : p F } der akzeptierenden Zustände und das Programm δ mit δ ([p] A, a) := [ δ(p, a) ] A für alle Zustände q Q und Buchstaben a Σ. Minimierung Der Äquivalenzklassenautomat 50 / 115
130 Der Minimierungsalgorithmus Minimierung Der Äquivalenzklassenautomat 51 / 115
131 Berechnung von A und A Eingabe: Ein DFA A = (Q, Σ, δ, q 0, F ). Schritt 1: Entferne aus A alle überflüssigen Zustände, d.h. alle Zustände, die nicht von q 0 aus erreichbar sind. Minimierung Der Äquivalenzklassenautomat 52 / 115
132 Berechnung von A und A Eingabe: Ein DFA A = (Q, Σ, δ, q 0, F ). Schritt 1: Entferne aus A alle überflüssigen Zustände, d.h. alle Zustände, die nicht von q 0 aus erreichbar sind. Schritt 2: Bestimme alle Paarmengen {p, q} mit p, q Q und p A q: 1. Zuerst bestimme M 0 := { {p, q} : p F, q Q \ F } ; Setze i := 0 2. Wiederhole 3. Für alle Paarmengen {p, q} mit p q, {p, q} (M 0 M i) und für alle a Σ tue folgendes: 4. Falls {δ(p, a), δ(q, a)} M i, Minimierung Der Äquivalenzklassenautomat 52 / 115
133 Berechnung von A und A Eingabe: Ein DFA A = (Q, Σ, δ, q 0, F ). Schritt 1: Entferne aus A alle überflüssigen Zustände, d.h. alle Zustände, die nicht von q 0 aus erreichbar sind. Schritt 2: Bestimme alle Paarmengen {p, q} mit p, q Q und p A q: 1. Zuerst bestimme M 0 := { {p, q} : p F, q Q \ F } ; Setze i := 0 2. Wiederhole 3. Für alle Paarmengen {p, q} mit p q, {p, q} (M 0 M i) und für alle a Σ tue folgendes: 4. Falls {δ(p, a), δ(q, a)} M i, füge {p, q} zur Menge M i+1 hinzu. 5. i := i bis M i = 7. Ausgabe: M := M 0 M i 1. Minimierung Der Äquivalenzklassenautomat 52 / 115
134 Berechnung von A und A Eingabe: Ein DFA A = (Q, Σ, δ, q 0, F ). Schritt 1: Entferne aus A alle überflüssigen Zustände, d.h. alle Zustände, die nicht von q 0 aus erreichbar sind. Schritt 2: Bestimme alle Paarmengen {p, q} mit p, q Q und p A q: 1. Zuerst bestimme M 0 := { {p, q} : p F, q Q \ F } ; Setze i := 0 2. Wiederhole 3. Für alle Paarmengen {p, q} mit p q, {p, q} (M 0 M i) und für alle a Σ tue folgendes: 4. Falls {δ(p, a), δ(q, a)} M i, füge {p, q} zur Menge M i+1 hinzu. 5. i := i bis M i = 7. Ausgabe: M := M 0 M i 1. Schritt 3: Konstruiere A := (Q, Σ, δ, q 0, F ): Q := { [q] A : q Q }, wobei [q] A = { p Q : Minimierung Der Äquivalenzklassenautomat 52 / 115
135 Berechnung von A und A Eingabe: Ein DFA A = (Q, Σ, δ, q 0, F ). Schritt 1: Entferne aus A alle überflüssigen Zustände, d.h. alle Zustände, die nicht von q 0 aus erreichbar sind. Schritt 2: Bestimme alle Paarmengen {p, q} mit p, q Q und p A q: 1. Zuerst bestimme M 0 := { {p, q} : p F, q Q \ F } ; Setze i := 0 2. Wiederhole 3. Für alle Paarmengen {p, q} mit p q, {p, q} (M 0 M i) und für alle a Σ tue folgendes: 4. Falls {δ(p, a), δ(q, a)} M i, füge {p, q} zur Menge M i+1 hinzu. 5. i := i bis M i = 7. Ausgabe: M := M 0 M i 1. Schritt 3: Konstruiere A := (Q, Σ, δ, q 0, F ): Q := { [q] A : q Q }, wobei [q] A = { p Q : {p, q} M } Minimierung Der Äquivalenzklassenautomat 52 / 115
136 Berechnung von A und A Eingabe: Ein DFA A = (Q, Σ, δ, q 0, F ). Schritt 1: Entferne aus A alle überflüssigen Zustände, d.h. alle Zustände, die nicht von q 0 aus erreichbar sind. Schritt 2: Bestimme alle Paarmengen {p, q} mit p, q Q und p A q: 1. Zuerst bestimme M 0 := { {p, q} : p F, q Q \ F } ; Setze i := 0 2. Wiederhole 3. Für alle Paarmengen {p, q} mit p q, {p, q} (M 0 M i) und für alle a Σ tue folgendes: 4. Falls {δ(p, a), δ(q, a)} M i, füge {p, q} zur Menge M i+1 hinzu. 5. i := i bis M i = 7. Ausgabe: M := M 0 M i 1. Schritt 3: Konstruiere A := (Q, Σ, δ, q 0, F ): Q := { [q] A : q Q }, wobei [q] A = { p Q : {p, q} M } q 0 := [q 0] A, F := { [q] A : q F } δ : Q Σ Q mit δ ( [q] A, a ) := Minimierung Der Äquivalenzklassenautomat 52 / 115
137 Berechnung von A und A Eingabe: Ein DFA A = (Q, Σ, δ, q 0, F ). Schritt 1: Entferne aus A alle überflüssigen Zustände, d.h. alle Zustände, die nicht von q 0 aus erreichbar sind. Schritt 2: Bestimme alle Paarmengen {p, q} mit p, q Q und p A q: 1. Zuerst bestimme M 0 := { {p, q} : p F, q Q \ F } ; Setze i := 0 2. Wiederhole 3. Für alle Paarmengen {p, q} mit p q, {p, q} (M 0 M i) und für alle a Σ tue folgendes: 4. Falls {δ(p, a), δ(q, a)} M i, füge {p, q} zur Menge M i+1 hinzu. 5. i := i bis M i = 7. Ausgabe: M := M 0 M i 1. Schritt 3: Konstruiere A := (Q, Σ, δ, q 0, F ): Q := { [q] A : q Q }, wobei [q] A = { p Q : {p, q} M } q 0 := [q 0] A, F := { [q] A : q F } δ : Q Σ Q mit δ ( [q] A, a ) := [δ(q, a)] A für alle q Q und a Σ. Minimierung Der Äquivalenzklassenautomat 52 / 115
Endliche Automaten. Endliche Automaten 1 / 108
Endliche Automaten Endliche Automaten 1 / 108 Endliche Automaten Endliche Automaten erlauben eine Beschreibung von Handlungsabläufen: Wie ändert sich ein Systemzustand in Abhängigkeit von veränderten Umgebungsbedingungen?
MehrDie Nerode-Relation und der Index einer Sprache L
Die Nerode-Relation und der Index einer Sprache L Eine zweite zentrale Idee: Sei A ein vollständiger DFA für die Sprache L. Repäsentiere einen beliebigen Zustand p von A durch die Worte in Σ, die zu p
MehrEndliche Automaten. Endliche Automaten J. Blömer 1/23
Endliche Automaten Endliche Automaten sind ein Kalkül zur Spezifikation von realen oder abstrakten Maschinen regieren auf äußere Ereignisse (=Eingaben) ändern ihren inneren Zustand produzieren gegebenenfalls
MehrFORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme
FORMALE SYSTEME 8. Vorlesung: Minimale Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 6. November 2017 Rückblick Markus Krötzsch, 6. November 2017 Formale Systeme Folie 2 von 26
Mehr5.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
MehrTheoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK
Theoretische Grundlagen der Informatik Vorlesung am 2. November 27 2..27 Dorothea Wagner - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Vorlesung am 2. November 27 Helmholtz-Gemeinschaft
MehrTheoretische 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
Mehr7 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
MehrAutomaten und Formale Sprachen ε-automaten und Minimierung
Automaten und Formale Sprachen ε-automaten und Minimierung Ralf Möller Hamburg Univ. of Technology Literatur Gottfried Vossen, Kurt-Ulrich Witt: Grundkurs Theoretische Informatik, Vieweg Verlag 2 Danksagung
MehrAutomaten 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
Mehrc) {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, λ}?
Mehr2 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
MehrTheoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen!
Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit Sommersemester 2012 Prof. Dr. Nicole Schweikardt AG Theorie komplexer Systeme Goethe-Universität Frankfurt am Main Herzlich willkommen!
MehrFormale Sprachen und endliche Automaten
Formale Sprachen und endliche Automaten Formale Sprachen Definition: 1 (Alphabet) Ein Alphabet Σ ist eine endliche, nichtleere Menge von Zeichen oder Symbolen. Ein Wort über dem Alphabet Σ ist eine endliche
MehrGrundlagen 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:
Mehr1 Σ 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
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Übung am 3..2 INSTITUT FÜR THEORETISCHE KIT 7..2 Universität des Andrea Landes Schumm Baden-Württemberg - Theoretische und Grundlagen der Informatik INSTITUT FÜR
Mehr2.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
Mehr1 Σ 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
MehrTheoretische 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
MehrFORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch
FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch TU Dresden, 17. Oktober 2016 Rückblick Markus Krötzsch, 17. Oktober 2016 Formale Systeme Folie 2 von 31 Wiederholung Mit Grammatiken können
MehrAlgorithmen 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
MehrTheoretische Informatik für Wirtschaftsinformatik und Lehramt
Theoretische Informatik für Wirtschaftsinformatik und Lehramt Eigenschaften regulärer Sprachen Priv.-Doz. Dr. Stefan Milius stefan.milius@fau.de Theoretische Informatik Friedrich-Alexander Universität
MehrRegulä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
MehrRegulä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
Mehr2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:
Probeklausur Automatentheorie & Formale Sprachen WiSe 2012/13, Wiebke Petersen Name: Matrikelnummer: Aufgabe A: Typ3-Sprachen 1. Konstruieren Sie einen endlichen Automaten, der die Sprache aller Wörter
MehrEs 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 (ε-
MehrFrank 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Übung zur Vorlesung Theoretische Information. Minimierungsalgorithmus
Übung zur Vorlesung Theoretische Information Minimierungsalgorithmus Folie Warum Automaten minimieren? Zwei endliche Automaten Automat q q Automat 2 q q Beide akzeptieren die selbe Sprache Welche? q 2
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik von Rolf Socher 3., aktualisierte und erweiterte Auflage Theoretische Grundlagen der Informatik Socher schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG
MehrFormale 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
Mehr2.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
MehrTuring 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
MehrAutomaten und Coinduktion
Philipps-Univestität Marburg Fachbereich Mathematik und Informatik Seminar: Konzepte von Programmiersprachen Abgabedatum 02.12.03 Betreuer: Prof. Dr. H. P. Gumm Referentin: Olga Andriyenko Automaten und
MehrGrundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny
Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 1. Automaten und Sprachen 1.1 Endlicher Automat Einen endlichen Automaten stellen wir uns als Black Box vor, die sich aufgrund einer Folge von
MehrVorlesung 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
MehrFür jede Sprache L X sind die folgenden Aussagen äquivalent:
Was bisher geschah Für jede Sprache L X sind die folgenden Aussagen äquivalent: Es existiert ein NFA A mit L = L(A) (L REC(NFA)). Es existiert ein vollständiger NFA B mit L = L(B). Es existiert ein ε-nfa
MehrDie 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
MehrLexikalische Analyse, Tokenizer, Scanner
Lexikalische Analyse, Tokenizer, Scanner Frühe Phase des Übersetzers Aufgabenteilung: Scanner (lokale) Zeichen (Symbol-)Analyse Parser Syntax-Analyse Aufgabe des Scanners: Erkennung von: Zahlen, Bezeichner,
MehrI.2. Endliche Automaten (ohne Ausgabe)
I2 Endliche Automaten (ohne Ausgabe) I2 Deterministische endliche Automaten Beispiel: Pascal-Syntax für Zahlen hat folgende Form: ::=
MehrKlausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014
Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausurnummer Nachname: Vorname: Matr.-Nr.: Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 8 4 7 5 6 8 tats. Punkte Gesamtpunktzahl: Note: Punkte Aufgabe
MehrÜ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
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik 0 KIT 10.11.2011 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik nationales Forschungszentrum Vorlesung in am
Mehr1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!
Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 23/4 ILKD Prof. Dr. D. Wagner 2. Februar 24. Klausur zur Vorlesung Informatik III Wintersemester 23/24 Mit Lösung! Beachten Sie:
Mehr2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:
Probeklausur Automatentheorie & Formale Sprachen WiSe 2012/13, Wiebke Petersen Name: Matrikelnummer: Aufgabe A: Typ3-Sprachen 1. Konstruieren Sie einen endlichen Automaten, der die Sprache aller Wörter
MehrFormale 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
MehrH MPKP. Beispiel für eine Rechnung. Reduktion H MPKP. Überführungsregeln
H MPKP Konfiguration einer TM als String schreiben: Bandinschrift zwischen den Blank-Zeichen Links von der Kopfposition Zustand einfügen. Beispiel für eine Rechnung ##q ab##xq b##xyq 2 ##xyzq 3 ##xyq 4
MehrGrundlagen der theoretischen Informatik
Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 09.04.2013 Inhalt der Vorlesung Teil I: Automaten und formale Sprachen (Kurt Sieber)
MehrKurz-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Übung Theoretische Grundlagen
Übung Theoretische Grundlagen Nico Döttling October 25, 22 Automatenminimierung Konstruktion des Äquivalenzklassenautomaten Aus der Vorlesung bekannt Überflüssige Zustände lassen sich effizient erkennen
MehrSoftware Engineering Ergänzung zur Vorlesung
Ergänzung zur Vorlesung Prof. Dr. Markus Müller-Olm WS 2008 2009 2.6.1 Endliche und reguläre Sprachen Endliche und reguläre Sprache: fundamental in vielen Bereichen der Informatik: theorie Formale Sprachen
MehrLexikalische Programmanalyse der Scanner
Der Scanner führt die lexikalische Analyse des Programms durch Er sammelt (scanned) Zeichen für Zeichen und baut logisch zusammengehörige Zeichenketten (Tokens) aus diesen Zeichen Zur formalen Beschreibung
MehrEndliche 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:
Mehr2.3 Abschlusseigenschaften
2.3 Abschlusseigenschaften 2.3 Abschlusseigenschaften In diesem Abschnitt wollen wir uns mit Abschlusseigenschaften der regulären Sprachen, d.h. mit der Frage, ob, gegeben eine Operation und zwei reguläre
MehrSuche 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
MehrWorterkennung 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
Mehr4.2.4 Reguläre Grammatiken
4.2.4 Reguläre Grammatiken Eine reguläre Grammatik ist eine kontextfreie Grammatik, deren Produktionsregeln weiter eingeschränkt sind Linksreguläre Grammatik: A w P gilt: w = ε oder w = Ba mit a T und
MehrDie durch einen regulären Ausdruck beschriebene Sprache ist definiert durch:
Kapitel 2 Reguläre Sprachen 2.1 Reguläre Ausdrücke Für die symbolische Verarbeitung von Informationen mit Hilfe von Rechnern ist es zweckmäßig, wenn formale Sprachen selbst durch Zeichenketten repräsentiert
MehrTheoretische 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
MehrAutomaten 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@uni-trier.de 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche Automaten und
MehrTheoretische 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
MehrKapitel 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
MehrEinfü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
MehrGrundbegriffe 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)
MehrTHIA - Ü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
MehrEndliche Automaten. δ : Z Σ Z die Überführungsfunktion, z 0 Z der Startzustand und F Z die Menge der Endzustände (Finalzustände).
Endliche Automaten Endliche Automaten Definition Ein deterministischer endlicher Automat (kurz DFA für deterministic finite automaton ) ist ein Quintupel M = (Σ, Z, δ, z 0, F), wobei Σ ein Alphabet ist,
MehrTheorie 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
MehrFormale Sprachen und Automaten
Avant Propos Formale Sprachen und Automaten Sie [die Theorie der formalen Sprachen] ist ein Musterbeispiel einer informatischen Theorie, weil es ihr gelingt, einen großen Bestand an Einsichten und Zusammenhängen
MehrEinfü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 2 Lösungsblatt 2. Mai 2 Einführung in die Theoretische Informatik
MehrTuring-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.
Turing-Maschinen Nachdem wir endliche Automaten und (die mächtigeren) Kellerautomaten kennengelernt haben, werden wir nun ein letztes, noch mächtigeres Automatenmodell kennenlernen: Die Turing-Maschine
MehrRekursiv 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
MehrTheoretische 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
MehrHilfestellungen zu Relationen, Automatenübergänge und Hüllen
Hilfestellungen zu Relationen, Automatenübergänge und Hüllen Erik Fäßler December 18, 2009 1 Relationen Die gültigen Übergänge eines endlichen Automaten - oder Finite State Automaton, FSA - werden formal
MehrTeil 3: Endliche Automaten. (Kapitel T4 u. T5.3)
Teil 3: Endliche Automaten (Kapitel T4 u. T5.3) Begriffe Rechnerstrukturen Schaltnetz (ohne Rückkopplungen/ Speicher) andere gängige Begriffe Schaltkreis [T] circuit combinational circuit Schaltwerk (mit
Mehrliefern 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
MehrProseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP
Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07 Vortrag am 17.11.2006 Nichtdeterministische Turingmaschinen und NP Yves Radunz Inhaltsverzeichnis 1 Wiederholung 3 1.1 Allgemeines........................................
MehrFormale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016
Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Teil 3: Kodierung 1 Motivation 2 Exkurs Grundlagen formaler Sprachen 3 Grundlagen 4 Beispielkodierungen FM2 (WS 2014/15,
Mehr1.5 Turing-Berechenbarkeit
A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine
MehrSatz (Abschluß unter der Stern-Operation)
Satz (Abschluß unter der Stern-Operation) Wenn L eine reguläre Sprache ist, dann ist auch L regulär. Beweis: Es gibt einen NFA M = (Z, Σ, S, δ, S, E) mit L(M) = L. Wir bauen aus diesem NFA nun wie folgt
Mehr5.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
MehrUniversität des Saarlandes
Universität des Saarlandes FR 6.2 Informatik Prof. Dr. Kurt Mehlhorn, Dr. Konstantinos Panagiotou WiSe 2011/2012 Übungen zu Computational Thinking http://www.mpi-inf.mpg.de/departments/d1/teaching/ws11/ct/
MehrEinfü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 2 Lösungsblatt 3. April 2 Einführung in die Theoretische Informatik
MehrDas Pumping-Lemma Formulierung
Das Pumping-Lemma Formulierung Sei L reguläre Sprache. Dann gibt es ein n N mit: jedes Wort w L mit w n kann zerlegt werden in w = xyz, so dass gilt: 1. xy n 2. y 1 3. für alle k 0 ist xy k z L. 59 / 162
MehrRelationen. Bernhard Ganter. Institut für Algebra TU Dresden D Dresden
Relationen Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de Relationen Es seien A und B Mengen. Eine (binäre) Relation zwischen A und B ist eine Teilmenge von
MehrGrundbegriffe der Informatik Tutorium 10
Grundbegriffe der Informatik Tutorium 10 Tutorium Nr. 32 Philipp Oppermann 17. Januar 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2 Lösungsblatt 2 3. Mai 2 Einführung in die Theoretische Informatik Hinweis:
MehrEinfü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
MehrTHEORETISCHE INFORMATIK
THEORETISCHE INFORMATIK Vorlesungsskript Jiří Adámek @ Institut für Theoretische Informatik Technische Universität Braunschweig Dezember 28 Inhaltsverzeichnis Endliche Automaten. Mathematische Grundbegriffe......................
MehrEinfü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,
MehrGrundlagen 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
MehrALP I Turing-Maschine
ALP I Turing-Maschine Teil I WS 2012/2013 Äquivalenz vieler Berechnungsmodelle Alonzo Church λ-kalkül Kombinatorische Logik Alan Turing Turing-Maschine Mathematische Präzisierung Effektiv Berechenbare
MehrMathematische Strukturen
Mathematische Strukturen Lineare Algebra I Kapitel 3 16. April 2013 Kartesisches Produkt Das kartesische Produkt (benannt nach René Descartes) von n Mengen M 1,..., M n ist M 1 M n := {(x 1,..., x n )
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (II) 2.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie
MehrEndliche 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(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),
Mehr8. 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
MehrTheoretische Grundlagen der Informatik
Theoretiche Grundlagen der Informatik KIT 24.1.211 Univerität de Dorothea Lande Baden-Württemberg Wagner - Theoretiche und Grundlagen der Informatik nationale Forchungzentrum Vorleung in am der 2.Oktober
MehrDeterministische 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
MehrFormalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften
Formalismen für RE Formale rundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen Frank Heitmann heitmann@informatik.uni-hamburg.de Satz Zu jeder regulären Sprache L gibt es einen DFA A mit L(A) =
MehrNachklausur 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