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

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

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

2.2 Reguläre Sprachen Endliche Automaten

Grundlagen der Theoretischen Informatik

Formale Sprachen. Script, Kapitel 4. Grammatiken

Kontextfreie Sprachen

Theorie der Informatik

Kontextfreie Sprachen

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,

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

A : z z A : z z : ( z, x, z ) δ

Satz (Abschluß unter der Stern-Operation)

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

Kurz-Skript zur Theoretischen Informatik I

Formale Sprachen. Script, Kapitel 4. Grammatiken

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23

54 4 FORMALE SPRACHEN

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

Theorie der Informatik

Kapitel 2: Formale Sprachen Gliederung

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

11.1 Kontextsensitive und allgemeine Grammatiken

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

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Formale Sprachen und endliche Automaten

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

2.4 Kontextsensitive und Typ 0-Sprachen

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

Typ-3-Sprachen. Das Pumping-Lemma

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

Reguläre Sprachen und endliche Automaten

Die mathematische Seite

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Grundlagen der Theoretischen Informatik

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

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

Einführung in die Theoretische Informatik

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

Formale Sprachen und Automaten

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven

Aufgabensammlung Theo Inf I 1

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Software Engineering Ergänzung zur Vorlesung

1.5 Turing-Berechenbarkeit

TU Berlin Nachklausur TheGI 2 Automaten und Komplexität (Niedermeier/Hartung/Nichterlein, Sommersemester 2012)

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

Grundlagen der Theoretischen Informatik

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

Theoretische Informatik I

8. Turingmaschinen und kontextsensitive Sprachen

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

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

Musterlösung Informatik-III-Klausur

1.5 Turing-Berechenbarkeit

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Einführung in die Theoretische Informatik

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

Grundlagen der Theoretischen Informatik

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

Automatentheorie und formale Sprachen

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

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

Theoretische Grundlagen der Informatik

4. Übung zur Vorlesung Informatik III am

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

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

q 0 q gdw. nicht (q A) (q A) q i+1 q gdw. q i q oder ( a Σ) δ(q, a) i δ(q, a) L = {a n b n : n N} für a, b Σ, a b

Induktive Definition

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964)

Nachklausur zur Vorlesung

WS07/08 Automaten und Formale Sprachen 5. Vorlesung

THIA - Übungsblatt 2.

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

Theoretische Informatik Mitschrift

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

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

Einführung in die Theoretische Informatik

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

Grundlagen der theoretischen Informatik

Grundlagen der Theoretischen Informatik

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen

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

Definition Formale Sprache Eine formale Sprache ist eine (Teil-)Menge A Σ* von Worten über einem Alphabet Σ.

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

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

Theoretische Grundlagen der Informatik

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

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann.

Rekursiv aufzählbare Sprachen

Automatentheorie und Formale Sprachen

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

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

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

Transkript:

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 Äquivalenz zu endlichen Automaten Äquivalenz zu regulären Ausdrücken Grenzen der regulären Sprachen (Pumping-Lemma) R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 138

Endliche Automaten Definition Ein deterministischer endlicher Automat (DEA) A ist ein 5-Tupel A = (Z, Σ, δ, z 0, E). Dabei sind Z das Zustandsalphabet, Σ das Eingabealphabet mit Z Σ =, δ : Z Σ Z die Zustandsüberführungsfunktion, z 0 Z der Anfangszustand und E Z die Menge der Endzustände. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 139

Interpretation der Arbeitsweise des Endlichen Automaten................ a 1 a 2... a i a i+1... a n a 1 a 2... a i a i+1... a n....... z = für δ(z, a i ) = z. z Turingmaschine, die die Eingabe einmal von links nach rechts liest R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 140

Akzeptierte Sprache des Endlichen Automaten Definition Sei A ein deterministischer endlicher Automat A = (Z, Σ, δ, z 0, E); die erweiterte Zustandsüberführungsfunktion ˆδ : Z Σ Z wird definiert durch (i) ˆδ(z, ε) = z für alle z Z, (ii) ˆδ(z, wa) = δ(ˆδ(z, w), a) für alle z Z, a Σ, w Σ. Definition Für einen DEA A = (Z, Σ, δ, z 0, E) ist die von ihm akzeptierte Sprache T (A) definiert durch T (A) = {w Σ ˆδ(z 0, w) E}. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 141

Überführungsgraphen! " $#"% & ' )(*+-,./0 1 / R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 142

Endliche Automaten Beispiel Es sei A der deterministische endliche Automat A = ({z 0, z 1, z 2, z 3 }, {0, 1}, δ, z 0, {z 2, z 3 }), mit der Überführungsfunktion δ, gegeben durch folgende Tabelle. δ z 0 z 1 z 2 z 3 0 z 0 z 3 z 3 z 0 1 z 1 z 2 z 2 z 1 R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 143

DEA Beispiel (Fortsetzung) Der dazugehörige Graph lautet R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 144

Nichtdeterministische endliche Automaten Definition Ein nichtdeterministischer endlicher Automat (NEA) A ist ein 5-Tupel A = (Z, Σ, δ, z 0, E). Dabei sind Z das Zustandsalphabet, Σ das Eingabealphabet mit Z Σ =, δ : Z Σ 2 Z die Zustandsüberführungsfunktion, z 0 Z der Anfangszustand und E Z die Menge der Endzustände. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 145

Akzeptierte Sprache eines NEA Definition Sei A ein NEA mit A = (Z, Σ, δ, z 0, E); die erweiterte Zustandsfunktion ˆδ : Z Σ 2 Z wird definiert durch (i) ˆδ(z, ε) = {z} für alle z Z, (ii) ˆδ(z, wa) = δ(z, a) das heißt z ˆδ(z,w) = {z Z z Z mit z ˆδ(z, w) und z δ(z, a)} für z Z, a Σ, w Σ. Definition Für einen NEA A = (Z, Σ, δ, z 0, E) sei die von ihm akzeptierte Sprache T (A) definiert durch T (A) = {w Σ ˆδ(z 0, w) E }. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 146

Beispiel eines NEA Beispiel Sei A = ({z 0, z 1, z 2 }, {0, 1}, δ, z 0, {z 2 }) ein NEA, wobei δ durch die folgende Tabelle gegeben ist: δ z 0 z 1 z 2 0 {z 0 } {z 2 } 1 {z 0, z 1 } {z 2 } Der dazugehörige Graph ist: R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 147

Beispiel eines NEA Fortsetzung ˆδ(z 0, 0) = {z 0 } 0 / T (A) ˆδ(z 0, 1) = {z 0, z 1 } 1 / T (A) ˆδ(z 0, 01) = {z 0, z 1 } 01 / T (A) ˆδ(z 0, 11) = {z 0, z 1, z 2 } 11 T (A) ˆδ(z 0, 001) = {z 0, z 1 } 001 / T (A) ˆδ(z 0, 010) = {z 0, z 2 } 010 T (A) Die akzeptierte Sprache T (A) ist die Menge aller Wörter über {0, 1}, deren vorletztes Symbol eine 1 ist, d. h. T (A) = {w {0, 1} w = u1x mit u {0, 1}, x {0, 1}}. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 148

Äquivalenz von NEA und DEA Satz Jede von einem NEA akzeptierte Sprache ist auch von einem DEA akzeptierbar. Beweis (Potenzmengen-Konstruktion) Aus NEA A = (Z, Σ, δ, z 0, E) konstruiere DEA A = (Z, Σ, δ, z 0, E ): Dann gilt Z = 2 Z, z 0 = {z 0 }, E = {z Z z E }, δ (z, a) = z z δ(z, a) für alle z Z und a Σ. ˆδ ({z 0 }, w) = ˆδ(z 0, w) für alle w Σ, d.h. T (A) = T (A ). R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 149

Beispiel NEA DEA Wir betrachten den NEA von Folie 147. Wir konstruieren den äquivalenten DEA A = (Z, {0, 1}, δ, {z 0 }, E ). Bemerkung: Man braucht nur die Teilmengen von Z zu betrachten, die von {z 0 } erreichbar sind (sparsame Potenzmengenkonstruktion). δ {z 0 } {z 0, z 1 } {z 0, z 2 } {z 0, z 1, z 2 } 0 {z 0 } {z 0, z 2 } {z 0 } {z 0, z 2 } 1 {z 0, z 1 } {z 0, z 1, z 2 } {z 0, z 1 } {z 0, z 1, z 2 } Z = {{z 0 }, {z 0, z 1 }, {z 0, z 2 }, {z 0, z 1, z 2 }} E = {{z 0, z 2 }, {z 0, z 1, z 2 }} R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 150

Beispiel NEA DEA Fortsetzung Zur besseren Lesbarkeit bezeichnen wir die Zustände um: {z 0 } =: q 0, {z 0, z 1 } =: q 1, {z 0, z 2 } =: q 2 und {z 0, z 1, z 2 } =: q 3. mit A = ({q 0, q 1, q 2, q 3 }, {0, 1}, δ, q 0, {q 2, q 3 }) δ q 0 q 1 q 2 q 3 0 q 0 q 2 q 0 q 2 1 q 1 q 3 q 1 q 3 R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 151

Endliche Automaten und reguläre Grammatiken Satz Sei A ein NEA. Dann ist die von A akzeptierte Sprache T (A) regulär. Beweis. Aus NEA A = (Z, Σ, δ, z 0, E) konstruiere Typ-3-Grammatik G = (V, Σ, P, S) mit V = Z, S = z 0 und P = {z 1 az 2 z 2 δ(z 1, a))} {z 1 ε z 1 E}. Es gilt z 1 = G wz 2 genau dann, wenn z 2 ˆδ(z 1, w). R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 152

NEA Grammatik Beispiel Sei A = ({z 0, z 1, z 2, z 3 }, {a, b}, δ, z 0, {z 3 }) der DEA mit der Überführungsfunktion δ: δ z 0 z 1 z 2 z 3 a z 1 z 1 z 3 z 3 b z 0 z 2 z 0 z 3 Wir konstruieren jetzt die äquivalente Typ-3-Grammatik G = (V, Σ, P, S): V = {z 0, z 1, z 2, z 3 }, Σ = {a, b}, S = z 0, P = {z 0 az 1, z 0 bz 0, z 1 az 1, z 1 bz 2 } {z 2 az 3, z 2 bz 0, z 3 az 3, z 3 bz 3 } {z 3 ε}. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 153

Eine Normalform für reguläre Grammatiken Lemma Für jede reguläre Sprache L gibt es eine Typ-3-Grammatik G = (V, Σ, P, S) mit L(G) = L, deren Regeln der folgenden Form sind: A ab, A, B V, a Σ oder A ε, A V R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 154

Reguläre Grammatik NEA Satz Sei G eine reguläre Grammatik; dann existiert ein NEA A mit T (A) = L(G). Beweis Für eine reguläre Grammatik G = (V, Σ, P, S) in Normalform konstruieren wir den NEA A = (Z, Σ, δ, z 0, E) wie folgt: Z = V, z 0 = S, E = {A V A ε P } δ(a, a) = {B V A ab P } für A V und a Σ. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 155

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 Ausdruck über Σ. (iv) Wenn α und β reguläre Ausdrücke über Σ sind, so sind auch αβ, (α β) und (α) reguläre Ausdrücke über Σ. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 156

Sprache eines regulären Ausdrucks Definition (Sprache eines regulären Ausdrucks) Sei Σ ein Alphabet und γ ein regulärer Ausdruck über Σ, dann wird die von γ beschriebene Sprache L(γ) Σ wie folgt definiert. (i) Für γ = gilt L(γ) =. (ii) Für γ = ε gilt L(γ) = {ε}. (iii) Für γ = a mit a Σ gilt L(γ) = {a}. (iv) Für γ = αβ gilt L(γ) = L(α) L(β). (v) Für γ = (α β) gilt L(γ) = L(α) L(β). (vi) Für γ = (α) gilt L(γ) = (L(α)). R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 157

Beispiel eines regulären Ausdrucks L((0 (0 1) 00)) = L(0) L((0 1) 00)) = L(0) (L((0 1) 0)) L(0)) = L(0) ((L((0 1) )) L(0)) L(0)) = L(0) (((L((0 1))) L(0)) L(0)) = L(0) (((L(0) L(1)) L(0)) L(0)) = {0} ((({0} {1}) {0}) {0}) = {0} (({0, 1} {0}) {0}) = {0} ({0, 1} {00}), Das heißt, die vom Ausdruck (0 (0 1) 00) beschriebene Sprache ist die Menge aller Wörter über dem Alphabet {0, 1}, die gleich 0 sind oder auf 00 enden. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 158

Äquivalenz regulärer Ausdrücke Definition Zwei reguläre Ausdrücke β und γ heißen äquivalent, in Zeichen β γ, wenn L(β) = L(γ) gilt. Beispiel: ((a b)) ((a b)(a b)) ((a b) ε) R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 159

Rechenregeln für reguläre Ausdrücke (A (B C)) ((A B) C) A(B C) (AB AC) (B C)A (BA CA) (A B) (B A) (A A) A (A ) ( A) A A A Aε εa A ((A) ) (A) ( ) ε ((A ε)) (A) (A) (ε A)A ((ε A)) A R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 160

Bemerkung zu regulären Ausdrücken 1. Wir vereinbaren, dass wir Klammern, die nicht notwendigerweise gebraucht werden, weglassen können. Zum Beispiel können wir statt (α (β γ)) auch (α β γ) schreiben. Wir schreiben auch L(α β) statt L((α β)) sowie a statt (a) für a Σ. 2. Wir benutzen die abkürzende Schreibweise α n für αα }{{... α}. n-mal 3. Wir benutzen die abkürzende Schreibweise α + für α α. 4. In der Literatur findet man oft auch abweichende Schreibweisen der regulären Ausdrücke. Zum Beispiel findet man für (α β) auch (α + β) oder auch (α β). Auch wird natürlich oft α β für αβ zugelassen. 5. Oft wird in der Literatur zwischen regulärem Ausdruck und beschriebener Sprache nicht unterschieden, das heißt, man identifiziert einen regulären Ausdruck mit der beschriebenen Sprache. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 161

Weitere Beispiele regulärer Ausdrücke (a b) beschreibt die Menge aller Wörter über dem Alphabet {a, b}. (a b) + beschreibt die Menge aller Wörter über dem Alphabet {a, b}, die nicht dem leeren Wort entsprechen. (a b) aba(a b) beschreibt die Menge aller Wörter über dem Alphabet {a, b}, die das Teilwort aba haben. (a b) a(a b) 2 beschreibt die Menge aller Wörter über dem Alphabet {a, b}, deren drittletztes Symbol ein a ist. ((a b)(a b)) beschreibt die Menge aller Wörter über dem Alphabet {a, b}, deren Länge gerade ist. (b ε)(ab) (a ε) beschreibt die Menge aller Wörter über dem Alphabet {a, b}, die nicht das Teilwort aa und nicht das Teilwort bb enthalten. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 162

Satz von Kleene Satz (Kleene) Die Menge der durch reguläre Ausdrücke beschreibbaren Sprachen ist genau die Menge der regulären Sprachen. Beweis (Konstruktionen) regulärer Ausdruck NEA: Induktion über Aufbau der Ausdrücke NEA regulärer Ausdruck: Lösung von Gleichungssystemen R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 163

Regulärer Ausdruck NEA 1. Automaten für die Ausdrücke, ε und a: 2. Seien A α bzw. A β NEA mit T (A α ) = L(α) bzw. T (A β ) = L(β) Konstruiere NEA für αβ, (α β) und α (formale Konstruktion: siehe Skript) R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 164

Regulärer Ausdruck NEA Fortsetzung (a) Automat für αβ: Verschmelze Endzustände von A α mit Startzustand von A β. ( Reihenschaltung ) neuer Startzustand: Startzustand von A α neue Endzustände: Endzustände von A β R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 165

Regulärer Ausdruck NEA Fortsetzung (b) Automat für (α β): Neuer Startzustand mit Kanten zu den Nachfolgern der Startzustände von A α und A β ( Parallelschaltung ). neue Endzustände: Endzustände von A α und A β R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 166

Regulärer Ausdruck NEA Fortsetzung (c) Automat für (α) : Füge für jede Kante zu einem Endzustand eine gleiche Kante zum Startzustand ein. neuer Endzustand: Startzustand von A α R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 167

NEA Regulärer Ausdruck Aufstellen eines linearen Gleichungssystems für einen NEA Auflösen des linearen Gleichungssystems regulärer Ausdruck (Wegen der besseren Lesbarkeit geben wir nicht die Ausdrücke, sondern ihre Sprachen an.) R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 168

Gleichungssystem zu einem NEA NEA A = (Z, Σ, δ, z 0, E) Für z Z sei A z = (Z, Σ, δ, z, E) und L z = T (A z ). Für alle z Z gilt: L z = z Z a:z δ(z,a) a L z E z mit E z = {, falls z / E {ε}, sonst Lineares Gleichungssystem mit den Variablen L z, z Z. Falls eine eindeutige Lösung existiert, so ist durch L z0 der gesuchte reguläre Ausdruck bekannt. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 169

Gleichungssystem zu einem NEA-Beispiel L z0 = {a} L z0 {b} L z1 {ε} L z1 = {b} L z1 {a} L z2 {ε} L z2 = {a} L z0 {b} L z3 {ε} L z3 = {a, b} L z3 R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 170

Auflösen linearer Gleichungssysteme Lemma. Für B, C Σ mit ε B gilt: Die Gleichung L = B L C besitzt die einzige Lösung L = B C. Auflösung von Gleichungssytemen durch sukzessive Eliminierung der Variablen L z unter Nutzung des Lemmas R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 171

Auflösen linearer Gleichungssysteme - Beispiel Für das Gleichungssystem auf Folie 170 ergibt sich L z3 = {a, b} L z3 L z3 = {a, b} = L z2 = {a} L z0 {b} L z3 {ε} L z2 = {a} L z0 {ε} L z1 = {b} L z1 {a} L z2 {ε} = {b} L z1 {aa} L z0 {a, ε} L z1 = {b} {aa} L z0 {b} {a, ε} L z0 = {a} L z0 {b} L z1 {ε} = {a} L z0 {b} + {aa} L z0 {b} + {a, ε} {ε} L z0 = ({a} {b} + {aa}) ({b} + {a, ε} {ε}) Regulärer Ausdruck: (a b + aa) (b + (a ε) ε) R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 172

Das Pumping Lemma Satz (Pumping Lemma) Sei L eine reguläre Sprache. Dann gibt es eine Konstante k N, so dass für alle Wörter z L mit z k eine Zerlegung z = uvw existiert, so dass gilt: (i) uv k und v 1, (ii) für alle i N gilt uv i w L. Bedeutung: Wichtiges Hilfsmittel um zu beweisen, dass eine Sprache nicht regulär ist R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 173

Pumping Lemma Beweis Reguläre Sprache L werde durch DEA A = (Z, Σ, δ, z 0, E) mit k Zuständen akzeptiert. Betrachte Wort x L mit x k. Es gilt ˆδ(z 0, x) = q für ein q E. Nach Einlesen der ersten k Buchstaben von x wurden k + 1 Zustände angenommen. Nach dem Schubfachprinzip müssen 2 dieser Zustände gleich sein, d.h. es gibt eine Zerlegung x = uvw mit uv k, v > 0, ˆδ(z0, u) = ˆδ(z 0, uv) = z u, ˆδ(z 0, uvw) = q. Nach Definition von ˆδ gilt: ˆδ(z u, v) = z u, d.h. ˆδ(z u, v i ) = z u für alle i 0 Es folgt ˆδ(z 0, uv i w) = ˆδ(ˆδ(z 0, uv i ), w) = ˆδ(z u, w) = q, d.h. uv i w L. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 174

Anwendung des Pumping Lemmas Erfüllt eine Sprache nicht die Folgerung des Pumping-Lemmas, so kann sie auch nicht regulär sein. Um zu beweisen, dass eine Sprache L nicht die Folgerung des Pumping- Lemmas erfüllt, muss man Folgendes zeigen: Für jede natürliche Zahl k existiert ein Wort z mit z k, so dass für jede Zerlegung z = uvw mit uv k und v 1 ein i N existiert, so dass uv i w / L gilt. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 175

Anwendungen des Pumping Lemmas - Beispiel Satz: Die Menge PAL der Palindrome über {a, b} ist nicht regulär. Beweis Wir zeigen, dass PAL nicht die Behauptung des Pumping-Lemmas erfüllt. Sei k eine beliebige natürliche Zahl. Wähle z = a k ba k. (Offensichtlich gilt z k und z PAL). Für jede Zerlegung z = uvw mit uv k und v 1 gilt: u = a r, v = a s, w = a k r s ba k mit r + s k und s 1. Wähle i = 2. Es gilt uv 2 w = a r a 2s a k r s ba k = a k+s ba k / PAL. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 176

Anwendungen des Pumping Lemmas Mit Hilfe des Pumping Lemmas kann man auch die Nichtregularität der Sprachen L = {a n2 n 1}, L = {a 2n n 1}, L = {a p p Primzahl}, L = {a n b n n 1}, L = {ww w {a, b} }, L = Menge der regulären Ausdrücke über Σ und vieler anderer zeigen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 177

Abschlusseigenschaften regulärer Sprachen Satz Sind A und B reguläre Sprachen über Σ, dann sind auch (i) A B, (ii) A B, (iii) A B, (iv) Σ \ A und (v) A reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 178

Wortproblem und andere Entscheidungsprobleme Satz Das Wortproblem für ein Wort der Länge n und einen DEA ist mit einem Zeitaufwand von O(n) entscheidbar. Satz Das Wortproblem für ein Wort der Länge n und einen NEA mit k Transitionen ist mit einem Zeitaufwand von O(n k) entscheidbar. Satz Das Leerheitsproblem, das Endlichkeitsproblem, das Schnittproblem für NEA sind in linearer Zeit (Leerheit, Endlichkeit) bzw. in quadratischer Zeit (Schnitt) entscheidbar. Satz Das Äquivalenzproblem für DEA ist in quadratischer Zeit entscheidbar. Satz Das Äquivalenzproblem für NEA ist in exponentieller Zeit entscheidbar (und NP-hart, genauer: PSPACE-vollständig). R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, 2006 179