Automatentheorie und formale Sprachen VL 4 Reguläre Ausdrücke und reguläre Sprachen Kathrin Hoffmann 10. April 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 114
Aufgabe 13: Gegeben Σ = {0, 1} und der folgende NEA: Konstruieren Sie bitte den DEA, der dieselbe Sprache erkennt. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 115
Lösung von Aufgabe 13 Teilmengenkonstruktion ergibt: 0 1 {q0} {q0, q1, q3} {q0} {q0, q1, q3} {q0, q1, q2, q3} {q0} {q0, q1, q2, q3} {q0, q1, q2, q3} {q0} und als Diagramm: Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 116
Spontanität Weitere Modellierungshilfe: ɛ-übergänge ɛ kennzeichnet die leere Zeichenreihe ɛ = 0 Σ 0 = {ɛ} Σ = Σ 0 Σ 1 Σ 2 Σ 3... Σ = Σ + {ɛ} ɛ Übergang bedeutet: Wechsel des Zustands ohne Konsumierung eines Zeichens Wie der Nicht-Determinismus eine Art zusätzlicher Freiheitsgrad wird beim NEA eingesetzt: ɛ-nea Auch ɛ-neas sind äquivalent zu DEAs Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 117
ɛ-nea Definition Ein nicht-deterministischer, endlicher ɛ-automat E = (Q E, Σ E, δ E, q 0, F E ) besteht aus einer nichtleeren, endlichen Zustandsmenge Q E einem endlichen Eingabealphabet Σ E einer Übergangsfunktion δ E : Q E (Σ E {ɛ}) P(Q E ) einem Startzustand q 0 und einer Menge von (akzeptierenden) Endzuständen F E Q E Bemerkung ɛ-übergänge sind Übergänge ohne explizite Eingabe, so genannte spontane Übergänge. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 118
Beispiel Welche Sprache erkennt dieser ɛ-nea A? Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 119
Beispiel Welche Sprache erkennt dieser ɛ-nea A? Lösung L(A) = {ɛ, b} Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 119
ɛ-hülle Definition Gegeben ɛ-nea E = (Q, Σ, δ, q 0, F) dann ist die ɛ-hülle eines Zustandes q Q rekursiv definiert durch: q ɛ-hülle(q) Ist p ɛ-hülle(q) und r δ(p, ɛ), dann ist auch r ɛ-hülle(q). BSP: ɛ-hülle(q0) = {q0, q1, q2, q3, q4} ɛ-hülle(q1) = {q1, q3, q4} ɛ-hülle(q2) = {q2} Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 120
Aufgabe 14: Gegeben der ɛ-nea E. Geben Sie bitte L(E) an. Berechnen Sie bitte die ɛ-hüllen der Zustände. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 121
Aufgabe 14: Gegeben der ɛ-nea E. Geben Sie bitte L(E) an. Berechnen Sie bitte die ɛ-hüllen der Zustände. Lösung L(E) = {b n n 0} ɛ-hülle(q0) = {q0, q2, q4, q3} ɛ-hülle(q1) = {q1} ɛ-hülle(q2) = {q2, q4} ɛ-hülle(q3) = {q2, q3, q4} ɛ-hülle(q4) = {q4} Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 121
Erweiterte Übergangsfunktion Die erweiterte Übergangfunktion δ : Q Σ P(Q) des ɛ-nea E = (Q, Σ, q 0, δ, F) ist die sequentielle Anwendung von δ auf ein Wort wx mit w Σ und x Σ und ist rekursiv definiert durch: δ(q, ɛ) = ɛ-hülle(q) δ(q, wx) = ɛ-hülle( δ(q, x)) q δ(q,w) wobei ɛ-hülle(s) = ɛ-hülle(q) mit S Q q S Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 122
Beispiel: Berechnung von δ(q0, bba) δ(q0, ɛ) = ɛ-hülle(q0) = {q0, q3} Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 123
Beispiel: Berechnung von δ(q0, bba) δ(q0, ɛ) = ɛ-hülle(q0) = {q0, q3} δ(q0, b) = ɛ-hülle( δ(q, b)) q δ(q0,ɛ) = ɛ-hülle(δ(q0, b) δ(q3, b)) = ɛ-hülle({q0, q4}) = {q0, q3, q4} Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 123
Beispiel: Berechnung von δ(q0, bba) δ(q0, b) = {q0, q3, q4} δ(q0, bb) = ɛ-hülle( q δ(q0,b) δ(q, b)) = ɛ-hülle(δ(q0, b) δ(q3, b) δ(q4, b)) = ɛ-hülle({q0, q4}) = {q0, q3, q4} Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 123
Beispiel: Berechnung von δ(q0, bba) δ(q0, bb) = {q0, q3, q4} δ(q0, bba) = ɛ-hülle( q δ(q0,bb) δ(q, a)) = ɛ-hülle(δ(q0, a) δ(q3, a) δ(q4, a)) = ɛ-hülle({q1, q2, q4}) = {q1, q2, q4} weil {q1, q2, q4} F = {q2} ist also bba L(A) Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 123
Äquivalenz DEA und ɛ-nea DEA konstruieren ähnlich wie beim NEA: Teilmengenkonstruktion modifiziert Satz 2.22 aus [HMU02]: Eine Sprache L wird genau dann von einem ɛ-nea akzeptiert, wenn L von einem DEA akzeptiert wird. Beweisidee: Wie NEA, also Nachweis, dass Übergangsfunktionen sich entsprechen Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 124
DEA aus ɛ-nea konstruieren Sei ɛ-nea E = (Q E, Σ E, δ E, q 0, F E ) gegeben, dann gibt es den DEA D = (Q D, Σ D, δ D, q D, F D ) mit Q D = {S S Q und S = ɛ-hülle(s)} die Menge aller abgeschlossenen ɛ-hüllen Σ D = Σ N dasselbe Alphabet q D = ɛ-hülle(q 0 ) die ɛ-hülle des Startzustandes δ D : P(Q D ) Σ P(Q D ) mit δ D (S, x) = ɛ-hülle( q S δ E (q, x)) für S P(Q D ) und x Σ D die Übergangsfunktion, die jeder Menge von Zuständen, die im NEA möglich sind, genau die ɛ-hülle der Menge der möglichen Folgezustände im NEA zuordnet F D = {S S Q D und S F E } die Teilmengen von Q D mit mindestens einem Endzustand Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 125
Aufgabe 15: Konstruieren Sie bitte einen äquivalenten DEA. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 126
Aufgabe 15: Konstruieren Sie bitte einen äquivalenten DEA. Lösung b {q0, q2, q3, q4} {q1, q2, q4} {q1, q2, q4} {q1, q2, q4} Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 126
Zusammenfassung: Endliche Automaten Endliche Automaten bilden ein simples Berechnungsmodell. Es gibt DEAs, NEAs und ɛ-neas. Sie sich gleich ausdrucksmächtig. Ein endlicher Automat ist zustandsorientiert und arbeitet ein Wort von links nach rechts Zeichen für Zeichen ab. Das wird durch Konfigurationen oder die erweiterte Übergangsfunktion beschrieben. Endliche Automaten akzeptieren Sprachen. Diese Sprachen nennt man regulär. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 127
Thema 4 Reguläre Ausdrücke und reguläre Sprachen Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 128
Übersicht Praktische Anwendung regulärer Ausdrücke Syntax und Semantik Rechenregeln Äquivalenz zu endlichen Automaten Pumping Lemma für reguläre Sprachen Abschlusseigenschaften regulärer Sprachen Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 129
Was sind reguläre Ausdrücke? Notation zur deklarativen Definition einer Sprache Beispiel: 01 + 10 Erforderliche Operationen: Vereinigung Verkettung Unendliche Verkettung in UNIX-Tools, in Programmiersprachen wie Perl, PHP, Javascript, in Editoren wie UltraEdit, jedit verschiedene Dialekte, aber gleiche Grundstruktur (hier wie [HMU]) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 130
Reguläre Ausdrücke in der Praxis Beschreibung von Datentypen in XML Schema <xsd:simpletype name="usstate"> <xsd:restriction base="xsd:string"> <xsd:pattern value="ak AL AR"/> <!-- and so on... --> </xsd:restriction> </xsd:simpletype> <!-- Stock Keeping Unit: a product identifier- <xsd:simpletype name="sku"> <xsd:restriction base="xsd:string"> <xsd:pattern value="\d{3}-[a-z]{2}"/> </xsd:restriction> </xsd:simpletype> Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 131
Reguläre Ausdrücke in der Praxis XML Dokument Typ Definitionen: Inhaltsmodelle <!ELEMENT chapter (title, subtitle?, (graphic table), sectio Unix grep grep a1* datei Suche nach Zeichenketten, die a, a1, a11, a11...1 lauten grep ˆ[0-9][0-9]*$ datei Suche nach Zeilen in datei, die nur Ziffern enthalten oder leer sind grep a[bc]+d datei Suche in datei nach Zeichenketten, die mit a anfangen, danach mindestens ein b oder c haben und mit d aufhören Generatoren für lexikalische Analysekomponenten: lex, flex, jflex Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 132
WDH: Operationen auf Sprachen Verkettung von Sprachen: V W = {vw v V, w W } rekursive Verkettung von Sprachen (auch Potenz von Sprachen): V 0 = {ɛ} und V n+1 = V n V für n 0 (Kleene-)Stern von V ist V = i 0 V i Vereinigung, Schnitt, Komplement und Differenz von Sprachen Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 133
Reguläre Ausdrücke Definition Sei Σ ein Alphabet. Dann sind, ɛ und x für jedes x Σ reguläre Ausdrücke über Σ. Sind r und s reguläre Ausdrücke über Σ, dann auch (r s), (r + s) und r. Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 134
Reguläre Ausdrücke Definition Sei Σ ein Alphabet. Dann sind, ɛ und x für jedes x Σ reguläre Ausdrücke über Σ. Sind r und s reguläre Ausdrücke über Σ, dann auch (r s), (r + s) und r. BSP: für Σ = {a, b, c} Reguläre Ausdrücke (RA): (ɛ + (a b)) = ɛ + ab (a + b ) (a + b) (b (a (cb) )) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 134
Reguläre Ausdrücke Definition Sei Σ ein Alphabet. Dann sind, ɛ und x für jedes x Σ reguläre Ausdrücke über Σ. Sind r und s reguläre Ausdrücke über Σ, dann auch (r s), (r + s) und r. BSP: für Σ = {a, b, c} Reguläre Ausdrücke (RA): (ɛ + (a b)) = ɛ + ab (a + b ) (a + b) (b (a (cb) )) Klammerregeln bindet stärker als stärker als +. Gleichrangige von links nach rechts. Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 134
Rekursive Definition der Sematik Sprachen regulärer Ausdrücke Definition Für jeden regulären Ausdruck r über Σ definieren wir eine reguläre Sprache L(r) Σ : L( ) = L(ɛ) = {ɛ} L(x) = {x} für x Σ L(r s) = L(r) L(s) L(r + s) = L(r) L(s) L(r ) = L(r) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 135
Rekursive Definition der Sematik Sprachen regulärer Ausdrücke Definition Für jeden regulären Ausdruck r über Σ definieren wir eine reguläre Sprache L(r) Σ : L( ) = L(ɛ) = {ɛ} L(x) = {x} für x Σ L(r s) = L(r) L(s) L(r + s) = L(r) L(s) L(r ) = L(r) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 135
Rekursive Definition der Sematik Sprachen regulärer Ausdrücke Definition Für jeden regulären Ausdruck r über Σ definieren wir eine reguläre Sprache L(r) Σ : L( ) = L(ɛ) = {ɛ} L(x) = {x} für x Σ L(r s) = L(r) L(s) L(r + s) = L(r) L(s) L(r ) = L(r) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 135
Rekursive Definition der Sematik Sprachen regulärer Ausdrücke Definition Für jeden regulären Ausdruck r über Σ definieren wir eine reguläre Sprache L(r) Σ : L( ) = L(ɛ) = {ɛ} L(x) = {x} für x Σ L(r s) = L(r) L(s) L(r + s) = L(r) L(s) L(r ) = L(r) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 135
Rekursive Definition der Sematik Sprachen regulärer Ausdrücke Definition Für jeden regulären Ausdruck r über Σ definieren wir eine reguläre Sprache L(r) Σ : L( ) = L(ɛ) = {ɛ} L(x) = {x} für x Σ L(r s) = L(r) L(s) L(r + s) = L(r) L(s) L(r ) = L(r) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 135
Rekursive Definition der Sematik Sprachen regulärer Ausdrücke Definition Für jeden regulären Ausdruck r über Σ definieren wir eine reguläre Sprache L(r) Σ : L( ) = L(ɛ) = {ɛ} L(x) = {x} für x Σ L(r s) = L(r) L(s) L(r + s) = L(r) L(s) L(r ) = L(r) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 135
Rekursive Definition der Sematik Sprachen regulärer Ausdrücke Definition Für jeden regulären Ausdruck r über Σ definieren wir eine reguläre Sprache L(r) Σ : L( ) = L(ɛ) = {ɛ} L(x) = {x} für x Σ L(r s) = L(r) L(s) L(r + s) = L(r) L(s) L(r ) = L(r) BSP: für Σ = {a, b, c} Reguläre Ausdrücke (RA): L(ɛ + ab) = {ɛ, ab} L(a + b ) = {a, ɛ, b, bb, bbb,...} L((a + b) ) = {ɛ, a, b, aa, ab, bb, abb,...} L(b a(bc) ) = {a, ba, abc, bbabcbcb,...} Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 135
Rekursive Definition der Sematik Sprachen regulärer Ausdrücke Definition Für jeden regulären Ausdruck r über Σ definieren wir eine reguläre Sprache L(r) Σ : L( ) = L(ɛ) = {ɛ} L(x) = {x} für x Σ L(r s) = L(r) L(s) L(r + s) = L(r) L(s) L(r ) = L(r) BSP: für Σ = {a, b, c} Reguläre Ausdrücke (RA): L(ɛ + ab) = {ɛ, ab} L(a + b ) = {a, ɛ, b, bb, bbb,...} L((a + b) ) = {ɛ, a, b, aa, ab, bb, abb,...} L(b a(bc) ) = {a, ba, abc, bbabcbcb,...} Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 135
Rekursive Definition der Sematik Sprachen regulärer Ausdrücke Definition Für jeden regulären Ausdruck r über Σ definieren wir eine reguläre Sprache L(r) Σ : L( ) = L(ɛ) = {ɛ} L(x) = {x} für x Σ L(r s) = L(r) L(s) L(r + s) = L(r) L(s) L(r ) = L(r) BSP: für Σ = {a, b, c} Reguläre Ausdrücke (RA): L(ɛ + ab) = {ɛ, ab} L(a + b ) = {a, ɛ, b, bb, bbb,...} L((a + b) ) = {ɛ, a, b, aa, ab, bb, abb,...} L(b a(bc) ) = {a, ba, abc, bbabcbcb,...} Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 135
Rekursive Definition der Sematik Sprachen regulärer Ausdrücke Definition Für jeden regulären Ausdruck r über Σ definieren wir eine reguläre Sprache L(r) Σ : L( ) = L(ɛ) = {ɛ} L(x) = {x} für x Σ L(r s) = L(r) L(s) L(r + s) = L(r) L(s) L(r ) = L(r) BSP: für Σ = {a, b, c} Reguläre Ausdrücke (RA): L(ɛ + ab) = {ɛ, ab} L(a + b ) = {a, ɛ, b, bb, bbb,...} L((a + b) ) = {ɛ, a, b, aa, ab, bb, abb,...} L(b a(bc) ) = {a, ba, abc, bbabcbcb,...} Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 135
Beispiel: Bildung eines regulären Ausdrucks Regulärer Ausdruck für die Sprache L, die aus Wörtern besteht, die abwechselnd 0 s und 1 s enthalten: L(0) = {0} und L(1) = {1} Verkettung: L(0 1) = L(01) = L(0) L(1) = {01} Kleenesche Hülle: L((01) ) = (L(01)) = {ɛ, 01, 0101, 010101,...} Vereinigung: L((01) + (10) ) = L((01) ) + L((10) ) = {ɛ, 01, 10, 0101, 1010,...} Die Wörter mit ungerader Anzahl von Zeichen: L((01) + (10) + 1(01) + 0(10) ) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 136
Beispiel: Bildung eines regulären Ausdrucks Regulärer Ausdruck für die Sprache L, die aus Wörtern besteht, die abwechselnd 0 s und 1 s enthalten: L(0) = {0} und L(1) = {1} Verkettung: L(0 1) = L(01) = L(0) L(1) = {01} Kleenesche Hülle: L((01) ) = (L(01)) = {ɛ, 01, 0101, 010101,...} Vereinigung: L((01) + (10) ) = L((01) ) + L((10) ) = {ɛ, 01, 10, 0101, 1010,...} Die Wörter mit ungerader Anzahl von Zeichen: L((01) + (10) + 1(01) + 0(10) ) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 136
Beispiel: Bildung eines regulären Ausdrucks Regulärer Ausdruck für die Sprache L, die aus Wörtern besteht, die abwechselnd 0 s und 1 s enthalten: L(0) = {0} und L(1) = {1} Verkettung: L(0 1) = L(01) = L(0) L(1) = {01} Kleenesche Hülle: L((01) ) = (L(01)) = {ɛ, 01, 0101, 010101,...} Vereinigung: L((01) + (10) ) = L((01) ) + L((10) ) = {ɛ, 01, 10, 0101, 1010,...} Die Wörter mit ungerader Anzahl von Zeichen: L((01) + (10) + 1(01) + 0(10) ) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 136
Beispiel: Bildung eines regulären Ausdrucks Regulärer Ausdruck für die Sprache L, die aus Wörtern besteht, die abwechselnd 0 s und 1 s enthalten: L(0) = {0} und L(1) = {1} Verkettung: L(0 1) = L(01) = L(0) L(1) = {01} Kleenesche Hülle: L((01) ) = (L(01)) = {ɛ, 01, 0101, 010101,...} Vereinigung: L((01) + (10) ) = L((01) ) + L((10) ) = {ɛ, 01, 10, 0101, 1010,...} Die Wörter mit ungerader Anzahl von Zeichen: L((01) + (10) + 1(01) + 0(10) ) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 136
Beispiel: Bildung eines regulären Ausdrucks Regulärer Ausdruck für die Sprache L, die aus Wörtern besteht, die abwechselnd 0 s und 1 s enthalten: L(0) = {0} und L(1) = {1} Verkettung: L(0 1) = L(01) = L(0) L(1) = {01} Kleenesche Hülle: L((01) ) = (L(01)) = {ɛ, 01, 0101, 010101,...} Vereinigung: L((01) + (10) ) = L((01) ) + L((10) ) = {ɛ, 01, 10, 0101, 1010,...} Die Wörter mit ungerader Anzahl von Zeichen: L((01) + (10) + 1(01) + 0(10) ) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 136
Beispiel: Bildung eines regulären Ausdrucks Regulärer Ausdruck für die Sprache L, die aus Wörtern besteht, die abwechselnd 0 s und 1 s enthalten: L(0) = {0} und L(1) = {1} Verkettung: L(0 1) = L(01) = L(0) L(1) = {01} Kleenesche Hülle: L((01) ) = (L(01)) = {ɛ, 01, 0101, 010101,...} Vereinigung: L((01) + (10) ) = L((01) ) + L((10) ) = {ɛ, 01, 10, 0101, 1010,...} Die Wörter mit ungerader Anzahl von Zeichen: L((01) + (10) + 1(01) + 0(10) ) Bemerkung: Übliche Vereinfachung ist (01) + (10) + 1(01) + 0(10), obwohl L((01) + (10) + 1(01) + 0(10) ) gemeint ist. Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 136
Aufgabe 16: 1 Bitte beschreiben Sie mit einem regulären Ausdruck, die Sprache über dem Alphabet {a, b, c}, deren Wörter mindestens ein a und ein b enthalten. 2 Bitte beschreiben Sie folgende Sprache: (1 + ɛ)(00 1) 0 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 137
Aufgabe 16: 1 Bitte beschreiben Sie mit einem regulären Ausdruck, die Sprache über dem Alphabet {a, b, c}, deren Wörter mindestens ein a und ein b enthalten. 2 Bitte beschreiben Sie folgende Sprache: (1 + ɛ)(00 1) 0 Lösung 1 c a(a + c) b(a + b + c) + c b(b + c) a(a + b + c) 2 L((1 + ɛ)(00 1) 0 ) = {w w {u11v u, v {0, 1} }} also die Sprache, deren Wörte keine zwei aufeinander folgende 1 en enthalten Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 137
Hausaufgabe 17: Bitte beschreiben Sie mit einem regulären Ausdruck, die Sprache über dem Alphabet {0, 1}, so dass in den Wörter alle direkt aufeinander folgender Nullen (Nuller-Folgen) vor allen Einser-Folgen stehen. BSP: 00011, 10100011110, 10010111011011 Anders ausgedrückt: anfangs nur einzelne 1 en, dann nur einzelne 0 en Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 138
Hausaufgabe 17: Bitte beschreiben Sie mit einem regulären Ausdruck, die Sprache über dem Alphabet {0, 1}, so dass in den Wörter alle direkt aufeinander folgender Nullen (Nuller-Folgen) vor allen Einser-Folgen stehen. BSP: 00011, 10100011110, 10010111011011 Anders ausgedrückt: anfangs nur einzelne 1 en, dann nur einzelne 0 en Lösung (10 + 0) (ɛ + 1)(01 + 1) (ɛ + 0) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 138
Alternative RA für dieselbe Sprache RA für die Sprache L, die aus Wörtern besteht, die abwechselnd 0 s und 1 s enthalten (01) + (10) + 0(10) + 1(01) (ɛ + 1)(01) (ɛ + 0) Äquivalenz regulärer Ausdrücke Zwei reguläre Ausdrücke sind äquivalent, wenn sie dieselbe Sprache beschreiben Welche Äquivalenzumformungen gibt es? Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 139
Assoziativität und Kommutativität Satz mit Beweisidee Seien r, s und t reguläre Ausdrücke und R := L(r), S := L(s) und T := L(t) die dazugehörigen Sprachen, dann gelten: Kommutativgesetz der Vereinigung: r + s = s + r weil R S = S R Assoziativgesetz der Vereinigung: (r + s) + t = r + (s + t) weil (R S) T = R (S T ) Assoziativgesetz der Verkettung: (r s) t = r (s t) weil (R S) T = R (S T ) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 140
Einheiten Die Einheit bezüglich eines Operators ist ein Wert, für den gilt, dass bei Anwendung des Operators auf die Einheit und auf einen anderen Wert der andere Wert das Ergebnis bildet: Identitätsgesetz der Vereinigung: ist Einheit bezüglich der Vereinigung: + r = r + = r weil R = R = R Identitätsgesetz der Verkettung: ɛ ist Einheit bezüglich der Verkettung: ɛr = rɛ = r weil {ɛ} R = R {ɛ} = R Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 141
Annihilatoren und Idempotenz Der Annihilator bezüglich eines Operators ist ein Wert, für den gilt, dass bei Anwendung des Operators auf den Annihilator und auf einen anderen Wert der Annihilator das Ergebnis bildet. ist Annihilator bezüglich der Verkettung: r = r = weil R = R = Ein Operator heißt idempotent, wenn seine Anwendung auf zwei Operanden mit demselben Wert eben diesen Wert als Ergebnis hat. Idempotenzgesetz der Vereinigung: r + r = r Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 142
Distributivgesetze Linkes Distributivgesetz der Verkettung bezüglich der Vereinigung: r(s + t) = rs + rt Rechtes Distributivgesetz der Verkettung bezüglich der Vereinigung: (s + t)r = sr + tr Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 143
Gesetze bezüglich Hüllenbildung (r ) = r = ɛ ɛ = ɛ r+ := rr = r r r = r + + ɛ r? := ɛ + r Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 144
Aufgabe 18: Bitte vereinfachen Sie die folgenden reguläre Ausdrücke: 1 (1 + ɛ) + (11 (10 ) + 1 + 0) 2 ((1010) + (10) )(1 + ) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 145
Aufgabe 18: Bitte vereinfachen Sie die folgenden reguläre Ausdrücke: 1 (1 + ɛ) + (11 (10 ) + 1 + 0) 2 ((1010) + (10) )(1 + ) Lösung 1 (1 + ɛ) + (11 (10 ) + 1 + 0) = 1 + ɛ + 1 + 0 = ɛ + 1 + 0 2 ((1010) + (10) )(1 + ) = ((1010) + (10) )1 = (10) 1 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 145
Endliche Automaten und reguläre Ausdrücke EAs und RAs beschreiben dieselben Sprachen: Beweisplan für die Äquivalenz: Reguläre Sprachen Noch zu zeigen Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 146
DEA = RA: k-pfad Idee: Pfade in einem DEA auf Basis der Kantenbeschriftungen in RA überführen Zustände des DEA werden in 1, 2,..., n umbenannt Der k-pfad R (k) bezeichnet den RA, dessen Sprache ij genau die Wörter umfasst, die den Beschriftungen der Pfade von Zustand i nach Zustand j entsprechen, wobei kein Zustand mit einem Namen > k durchlaufen werden darf. Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 147
k-pfade durch den Automaten Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 148
k-pfade durch den Automaten Reguläre Ausdrücke ij k-pfad reg. Ausdruck 11 ɛ + 1 12 0 21 22 ɛ + 0 + 1 für direkten Weg von i nach j (über höchstens 0) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 148
k-pfade durch den Automaten Reguläre Ausdrücke ij k-pfad reg. Ausdruck 11 ɛ + 1 12 0 21 22 ɛ + 0 + 1 für direkten Weg von i nach j (über höchstens 0) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 148
k-pfade durch den Automaten k-pfad reg. Ausdruck 11 ɛ + 1 12 0 21 22 ɛ + 0 + 1 Reguläre Ausdrücke ij für den Weg über höchstens 1 von i nach j k-pfad reg. Ausdruck 11 1 12 1 0 21 22 ɛ + 0 + 1 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 148
k-pfade durch den Automaten k-pfad reg. Ausdruck 11 ɛ + 1 12 0 21 22 ɛ + 0 + 1 Reguläre Ausdrücke ij für den Weg über höchstens 1 von i nach j k-pfad reg. Ausdruck 11 1 12 1 0 21 22 ɛ + 0 + 1 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 148
k-pfade durch den Automaten k-pfad reg. Ausdruck 11 ɛ + 1 12 0 21 22 ɛ + 0 + 1 k-pfad reg. Ausdruck 11 1 12 1 0 21 22 ɛ + 0 + 1 Reguläre Ausdrücke R (2) ij k-pfad reg. Ausdruck R (2) 11 1 R (2) 12 1 0(0 + 1) R (2) 21 R (2) 22 (0 + 1) für den Weg über 2 von i nach j Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 148
k-pfade durch den Automaten k-pfad reg. Ausdruck 11 ɛ + 1 12 0 21 22 ɛ + 0 + 1 k-pfad reg. Ausdruck 11 1 12 1 0 21 22 ɛ + 0 + 1 Reguläre Ausdrücke R (2) für den Weg über 2 von i nach j ij k-pfad reg. Ausdruck R (2) 11 1 R (2) 12 1 0(0 + 1) Alle Wörter mit mind. einer 0 R (2) 21 R (2) 22 (0 + 1) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 148
Induktive Berechnung der Pfade R (k) ij lässt sich aus R (k 1) ij berechnen Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 149
DEA = RA Zustände des DEA werden in 1, 2,..., n umbenannt R (k) bezeichnet den RA, dessen Sprache ij genau die Zeichenreihen umfasst, die den Beschriftungen der Pfade von Zustand i nach Zustand j entsprechen, wobei kein Zustand mit einem Namen > k durchlaufen werden darf. Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 150
DEA = RA Zustände des DEA werden in 1, 2,..., n umbenannt R (k) bezeichnet den RA, dessen Sprache ij genau die Zeichenreihen umfasst, die den Beschriftungen der Pfade von Zustand i nach Zustand j entsprechen, wobei kein Zustand mit einem Namen > k durchlaufen werden darf. R (k) ij lässt sich aus R (k 1) ij berechnen Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 150
DEA = RA Zustände des DEA werden in 1, 2,..., n umbenannt R (k) bezeichnet den RA, dessen Sprache ij genau die Zeichenreihen umfasst, die den Beschriftungen der Pfade von Zustand i nach Zustand j entsprechen, wobei kein Zustand mit einem Namen > k durchlaufen werden darf. R (k) ij lässt sich aus R (k 1) ij R (k) ij = R (k 1) ij berechnen + R (k 1) ik (R (k 1) ) R (k 1) kk kj RA ist die Summe aller R (k) mit 1 dem Startzustand und f F 1f einem Endzustand f F Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 150 R n 1f
k-pfade durch den Automaten Reguläre Ausdrücke ij k-pfad reg. Ausdruck 11 ɛ + 1 12 0 21 22 ɛ + 0 + 1 für direkten Weg von i nach j (über höchstens 0) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151
k-pfade durch den Automaten k-pfad reg. Ausdruck 11 ɛ + 1 12 0 21 22 ɛ + 0 + 1 Reguläre Ausdrücke für den Weg über höchstens 1 von i nach j: ij = + ij ij i1 (R(0) 11 ) 1j k-pfad ind. Pfadausdruck reg. Ausdruck 11 11 + R(0) 11 (R(0) 11 ) 11 12 21 22 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151
k-pfade durch den Automaten k-pfad reg. Ausdruck 11 ɛ + 1 12 0 21 22 ɛ + 0 + 1 Reguläre Ausdrücke für den Weg über höchstens 1 von i nach j: ij = + ij ij i1 (R(0) 11 ) 1j k-pfad ind. Pfadausdruck vereinf. Ausdruck 11 ɛ + 1 + (ɛ + 1)(ɛ + 1) (ɛ + 1) 12 21 22 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151
k-pfade durch den Automaten k-pfad reg. Ausdruck 11 ɛ + 1 12 0 21 22 ɛ + 0 + 1 Reguläre Ausdrücke für den Weg über höchstens 1 von i nach j: ij = + ij ij i1 (R(0) 11 ) 1j k-pfad ind. Pfadausdruck vereinf. Ausdruck 11 ɛ + 1 + (ɛ + 1)(ɛ + 1) (ɛ + 1) 1 12 21 22 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151
k-pfade durch den Automaten k-pfad reg. Ausdruck 11 ɛ + 1 12 0 21 22 ɛ + 0 + 1 Reguläre Ausdrücke für den Weg über höchstens 1 von i nach j: ij = + ij ij i1 (R(0) 11 ) 1j k-pfad ind. Pfadausdruck vereinf. Ausdruck ɛ + 1 + (ɛ + 1)(ɛ + 1) (ɛ + 1) 1 11 12 12 + R(0) 11 (R(0) 11 ) 12 21 22 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151
k-pfade durch den Automaten k-pfad reg. Ausdruck 11 ɛ + 1 12 0 21 22 ɛ + 0 + 1 Reguläre Ausdrücke für den Weg über höchstens 1 von i nach j: ij = + ij ij i1 (R(0) 11 ) 1j k-pfad ind. Pfadausdruck vereinf. Ausdruck 11 ɛ + 1 + (ɛ + 1)(ɛ + 1) (ɛ + 1) 1 12 0 + (ɛ + 1)(ɛ + 1) 0 21 22 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151
k-pfade durch den Automaten k-pfad reg. Ausdruck 11 ɛ + 1 12 0 21 22 ɛ + 0 + 1 Reguläre Ausdrücke für den Weg über höchstens 1 von i nach j: ij = + ij ij i1 (R(0) 11 ) 1j k-pfad ind. Pfadausdruck vereinf. Ausdruck 11 ɛ + 1 + (ɛ + 1)(ɛ + 1) (ɛ + 1) 1 12 0 + (ɛ + 1)(ɛ + 1) 0 1 0 21 22 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151
k-pfade durch den Automaten k-pfad reg. Ausdruck 11 ɛ + 1 12 0 21 22 ɛ + 0 + 1 Reguläre Ausdrücke für den Weg über höchstens 1 von i nach j: ij = + ij ij i1 (R(0) 11 ) 1j k-pfad ind. Pfadausdruck vereinf. Ausdruck 11 ɛ + 1 + (ɛ + 1)(ɛ + 1) (ɛ + 1) 1 12 0 + (ɛ + 1)(ɛ + 1) 0 1 0 21 21 + R(0) 21 (R(0) 11 ) 11 22 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151
k-pfade durch den Automaten k-pfad reg. Ausdruck 11 ɛ + 1 12 0 21 22 ɛ + 0 + 1 Reguläre Ausdrücke für den Weg über höchstens 1 von i nach j: ij = + ij ij i1 (R(0) 11 ) 1j k-pfad ind. Pfadausdruck vereinf. Ausdruck 11 ɛ + 1 + (ɛ + 1)(ɛ + 1) (ɛ + 1) 1 12 0 + (ɛ + 1)(ɛ + 1) 0 1 0 21 + (ɛ + 1) (ɛ + 1) 22 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151
k-pfade durch den Automaten k-pfad reg. Ausdruck 11 ɛ + 1 12 0 21 22 ɛ + 0 + 1 Reguläre Ausdrücke für den Weg über höchstens 1 von i nach j: ij = + ij ij i1 (R(0) 11 ) 1j k-pfad ind. Pfadausdruck vereinf. Ausdruck 11 ɛ + 1 + (ɛ + 1)(ɛ + 1) (ɛ + 1) 1 12 0 + (ɛ + 1)(ɛ + 1) 0 1 0 21 + (ɛ + 1) (ɛ + 1) 22 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151
k-pfade durch den Automaten k-pfad reg. Ausdruck 11 ɛ + 1 12 0 21 22 ɛ + 0 + 1 Reguläre Ausdrücke für den Weg über höchstens 1 von i nach j: ij = + ij ij i1 (R(0) 11 ) 1j k-pfad ind. Pfadausdruck vereinf. Ausdruck 11 ɛ + 1 + (ɛ + 1)(ɛ + 1) (ɛ + 1) 1 12 0 + (ɛ + 1)(ɛ + 1) 0 1 0 21 + (ɛ + 1) (ɛ + 1) 22 22 + R(0) 21 (R(0) 11 ) 12 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151
k-pfade durch den Automaten k-pfad reg. Ausdruck 11 ɛ + 1 12 0 21 22 ɛ + 0 + 1 Reguläre Ausdrücke für den Weg über höchstens 1 von i nach j: ij = + ij ij i1 (R(0) 11 ) 1j k-pfad ind. Pfadausdruck vereinf. Ausdruck 11 ɛ + 1 + (ɛ + 1)(ɛ + 1) (ɛ + 1) 1 12 0 + (ɛ + 1)(ɛ + 1) 0 1 0 21 + (ɛ + 1) (ɛ + 1) 22 ɛ + 0 + 1 + (ɛ + 1) 0 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151
k-pfade durch den Automaten k-pfad reg. Ausdruck 11 ɛ + 1 12 0 21 22 ɛ + 0 + 1 Reguläre Ausdrücke für den Weg über höchstens 1 von i nach j: ij = + ij ij i1 (R(0) 11 ) 1j k-pfad ind. Pfadausdruck vereinf. Ausdruck 11 ɛ + 1 + (ɛ + 1)(ɛ + 1) (ɛ + 1) 1 12 0 + (ɛ + 1)(ɛ + 1) 0 1 0 21 + (ɛ + 1) (ɛ + 1) 22 ɛ + 0 + 1 + (ɛ + 1) 0 ɛ + 0 + 1 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151
k-pfade durch den Automaten k-pfad reg. Ausdruck k-pfad vereinf. Ausdruck 1 11 11 1 1 0 12 12 1 0 21 21 ɛ + 0 + 1 22 22 ɛ + 0 + 1 Reguläre Ausdrücke für den Weg über höchstens 1 von i nach j: ij R (2) = + ij ij i2 (R(1) 22 ) 2j k-pfad ind. Pfadausdruck reg. Ausdruck R (2) 11 11 + R(1) 12 (R(1) 22 ) 21 R (2) 12 R (2) 21 R (2) 22 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151
k-pfade durch den Automaten k-pfad reg. Ausdruck k-pfad vereinf. Ausdruck 1 11 11 1 1 0 12 12 1 0 21 21 ɛ + 0 + 1 22 22 ɛ + 0 + 1 Reguläre Ausdrücke für den Weg über höchstens 1 von i nach j: ij R (2) = + ij ij i2 (R(1) 22 ) 2j k-pfad ind. Pfadausdruck reg. Ausdruck R (2) 11 1 + 1 0(ɛ + 0 + 1) 1 R (2) 12 R (2) 21 R (2) 22 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151
k-pfade durch den Automaten k-pfad reg. Ausdruck k-pfad vereinf. Ausdruck 1 11 11 1 1 0 12 12 1 0 21 21 ɛ + 0 + 1 22 22 ɛ + 0 + 1 Reguläre Ausdrücke für den Weg über höchstens 1 von i nach j: ij R (2) = + ij ij i2 (R(1) 11 ) 2j k-pfad ind. Pfadausdruck reg. Ausdruck R (2) 11 1 + 1 0(ɛ + 0 + 1) 1 R (2) 12 12 + R(1) 12 (R(1) 22 ) 22 R (2) 21 R (2) 22 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151
k-pfade durch den Automaten k-pfad reg. Ausdruck k-pfad vereinf. Ausdruck 1 11 11 1 1 0 12 12 1 0 21 21 ɛ + 0 + 1 22 22 ɛ + 0 + 1 Reguläre Ausdrücke für den Weg über höchstens 1 von i nach j: ij R (2) = + ij ij i2 (R(1) 22 ) 2j k-pfad ind. Pfadausdruck reg. Ausdruck R (2) 11 1 + 1 0(ɛ + 0 + 1) 1 R (2) 12 1 0 + 1 0(ɛ + 0 + 1) (ɛ + 0 + 1) 1 0(0 + 1) R (2) 21 R (2) 22 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151
k-pfade durch den Automaten k-pfad reg. Ausdruck k-pfad vereinf. Ausdruck 1 11 11 1 1 0 12 12 1 0 21 21 ɛ + 0 + 1 22 22 ɛ + 0 + 1 Reguläre Ausdrücke für den Weg über höchstens 1 von i nach j: ij R (2) = + ij ij i2 (R(1) 22 ) 2j k-pfad ind. Pfadausdruck reg. Ausdruck R (2) 11 1 + 1 0(ɛ + 0 + 1) 1 R (2) 12 1 0 + 1 0(ɛ + 0 + 1) (ɛ + 0 + 1) 1 0(0 + 1) R (2) 21 21 + R(1) 22 (R(1) 22 ) 21 R (2) 22 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151
k-pfade durch den Automaten k-pfad reg. Ausdruck k-pfad vereinf. Ausdruck 1 11 11 1 1 0 12 12 1 0 21 21 ɛ + 0 + 1 22 22 ɛ + 0 + 1 Reguläre Ausdrücke für den Weg über höchstens 1 von i nach j: ij R (2) = + ij ij i2 (R(1) 22 ) 2j k-pfad ind. Pfadausdruck reg. Ausdruck R (2) 11 1 + 1 0(ɛ + 0 + 1) 1 R (2) 12 1 0 + 1 0(ɛ + 0 + 1) (ɛ + 0 + 1) 1 0(0 + 1) R (2) 21 + (ɛ + 0 + 1)(ɛ + 0 + 1) R (2) 22 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151
k-pfade durch den Automaten k-pfad reg. Ausdruck k-pfad vereinf. Ausdruck 1 11 11 1 1 0 12 12 1 0 21 21 ɛ + 0 + 1 22 22 ɛ + 0 + 1 Reguläre Ausdrücke für den Weg über höchstens 1 von i nach j: ij R (2) = + ij ij i2 (R(1) 22 ) 2j k-pfad ind. Pfadausdruck reg. Ausdruck R (2) 11 1 + 1 0(ɛ + 0 + 1) 1 R (2) 12 1 0 + 1 0(ɛ + 0 + 1) (ɛ + 0 + 1) 1 0(0 + 1) R (2) 21 + (ɛ + 0 + 1)(ɛ + 0 + 1) R (2) 22 22 + R(1) 22 (R(1) 22 ) 22 Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151
k-pfade durch den Automaten k-pfad reg. Ausdruck k-pfad vereinf. Ausdruck 1 11 11 1 1 0 12 12 1 0 21 21 ɛ + 0 + 1 22 22 ɛ + 0 + 1 Reguläre Ausdrücke für den Weg über höchstens 1 von i nach j: ij R (2) = + ij ij i2 (R(1) 22 ) 2j k-pfad ind. Pfadausdruck reg. Ausdruc R (2) 11 1 + 1 0(ɛ + 0 + 1) 1 R (2) 12 1 0 + 1 0(ɛ + 0 + 1) (ɛ + 0 + 1) 1 0(0 + 1) R (2) 21 + (ɛ + 0 + 1)(ɛ + 0 + 1) R (2) 22 (ɛ + 0 + 1) + (ɛ + 0 + 1)(ɛ + 0 + 1) (ɛ + 0 + 1) (0 + 1) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151
k-pfade durch den Automaten k-pfad reg. Ausdruck k-pfad vereinf. Ausdruck 1 11 11 1 1 0 12 12 1 0 21 21 ɛ + 0 + 1 22 22 ɛ + 0 + 1 Reguläre Ausdrücke für den Weg über höchstens 1 von i nach j: ij R (2) = + ij ij i2 (R(1) 22 ) 2j k-pfad ind. Pfadausdruck reg. Ausdruc R (2) 11 1 + 1 0(ɛ + 0 + 1) 1 R (2) 12 1 0 + 1 0(ɛ + 0 + 1) (ɛ + 0 + 1) 1 0(0 + 1) R (2) 21 + (ɛ + 0 + 1)(ɛ + 0 + 1) R (2) 22 (ɛ + 0 + 1) + (ɛ + 0 + 1)(ɛ + 0 + 1) (ɛ + 0 + 1) (0 + 1) Hoffmann (HAW Hamburg) Thema 4 Reguläre Ausdrücke und reguläre Sprachen 151