Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Theoretische Informatik für Wirtschaftsinformatik und Lehramt"

Transkript

1 Theoretische Informatik für Wirtschaftsinformatik und Lehramt Eigenschaften regulärer Sprachen Priv.-Doz. Dr. Stefan Milius Theoretische Informatik Friedrich-Alexander Universität Erlangen-Nürnberg SS / 67

2 Gliederung 1 Lernziele 2 Abschlusseigenschaften 3 Das Pumping Lemma 4 Äquivalenzklassenautomaten 5 Minimierung von Automaten 6 Zusammenfassung 2 / 67

3 Worum geht es in diesem Abschnitt? Bisher: Verschiedene Darstellungsformen regulärer Sprachen. Jetzt: Aus einfachen regulären Sprachen komplexere konstruieren. (Durch zuvor betrachtete Operationen auf Sprachen.) Methode, um zu zeigen, dass eine Sprache nicht regulär ist. (Pumping Lemma) Minimierung von Automaten (DFA mit möglichst wenigen Zuständen für eine Sprache) 3 / 67

4 Lernziele Abschlusseigenschaften regulärer Sprachen kennen und beweisen können das Pumping-Lemma für reguläre Sprachen kennen und es zum Nachweis der Nicht-Regularität einer Sprache einsetzen können einen endlichen Automaten systematisch minimieren können 4 / 67

5 Zur Erinnerung: Operationen auf Sprachen L 1, L 2 Σ seien Sprachen: Durchschnitt und Vereinigung: L 1 L 2 bzw. L 1 L 2. Komplement der Sprache L Σ : L = Σ \ L. Sprachprodukt (Konkatenation von Sprachen): L 1 L 2 = {vw v L 1, w L 2 } (Schreibweise: L 1 L 2 ) Sprachpotenz: L n = {w 1 w 2 w n w i L für i = 1,..., n} (für n N) (Beachte: L 0 = {ε}.) Kleene-Stern: L = L n (außerdem: L + = L n ) n 0 n>0 Spiegelung: L R = {w R w L} (ε R = ε, (av) R = v R a) 5 / 67

6 Zur Erinnerung: Gesetze für die Operationen auf Sprachen Satz 1.2 Für beliebige L, L 1, L 2 Σ gilt: a) L = L. b) L 1 L 2 = L 1 L 2. c) L(L 1 L 2 ) = LL 1 LL 2. d) (L ) = L. e) (L 1 L 2 ) R = L R 1 LR 2. f) (L 1 L 2 ) R = L R 2 LR 1. g) (L ) R = (L R ). 6 / 67

7 Abschlusseigenschaften regulärer Sprachen (I) Satz 3.1 Die regulären Sprachen sind abgeschlossen unter den Operationen Vereinigung, Durchschnitt, Komplement, Produkt, Potenz, Kleene-Stern und Spiegelung. D.h.: Sind L, L 1, L 2 reguläre Sprachen, n N, dann sind auch die folgenden Sprachen regulär: a) L 1 L 2, b) L 1 L 2, c) L, d) L 1 L 2, e) L n, f) L, g) L R Hinweis: Wir können diese Eigenschaften nutzen, um aus einfachen komplexere reguläre Sprachen zusammenzubauen. 7 / 67

8 Abschlusseigenschaften regulärer Sprachen (II) Für den Beweis von Satz 3.1 benötigen wir noch: Satz 2.8 (zur Erinnerung) Sei L eine Sprache. Die folgenden Aussagen sind äquivalent: a) L wird von einer regulären Grammatik erzeugt (d. h. L ist regulär). b) L wird von einem DFA akzeptiert. c) L wird von einem NFA akzeptiert. d) L wird durch einen regulären Ausdruck beschrieben. 8 / 67

9 Abschlusseigenschaften regulärer Sprachen (III) Beweis (von Satz 3.1): Seien L, L 1, L 2 reguläre Sprachen. Dann gilt (z. T. mit Satz 2.8): a) L 1 L 2, d) L 1 L 2, f) L : Es gibt reguläre Ausdrücke r, r 1, r 2 mit L(r) = L, L(r 1 ) = L 1 und L(r 2 ) = L 2. Dann sind r 1 r 2, r 1 r 2, r reguläre Ausdrücke, und die von diesen erzeugten Sprachen sind regulär: L 1 L 2 = L(r 1 r 2 ), L 1 L 2 = L(r 1 r 2 ) und L = L(r ). c) L: Es gibt einen DFA M = (Z, Σ, δ, z 0, E) mit L(M) = L. Für den DFA M = (Z, Σ, δ, z 0, Z \ E) gilt: w L(M ) ˆδ(z 0, w) Z \ E ˆδ(z 0, w) E w L(M.) Also: L(M ) = L, d. h. L ist regulär, da es den DFA M für L gibt. 9 / 67

10 Abschlusseigenschaften regulärer Sprachen (IV) Beispiel: DFAs für Sprache und Komplementsprache 10 / 67

11 Abschlusseigenschaften regulärer Sprachen (V) Beweis (Fortsetzung): b) L 1 L 2 : Wegen L 1 L 2 = L 1 L 2 (Satz 1.2 b)) folgt die Behauptung für L 1 L 2 aus Satz 3.1 a) und c). e) L n : L 0 = {ε} und L 1 = L sind trivialerweise regulär. Für n 2: wegen L n = L L L (n-mal) aus Satz 3.1 d). g) L R : Es gibt einen regulären Ausdruck r mit L(r) = L. Zeige: Für jeden regulären Ausdruck r ist L(r) R regulär. Dann gilt: L R = L(r) R ist regulär. 11 / 67

12 Abschlusseigenschaften regulärer Sprachen (VI) Beweis (Fortsetzung): g) L R (Fortsetzung): Zeige: Für jeden regulären Ausdruck r ist L(r) R regulär. Durch Induktion über den Aufbau von r: 1 r =, r = ε, r = a: In allen drei Fällen ist L(r) R = L(r). Also: L(r) R regulär. 2 r = r 1 r 2 : Dann ist L(r) = L(r 1 ) L(r 2 ). Also mit Satz 1.2 e): L(r) R = L(r 1 ) R L(r 2 ) R. Nach Induktionsvoraussetzung: L(r 1 ) R und L(r 2 ) R regulär. Daher: mit Satz 3.1 a) auch L(r) R. 3 r = r 1 r 2 : Ebenso mit Satz 1.2 f) und Satz 3.1 d). 4 r = r1 : Ebenso mit Satz 1.2 g) und Satz 3.1 f). 12 / 67

13 Reguläre vs. nicht-reguläre Sprachen (I) Bisher: Methode zum Beweisen, dass eine Sprache regulär ist: Endlichen Automaten angeben (oder reguläre Grammatik oder regulären Ausdruck) Im Folgenden: 1 Wie beweist man, dass eine Sprache L nicht regulär ist? Idee: Wir beweisen, dass es keinen endlichen Automaten geben kann, der die Sprache L akzeptiert. Dazu versuchen wir auszunutzen, dass ein endlicher Automat nur endlich viele Zustände enthält. 2 Wie groß ist der kleinste Automat, der eine gegebene reguläre Sprache akzeptiert? Gibt es überhaupt den kleinsten Automaten? 13 / 67

14 Reguläre vs. nicht-reguläre Sprachen (II) Frage: Was unterscheidet die regulären von den nicht regulären Sprachen charakteristisch? Die Sprache L = {a n b n {a, b} n N} ist nicht regulär. Warum ist das so? Annahme: L regulär. Dann gibt es einen DFA M = (Z, Σ, δ, z 0, E), der L akzeptiert. Für i = 0, 1, 2,... sei z i der Zustand, den M erreicht, wenn a i = aa a }{{} i-mal gelesen wird. (Anschließend wird das erste b erwartet. Für i j gilt: a i b i L und a j b i L. Also: ˆδ(z i, b i ) E und ˆδ(z j, b i ) E. Daher gilt: z i z j. Dann hat M unendlich viele paarweise verschiedene Zustände z 0, z 1, z 2,... Widerspruch! 14 / 67

15 Reguläre vs. nicht-reguläre Sprachen (III) 15 / 67

16 Das Schubfach-Prinzip (I) 16 / 67

17 Das Schubfach-Prinzip (II) 17 / 67

18 Das Schubfach-Prinzip (III) Das Schubfachprinzip (englisch: pigeon hole principle ): Wenn man m Objekte über n Mengen verteilen möchte und m > n ist, dann gibt es mindestens eine Menge, die mindestens zwei Elemente enthält. Das Schubfachprinzip für endliche Automaten: Wenn ein Automat mit n Zuständen einen Pfad der Länge m enthält und m n ist, dann gibt es mindestens einen Zustand, der mehrfach auf dem Pfad vorkommt. 18 / 67

19 Das Pumping-Lemma (I) Dadurch entsteht eine Schleife. Diese kann mehrfach (oder gar nicht) durchlaufen werden. Dadurch wird x = uvw aufgepumpt : auch uw, uv 2 w, uv 3 w,... liegen in L. Außerdem kann man für u, v, w folgende Eigenschaften verlangen: (n = Anzahl der Zustände) 1 v 1: Die Schleife ist auf jeden Fall nicht trivial und enthält zumindest einen Übergang. 2 uv n: Spätestens nach n Alphabetsymbolen wird der Zustand z das zweite Mal erreicht. 19 / 67

20 Das Pumping-Lemma (II) Beispiel M = ({z 0, z 1, z 2, z 3 }, {a, b, c}, δ, z 0, {z E }) uv 0 w = }{{} a c u x = a c c c a = }{{} a c }{{} c c }{{} a u v w a L(M) uv 2 w = a c }{{} w }{{} u L(M) }{{} c c v }{{} c c v }{{} a w L(M) 20 / 67

21 Das Pumping-Lemma (III) Wenn ein endlicher Automat beliebig lange Wörter akzeptiert, muss er einen Zyklus bzw. eine Schleife haben. Aus dieser Eigenschaft von endlichen Automaten leiten wir eine Eigenschaft von regulären Sprachen ab (das Pumping Lemma, nächste Folie). Das Pumping-Lemma für reguläre Sprachen sagt aus, dass reguläre Sprachen diese abgeleitete Eigenschaft haben. Das Pumping-Lemma macht keine direkten Aussagen über endliche Automaten. 21 / 67

22 Das Pumping-Lemma (IV) Satz 3.2 (Pumping-Lemma) Sei L eine reguläre Sprache über einem Alphabet Σ. Dann gibt es eine natürlich Zahl n 1 (Pumping-Zahl für L), so dass gilt: Zu jedem x L mit x n gibt es u, v, w Σ mit x = uvw und 1 v 1, 2 uv n, 3 Für jedes k N ist uv k w L. 22 / 67

23 Das Pumping-Lemma (V) Beweis: Da L regulär ist: es gibt einen DFA M = (Z, Σ, δ, z 0, E) mit L(M) = L. Setze: n = Z. (Dann gilt n 1.) Sei nun x = a 1 a m mit x n, also m n. Bei der Akzeptierung von x durchläuft M m + 1 Zustände z 0, z 1,..., z m mit z m E und δ(z i, a i+1 ) = z i+1 für i = 0,..., m 1. Da M insgesamt nur n Zustände hat: in der Teilfolge z 0,..., z n muss (mindestens) ein Zustand zweimal vorkommen. Es gibt also i, j mit 0 i < j n, z i = z j und ˆδ(z 0, a 1... a i ) = z i, ˆδ(z i, a i+1... a j ) = z j = z i, ˆδ(z j, a j+1... a m ) = z m E. 23 / 67

24 Das Pumping-Lemma (VI) Beweis (Fortsetzung): Setze: u = a 1 a i, v = a i+1 a j und w = a j+1 a m. Dann ist x = uvw und 1 v 1, 2 uv n, 3 ˆδ(z i, v k ) = z j = z i für alle k N. Aus 3. folgt: ˆδ(z 0, uv k w) E. Also: uv k w L für alle k N. 24 / 67

25 Das Pumping-Lemma (VII) Wie kann man das Pumping-Lemma dazu nutzen, um zu zeigen, dass eine Sprache nicht regulär ist? Alle regulären Sprachen erfüllen die Bedingungen des Pumping-Lemmas. Das heißt: wenn eine Sprache L die Bedingungen nicht erfüllt, dann ist sie nicht regulär. Beachte (häufige Fehlerquelle!): Es gibt auch nicht-reguläre Sprachen, die die Bedingungen des Pumping-Lemmas erfüllen. (Das Pumping-Lemma liefert nur eine notwendige Bedingung für Regularität, nicht aber eine hinreichende!) Das heißt: Man kann das Pumping-Lemma nicht benutzen, um zu zeigen, dass eine Sprache regulär ist. 25 / 67

26 Das Pumping-Lemma (VIII) Beispiel Behauptung: Beweis: Annahme: L = {a i b i {a, b} i N} ist nicht regulär. L = {a i b i {a, b} i N} ist regulär. Sei n die Pumping-Zahl von L. Betrachte: x = a n b n L. Es ist x = 2n n, also gibt es u, v, w {a, b} mit x = uvw und den in Satz 3.2 genannten Eigenschaften 1-3. Aus uv n folgt: in v kommt kein b vor, also: v = a m. Wegen v 1 ist m 1 und damit uv 0 w = uw = a n m b n L. Widerspruch (denn gemäß dritter Eigenschaft: uv 0 w L). 26 / 67

27 Minimierung von Automaten 27 / 67

28 Minimierung von Automaten (I) Motivation Bisher: Jetzt: Endliche Automaten im Zusammenhang mit regulären Sprachen systematische Konstruktionen: DFA reguläre Grammatiken NFA DFA Vereinfachung eines gegebenen DFA, so dass immer noch dieselbe Sprache akzeptiert wird möglichst kleine Realisierung von regulären Sprachen durch DFA Also: Minimierung endlicher Automaten 28 / 67

29 Minimierung von Automaten (II) Beispiel Feststellung: für die Zustände 4, 5 gilt Mit einem Wort, das ein a enthält, landet man von dort aus immer in einem Endzustand (nämlich in 6). Mit einem Wort, das kein a enthält, landet man von dort aus immer in einem Nicht-Endzustand (in 4 bzw. in 5). 29 / 67

30 Minimierung von Automaten (III) Beispiel (Fortsetzung) Daraus folgt: 4 und 5 sind erkennungsäquivalent und können zu einem Zustand verschmolzen werden. 30 / 67

31 Äquivalenzklassenautomaten (I) Pumping-Lemma: notwendige Bedingung für Regularität. Jetzt: notwendige und hinreichende Charakterisierung der regulären Sprachen. Definition (Myhill-Nerode-Äquivalenz) Sei L Σ formale Sprache. Die binäre Relation L Σ Σ ist gegeben durch: x L y : für alle w Σ gilt xw L yw L. Bemerkung: x L y bedeutet: eine (Weiter-) Verarbeitung beliebiger Wörter w führt zum gleichen Akzeptanz- (bzw. Nicht-Akzeptanz)-Ergebnis. 31 / 67

32 Äquivalenzklassenautomaten (II) Beispiel Für L = {a i b i {a, b} i N} gilt: Für beliebige i, j N mit i j gilt: a i L a j, denn: a i b i L aber a j b i L. Dagegen gilt z. B. aab L aaabb und auch abb L ba, wegen x L y für alle w Σ : xw L yw L. Für die nächsten Schritte benötigen wir einige mathematische Grundbegriffe, nämlich: Äquivalenzrelation Äquivalenzklasse 32 / 67

33 Äquivalenzrelationen (I) Idee: Ähnliche Objekte als gleich ansehen. Formalisierung der Gleichwertigkeitsbegriffs Definition Sei M eine Menge. Die binäre Relation R M M heißt Äquivalenzrelation, wenn sie reflexiv, transitiv und symmetrisch ist. Beispiele die = -Relation die Gleichmächtigkeit endlicher Mengen, wobei die Mächtigkeit die Anzahl der Elemente beschreibt 33 / 67

34 Äquivalenzrelationen (II) Beispiele (Fortsetzung) Gegeben: M = alle Schüler einer Schule s 1 R s 2 = s 1 geht in die gleiche Klasse, wie s 2 Ein Schüler geht in die gleiche Klasse, wie er selbst (Reflexivität). Paul geht in die gleiche Klasse wie Petra und Petra in die gleiche Klasse wie Nicole. Deshalb gehen auch Paul und Nicole in die gleiche Klasse (Transitivität). Paul geht in die gleiche Klasse wie Petra und Petra in die gleiche Klasse wie Paul (Symmetrie). 34 / 67

35 Äquivalenzklassen Definition Sei R M M eine Äquivalenzrelation. Dann heißen für a M die Mengen Äquivalenzklassen von R. Beispiel (Fortsetzung) Äquivalenzklasse eines Schülers: [a] R = {b M a R b} Menge aller seiner Mitschüler der gleichen Schulklasse (ihn selbst mit eingeschlossen wegen der Reflexivität). Die Menge der Äquivalenzklassen ist die Menge der Schulklassen. 35 / 67

36 Index (I) Die Myhill-Nerode-Äquivalenz L Σ Σ einer Sprache L ist eine Äquivalenzrelation. Bilde die Äquivalenzklassen: Definition (Index) Sei L eine Sprache über einem Alphabet Σ. Für x Σ bezeichne [x] L die Äquivalenzklasse von x bzgl. L : [x] L = {y Σ x L y}. Der Index I(L) von L ist die Anzahl der Äquivalenzklassen in Σ bzgl. L : I(L) = { [x] L x Σ } Ist der Kontext klar, schreibe [x] statt [x] L. 36 / 67

37 Index (II) Beispiel Sei L = {v {a, b} v enthält genau ein b}. Für beliebiges x {a, b} gilt: x enthält kein b x L ε x enthält genau ein b x L b x enthält mehr als ein b x L bb (xw L εw = w L für alle w), (xw L bw L für alle w), (xw L bbw L für alle w), und ε L b, ε L bb und b L bb. Damit sind [ε], [b], [bb] alle Äquivalenzklassen in {a, b} bezüglich L, und es ist I(L) = / 67

38 Index (III) Vermutung: Zusammenhang zwischen dem Index einer Sprache und der notwendigen Anzahl von Zuständen eines DFA, der diese Sprache akzeptiert. Es gilt zunächst: Satz 3.3 Sei M ein DFA mit n Zuständen. Dann gilt: n I(L(M)). 38 / 67

39 Index (IV) Beweis: Seien u, v Σ und [u] bzw. [v] die zugehörigen Äquivalenzklassen. Zeige: verschiedene Klassen bestimmen verschiedene Zustände: [u] [v] = ˆδ(z, u) ˆδ(z, v). Es gelte ˆδ(z, u) = ˆδ(z, v). Dann gilt: w Σ : ˆδ(z, uw) = ˆδ(z, vw) w Σ : ˆδ(z, uw) E ˆδ(z, vw) E w Σ : (uw L(M) vw L(M)) und damit [u] = [v]. 39 / 67

40 Äquivalenzklassenautomat (I) Folgerung: Für jede Sprache L gilt: Jeder DFA, der L akzeptiert, hat mindestens I(L) Zustände (Satz 3.3). Ein solcher DFA ist nur möglich, falls I(L) endlich ist. Ist dies der Fall, so können wir zu L auch einen DFA angeben, der mit genau I(L) Zuständen auskommt. (Beachte: I(L) 1 gilt immer.) 40 / 67

41 Äquivalenzklassenautomat (II) Definition (Äquivalenzklassenautomat) Sei L eine Sprache über einem Alphabet Σ mit I(L) = n und den n verschiedenen Äquivalenzklassen bzgl. L : [x 1 ], [x 2 ],..., [x n ]. Der Äquivalenzklassenautomat von L ist der DFA M = (Z, Σ, δ, z 0, E) mit Z = {[x 1 ], [x 2 ],..., [x n ]}, δ([x], a) = [xa] für alle x Σ, a Σ, z 0 = [ε], E = {[x] x L}. Bemerkungen: Man muss prüfen, ob der DFA M wohldefiniert ist, d.h.: die Festlegungen für δ und E sind unabhängig von den gewählten Repräsentanten der Äquivalenzklassen 41 / 67

42 Äquivalenzklassenautomat (III) Satz 3.4 Für den Äquivalenzklassenautomaten M einer Sprache L gilt: L(M) = L. Beweis: Per Induktion über w zeige: für M gilt Induktionsanfang: Induktionsschritt: Damit gilt: ˆδ([x], w) = [xw] für alle x, w Σ. ˆδ([x], ε) = [x] = [xε], ˆδ([x], aw) Def. ˆδ Def. Äqu.Aut. = ˆδ(δ([x], a), w) = ˆδ([xa], w) I.V. = [xaw]. w L(M) ˆδ([ε], w) E [w] E w L. Also L(M) = L. 42 / 67

43 Äquivalenzklassenautomat (IV) Beispiel L = {v {a, b} v enthält genau ein b} Äquivalenzklassen: [ε], [b] und [bb]. Äquivalenzklassenautomat Zustände: [ε], [b] und [bb]. Anfangszustand: [ε] Akzeptierende Zustände: E = {[b]} (da b L und ε, bb L). Überführungsfunktion δ: δ([ε], a) = [εa] = [ε] δ([ε], b) = [εb] = [b] δ([b], a) = [ba] = [b] δ([b], b) = [bb] δ([bb], a) = [bba] = [bb] δ([bb], b) = [bbb] = [bb] 43 / 67

44 Äquivalenzklassenautomat (V) Beispiel (Fortsetzung) Grafisch: 44 / 67

45 Äquivalenzklassenautomat (VI) Satz 3.5 (Satz von Myhill-Nerode) Eine Sprache L ist genau dann regulär, wenn der Index von L endlich ist. Genau dann wenn L regulär ist, lässt sich L durch einen DFA akzeptieren, d.h. mit endlich vielen Zuständen. Der Index Mindestanzahl der Zustände ist dann endlich. Methode zum Nachweis der Nichtregularität 45 / 67

46 Äquivalenzklassenautomat (VII) Beispiel Zuvor: Nicht-Regularität von L = {a i b i {a, b} i N} mit Hilfe des Pumping-Lemmas. Jetzt: mit Hilfe des Satzes von Myhill-Nerode: Für i, j N mit i j gilt: a i L a j (siehe oben) Damit sind verschiedene Äquivalenzklassen von {a, b} bzgl. L : [ε], [a], [aa], [aaa], Also: Index von L ist unendlich und daher L nicht regulär. 46 / 67

47 Minimierung von Automaten (I) Ist L eine reguläre Sprache, so hat jeder DFA, der L akzeptiert, mindestens I(L) Zustände. Der Äquivalenzklassenautomat von L akzeptiert L und hat genau I(L) Zustände. Der Äquivalenzklassenautomat ist also ein Minimalautomat für L: es gibt keinen DFA mit weniger Zuständen für L. Verschiedene Minimalautomaten für eine Sprache unterscheiden sich höchstens im Namen der Zustände. Frage: Kann man aus einem gegebenen (im Allgemeinen nicht minimalen) DFA M den Minimalautomaten M min mit L(M min ) = L(M) konstruieren/berechnen? 47 / 67

48 Minimierung von Automaten (II) Unerreichbare Zustände können entfernt werden. Beispiel z 2 z z 1 1 z z 1 0,1 0 0,1 Definition (Erreichbarer Automat) Ein DFA M = (Z, Σ, δ, z 0, E) heißt erreichbar wenn er keine unerreichbaren Zustände enthält, d.h.: für jedes z Z existiert w Σ mit ˆδ(z 0, w) = z. 48 / 67

49 Minimierung von Automaten (III) Definition (Erkennungsäquivalenz) Sei M = (Z, Σ, δ, z 0, E) ein DFA. Die binäre Relation M Z Z ist gegeben durch: z M z : für alle x Σ gilt ˆδ(z, x) E ˆδ(z, x) E. Zwei Zustände z, z Z heißen erkennungsäquivalent genau dann, wenn z M z gilt. Bemerkung: z M z bedeutet: eine (Weiter-)Verarbeitung beliebiger Wörter von z und z aus führt zum gleichen Akzeptanzergebnis (bzw. Nicht-Akzeptanzergebnis). 49 / 67

50 Minimierung von Automaten (IV) Definition (reduziert) Ein erreichbarer DFA M heißt reduziert, wenn für beliebige verschiedene Zustände z und z von M gilt: z M z. z und z mit z M z leisten in Bezug auf Akzeptanz das Gleiche nur einer von beiden wird benötigt Ein reduzierter Automat benötigt alle seine Zustände, ist also minimal. Satz 3.6 Seien M ein DFA und L = L(M). M hat genau dann I(L) Zustände, wenn M reduziert ist. 50 / 67

51 Minimierung von Automaten (V) Ein reduzierter DFA ist also Minimalautomat für die von ihm akzeptierte Sprache. Sei M ein nicht reduzierter DFA. Dann erhalte reduzierten DFA mit Zuständen = Äquivalenzklassen bzgl. M : (analog zum Äquivalenzklassenautomaten) 51 / 67

52 Reduzierter Automat (I) Definition (Reduzierter Automat) Sei M = (Z, Σ, δ, z 0, E) ein erreichbarer DFA und den Äquivalenzklassen in Z bzgl. M : [z 0 ], [z 1 ],..., [z n ]. Der reduzierte Automat von M ist der DFA M = (Z, Σ, δ, [z 0 ], E ) mit Z = {[z 0 ], [z 1 ],..., [z n ]}, δ ([z], a) = [δ(z, a)] für alle [z] Z und a Σ, E = {[z] z E}. Bemerkung: Äquivalenzklassenautomat hat Äquivalenzklassen bzgl. L reduzierter Automat hat Äquivalenzklassen bzgl. M 52 / 67

53 Reduzierter Automat (II) Identifizierung von z M z erhält die akzeptierte Sprache: Satz 3.7 Sei M ein erreichbarer DFA und M der reduzierte Automat von M. Dann gilt: L(M ) = L(M). 53 / 67

54 Reduzierter Automat (III) Beweis: Per Induktion über w zeige: ˆδ ([z], w) = [ˆδ(z, w)] für alle z Z, w Σ. Induktionsanfang: Induktionsschritt: ˆδ ([z], aw) ˆδ ([z], ε) = [z] = [ˆδ(z, ε)], Def. ˆδ = ˆδ (δ ([z], a), w) I.V. = [ˆδ(δ(z, a), w)] Daher gilt: w L(M ) ˆδ ([z 0 ], w) E [ˆδ(z 0, w)] E ˆδ(z 0, w) E w L(M), also L(M ) = L(M). Def. red. Aut. = ˆδ ([δ(z, a)], w) Def. ˆδ = [ˆδ(z, aw)]. 54 / 67

55 Konstruktion eines Minimalautomaten (I) Folgerung: Der reduzierte DFA M kann iterativ berechnet werden. Betrachte für k N die Relationen R k Z Z mit z R k z : ˆδ(z, x) E ˆδ(z, x) E für alle x Σ, x k. }{{} z M z 55 / 67

56 Konstruktion eines Minimalautomaten (II) z R k z : ˆδ(z, x) E ˆδ(z, x) E für alle x Σ, x k. }{{} z M z Offenbar gilt: M = R k. Für die R k gilt: k=0 z R 0 z z E z E, z R k+1 z z R k z und ˆδ(z, aw) E ˆδ(z, aw) E für alle a Σ, w k Def. ˆδ z R k z und ˆδ(δ(z, a), w) E ˆδ(δ(z, a), w) E für alle a Σ, w k Def. R k z Rk z und δ(z, a) R k δ(z, a) für alle a Σ. 56 / 67

57 Konstruktion eines Minimalautomaten (III) Die Relation M kann iterativ wie folgt berechnet werden: 1 Berechne R 0. 2 Berechne R k+1 aus R k : entferne alle (z, z ) für die δ(z, a) R k δ(z, a) nicht gilt für ein a Σ 3 Wiederhole solange, bis nichts mehr entfernt wird. 57 / 67

58 Konstruktion eines Minimalautomaten (IV) Tabellenfüllalgorithmus Idee: suche schrittweise nicht-erkennungsäquivalente Zustandspaare (beginned bei Paaren aus End- und Nicht-Endzuständen) Tabelle, die Zustandspaare verwaltet Jedes Zustandspaar ist entweder markiert oder unmarkiert. markiert = Zustände nicht in R k enthalten Am Ende des Algorithmus gilt: z M z für alle unmarkierten Zustandspaare. 58 / 67

59 Algorithmus Minimalautomat (I) Eingabe: DFA M = (Z, Σ, δ, z 0, E) Ausgabe: Mengen von erkennungsäquivalenten Zuständen 1. Entferne alle unerreichbaren Zustände aus M. 2. Stelle eine Tabelle aller (ungeordneten) Zustandspaare (z, z ) Z Z mit z z auf. 3. Markiere alle Paare (z, z ) mit z E und z E oder umgekehrt. (z, z sind sicherlich nicht erkennungsäquivalent.) 59 / 67

60 Algorithmus Minimalautomat (II) 4. Wiederhole so lange, bis sich die Tabelle nicht mehr ändert: Für jedes unmarkierte Paar (z, z ) in der Tabelle: Falls es a Σ gibt, so dass (δ(z, a), δ(z, a)) markiert ist, so markiere (z, z ). (z, z können nicht erkennungsäquivalent sein.) Alle am Schluss unmarkierten Paare (z, z ) sind erkennungsäquivalent. 60 / 67

61 Algorithmus Minimalautomat (III) Beispiel Erstelle eine Tabelle aller Zustandspaare: (1) Markiere Paare von Endzuständen und Nicht-Endzuständen 61 / 67

62 Algorithmus Minimalautomat (IV) Beispiel (Fortsetzung) (2) Markiere {2, 4} wegen δ(2, a) = 1, δ(4, a) = 6 und {1, 6} markiert (3) Markiere {3, 5} wegen δ(3, a) = 1, δ(5, a) = 6 und {1, 6} markiert 62 / 67

63 Algorithmus Minimalautomat (V) Beispiel (Fortsetzung) (4) Markiere {2, 5} wegen δ(2, a) = 1, δ(5, a) = 6 und {1, 6} markiert (5) Markiere {3, 4} wegen δ(3, a) = 1, δ(4, a) = 6 und {1, 6} markiert 63 / 67

64 Algorithmus Minimalautomat (VI) Beispiel (Fortsetzung) (6) Markiere {1, 5} wegen δ(1, a) = 3, δ(5, a) = 6 und {3, 6} markiert (7) Markiere {1, 4} wegen δ(1, a) = 3, δ(4, a) = 6 und {3, 6} markiert 64 / 67

65 Algorithmus Minimalautomat (VII) Beispiel (Fortsetzung) (8) Markiere {1, 3} wegen δ(1, b) = 2, δ(3, b) = 5 und {2, 5} markiert (9) Markiere {1, 2} wegen δ(1, b) = 2, δ(2, b) = 4 und {2, 4} markiert 65 / 67

66 Algorithmus Minimalautomat (VIII) Beispiel (Fortsetzung) Die verbleibenden Zustandspaare {2, 3} und {4, 5} können nicht mehr markiert werden, d. h. sie sind erkennungsäquivalent. Ergebnis: 66 / 67

67 Zusammenfassung 1 Lernziele 2 Abschlusseigenschaften 3 Das Pumping Lemma 4 Äquivalenzklassenautomaten 5 Minimierung von Automaten 6 Zusammenfassung 67 / 67

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

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

Typ-3-Sprachen. Das Pumping-Lemma

Typ-3-Sprachen. Das Pumping-Lemma Das Pumping-Lemma Typ-3-Sprachen Um zu zeigen, daß eine Sprache L regulär ist, kannman einen NFA M angeben mit L(M) = L, oder eine rechtslineare Grammatik G angeben mit L(G) =L, oder einen regulären Ausdruck

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

Grundlagen der Theoretischen Informatik

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

Mehr

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

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

Mehr

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

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 18.4. 2012 176 Automatentheorie und formale Sprachen VL 5 Reguläre und nichtreguläre Sprachen Kathrin Hoffmann 18. Aptil 2012 Hoffmann (HAW

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

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

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

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

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

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

Mehr

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

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

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 25. September 2013 Aufgabe 1 Geben Sie jeweils eine kontextfreie Grammatik an, welche die folgenden Sprachen erzeugt, sowie einen Ableitungsbaum

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

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 23. Mai 2 Einführung in die Theoretische Informatik Hinweis:

Mehr

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit. Zugangsnummer: 3288

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit.  Zugangsnummer: 3288 Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Wiederholung Kapitel 2 http://pingo.upb.de Zugangsnummer: 3288 Dozent: Jun.-Prof. Dr. D. Baumeister

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

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

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

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung 09.11.2006 schindel@informatik.uni-freiburg.de 1 Äquivalenzklassen Definition und Beispiel Definition Für eine Sprache L Σ* bezeichnen

Mehr

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im W 16/17 Ausgabe 17. Januar 2017 Abgabe 31. Januar 2017, 11:00 Uhr (im

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

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

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

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

5. Äquivalenzrelationen

5. Äquivalenzrelationen 5. Äquivalenzrelationen 35 5. Äquivalenzrelationen Wenn man eine große und komplizierte Menge (bzw. Gruppe) untersuchen will, so kann es sinnvoll sein, zunächst kleinere, einfachere Mengen (bzw. Gruppen)

Mehr

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

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

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 21: Relationen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik

Mehr

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden Maike Buchin 8. Februar 26 Stef Sijben Probeklausur Theoretische Informatik Bearbeitungszeit: 3 Stunden Name: Matrikelnummer: Studiengang: Geburtsdatum: Hinweise: Schreibe die Lösung jeder Aufgabe direkt

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 2. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 1 Einelementiges Alphabet (4 Punkte) (a) Geben

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

Grundlagen der Theoretischen Informatik

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

Mehr

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

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

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

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

Lösungsvorschläge Blatt 4

Lösungsvorschläge Blatt 4 Theoretische Informatik Departement Informatik Prof. Dr. Juraj Hromkovič http://www.ita.inf.ethz.ch/theoinf16 Lösungsvorschläge Blatt 4 Zürich, 21. Oktober 2016 Lösung zu Aufgabe 10 (a) Wir zeigen mit

Mehr

Grundbegriffe der Informatik Tutorium 2

Grundbegriffe der Informatik Tutorium 2 Grundbegriffe der Informatik Tutorium 2 Tutorium Nr. 32 Philipp Oppermann 13. November 2013 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Beschreibungskomplexität von Grammatiken Definitionen

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

Mehr

Kontextfreie Sprachen

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

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik 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

Formale Sprachen und Automaten

Formale Sprachen und Automaten Mengen Eine Menge ist eine Gruppe von Elementen, die eine Einheit bilden (siehe z.b. Halmos 1976). Formale Sprachen und Automaten Mathematisches Rüstzeug Mengen können verschiedene Typen von Elementen

Mehr

Kapitel 1. Grundlagen Mengen

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

Mehr

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Theoretische Informatik für Wirtschaftsinformatik und Lehramt Theoretische Informatik für Wirtschaftsinformatik und Lehramt Reguläre Sprachen Priv.-Doz. Dr. Stefan Milius stefan.milius@fau.de Theoretische Informatik Friedrich-Alexander Universität Erlangen-Nürnberg

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 23. Januar Uni Bielefeld, WS 2007/2008 1/18

Formale Methoden 1. Gerhard Jäger 23. Januar Uni Bielefeld, WS 2007/2008 1/18 1/18 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 23. Januar 2008 2/18 Das Pumping-Lemma Sein L eine unendliche reguläre Sprache über ein endliches Alphabet

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

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

DKA und dkfs (mit Übungen)

DKA und dkfs (mit Übungen) DKA und dkfs (mit Übungen) Prof.Dr.Christian Wagenknecht mit Beiträgen von Herrn Dr.Michael Hielscher Prof.Dr.Chr. Wagenknecht Formale Sprachen und Automaten 1/15 kurz DKA Analog zu endlichen Automaten

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

Abschlusseigenschaften. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Abschlusseigenschaften

Abschlusseigenschaften. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Abschlusseigenschaften Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Abgeschlossenheit (Definition) Gegeben sei eine Menge M und ein n-ärer

Mehr

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

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

Mehr

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution Wiederholung Beschreibungsformen für reguläre Sprachen: DFAs NFAs Reguläre Ausdrücke:, {ε}, {a}, und deren Verknüpfung mit + (Vereinigung), (Konkatenation) und * (kleenescher Abschluss) Abschluss gegen

Mehr

Lösungen zu Übungsblatt 4

Lösungen zu Übungsblatt 4 Lösungen zu Übungsblatt 4 Aufgabe 1 Sei Σ = {0,1,2} und u = 0102. Gesucht ist der minimale DEA der die Sprache L u = {w Σ u ist Teilwort von w} erkennt. Laut Vorlesung ist das Rückgrat des DEA von der

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

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

Reguläre Sprachen Slide 1. Reguläre Sprachen. Hans U. Simon (RUB) Homepage:

Reguläre Sprachen Slide 1. Reguläre Sprachen. Hans U. Simon (RUB)   Homepage: Reguläre Sprachen Slide 1 Reguläre Sprachen Hans U. Simon (RUB) Email: simon@lmi.rub.de Homepage: http://www.ruhr-uni-bochum.de/lmi Reguläre Sprachen Slide 2 Merkmale endlicher Automaten: Endliche Automaten

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

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

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

Mehr

Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion

Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion Saskia Klaus 07.10.016 1 Motivation In den ersten beiden Vorträgen des Vorkurses haben wir gesehen, wie man aus schon bekannten Wahrheiten

Mehr

Konstruktion reeller Zahlen aus rationalen Zahlen

Konstruktion reeller Zahlen aus rationalen Zahlen Konstruktion reeller Zahlen aus rationalen Zahlen Wir nehmen an, daß der Körper der rationalen Zahlen bekannt ist. Genauer wollen wir annehmen: Gegeben ist eine Menge Q zusammen mit zwei Verknüpfungen

Mehr

Kapitel 1. Grundlagen

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

Mehr

Kapitel 2: Formale Sprachen Gliederung

Kapitel 2: Formale Sprachen Gliederung Gliederung. Einleitung und Grundbegriffe. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.. Chomsky-Grammatiken 2.2. Reguläre Sprachen Reguläre Grammatiken, ND-Automaten

Mehr

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005 Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 2004/05 ILKD Prof. Dr. D. Wagner 24. Februar 2005 1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005 Aufkleber Beachten

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 17: Relationen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/77 Überblick Äquivalenzrelationen Definition Äquivalenzrelationen

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

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 2: Eigenschaften von regulären Sprachen schulz@eprover.org Software Systems Engineering Alphabet Definition: Ein Alphabet Σ ist eine nichtleere, endliche

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 Grundlagen der Computerlinguistik

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

Mehr

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

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 11 15. Juli 2010 Einführung in die Theoretische

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

Mengen. Eigenschaften. Spezielle Mengen (1) Prominente Mengen. ! Mengenzugehörigkeit

Mengen. Eigenschaften. Spezielle Mengen (1) Prominente Mengen. ! Mengenzugehörigkeit Mengen! Definition (Intuitive Mengenlehre) Eine Menge ist die Zusammenfassung von Elementen unserer Anschauung zu einem wohldefinierten Ganzen. (Georg Cantor)! Notation 1. Aufzählung aller Elemente: {

Mehr

Induktive Definition

Induktive Definition Rechenregeln A B = B A A (B C) = (A B) C A (B C) = (A B) C A (B C) = A B A C (B C) A = B A C A {ε} A = A A {ε} = A (A {ε}) = A (A ) = A A A = A + A A = A + A + {ε} = A Beispiel. Real-Zahlen = {0,..., 9}

Mehr

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen (Kontextsensitive) Sprachen L 2 Menge aller kontextfreien

Mehr

I.5. Kontextfreie Sprachen

I.5. Kontextfreie Sprachen I.5. Kontextfreie prachen Zieht man in Betracht, dass BNF-yteme gerade so beschaffen sind, dass auf der linken eite immer genau ein Nichtterminal steht, so sind das also gerade die Ableitungsregeln einer

Mehr

2.2 Konstruktion der rationalen Zahlen

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

Mehr

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

Konstruktion der reellen Zahlen

Konstruktion der reellen Zahlen Konstruktion der reellen Zahlen Zur Wiederholung: Eine Menge K (mit mindestens zwei Elementen) heißt Körper, wenn für beliebige Elemente x, y K eindeutig eine Summe x+y K und ein Produkt x y K definiert

Mehr

Übung zur Vorlesung Theoretische Information. Pumping Lemma

Übung zur Vorlesung Theoretische Information. Pumping Lemma Übung zur Vorlesung Theoretische Information Pumping Lemma Folie Ein Endlicher Automat q q, q 2, Akzeptierte Sprache? Folie 2 Ein Endlicher Automat q q, q 2, Akzeptierte Sprache? Am Anfang eine, dannach

Mehr

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie Theorie der Informatik 17. März 2014 6. Formale Sprachen und Grammatiken Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 6.1 Einführung

Mehr

Lineare Algebra I. Auswahlaxiom befragen. (Wer schon im Internet danach sucht, sollte das auch mal mit dem Begriff

Lineare Algebra I. Auswahlaxiom befragen. (Wer schon im Internet danach sucht, sollte das auch mal mit dem Begriff Universität Konstanz Wintersemester 2009/2010 Fachbereich Mathematik und Statistik Lösungsblatt 2 Prof. Dr. Markus Schweighofer 11.11.2009 Aaron Kunert / Sven Wagner Lineare Algebra I Lösung 2.1: Behauptung:

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

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz. Chomsky-0-Grammatik Rek. Aufz. Satz T5.2.2: Wenn L durch eine Chomsky-0- Grammatik G beschrieben wird, gibt es eine NTM M, die L akzeptiert. Beweis: Algo von M: Schreibe S auf freie Spur. Iteriere: Führe

Mehr

5.4 Endliche Automaten

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

Mehr

Theoretische Informatik 2

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

Mehr

Kontextfreie Grammatiken

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

Mehr

Vorkurs: Mathematik für Informatiker

Vorkurs: Mathematik für Informatiker Vorkurs: Mathematik für Informatiker Teil 3 Wintersemester 2016/17 Steven Köhler mathe@stevenkoehler.de mathe.stevenkoehler.de 2 c 2016 Steven Köhler Wintersemester 2016/17 Inhaltsverzeichnis Teil 1 Teil

Mehr

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik Prof. Dr. A. Taraz, Dipl-Math. A. Würfl, Dipl-Math. S. König Weihnachtsblatt Aufgabe W.1 Untersuchen Sie nachstehenden

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

11.1 Kontextsensitive und allgemeine Grammatiken

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

Mehr

Theoretische Informatik. 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

3 Topologische Gruppen

3 Topologische Gruppen $Id: topgr.tex,v 1.2 2010/05/26 19:47:48 hk Exp hk $ 3 Topologische Gruppen Als letztes Beispiel eines topologischen Raums hatten wir die Zariski-Topologie auf dem C n betrachtet, in der die abgeschlossenen

Mehr

Theoretische Informatik. Alphabete, Worte, Sprachen

Theoretische Informatik. Alphabete, Worte, Sprachen Theoretische Informatik Alphabete, Worte, Sprachen Alphabete, Worte, Sprachen 1. Alphabete und Worte Definitionen, Beispiele Operationen mit Worten Induktionsbeweise 2. Sprachen Definition und Beispiele

Mehr

Wie kann man beweisen, dass (H, ) eine Gruppe ist?

Wie kann man beweisen, dass (H, ) eine Gruppe ist? Wie kann man beweisen, dass (H, ) eine Gruppe ist? Wie kann man beweisen, dass (H, ) eine Gruppe ist? (zb wenn die Multiplikation mit Hilfe einer Tabelle gegeben ist) Wie kann man beweisen, dass (H, )

Mehr

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

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

Mehr

2. Symmetrische Gruppen

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

Mehr

Einführung in die Logik

Einführung in die Logik Einführung in die Logik Klaus Madlener und Roland Meyer 24. April 2013 Inhaltsverzeichnis 1 Aussagenlogik 1 1.1 Syntax................................. 1 1.2 Semantik............................... 3 1.3

Mehr