Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013

Ähnliche Dokumente
Satz (Abschluß unter der Stern-Operation)

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Theoretische Informatik Mitschrift

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

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kurzer Einschub: das Schubfachprinzip.

Theorie der Informatik

Die Nerode-Relation und der Index einer Sprache L

Typ-3-Sprachen. Das Pumping-Lemma

Das Pumping Lemma: Ein Anwendungsbeispiel

2.2 Reguläre Sprachen Endliche Automaten

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

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

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

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Informatik IV. Pingo Sommersemester Dozent: Prof. Dr. J. Rothe. J. Rothe (HHU Düsseldorf) Informatik IV 1 / 13

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

Einführung in die Theoretische Informatik Tutorium V

Grundlagen der theoretischen Informatik

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

Vorlesungsmitschrift zur Vorlesung Theoretische Informatik I vom 23. Juni Christian Franz

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

Grundlagen der Theoretischen Informatik

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

DisMod-Repetitorium Tag 4

Das Pumping-Lemma Formulierung

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

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

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

Automaten und Formale Sprachen ε-automaten und Minimierung

Informatik IV Theoretische Informatik

Theoretische Grundlagen der Informatik

FORMALE SYSTEME. Der Satz von Myhill und Nerode. Automaten verkleinern mit Quotientenbildung. Verschiedene Äquivalenzrelationen

Automaten und Formale Sprachen SoSe 2013 in Trier

Theoretische Informatik I

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

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

Formale Sprachen und Komplexität, SS 18, Prof. Dr. Volker Heun. Übungsblatt 4. Abgabe: bis Mo Uhr

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

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

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier

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

Beweisidee: 1 Verwende den Keller zur Simulation der Grammatik. Leite ein Wort. 2 Problem: der Keller darf nicht beliebig verwendet werden, man kann

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

Übung Theoretische Grundlagen

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

4. Übung zur Vorlesung Informatik III am

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

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

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Die mathematische Seite

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

Theoretische Informatik I (Winter 2018/19) Prof. Dr. Ulrich Hertrampf. Das Pumping Lemma

Theoretische Informatik I (Winter 2017/18) Prof. Dr. Ulrich Hertrampf. Das Pumping Lemma

Zentralübung zur Vorlesung Theoretische Informatik

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 20.

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

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

5.2 Endliche Automaten

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

Grundlagen der theoretischen Informatik

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

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 19.

Diskrete Mathematik. Anna-Lena Rädler Christina Kohl Georg Moser Christian Sternagel Vincent van Oostrom

Mathematik für Informatiker I Mitschrift zur Vorlesung vom

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

Formale Grundlagen der Informatik 1 Kapitel 5 Abschlusseigenschaften

Theoretische Grundlagen der Informatik

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

Äquivalenzrelation R A zu DFA A. Rechtsinvarianz. Relation R L zur Sprache L

Einführung in die Theoretische Informatik

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

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

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

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

Kapitel 1: Endliche Automaten Gliederung 1. Endliche Automaten

Mathematische Strukturen

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

Kapitel 1: Endliche Automaten Gliederung 1. Endliche Automaten

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie

Formale Sprachen und endliche Automaten

Kurz-Skript zur Theoretischen Informatik I

Beispiel Produktautomat

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

Übungsblatt 1. Lorenz Leutgeb. 30. März 2015

Informatik 3 Theoretische Informatik WS 2015/16

Kapitel 2: Formale Sprachen Gliederung

Grenzen der Regularität

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Algorithmen und Datenstrukturen (EI)

Einführung in die Theoretische Informatik

Grundlagen der Theoretischen Informatik

Teil VI. Anwendungen, Teil 1: XML und deterministische reguläre Ausdrücke

Lexikalische Analyse, Tokenizer, Scanner

Grundlagen der Theoretischen Informatik

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Beispiel: A d zum Automaten, der OTTO im Text erkennt. Zur Erinnerung: der nichtdeterministische Automat sieht so aus:

a b b a Alphabet und Wörter - Zusammengefasst Formale Grundlagen der Informatik 1 Kapitel 2 Endliche Automaten und reguläre Sprachen

BA-INF 011 Logik und Diskrete Strukturen WS 2013/14 Mögliche Klausuraufgaben Stand vom

Übungsaufgaben zu Formalen Sprachen und Automaten

Transkript:

Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2013 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1

Reguläre Ausdrücke Wozu sind reguläre Ausdrücke in der Praxis nützlich? Suchen und Ersetzen in Editoren (Tools: vi, emacs,... ) Pattern-Matching und Verarbeitung großer Texte und Datenmengen, z.b. beim Data-Mining (Tools: grep, sed, awk, perl,... ) Übersetzung von Programmiersprachen: Lexikalische Analyse Umwandlung einer Folge von Zeichen (das Programm) in eine Folge von Tokens, in der bereits die Schlüsselwörter, Bezeichner, Daten, etc. identifiziert sind. (Tools: lex, flex,... ) Sander Bruggink Automaten und Formale Sprachen 137

Reguläre Ausdrücke in der Praxis POSIX ERE-Syntax: Alle Zeichen, die nicht etwas anderes bedeuten, sind atomare Symbole. Für Symbolen mit anderen Bedeutungen: \( = (, \[ = [, usw. αβ α β α* α? (α ε) α+ αα α{n} α... α (n Mal α). a z 1 9 % # [a 1... a n ] (a 1 a n ) [^a 1... a n ] jedes Zeichen außer a 1... a n (,) gruppieren und speichern (nützlich für ersetzen, gespeicherte gruppen werden mit \1, \2,... angegeben)... Sander Bruggink Automaten und Formale Sprachen 138

Reguläre Ausdrücke in der Praxis Aufgabe: In einer HTML-Datei kommen Wiki-links der Form [[text]] vor. Wir wollen solche Links durch HTML-Hyperlinks ersetzen. Ein Hyperlink sieht in HTML folgendermaßen aus: <a href="a"> T </a> Wir wollen also [[x]] durch <a href="x.html">x</a> ersetzen. Sander Bruggink Automaten und Formale Sprachen 139

xkcd.com

Zusammenfassung: reguläre Sprachen beschreiben Pfeil Produktion Reguläre Grammatik DFA NFA Produktion Pfeil Potenzmengenkonstruktion Zustandseliminationsverfahren Induktives Verfahren Regulärer Ausdruck Sander Bruggink Automaten und Formale Sprachen 141

Wir haben bis jetzt vier Formalismen kennengelernt, mit denen wir eine reguläre Sprache angeben können: reguläre Grammatiken, DFAs, NFAs und reguläre Ausdrücke. Alle Sprachen Reguläre Grammatiken DFAs NFAs Reguläre Ausdrücke Sander Bruggink Automaten und Formale Sprachen 142

Heute werden wir eine Beweismethode kennenlernen, mit der wir zeigen können, dass eine bestimmte Sprache nicht regulär ist: das Pumping-Lemma. Alle Sprachen Pumping-Lemma Reguläre Grammatiken DFAs NFAs Reguläre Ausdrücke Sander Bruggink Automaten und Formale Sprachen 142

Kurzer Einschub: das Schubfachprinzip Sander Bruggink Automaten und Formale Sprachen 143

Kurzer Einschub: das Schubfachprinzip Sander Bruggink Automaten und Formale Sprachen 143

Kurzer Einschub: das Schubfachprinzip 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 Automaten 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. Sander Bruggink Automaten und Formale Sprachen 144

Jeder Pfad mit mehr Übergängen als der Automat Zustände hat, enthält eine Schleife. v u z w Die Schleife kann nun mehrfach (oder gar nicht) durchlaufen werden, dadurch wird das Wort x = uvw aufgepumpt und man stellt fest, dass uw, uv 2 w, uv 3 w,... auch in der Sprache des Automaten liegen müssen. Bemerkung: Es gilt v i = } v. {{.. v }. i-mal Sander Bruggink Automaten und Formale Sprachen 145

v u z w Außerdem kann man für u, v, w folgende Eigenschaften verlangen, wobei n die Anzahl der Zustände des Automaten ist. 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. Sander Bruggink Automaten und Formale Sprachen 146

Beispiel: M = ({z 0, z 1, z 2, z 3 }, {a, b, c}, δ, z 0, {z 3 }) a z 1 b z 0 c c z 3 b z 2 a x = a c u c c v a T (M) w uv 0 w = a c u a T (M) w uv 2 w = a c u c c v c c v a T (M)... w Sander Bruggink Automaten und Formale Sprachen 147

Aus dieser Eigenschaft von endlichen Automaten leiten wir eine Eigenschaft von regulären Sprachen ab. Pumping-Lemma für reguläre Sprachen, uvw-theorem (Satz) Sei L eine reguläre Sprache. Dann gibt es eine Zahl n, so dass sich alle Wörter x L mit x n zerlegen lassen in x = uvw, so dass folgende Eigenschaften erfüllt sind: 1 v 1, 2 uv n und 3 für alle i = 0, 1, 2,... gilt: uv i w L. Sander Bruggink Automaten und Formale Sprachen 148

Pumping-Lemma (alternative Formulierung) Sei L eine Sprache. Angenommen, wir können für jede Zahl n ein Wort x L mit x n wählen, so dass folgendes gilt: für alle Zerlegungen x = uvw mit 1 v 1, 2 uv n gibt es eine Zahl i mit uv i w L. Dann ist L nicht regulär. D.h., wir müssen zeigen, dass es für jedes n (für jede mögliche Anzahl von Zuständen) ein Wort gibt, das mindestens so lang wie n ist und das keine pumpbare Zerlegung hat. Sander Bruggink Automaten und Formale Sprachen 150

Pumping-Lemma Kochrezept für das Pumping-Lemma Gegeben sei eine Sprache L (Beispiel: {a k b k k 0}). Wir wollen zeigen, dass sie nicht regulär ist. 1 Nehme eine beliebige Zahl n an. Diese Zahl darf nicht frei gewählt werden. 2 Wähle ein Wort x L mit x n. Damit das Wort auch wirklich mindestens die Länge n hat, empfiehlt es sich, dass n (beispielsweise als Exponent) in der Beschreibung des Wortes auftaucht. Beispiel: x = a n b n Sander Bruggink Automaten und Formale Sprachen 151

Pumping-Lemma Kochrezept für das Pumping-Lemma 3 Betrachte nun alle möglichen Zerlegungen x = uvw mit den Einschränkungen v 1 und uv n. Beispiel: hier gibt es nur eine mögliche Zerlegung u = a j, v = a l, w = a m b n mit j + l + m = n und l 1. 4 Wähle für jede dieser Zerlegungen ein i (das kann jedes Mal ein anderes i sein), so dass uv i w L. (In vielen Fällen sind i = 0 und i = 2 eine gute Wahl.) Beispiel: wähle i = 2, dann gilt uv 2 w = a j+2l+m b n L, da j + 2l + m n. Sander Bruggink Automaten und Formale Sprachen 152

Pumping-Lemma Sei Σ = {a}. Beispiel-Aufgabe 1 Zeigen Sie, dass die Sprache L = {a 2k k N} nicht regulär ist. Sander Bruggink Automaten und Formale Sprachen 153

Bemerkung zum Pumping-Lemma Bemerkung Wir können mit dem Pumping-Lemma beweisen, dass eine Sprache nicht regulär ist. Wir können es aber nicht verwenden um zu beweisen, dass eine Sprache regulär ist: es gibt nicht-reguläre Sprachen, die trotzdem die Bedingungen des Pumping-Lemmas erfüllen. Sander Bruggink Automaten und Formale Sprachen 154

Äquivalenzrelationen und Minimalautomaten Kurze Wiederholung: Äquivalenzrelationen Was ist eine Äquivalenzrelation? Wir wiederholen zunächst die Definition einer Relation: Relation Eine (zweistellige, homogene) Relation R auf einer Menge M ist eine Teilmenge R M M. Statt (m 1, m 2 ) R schreibt man oft auch m 1 R m 2. Graphische Darstellung: (a, b) R a b Sander Bruggink Automaten und Formale Sprachen 155

Äquivalenzrelationen und Minimalautomaten Kurze Wiederholung: Äquivalenzrelationen Äquivalenzrelation Eine Äquivalenzrelation R auf einer Menge M ist eine Relation R M M, die die folgenden Eigenschaften hat: R ist reflexiv, d.h., es gilt (a, a) R für alle a M. R ist symmetrisch, d.h., falls (a, b) R, so auch (b, a) R. R ist transitiv, d.h., aus (a, b) R und (b, c) R folgt (a, c) R. Hier sind a, b und c beliebige Elemente von M. Sander Bruggink Automaten und Formale Sprachen 156

Äquivalenzrelationen und Minimalautomaten Kurze Wiederholung: Äquivalenzrelationen Reflexiv: a Symmetrisch: a b Transitiv: a b c Sander Bruggink Automaten und Formale Sprachen 157

Äquivalenzklassen Äquivalenzrelationen und Minimalautomaten Äquivalenzklasse Sei R eine Äquivalenzrelation auf M und m M. Die Äquivalenzklasse [m] R von m ist die folgende Menge: [m] R = {n M (n, m) R} Manchmal schreibt man auch nur [m], wenn klar ist, welche Relation gemeint ist. Sander Bruggink Automaten und Formale Sprachen 158

Äquivalenzrelationen und Minimalautomaten Äquivalenzklassen Eigenschaften von Äquivalenzklassen Sei R eine Äquivalenzrelation auf M und m 1, m 2 M. Dann gilt entweder [m 1 ] R = [m 2 ] R oder Außerdem gilt: [m 1 ] R [m 2 ] R =. M = [m] R. m M D.h., zwei Äquivalenzklassen sind entweder gleich oder vollständig disjunkt. Außerdem überdecken sie M vollständig. Man sagt auch: die Äquivalenzklassen bilden eine Partition von M. Sander Bruggink Automaten und Formale Sprachen 159

Erkennungsäquivalenz Äquivalenzrelationen und Minimalautomaten b 2 b 4 a 1 a b b 6 a, b a 3 b 5 a Ist dieser Automat der kleinste Automat, der seine Sprache akzeptiert? Sander Bruggink Automaten und Formale Sprachen 160

Erkennungsäquivalenz Äquivalenzrelationen und Minimalautomaten Die Zustände 4 und 5 sind erkennungsäquivalent. Ebenso die Zustände 2 und 3. Diese Zustände können verschmolzen werden: a, b b a 1 2/3 4/5 6 a a, b b Sander Bruggink Automaten und Formale Sprachen 161

Äquivalenzrelationen und Minimalautomaten Erkennungsäquivalenz Erkennungsäquivalenz (Definition) Gegeben sei ein DFA M = (Z, Σ, δ, z 0, E). Zwei Zustände z 1, z 2 Z heißen erkennungsäquivalent genau dann, wenn für jedes Wort w Σ gilt: ˆδ(z 1, w) E ˆδ(z 2, w) E. Sander Bruggink Automaten und Formale Sprachen 162

Äquivalenzrelationen und Minimalautomaten Myhill Nerode-Äquivalenz Wenn wir die Erkennungsäquivalenz auf Wörter erweitern (anstatt Zustände), erhalten wir die Myhill Nerode-Äquivalenz. Myhill-Nerode-Äquivalenz (Definition) Gegeben sei eine Sprache L und Wörter x, y Σ. Wir definieren eine Äquivalenzrelation L mit x L y genau dann, wenn für alle z Σ gilt (xz L yz L). Sander Bruggink Automaten und Formale Sprachen 163