Kapitel 2: Formale Sprachen Gliederung

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

Kapitel 2: Formale Sprachen Gliederung

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie

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

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

Kapitel 3: Grundlegende Ergebnisse aus der Komplexitätstheorie Gliederung

Kapitel 4: Komplexitätstheorie Gliederung

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

Das Pumping-Lemma Formulierung

Kapitel 3: Berechnungstheorie Gliederung

Endliche Automaten Jörg Roth 101

Kapitel 2: Formale Sprachen Gliederung

Kapitel 1: Endliche Automaten Gliederung 1. Endliche Automaten

Kapitel 3: Berechnungstheorie Gliederung

Kapitel 4: Komplexitätstheorie Gliederung

Theorie der Informatik

5.2 Endliche Automaten

Einführung in die Theoretische Informatik

Kapitel 0: Grundbegriffe Gliederung

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

Kapitel 3: Berechnungstheorie Gliederung

Das Pumping Lemma: Ein Anwendungsbeispiel

Theoretische Informatik

Informatik III - WS07/08

Informatik 3 Theoretische Informatik WS 2015/16

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

Grundbegriffe der Informatik Tutorium 33

Software Engineering Ergänzung zur Vorlesung

Automaten und Formale Sprachen SoSe 2013 in Trier

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

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

Automaten und Formale Sprachen ε-automaten und Minimierung

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

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

Homomorphismen. Defnition: Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ Γ. Wir definieren die folgenden Sprachen:

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

Die Nerode-Relation und der Index einer Sprache L

1 Eliminieren von ɛ-übergängen

Gliederung. Kapitel 1: Endliche Automaten

Automaten und formale Sprachen Klausurvorbereitung

Diskrete Mathematik. Arne Dür Kurt Girstmair Simon Legner Georg Moser Harald Zankl

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

Kapitel 3: Berechnungstheorie Gliederung

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

F2 Zusammenfassung Letzte Tips zur Klausur

Formale Grundlagen der Informatik 1 Kapitel 5 Abschlusseigenschaften

Theoretische Grundlagen der Informatik

Theoretische Informatik I

Kapitel 3: Berechnungstheorie Gliederung

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

Grundlagen der Theoretischen Informatik

Theoretische Informatik Kap 2: Berechnungstheorie

Einführung in die Computerlinguistik Satz von Kleene

Typ-0-Sprachen und Turingmaschinen

Akzeptierende Turing-Maschine

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

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

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

Nachklausur zur Vorlesung

Formale Sprachen und endliche Automaten

Grundlagen der Theoretischen Informatik, SoSe 2008

Induktive Definition

Theoretische Grundlagen der Informatik

Einführung in die Theoretische Informatik

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

Theorie der Informatik

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

Einführung in die Computerlinguistik Satz von Kleene

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

10 Kellerautomaten. Kellerautomaten

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung

Musterlösung Informatik-III-Nachklausur

Kontextfreie Sprachen werden von PDAs akzeptiert

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

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

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

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008

Grundbegriffe der Informatik Tutorium 12

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

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

Einführung in die Theoretische Informatik

Theoretische Informatik I

Tutorium 23 Grundbegriffe der Informatik (10. Sitzung)

DisMod-Repetitorium Tag 4

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

Kapitel 3: Berechnungstheorie Gliederung

Kontextfreie Sprachen

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen

Operationen auf endlichen Automaten und Transduktoren

1. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik

Beispiel Produktautomat

11.1 Kontextsensitive und allgemeine Grammatiken

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

2.3 Abschlusseigenschaften

Wie man eine Sprache versteht

2.2 Nichtdeterministische endliche Automaten

Theoretische Informatik I

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

Grundlagen der Informatik II

Transkript:

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 Abgeschlossenheit Reguläre Ausdrücke 2.3. Kontextfreie Sprachen 2/3, Folie 28 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Die regulären Sprachen über einem Alphabet sind abgeschlossen gegenüber Vereinigung, Durchschnitt, Differenz und Komplement: Es seien Σ das zugrunde liegende Alphabet und L, L 2 Σ* reguläre Sprachen. Dann gilt: Die Sprache L L 2 ist eine reguläre Sprache. Die Sprache L L 2 ist eine reguläre Sprache. Die Sprache L \ L 2 ist eine reguläre Sprache. Die Sprache co(l ), d.h. Σ* \ L, ist eine reguläre Sprache. Diese Zusammenhänge kann man nutzen, um Grammatiken bzw. endliche Automaten für komplexere reguläre Sprachen zu konstruieren. 2/3, Folie 2 28 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Einfache Zusammenhänge Die sogenannten De Morganschen Gesetze der Mengenlehre liefern Beziehungen zwischen den Operationen Durchschnitt, Differenz und Komplement bzw. Vereinigung und damit auch zwischen Abgeschlossenheitseigenschaften: Wegen folgt Abgeschl. geg. aus Abgeschlossenheit gegen L L 2 =co(co(l ) co(l 2 )) Vereinigung Komplement und Durchschnitt L L 2 =co(co(l ) co(l 2 )) Durchschnitt Komplement und Vereinigung L \ L 2 = L co(l 2 ) Differenz Komplement und Durchschnitt co(l ) = Σ* \ L Komplement Differenz (Σ* ist regulär.) usw. Daher brauchen wir uns hier auch nur z.b. um Komplement und Durchschnitt zu kümmern. 2/3, Folie 3 28 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Anmerkungen Beim Nachweis der Abgeschlossenheit gegen Durchschnitt und Komplement nutzen wir aus, dass es zu jeder regulären Sprache L einen (deterministischen) endlichen Automaten A mit L(A) = L gibt Bezüglich des Durchschnitts ist deshalb nur zu zeigen, dass für alle (deterministischen) endlichen Automaten A und A 2 gilt: Es gibt einen (deterministischen) endlichen Automaten A für die Sprache L(A ) L(A 2 ). Bezüglich des Komplements ist deshalb nur zu zeigen, dass für alle (deterministischen) endlichen Automaten A gilt: Es gibt einen (deterministischen) endlichen Automaten A für die Sprache Σ* \ L(A ). 2/3, Folie 4 28 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Einschub: Vereinigung regulärer Sprachen auch direkt berechenbar, ohne den Umweg über Durchschnitt und Komplement nämlich (besonders leicht) anhand der Grammatiken. Ein Beispiel: Es sei Σ = {, }. Es sei L = { v w v, w Σ* } Es sei L 2 = { w Σ* w enthält gerade viele en und w > } S S A A S B B B B S 2 A 2 B 2 A 2 B 2 A 2 B 2 A 2 B 2 Eine reguläre Grammatik für L L 2 enthält alle obigen Regeln und die folgenden neuen Regeln, wobei S das Startsymbol ist S S A S A 2 B 2 allgemeines Rezept überlegen 2/3, Folie 5 28 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Operation: Durchschnitt ( Beispiel ) Es sei Σ = {, }. Es sei L = { v w v, w Σ* }. Es sei L 2 = { v w v, w Σ* }. Frage: Ist die Sprache L L 2 auch regulär? ( L L 2 enthält alle Wörter aus Σ*, die sowohl das Teilwort als auch das Teilwort enthalten. ) Operation: Durchschnitt ( Automaten-orientierter Ansatz) Konstruiere einen endlichen Automaten A mit L(A ) = L. Konstruiere einen endlichen Automaten A 2 mit L(A 2 ) = L 2. Benutze A und A 2, um einen endlichen Automaten A mit L(A ) = L L 2 zu konstruieren. Idee : A soll nachvollziehen, wie A und A 2 gleichzeitig eine Zeichenfolge abarbeiten. Idee 2: Ein Wort liegt genau dann in L L 2, wenn es von A und A 2 akzeptiert wird. 2/3, Folie 6 28 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Operation: Durchschnitt ( Beispiel (weiter) ) A = [Z,Σ,a,F,δ ] mit L(A ) = L A = [Z,Σ,z,F,δ ] mit L(A ) = L L 2 a a a 2 A 2 = [Z 2,Σ,b,F 2,δ 2 ] mit L(A 2 ) = L 2 b b b 2,, Z \ Σ <a,b > <a,b > <a,b > <a,b > <a,b > <a,b 2 > <a,b 2 > <a,,b 2 > <a,b 2 > <a,b > <a 2,b > <a,b > <a,b > <a 2,b > <a,b 2 > <a,b 2 > <a 2,b 2 > <a,b 2 > <a 2,b > <a 2,b > <a 2,b > <a 2,b > <a 2,b > <a 2,b 2 > <a 2,b 2 > <a 2,b 2 > <a 2,b 2 > 2/3, Folie 7 28 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Operation: Durchschnitt ( Beispiel - Erreichbarkeit spart Arbeit ) A = [Z,Σ,z,F,δ ] mit L(A ) = L L 2 Z \ Σ <a,b > <a,b > <a,b > <a,b > <a,b > <a,b 2 > <a,b 2 > <a,,b 2 > <a,b 2 > <a,b > <a 2,b > <a,b > <a,b > <a 2,b > <a,b 2 > <a,b 2 > <a 2,b 2 > <a,b 2 > <a,b > <a,b > <a,b > <a,b 2 > <a 2,b > <a 2,b > <a 2,b > <a 2,b > <a 2,b > <a 2,b > <a 2,b 2 > <a 2,b 2 > <a 2,b 2 > <a 2,b 2 > <a 2,b 2 >, Hinweis: Nicht vom Anfangszustand aus erreichbare Zustände dürfen fehlen. 2/3, Folie 8 28 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Operation: Durchschnitt ( allgemein ) Es sei A = [Z,Σ,z,F,δ ] und A 2 = [Z 2,Σ,y,F 2,δ 2 ] deterministische endliche Automaten mit L(A ) = L und L(A 2 ) = L 2. Konstruiere den zu A und A 2 gehörenden Produktautomaten A = [Z,Σ,z,F,δ ] mit L(A ) = L L 2 wie folgt: Setze Z := Z Z 2 Setze z := (z,y ) Setze F := { (z,y) z F und y F 2 }. Für jedes (z,y) Z und alle a Σ: setze δ ((z,y),a) := <δ (z,a),δ 2 (y,a)>. Wie beim Potenzmengenautomaten umgeht man auch gerne nicht erreichbare Zustände von vornherein 2/3, Folie 9 28 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Operation: Komplement ( Beispiel ) Es sei Σ = {, }. Es sei L = { v w v, w Σ* }, d.h. die Sprache aller Wörter mit Teilwort. Frage: Ist die Sprache co(l ) auch regulär? ( co(l ) enthält alle Wörter aus Σ*, in denen das Teilwort nicht vorkommt. ) Operation: Komplement ( Idee ) Konstruiere einen endlichen Automaten A mit L(A) = L. Benutze A, um einen endlichen Automaten A mit L(A ) = co(l ) zu konstruieren. Idee : A soll genau dann akzeptieren, wenn A nicht akzeptiert, d.h. wenn man sich gewissermaßen in A bewegt, aber genau in den Zuständen außerhalb F (von A) akzeptiert. 2/3, Folie 28 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Operation: Komplement ( Beispiel (weiter) ) Es sei Σ = {, }. Es sei L = { v w v, w Σ* }. A = [Z,Σ,z,F,δ] mit L(A) = L A = [Z,Σ,z,F,δ] mit L(A ) = co(l ),, z z z 2 z z z 2 F = Z \ F erledigt!... A nennt man den Komplementautomaten von A 2/3, Folie 28 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Operation: Komplement (allgemein) Sei A = [Z,Σ,z,F,δ] ein (deterministischer) endlicher Automat für L. Definiere den zu A gehörenden Komplementautomaten A = [Z,Σ,z,F,δ] wie folgt: Setze F := { z z F } = Z \ F Da die Mengen K A (z) eine Klasseneinteilung auf Σ* definieren und L(A) die Vereinigung aller Mengen K A (z) mit z F ist, folgt sofort, dass L(A ) = Σ* \ L(A) gilt. 2/3, Folie 2 28 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Operation: Differenz ( Beispiel für Konstruktion in 2 bekannten Schritten) Es sei Σ = {, }. Es sei L = { v w v, w Σ* }. Es sei L 2 = { v w v, w Σ* }. Frage: Ist die Sprache L \ L 2 auch regulär? ( L \ L 2 enthält alle Wörter aus Σ*, die das Teilwort enthalten und das Teilwort nicht enthalten. ) Operation: Differenz ( Idee ) Konstruiere einen endlichen Automaten A mit L(A ) = L. Konstruiere einen endlichen Automaten A 2 mit L(A 2 ) = L 2. Benutze A 2 um einen endlichen Automaten A 3 mit L(A 3 ) = co(l 2 ) zu konstruieren. Benutze A und A 3, um einen endlichen Automaten A mit L(A ) = L co(l 2 ) = L \ L 2 zu konstruieren. 2/3, Folie 3 28 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Operation: Differenz ( Beispiel (cont.) ) A = [Z,Σ,a,F,δ ] mit L(A ) = L, a a a 2 A 2 = [Z 2,Σ,b,F 2,δ 2 ] mit L(A 2 ) = L 2 A 3 = [Z 3,Σ,b,F 3,δ 3 ] mit L(A 3 ) = co(l 2 ),, b b b 2 b b b 2 für Komplement 2/3, Folie 4 28 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Operation: Differenz ( Beispiel (cont.) ) A = [Z,Σ,a,F,δ ] mit L(A ) = L A = [Z,Σ,z,F,δ ] mit L(A ) = L co(l 2 ) a a a 2, A 3 = [Z 3,Σ,b,F 3,δ 3 ] mit L(A 3 ) = co(l 2 ) b b b 2 für Durchschnitt, Z /Σ <a,b > <a,b > <a,b > <a,b > <a,b > <a,b 2 > <a,b 2 > <a,,b 2 > <a,b 2 > <a,b > <a 2,b > <a,b > <a,b > <a 2,b > <a,b 2 > <a,b 2 > <a 2,b 2 > <a,b 2 > <a 2,b > <a 2,b > <a 2,b > <a 2,b > <a 2,b > <a 2,b 2 > <a 2,b 2 > <a 2,b 2 > <a 2,b 2 > 2/3, Folie 5 28 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Operation: Differenz ( Beispiel (cont.) ) A = [Z,Σ,z,F,δ ] mit L(A ) = L co(l 2 ) = L \ L 2 Z /Σ <a,b > <a,b > <a,b > <a,b > <a,b > <a,b 2 > <a,b 2 > <a,,b 2 > <a,b 2 > <a,b > <a,b > <a,b > <a,b > <a 2,b > <a,b > <a,b > <a 2,b > <a,b 2 > <a,b 2 > <a 2,b 2 > <a,b 2 > <a,b 2 > <a 2,b > <a 2,b > <a 2,b > <a 2,b > <a 2,b > <a 2,b > <a 2,b 2 > <a 2,b 2 > <a 2,b 2 > <a 2,b 2 > <a 2,b 2 >, Hinweis: Nicht vom Anfangszustand aus erreichbare Zustände dürfen fehlen. 2/3, Folie 6 28 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Operation: Differenz ( Beispiel (cont.) ) A = [Z,Σ,z,F,δ ] mit L(A ) = L co(l 2 ) = L \ L 2 <a,b > <a,b > <a,b > <a,b 2 > <a 2,b > c c... minimiert * c 3 c 2 <a 2,b 2 >,, * mittels Klassentabellen-Algorithmus oder direkt Restsprachen K(z) ablesen und ggf. Zustände zusammenlegen: K(a b ) = K(a b 2 ) = K(a b 2 ) = {,}*! 2/3, Folie 7 28 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Äquivalenzprüfung von Automaten mithilfe von Abgeschlossenheitseigenschaften Die Abgeschlossenheitseigenschaften kann man auch benutzen, um folgende zwei algorithmischen Probleme zu lösen: Eingabe: Ausgabe (): Ausgabe (2): zwei (deterministische) endliche Automaten A und A 2 mit demselben Eingabealphabet Σ Antwort auf die Frage, ob L(A ) L(A 2 ) Antwort auf die Frage, ob A und A 2 äquivalent sind, d.h. dieselbe Sprache akzeptieren. (2) dann ohne Minimalautomaten! (aber nicht unbedingt schneller): Ist () gelöst, dann kann (2) leicht beantwortet werden: A und A 2 sind äquivalent gdw. L(A ) L(A 2 ) und L(A 2 ) L(A ). 2/3, Folie 8 28 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Äquivalenzprüfung (weiter: L L 2 ) Wegen der De Morgan schen Gesetze gilt für je zwei Sprachen L, L 2 Σ: L L 2 L co(l 2 ) = L \ L 2 = Abgeleitetes (Unter-)Programm Eingabe: zwei (deterministische) endliche Automaten A und A 2 mit demselben Eingabealphabet Σ Ausgabe: Antwort auf die Frage, ob L(A ) L(A 2 ) oder nicht ) Bestimme den zu A 2 gehörenden Komplementautomaten A 2. 2) Bestimme den zu A und A 2 gehörenden Produktautomaten A, d.h. einen Automaten A für L(A ) \ L(A 2 ). 3) Überprüfe, ob es in A einen akzeptierenden Zustand gibt, der vom Startzustand aus erreichbar ist, d.h. ob L(A ) = L(A ) \ L(A 2 ) = ist: falls ja, gib L(A ) L(A 2 ) aus; falls nein, gib L(A ) L(A 2 ) aus. 2/3, Folie 9 28 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Eigenschaften regulärer Sprachen Äquivalenzprüfung ohne Minimalautomaten (Rest: L = L 2 ) Bekanntlich gilt für je zwei Sprachen L, L 2 Σ: L = L 2 L L 2 und L 2 L Abgeleiteter Lösungsalgorithmus Eingabe: zwei (deterministische) endliche Automaten A und A 2 mit demselben Eingabealphabet Σ Ausgabe: Antwort auf die Frage, ob L(A ) = L(A 2 ) gilt ) Überprüfe mit dem vorigen Unterprogramm, ob L(A ) L(A 2 ) gilt 2) Überprüfe mit dem vorigen Unterprogramm, ob L(A 2 ) L(A ) gilt 3) Antworte wie folgt: Falls nachgewiesen wurde, dass L(A ) L(A 2 ) und L(A 2 ) L(A ) gilt, so gib L(A ) = L(A 2 ) aus, andernfalls gib L(A ) L(A 2 ) aus. 2/3, Folie 2 28 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik