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

Ähnliche Dokumente
Automaten und Formale Sprachen ε-automaten und Minimierung

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

Theoretische Grundlagen der Informatik

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

Die Nerode-Relation und der Index einer Sprache L

Theoretische Informatik Mitschrift

Übung Theoretische Grundlagen

Theorie der Informatik

vollständig (Vervollständigung) deterministisch, DFA (Potenzmengenkonstruktion) Minimalautomat: minimaler vollständiger DFA

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

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Endliche Automaten. Endliche Automaten 1 / 102

2.2 Reguläre Sprachen Endliche Automaten

Beispiel für die Minimierung von DEAs

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

Automaten und Coinduktion

Theoretische Grundlagen der Informatik

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

Endliche Automaten. Endliche Automaten 1 / 115

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

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

Was bisher geschah Alphabet, Wort, Sprache

Was bisher geschah Alphabet, Wort, Sprache

Übung zur Vorlesung Theoretische Information. Minimierungsalgorithmus

10 Formale Grundlagen

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

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

Was bisher geschah. Modellierung von Aussagen durch Logiken. Modellierung von Daten durch Mengen

Gerade, ungerade oder weder noch? Algebraische und graphische Beweise

Proseminar Analysis Vollständigkeit der reellen Zahlen

Vorlesung im Sommersemester Informatik IV. Probeklausurtermin: 21. Juni 2016

Minimalautomaten. Minimalautomaten. Frage: Ist der Äquivalenzautomat A der kleinste Automat ( Minimalautomat ) der die Sprache L(A) erkennt?

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

Einführung in die Theoretische Informatik

2 Mengen, Relationen, Funktionen

Automaten und Formale Sprachen SoSe 2013 in Trier

Satz (Abschluß unter der Stern-Operation)

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

Was bisher geschah: Formale Sprachen

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

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

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

Was bisher geschah: Formale Sprachen

5.4 Endliche Automaten

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie

Das Pumping-Lemma Formulierung

Nachklausur zur Vorlesung

2.3 Abschlusseigenschaften

4.2.4 Reguläre Grammatiken

Reguläre Ausdrücke. Michael Jäger. 4. April 2017

Automatentheorie und Formale Sprachen

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

Die Ringe Z n. Invertierbare Elemente ( Einheiten ) für n > 0 wird auf Z n = {0, 1, 2,..., n 1} definiert: n : Z n Z n Z n : (a, b) (a b) mod n

Theoretische Grundlagen der Informatik

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

Einführung in die Theoretische Informatik

Software Engineering Ergänzung zur Vorlesung

Seien M 1,M 2 NFAs f. die Sprachen L 1 und L 2. Konstruktion eines NFAs für L 1 L 2 : Erzeuge Kopien von M 1 und M 2. p 1

Konstruktion der reellen Zahlen

4. Übung zur Vorlesung Informatik III am

Relationen und DAGs, starker Zusammenhang

Theoretische Informatik: Automaten und formale Sprachen

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen

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

5.2 Endliche Automaten

Determinisierung von endlichen Automaten

8. Konvexe Polytope. Tobias Boelter. Mittwoch, 5. März TopMath Frühlingsschule

Suche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften

Lösungen zu Übungsblatt 4

Graphentheorie 1. Diskrete Strukturen. Sommersemester Uta Priss ZeLL, Ostfalia. Hausaufgaben Graph-Äquivalenz SetlX

Isomorphie von Bäumen

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

Nachbarschaft, Grad, regulär, Inzidenz

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

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt:

Einführung in die Theoretische Informatik

Lineare Algebra I 5. Tutorium Die Restklassenringe /n

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik

1.4 Äquivalenzrelationen

Rechenzeit für A. Sei t B die Rechenzeit eines Algo für B. Seien p,q,r monotone Polynome ( +).

Grammatiken. Einführung

7 Endliche Automaten. 7.1 Deterministische endliche Automaten

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

Zusammenfassung Analysis 2

Grundbegriffe der Informatik

Automaten, Spiele, und Logik

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften

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

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

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

Grundlagen der Theoretischen Informatik

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

Mathematische Strukturen

Automaten und formale Sprachen Klausurvorbereitung

Übungsaufgaben zu Formalen Sprachen und Automaten

liefern eine nicht maschinenbasierte Charakterisierung der regulären

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Transkript:

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 C mit L = L(C). Es existiert ein DFA D mit L = L(D). Die Menge aller NFA-akzektierbaren Sprachen ist abgeschlossen unter Mengenoperationen,,, \ und Sprachoperationen,, R Jede durch einen regulären Ausdruck definierte Sprache ist NFA-akzektierbar. 120

DFA-Minimierung Ein vollständiger DFA A heißt genau dann minimal für die Sprache L(A), wenn kein vollständiger DFA B mit L(A) = L(B) und weniger Zuständen als A existiert. Beispiel: DFA A = ({a, b}, {1, 2, 3, 4, 5, 6, 7}, δ, {7}, {3, 4}) mit δ(a) = {(1, 1), (2, 4), (3, 1), (4, 1), (5, 3), (6, 3), (7, 1)} und δ(b) = {(1, 1), (2, 2), (3, 6), (4, 6), (5, 2), (6, 5), (7, 6)} Idee (für vollständigen DFA A = (X, Q, δ, I, F)): für jedes Paar (p, q) von Zuständen in Q: Suche nach einem (kürzesten) unterscheidenden Wort Zerlegung von Q Klassen zueinander äquivalenter Zustände (für die kein unterscheidendes Wort gefunden wurde), diese Klassen sind die Zustände des minimalen DFA. 121

Äquivalente Zustände in einem DFA Beispiel: A = ({a, b}, {0, 1, 2, 3}, δ, {0}, {3}) mit δ(a) = {(0, 1)} und δ(b) = {(0, 2), (1, 3), (2, 3)} allgemein: DFA A = (X, Q, δ, I, F) und Zustand q Q definieren einen DFA A q = (X, Q, δ, {q}, F) Zustände p, q Q heißen genau dann äquivalent in A, wenn L(A p ) = L(A q ) gilt. Ein Wort w X unterscheidet die Zustände p Q und q Q, falls w (L(A p ) L(A q )) \ (L(A p ) L(A q )). (symmetrische Differenz von L(A p ) und L(A q )) 122

Er existiert ein n N, so dass T n = T n+1 gilt. Für jedes Paar {p, q} T n sind p und q äquivalent in A. 123 Algorithmus zur Bestimmung äquivalenter Zustände gegeben: DFA A = (X, Q, δ, I, F ) Falls das Wort w X die Zustände p, q Q in A unterscheidet und für ein a X gilt (p, p ) δ(a) und (q, q ) δ(a), dann unterscheidet das Wort aw X die Zustände p, q Q in A. Induktive Berechnung einer Folge T i von Mengen von unterscheidbaren Zustandspaaren (Beispiel Tafel): T 0 = {{p, q} p F, q F } T i+1 = T i {p, q} a X p, q Q : {p, q } T i (p, p ) δ(a) (q, q ) δ(a) (T i : Menge aller durch ein w mit w i unterscheidbaren Paare) Alternative Darstellung: Folge von Äquivalenzrelationen i Q 2 mit p i q gdw. w X : w i (w A p w A q )

Minimalautomat gegeben: DFA A = (X, Q A, δ A, I A, F A ) Minimalautomat für L(A): DFA B = (X, Q B, δ B, I B, F B ) mit Q B = {[q] A q Q} Äquivalenzklassen in A a X : δ B (a) = {([p] A, [q A ]) (p, q) δ A (a)} I B = {[q] A q I A } F B = {[q] A q F A } Satz Zu jeder NFA-akzeptierbaren Sprache L X existiert ein (bis auf Isomorphie) eindeutiger äquivalenter vollständiger DFA A mit L = L(A) und einer minimalen Anzahl von Zuständen (Minimalautomat für L). 124

Entscheidung der Äquivalenz von NFA Eingabe: NFA A, B Ausgabe: falls A und B äquivalent (also L(A) = L(B)): ja sonst: nein Algorithmus: 1. Konstruktion der DFA A und B mit L(A ) = L(A) und L(B ) = L(B) (Potenzmengenkonstruktion), 2. Konstruktion der Minimalautomaten A zu A und B zu B, 3. Test, ob A und B isomorph sind (Isomorphietest für Graphen). Die NFA A und B sind genau dann äquivalent, wenn die Automaten A und B isomorph sind. 125

Entscheidung der Äquivalenz regulärer Ausdrücke Eingabe: Reguläre Ausdrücke E, F Ausgabe: falls E und F äquivalent: ja sonst: nein Algorithmus: 1. Bestimmung von NFA A E und A F mit L(A E ) = L(E) und L(A F ) = L(F), 2. Berechnung der DFA A E und A F mit L(A E ) = L(E) und L(A F ) = L(F ) (Potenzmengenkonstruktion), 3. Berechnung der Minimalautomaten A E zu A E und A F zu A F (Minimierungsalgorithmus), 4. Test, ob A E und A F isomorph sind (Isomorphietest für Graphen). Die regulären Ausdrücke E und F sind genau dann äquivalent, wenn die Automaten A E und A F isomorph sind. Beispiel: (ab) + a und a(ba) ba 126

Erweiterte reguläre Ausdrücke auch Operationen \,, R, erlaubt BNF E ::= ε a E E E R E + E EE E \ E E E mit a A Beispiel: (a + b) \ ((a + b) (ba)(a + b) ) = (a + b) (ba)(a + b) Jede durch einen erweiterten regulären Ausdruck definierte Sprache ist NFA-akzeptierbar. (wegen Abschluss der Menge aller NFA-akzeptierbaren Sprachen bezüglich der Operationen \,, R, ) Zu jedem erweiterten regulären Ausdruck existiert ein äquivalenter (einfacher) regulärer Ausdruck. 127

DFA regulärer Ausdruck Beispiel: A = ({a, b}, {1, 2}, δ, {1}, {1}) mit δ(a) = {(1, 2)} und δ(b) = {(1, 1)(2, 1)} gegeben: DFA A = (X, Q, δ, I, F) mit Q = {1,..., n} und I = {1} schrittweise Konstruktion regulärer Ausdrücke (Dynamische Programmierung): R(k, i, j) beschreibt die Menge aller Wörter, für die ein Pfad von i zu j nur über (Zwischen-)Zustände k existiert R(0, i, j) = { {a X (i, j) δ(a)} falls i j ε + {a X (i, j) δ(a)} falls i = j R(k + 1, i, j) = R(k, i, j) + (R(k, i, k + 1)R(k, k + 1, k + 1) R(k, k + 1, j)) Für den so konstruierten regulären Ausdruck E = f F R(n, 1, f ) gilt L(E) = L(A). 128

NFA und reguläre Ausdrücke Schon gezeigt: Jede NFA-akzeptierbare Sprache wird durch einen regulären Ausdruck definiert. Jede durch einen regulären Ausdruck definierte Sprache ist NFA-akzeptierbar. Das ergibt zusammen: Satz Eine Sprache ist genau dann NFA-akzeptierbar ( REC(NFA)), wenn sie durch einen regulären Ausdruck definiert wird. 129