Endliche Automaten. Endliche Automaten 1 / 102

Größe: px
Ab Seite anzeigen:

Download "Endliche Automaten. Endliche Automaten 1 / 102"

Transkript

1 Endliche Automaten Endliche Automaten 1 / 102

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 / 102

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 / 102

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 / 102

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 / 102

6 Freischaltung eines Fernsehers (2/2) CODE BACK CODE ready 9 BACK CODE 9 9 BACK 9 99 ON CODE 0,...,8 x BACK CODE CODE CODE 0,...,8 9x BACK 0,...,8 0,...,9 BACK xx 0,...,9 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 / 102

7 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 5 / 102

8 Der Automatengraph, die grafische Darstellung eines DFA Endliche Automaten Der Automatengraph 6 / 102

9 Grafische Darstellung: Der Automatengraph A = (Σ, Q, δ, q 0, F ) sei ein DFA. Für jeden Zustand q Q gibt es einen durch q dargestellten Knoten. Endliche Automaten Der Automatengraph 7 / 102

10 Grafische Darstellung: Der Automatengraph 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 Der Automatengraph 7 / 102

11 Grafische Darstellung: Der Automatengraph 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 Der Automatengraph 7 / 102

12 Grafische Darstellung: Der Automatengraph 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 Der Automatengraph 7 / 102

13 Vom Automatengraph zur formalen Beschreibung Der DFA A 1 hat den Automatengraphen a q 0 q 1 a b b Wir möchten A 1 formal beschreiben. 1 Das Eingabealphabet Σ = Endliche Automaten Der Automatengraph 8 / 102

14 Vom Automatengraph zur formalen Beschreibung Der DFA A 1 hat den Automatengraphen 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 Der Automatengraph 8 / 102

15 Vom Automatengraph zur formalen Beschreibung Der DFA A 1 hat den Automatengraphen 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 Der Automatengraph 8 / 102

16 Vom Automatengraph zur formalen Beschreibung Der DFA A 1 hat den Automatengraphen 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 Der Automatengraph 8 / 102

17 Vom Automatengraph zur formalen Beschreibung Der DFA A 1 hat den Automatengraphen 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 Der Automatengraph 8 / 102

18 Wie arbeitet ein DFA? Die erweiterte Übergangsfunktion Endliche Automaten Die erweiterte Übergangsfunktion 9 / 102

19 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 0. Endliche Automaten Die erweiterte Übergangsfunktion 10 / 102

20 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 10 / 102

21 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 10 / 102

22 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 11 / 102

23 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 11 / 102

24 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 q 0 startet und dessen Kanten mit den Buchstaben a 1,..., a n beschriftet sind. Schreibe δ(q0, w) := q n. Endliche Automaten Die erweiterte Übergangsfunktion 11 / 102

25 Die erweiterte Übergangsfunktion für den DFA A 1 Wir betrachten wieder den DFA A 1 mit dem Automatengraphen a q 0 q 1 a b b 1 δ(q0, ab) = Endliche Automaten Die erweiterte Übergangsfunktion 12 / 102

26 Die erweiterte Übergangsfunktion für den DFA A 1 Wir betrachten wieder den DFA A 1 mit dem Automatengraphen a q 0 q 1 a b b 1 δ(q0, ab) = q 0 2 δ(q0, ababab) = Endliche Automaten Die erweiterte Übergangsfunktion 12 / 102

27 Die erweiterte Übergangsfunktion für den DFA A 1 Wir betrachten wieder den DFA A 1 mit dem Automatengraphen 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 12 / 102

28 Die erweiterte Übergangsfunktion für den DFA A 1 Wir betrachten wieder den DFA A 1 mit dem Automatengraphen 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 12 / 102

29 Die erweiterte Übergangsfunktion für den DFA A 1 Wir betrachten wieder den DFA A 1 mit dem Automatengraphen 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 12 / 102

30 Die erweiterte Übergangsfunktion für den DFA A 1 Wir betrachten wieder den DFA A 1 mit dem Automatengraphen 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 12 / 102

31 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 13 / 102

32 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 13 / 102

33 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 13 / 102

34 DFAs: Die Maschinensichtweise Verarbeitung eines Eingabeworts durch einen DFA A: w = Lesekopf a 1 a 2 a 3 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 14 / 102

35 Die akzeptierte Sprache eines DFA DFAs und ihre Sprachen 15 / 102

36 Wann akzeptiert A = (Σ, Q, δ, q 0, F ) ein Wort w? 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 16 / 102

37 Wann akzeptiert A = (Σ, Q, δ, q 0, F ) ein Wort w? 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 16 / 102

38 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 17 / 102

39 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 17 / 102

40 Der Automat A 1 Wir betrachten wieder den DFA A 1 mit dem Automatengraphen a q 0 q 1 a b b A 1 akzeptiert die Sprache L(A 1 ) = {w {a, b} : DFAs und ihre Sprachen Beispiele 18 / 102

41 Der Automat A 1 Wir betrachten wieder den DFA A 1 mit dem Automatengraphen 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 18 / 102

42 Der Automat A 2 Der DFA A 2 mit dem Automatengraphen 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 19 / 102

43 Der Automat A 2 Der DFA A 2 mit dem Automatengraphen 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 19 / 102

44 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 20 / 102

45 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 20 / 102

46 Minimierung von DFAs Minimierung 21 / 102

47 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 22 / 102

48 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 22 / 102

49 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 23 / 102

50 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 23 / 102

51 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 23 / 102

52 Einschub: Äquivalenzrelationen Minimierung 24 / 102

53 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 25 / 102

54 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 25 / 102

55 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 26 / 102

56 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 26 / 102

57 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 26 / 102

58 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 26 / 102

59 Äquivalenzrelationen (a) Eine Äquivalenzrelation ist eine 2-stellige Relation, die reflexiv, transitiv und symmetrisch ist. Minimierung Äquivalenzrelationen 27 / 102

60 Äquivalenzrelationen (a) Eine Äquivalenzrelation ist eine 2-stellige Relation, die reflexiv, transitiv und symmetrisch 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 27 / 102

61 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 28 / 102

62 Ä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 29 / 102

63 Ä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 29 / 102

64 Ä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 29 / 102

65 Äquivalenzrelationen: Beispiele (2/2) (c) Logische Äquivalenz: Die Relation E := { (φ, ψ) : φ, ψ AL, φ ψ } ist eine Äquivalenzrelation über der Menge AL aller aussagenlogischen Formeln. Minimierung Äquivalenzrelationen 30 / 102

66 Ä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 30 / 102

67 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 31 / 102

68 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 31 / 102

69 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 31 / 102

70 Zurück zur Verschmelzungsrelation A Minimierung Die Verschmelzungsrelation 32 / 102

71 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 33 / 102

72 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 34 / 102

73 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 34 / 102

74 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 34 / 102

75 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 34 / 102

76 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 34 / 102

77 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 die disjunkte Vereinigung der Äquivalenzklassen von A. Minimierung Die Verschmelzungsrelation 34 / 102

78 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 35 / 102

79 Schritt 1: Wir bestimmen die Verschmelzungsrelation A Minimierung Die Verschmelzungsrelation 36 / 102

80 Zeugen (1/2) 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 37 / 102

81 Zeugen (1/2) 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 37 / 102

82 Zeugen (2/2) 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 38 / 102

83 Zeugen (2/2) 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 38 / 102

84 Zeugen (2/2) 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 38 / 102

85 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 39 / 102

86 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. Wenn die Paarmenge {p, q} Element der Menge M i ist und für ein a Σ, dann wenn δ(r, a) = p sowie δ(s, a) = q Minimierung Die Verschmelzungsrelation 39 / 102

87 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. Wenn die Paarmenge {p, q} Element der Menge M i ist und wenn δ(r, a) = p sowie δ(s, a) = q für ein a Σ, dann füge {r, s} in die Menge M i+1 ein. Da p A q, gibt es einen Zeugen w mit ) ) ( δ(p, w) F und δ(q, w) F oder ( δ(p, w) F und δ(q, w) F. Das Wort aw trennt r und s = aw ist Zeuge für die Nicht-Äquivalenz von r und s. Minimierung Die Verschmelzungsrelation 39 / 102

88 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. Wenn die Paarmenge {p, q} Element der Menge M i ist und wenn δ(r, a) = p sowie δ(s, a) = q für ein a Σ, dann füge {r, s} in die Menge M i+1 ein. Da p A q, gibt es einen Zeugen w mit ) ) ( δ(p, w) F und δ(q, w) F oder ( δ(p, w) F und δ(q, w) F. Das Wort aw trennt r und s = aw ist Zeuge für die Nicht-Äquivalenz von r und s. 3. Halte, wenn Minimierung Die Verschmelzungsrelation 39 / 102

89 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. Wenn die Paarmenge {p, q} Element der Menge M i ist und wenn δ(r, a) = p sowie δ(s, a) = q für ein a Σ, dann füge {r, s} in die Menge M i+1 ein. Da p A q, gibt es einen Zeugen w mit ) ) ( δ(p, w) F und δ(q, w) F oder ( δ(p, w) F und δ(q, w) F. Das Wort aw trennt r und s = aw ist Zeuge für die Nicht-Äquivalenz von r und s. 3. Halte, wenn keine neuen Paarmengen {r, s} 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 39 / 102

90 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 40 / 102

91 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 40 / 102

92 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 40 / 102

93 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 40 / 102

94 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 40 / 102

95 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 40 / 102

96 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 40 / 102

97 Der Automat nach allen Verschmelzungen 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 Die Verschmelzungsrelation 41 / 102

98 Der Automat nach allen Verschmelzungen 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 Die Verschmelzungsrelation 41 / 102

99 Der Automat nach allen Verschmelzungen 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 Die Verschmelzungsrelation 41 / 102

100 Der Automat nach allen Verschmelzungen 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 Die Verschmelzungsrelation 41 / 102

101 Der Automat nach allen Verschmelzungen 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 Die Verschmelzungsrelation 41 / 102

102 Der Automat nach allen Verschmelzungen 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 Die Verschmelzungsrelation 41 / 102

103 Der Automat nach allen Verschmelzungen 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 Die Verschmelzungsrelation 41 / 102

104 Der Minimierungsalgorithmus Minimierung Die Verschmelzungsrelation 42 / 102

105 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 Die Verschmelzungsrelation 43 / 102

106 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 Die Verschmelzungsrelation 43 / 102

107 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 Die Verschmelzungsrelation 43 / 102

108 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 Die Verschmelzungsrelation 43 / 102

109 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 Die Verschmelzungsrelation 43 / 102

110 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 Die Verschmelzungsrelation 43 / 102

111 Ist der Algorithmus korrekt und effizient? In jeder Iteration in Schritt 2 wird mindestens eine neue Paarmenge markiert: Es gibt also höchstens Q 2 Iterationen und der Algorithmus ist effizient. Minimierung Die Verschmelzungsrelation 44 / 102

112 Ist der Algorithmus korrekt und effizient? In jeder Iteration in Schritt 2 wird mindestens eine neue Paarmenge markiert: Es gibt also höchstens Q 2 Iterationen und der Algorithmus ist effizient. Die wichtigen Fragen: 1. Sind A und der Äquivalenzklassenautomat A äquivalent, d.h. berechnet A dieselbe Sprache wie A? 2. Ist A minimal? Aber zuerst rechnen wir ein zweites Beispiel durch. Minimierung Die Verschmelzungsrelation 44 / 102

113 Zustandsminimierung: Die Mengen M 0, M 1, M 2 a b ε a b a 1 b 1 a b a 2 b 2 b b bb a, b a a a 1 a 2 b 1 b 2 bb ε a 1 a 2 b 1 b 2 Minimierung Beispiele 45 / 102

114 Zustandsminimierung: Die Mengen M 0, M 1, M 2 a b ε a b a 1 b 1 a b a 2 b 2 b b bb a, b a a a 1 a 2 b 1 b 2 bb M 0 M 0 M 0 M 0 M 0 ε a 1 a 2 b 1 b 2 Minimierung Beispiele 45 / 102

115 Zustandsminimierung: Die Mengen M 0, M 1, M 2 a b ε a b a 1 b 1 a b a 2 b 2 b b bb a, b a a a 1 a 2 b 1 M 1 M 1 M 1 b 2 M 1 M 1 M 1 bb M 0 M 0 M 0 M 0 M 0 ε a 1 a 2 b 1 b 2 Minimierung Beispiele 45 / 102

116 Zustandsminimierung: Die Mengen M 0, M 1, M 2 a b ε a b a 1 b 1 a b a 2 b 2 b b bb a, b a a a 1 M 2 a 2 M 2 b 1 M 1 M 1 M 1 b 2 M 1 M 1 M 1 bb M 0 M 0 M 0 M 0 M 0 ε a 1 a 2 b 1 b 2 ε und bb sind jeweils nur mit sich selbst äquivalent, die restlichen Äquivalenzklassen von A sind Teilmengen von {b 1, b 2 } oder Teilmengen von {a 1, a 2 }. Minimierung Beispiele 45 / 102

117 Zustandsminimierung: Die Mengen M 0, M 1, M 2 a b ε a b a 1 b 1 a b a 2 b 2 b b bb a, b a a a 1 M 2 a 2 M 2 b 1 M 1 M 1 M 1 b 2 M 1 M 1 M 1 bb M 0 M 0 M 0 M 0 M 0 ε a 1 a 2 b 1 b 2 M 3 =. Minimierung Beispiele 45 / 102

118 Zustandsminimierung: Der Äquivalenzklassenautomat A a b ε a b a 1 b 1 a b a 2 b 2 b b bb a, b a a M 3 = {bb} ist die Klasse des einzigen akzeptierenden Zustands, {ε} ist die Klasse des Startzustands, {a 1, a 2 } und {b 1, b 2, } sind die restlichen Klassen. Der Äquivalenzklassenautomat: Minimierung Beispiele 46 / 102

119 Zustandsminimierung: Der Äquivalenzklassenautomat A a b ε a b a 1 b 1 a b a 2 b 2 b b bb a, b a a M 3 = {bb} ist die Klasse des einzigen akzeptierenden Zustands, {ε} ist die Klasse des Startzustands, {a 1, a 2 } und {b 1, b 2, } sind die restlichen Klassen. Der Äquivalenzklassenautomat: a b a, b b ε a b bb Genügt es,nur Zustände mit identischen Nachfolgezuständen zu verschmelzen? a a, b Minimierung Beispiele 46 / 102

120 Zustandsminimierung: Der Äquivalenzklassenautomat A a b ε a b a 1 b 1 a b a 2 b 2 b b bb a, b a a M 3 = {bb} ist die Klasse des einzigen akzeptierenden Zustands, {ε} ist die Klasse des Startzustands, {a 1, a 2 } und {b 1, b 2, } sind die restlichen Klassen. Der Äquivalenzklassenautomat: a b a, b b ε a b bb Genügt es,nur Zustände mit identischen Nachfolgezuständen zu verschmelzen? NEIN! a Minimierung Beispiele 46 / 102 a, b

121 Zustandsminimierung: Die Tabelle Wie haben wir die Tabelle gefüllt? Angenommen, wir haben die Mengen M 0,..., M i bestimmt und die entsprechenden Positionen in der Tabelle markiert. 1. Dann haben wir nacheinander alle frisch markierten Einträge {r, s} M i inspiziert. 2. Wir haben die Position in Zeile p und Spalte q mit M i+1 markiert, wenn es einen Buchstaben a Σ gibt, so dass (δ(p, a) = r und δ(q, a) = s) oder (δ(p, a) = s und δ(q, a) = r). Minimierung Beispiele 47 / 102

122 Wie stellt man fest, ob ein Wort das Suffix ab besitzt? Wir arbeiten mit dem Alphabet Σ = {a, b}. Speichere die beiden zuletzt gelesenen Buchstaben im aktuellen Zustand. Minimierung Beispiele 48 / 102

123 Wie stellt man fest, ob ein Wort das Suffix ab besitzt? Wir arbeiten mit dem Alphabet Σ = {a, b}. Speichere die beiden zuletzt gelesenen Buchstaben im aktuellen Zustand. Wir benutzen deshalb die Zustände Q = {ε, a, b, aa, ab, ba, bb} mit Startzustand q0 = ε ( wir haben noch nichts gelesen ) und dem akzeptierenden Zustand ab: Die beiden letzten Buchstaben sind ab. Welche Zustandsübergänge? Minimierung Beispiele 48 / 102

124 Zustandsminimierung: Die Menge M 0 a ε b a aa a b a b a a b b ab ba b a bb b a b (a) Der Automat A merkt sich tatsächlich die beiden letzten Buchstaben. (b) ab ist der einzige akzeptierende Zustand. Minimierung Beispiele 49 / 102

125 Zustandsminimierung: Die Menge M 0 ab ist der einzige akzeptierende Zustand = Die Menge M 0 hat die Form M 0 = {{ε, ab}, {a, ab}, {b, ab}, {aa, ab}, {ba, ab}, {bb, ab}} Minimierung Beispiele 50 / 102

126 Zustandsminimierung: Die Menge M 0 ab ist der einzige akzeptierende Zustand = Die Menge M 0 hat die Form M 0 = {{ε, ab}, {a, ab}, {b, ab}, {aa, ab}, {ba, ab}, {bb, ab}} a b aa ab M 0 M 0 M 0 M 0 ba M 0 bb M 0 ε a b aa ab ba Was haben wir gelernt? Minimierung Beispiele 50 / 102

127 Zustandsminimierung: Die Menge M 0 ab ist der einzige akzeptierende Zustand = Die Menge M 0 hat die Form M 0 = {{ε, ab}, {a, ab}, {b, ab}, {aa, ab}, {ba, ab}, {bb, ab}} a b aa ab M 0 M 0 M 0 M 0 ba M 0 bb M 0 ε a b aa ab ba Was haben wir gelernt? (a) {ab} ist eine Klasse der Verschmelzungsrelation, (b) die restlichen Klassen sind disjunkte Teilmengen von {ε, a, b, aa, ba, bb}. Wie sieht M 1 aus? Minimierung Beispiele 50 / 102

128 Zustandsminimierung: Die Menge M 1 Es ist M 0 = {{ε, ab}, {a, ab}, {b, ab}, {aa, ab}, {ba, ab}, {bb, ab}}. a b aa ab M 0 M 0 M 0 M 0 ba M 0 bb M 0 ε a b aa ab ba Es sei {p, q } M 0 und es gelte x = a oder x = b. Wenn δ(p, x) = p, δ(q, x) = q, dann ist {p, q} M 1. Der Zustand ab wird erreicht Minimierung Beispiele 51 / 102

129 Zustandsminimierung: Die Menge M 1 Es ist M 0 = {{ε, ab}, {a, ab}, {b, ab}, {aa, ab}, {ba, ab}, {bb, ab}}. a b aa ab M 0 M 0 M 0 M 0 ba M 0 bb M 0 ε a b aa ab ba Es sei {p, q } M 0 und es gelte x = a oder x = b. Wenn δ(p, x) = p, δ(q, x) = q, dann ist {p, q} M 1. Der Zustand ab wird erreicht b wird in den Zuständen a, aa, ba gelesen. Minimierung Beispiele 51 / 102

130 Zustandsminimierung: Die Menge M 1 Es ist M 0 = {{ε, ab}, {a, ab}, {b, ab}, {aa, ab}, {ba, ab}, {bb, ab}}. a M 1 b M 1 aa ab M 0 M 0 M 0 M 0 ba M 0 bb M 1 M 0 ε a b aa ab ba Es sei {p, q } M 0 und es gelte x = a oder x = b. Wenn δ(p, x) = p, δ(q, x) = q, dann ist {p, q} M 1. Der Zustand ab wird erreicht b wird in den Zuständen a, aa, ba gelesen. Minimierung Beispiele 51 / 102

131 Zustandsminimierung: Die Menge M 1 Es ist M 0 = {{ε, ab}, {a, ab}, {b, ab}, {aa, ab}, {ba, ab}, {bb, ab}}. a M 1 b M 1 aa M 1 M 1 ab M 0 M 0 M 0 M 0 ba M 0 bb M 1 M 1 M 0 ε a b aa ab ba Es sei {p, q } M 0 und es gelte x = a oder x = b. Wenn δ(p, x) = p, δ(q, x) = q, dann ist {p, q} M 1. Der Zustand ab wird erreicht b wird in den Zuständen a, aa, ba gelesen. Minimierung Beispiele 51 / 102

132 Zustandsminimierung: Die Menge M 1 Es ist M 0 = {{ε, ab}, {a, ab}, {b, ab}, {aa, ab}, {ba, ab}, {bb, ab}}. a M 1 b M 1 aa M 1 M 1 ab M 0 M 0 M 0 M 0 ba M 1 M 1 M 0 bb M 1 M 1 M 0 M 1 ε a b aa ab ba Es sei {p, q } M 0 und es gelte x = a oder x = b. Wenn δ(p, x) = p, δ(q, x) = q, dann ist {p, q} M 1. Der Zustand ab wird erreicht b wird in den Zuständen a, aa, ba gelesen. Minimierung Beispiele 51 / 102

133 Was haben wir gelernt? a M 1 b M 1 aa M 1 M 1 ab M 0 M 0 M 0 M 0 ba M 1 M 1 M 0 bb M 1 M 1 M 0 M 1 ε a b aa ab ba Minimierung Beispiele 52 / 102

134 Was haben wir gelernt? a M 1 b M 1 aa M 1 M 1 ab M 0 M 0 M 0 M 0 ba M 1 M 1 M 0 bb M 1 M 1 M 0 M 1 ε a b aa ab ba 1. Wir haben jeden der Zustände a, aa, ba von jedem der Zustände ε, b, bb getrennt. Minimierung Beispiele 52 / 102

135 Was haben wir gelernt? a M 1 b M 1 aa M 1 M 1 ab M 0 M 0 M 0 M 0 ba M 1 M 1 M 0 bb M 1 M 1 M 0 M 1 ε a b aa ab ba 1. Wir haben jeden der Zustände a, aa, ba von jedem der Zustände ε, b, bb getrennt. 2. Die weiteren Äquivalenzklassen der Verschmelungsrelation sind disjunkte Teilmengen entweder von {a, aa, ba} oder von {ε, b, bb}. Minimierung Beispiele 52 / 102

136 Was haben wir gelernt? a M 1 b M 1 aa M 1 M 1 ab M 0 M 0 M 0 M 0 ba M 1 M 1 M 0 bb M 1 M 1 M 0 M 1 ε a b aa ab ba 1. Wir haben jeden der Zustände a, aa, ba von jedem der Zustände ε, b, bb getrennt. 2. Die weiteren Äquivalenzklassen der Verschmelungsrelation sind disjunkte Teilmengen entweder von {a, aa, ba} oder von {ε, b, bb}. Lassen sich die Zustände in {a, aa, ba} (bzw. in {ε, b, bb}) voneinander trennen? Minimierung Beispiele 52 / 102

137 Zustandsminimierung: Die Menge M 2 a M 1 b M 1 aa M 1 M 1 ab M 0 M 0 M 0 M 0 ba M 1 M 1 M 0 bb M 1 M 1 M 0 M 1 ε a b aa ab ba Minimierung Beispiele 53 / 102

138 Zustandsminimierung: Die Menge M 2 a M 1 b M 1 aa M 1 M 1 ab M 0 M 0 M 0 M 0 ba M 1 M 1 M 0 bb M 1 M 1 M 0 M 1 ε a b aa ab ba 1. Die Zustände a, aa, ba können nicht voneinander getrennt werden, da sie alle unter a auf den Zustand aa und unter b auf den Zustand ab führen. Minimierung Beispiele 53 / 102

139 Zustandsminimierung: Die Menge M 2 a M 1 b M 1 aa M 1 M 1 ab M 0 M 0 M 0 M 0 ba M 1 M 1 M 0 bb M 1 M 1 M 0 M 1 ε a b aa ab ba 1. Die Zustände a, aa, ba können nicht voneinander getrennt werden, da sie alle unter a auf den Zustand aa und unter b auf den Zustand ab führen. 2. b und bb lassen sich ebenfalls nicht mehr trennen. Beide führen unter a auf ba und unter b auf bb. Minimierung Beispiele 53 / 102

140 Zustandsminimierung: Die Menge M 2 a M 1 b M 1 aa M 1 M 1 ab M 0 M 0 M 0 M 0 ba M 1 M 1 M 0 bb M 1 M 1 M 0 M 1 ε a b aa ab ba 1. Die Zustände a, aa, ba können nicht voneinander getrennt werden, da sie alle unter a auf den Zustand aa und unter b auf den Zustand ab führen. 2. b und bb lassen sich ebenfalls nicht mehr trennen. Beide führen unter a auf ba und unter b auf bb. 3. Aber auch ε führt unter a auf die Klasse {a, aa, ba} und unter b auf b. Minimierung Beispiele 53 / 102

141 Zustandsminimierung: Die Menge M 2 a M 1 b M 1 aa M 1 M 1 ab M 0 M 0 M 0 M 0 ba M 1 M 1 M 0 bb M 1 M 1 M 0 M 1 ε a b aa ab ba 1. Die Zustände a, aa, ba können nicht voneinander getrennt werden, da sie alle unter a auf den Zustand aa und unter b auf den Zustand ab führen. 2. b und bb lassen sich ebenfalls nicht mehr trennen. Beide führen unter a auf ba und unter b auf bb. 3. Aber auch ε führt unter a auf die Klasse {a, aa, ba} und unter b auf b. Es ist M 2 =, denn ε lässt sich nicht von b, bb trennen. Minimierung Beispiele 53 / 102

Die Nerode-Relation und der Index einer Sprache L

Die 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

Mehr

Endliche Automaten. Endliche Automaten 1 / 108

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?

Mehr

FORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme

FORMALE 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

Mehr

5.2 Endliche Automaten

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

Mehr

Endliche Automaten. Endliche Automaten J. Blömer 1/23

Endliche 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

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische 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

Mehr

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

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

Mehr

Automaten und Formale Sprachen ε-automaten und Minimierung

Automaten 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

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

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

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

Mehr

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

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

Mehr

Theoretische Grundlagen der Informatik

Theoretische 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

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

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 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

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

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

Mehr

Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen!

Theoretische 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!

Mehr

Übung zur Vorlesung Theoretische Information. Minimierungsalgorithmus

Ü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

Mehr

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

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

Mehr

Formale Sprachen und endliche Automaten

Formale 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

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

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Theoretische 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

Mehr

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

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

Mehr

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch

FORMALE 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

Mehr

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

1. 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:

Mehr

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

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

Mehr

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

Für jede Sprache L X sind die folgenden Aussagen äquivalent:

Fü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

Mehr

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

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

Mehr

2.2 Reguläre Sprachen Endliche Automaten

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

Mehr

Theoretische Grundlagen der Informatik

Theoretische 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

Mehr

H MPKP. Beispiel für eine Rechnung. Reduktion H MPKP. Überführungsregeln

H 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

Mehr

2.6 Verdeutlichung verwendeter Begriffe

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

Mehr

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014

Klausur 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

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:

2. 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

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen 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

Mehr

Software Engineering Ergänzung zur Vorlesung

Software 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

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

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

Automaten und Coinduktion

Automaten 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

Mehr

Die mathematische Seite

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

Mehr

Kurz-Skript zur Theoretischen Informatik I

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

Mehr

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

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

Ü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

Übung Theoretische Grundlagen

Ü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

Mehr

2.3 Abschlusseigenschaften

2.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

Mehr

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

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

Mehr

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

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:

2. 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

Mehr

Theorie der Informatik

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

Mehr

Relationen. Bernhard Ganter. Institut für Algebra TU Dresden D Dresden

Relationen. 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

Mehr

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

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

Mehr

Theoretische Grundlagen der Informatik

Theoretische 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

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 2 Lösungsblatt 2. Mai 2 Einführung in die Theoretische Informatik

Mehr

Endliche Automaten. δ : Z Σ Z die Überführungsfunktion, z 0 Z der Startzustand und F Z die Menge der Endzustände (Finalzustände).

Endliche 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,

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 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

Teil 3: Endliche Automaten. (Kapitel T4 u. T5.3)

Teil 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

Mehr

Grundbegriffe der Informatik Tutorium 10

Grundbegriffe 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

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

Lexikalische Analyse, Tokenizer, Scanner

Lexikalische 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,

Mehr

Hilfestellungen zu Relationen, Automatenübergänge und Hüllen

Hilfestellungen 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

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 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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen 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

Mehr

Deterministische Turing-Maschinen

Deterministische Turing-Maschinen Deterministische Turing-Maschinen Um 900 präsentierte David Hilbert auf einem internationalen Mathematikerkongress eine Sammlung offener Fragen, deren Beantwortung er von zentraler Bedeutung für die weitere

Mehr

Die durch einen regulären Ausdruck beschriebene Sprache ist definiert durch:

Die 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

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

THIA - Übungsblatt 2.

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

Mehr

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

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Hier Aufkleber mit Name und Matrikelnr. anbringen

Mehr

Universität des Saarlandes

Universitä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/

Mehr

Relationen. Es seien A und B Mengen. Eine (binäre) Relation zwischen A und B ist eine Teilmenge von A B.

Relationen. Es seien A und B Mengen. Eine (binäre) Relation zwischen A und B ist eine Teilmenge von A B. Mathematik I für Informatiker Relationen auf einer Menge p. 1 Relationen Es seien A und B Mengen. Eine (binäre) Relation zwischen A und B ist eine Teilmenge von A B. Ein wichtiger Spezialfall ist der,

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

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 20. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 20.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Theoretische Informatik für Medieninformatiker

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

Mehr

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

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

Turing-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

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

ALP I Turing-Maschine

ALP 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

Mehr

Lexikalische Programmanalyse der Scanner

Lexikalische 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

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

Grundbegriffe der Informatik Tutorium 33

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

Mehr

1.5 Turing-Berechenbarkeit

1.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

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

FORMALE SYSTEME. 10. Vorlesung: Grenzen regulärer Sprachen / Probleme für Automaten. TU Dresden, 14. November 2016.

FORMALE SYSTEME. 10. Vorlesung: Grenzen regulärer Sprachen / Probleme für Automaten. TU Dresden, 14. November 2016. FORMALE SYSTEME 10. Vorlesung: Grenzen regulärer Sprachen / Probleme für Automaten Markus Krötzsch TU Dresden, 14. November 2016 Rückblick Markus Krötzsch, 14. November 2016 Formale Systeme Folie 2 von

Mehr

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

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

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. Sascha Böhme, Lars Noschinski Sommersemester 2 Lösungsblatt 2 3. Mai 2 Einführung in die Theoretische Informatik Hinweis:

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 2 Lösungsblatt 3. April 2 Einführung in die Theoretische Informatik

Mehr

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

Proseminar 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........................................

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

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

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

Mehr

Satz (Abschluß unter der Stern-Operation)

Satz (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

Mehr

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie Gliederung der Vorlesung. Grundbegriffe. Formale Sprachen/Automatentheorie.. Grammatiken.2..3. Kontext-freie Sprachen 2. Berechnungstheorie 2.. Berechenbarkeitsmodelle 2.2. Die Churchsche These 2.3. Unentscheidbarkeit

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 heoretische Informatik 1 eil 2 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung U Graz SS 2009 Übersicht 1 uring Maschinen uring-berechenbarkeit 2 Kostenmaße Komplexität 3 Mehrband-M

Mehr

4.2.4 Reguläre Grammatiken

4.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

Mehr

Aufgabe 24 Die Wahrheitswerte von A A B und B sind immer gleich:

Aufgabe 24 Die Wahrheitswerte von A A B und B sind immer gleich: Lösungen zu den Aufgaben von Anfang August Aufgabe 24 Die Wahrheitswerte von A A B und B sind immer gleich: Der Wahrheitswert von A A ist immer wahr, da immer entweder A oder A den Wahrheitswert wahr hat.

Mehr

Mathematische Strukturen

Mathematische 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 )

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