Grundlagen der Theoretischen Informatik

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

Grundlagen der Theoretischen Informatik

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

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

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

Grundlagen der Theoretischen Informatik

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Gleichmächtigkeit von DEA und NDEA

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik

Theoretische Grundlagen der Informatik

Grundlagen der Theoretischen Informatik

Reguläre Sprachen und endliche Automaten

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

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik

Formale Sprachen und Automaten

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

Prof. Dr. Jürgen Dix Institut für Informatik, TU Clausthal Informatik III, WS 2006/07 2/561

Grundlagen der Theoretischen Informatik

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

Software Engineering Ergänzung zur Vorlesung

Informatik III. Outline

Theoretische Grundlagen des Software Engineering

Grundlagen der Theoretischen Informatik

Das Pumping-Lemma Formulierung

Die mathematische Seite

Formale Sprachen. Reguläre Sprachen. Rudolf FREUND, Marian KOGLER

Automaten und Formale Sprachen ε-automaten und Minimierung

Einführung in die Theoretische Informatik

Formale Sprachen und endliche Automaten

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

Einführung in die Theoretische Informatik

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

Grundlagen der Theoretischen Informatik

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

Grundlagen der Theoretischen Informatik

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

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

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

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

Endlicher Automat (EA)

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

Theoretische Grundlagen der Informatik

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

Kurz-Skript zur Theoretischen Informatik I

Theorie der Informatik

Einführung in die Theoretische Informatik

Die Nerode-Relation und der Index einer Sprache L

Grundlagen der theoretischen Informatik

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen

Endliche Automaten. Endliche Automaten J. Blömer 1/23

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

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

4.2.4 Reguläre Grammatiken

2.2 Reguläre Sprachen Endliche Automaten

Rekursiv aufzählbare Sprachen

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

Theoretische Grundlagen des Software Engineering

Endliche Automaten. Endliche Automaten 1 / 115

Einführung in die Theoretische Informatik

Theoretische Grundlagen der Informatik

Automatentheorie und Formale Sprachen

Einführung in die Computerlinguistik Satz von Kleene

THIA - Übungsblatt 2.

Formale Systeme. Endliche Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Kapitel 2: Formale Sprachen Gliederung

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

Endliche Automaten. Endliche Automaten 1 / 102

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

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

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Satz von Kleene. (Stephen C. Kleene, ) Wiebke Petersen Einführung CL 2

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

Determinisierung von endlichen Automaten

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

Formale Systeme. Büchi-Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

2. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik

Kapitel 0: Grundbegriffe Gliederung

Grundlagen der Theoretischen Informatik

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

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015

Automaten und formale Sprachen Klausurvorbereitung

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

7 Endliche Automaten. 7.1 Deterministische endliche Automaten

Theoretische Grundlagen des Software Engineering

5.2 Endliche Automaten

Grundlagen der Theoretischen Informatik, SoSe 2008

Theoretische Grundlagen der Informatik

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik

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

Theorie der Informatik

Formale Sprachen. Script, Kapitel 4. Grammatiken

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie

Theoretische Grundlagen der Informatik

Die durch einen regulären Ausdruck beschriebene Sprache ist definiert durch:

Automatentheorie und formale Sprachen

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

Transkript:

Grundlagen der Theoretischen Informatik 3. Endliche Automaten (III) 7.05.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1

Organisatorisches 1. Teilklausur: Mittwoch, 10.06.2015, D028, 14:00-15:00 Informationen werden über KLIPS zugeschickt. 2. Teilklausur: Doodle Heute: E-Mail in KLIPS. Übungszettel: schon am Donnerstag verfügbar. 2

Übersicht Determinierte endliche Automaten (DEAs) Indeterminierte endliche Automaten (NDEAs) Automaten mit epsilon-kanten Endliche Automaten akzeptieren genau die Typ-3-Sprachen Pumping Lemma Abschlusseigenschaften und Wortprobleme Rational = Reguläre Ausdrücke 3

DEA/NDEA Definition. ((Determinierter) endlicher Automat) Ein endlicher Automat (e.a., DEA) ist ein Tupel A = (K,Σ,δ,s 0,F). Dabei ist K eine endliche Menge von Zuständen, Σ ein endliches Alphabet δ : K Σ K die totale(!) Übergangsfunktion, s 0 K der Startzustand, und F K die Menge der finalen Zustände. Definition (Indeterminierter endlicher Automat) Ein indeterminierter endlicher Automat (NDEA) ist ein Tupel A = (K,Σ,,I,F). Dabei ist K eine endliche Menge von Zuständen, Σ ein endliches Alphabet, (K Σ) K eine Übergangsrelation, I K eine Menge von Startzuständen, F K eine Menge von finalen Zuständen. 4

Determiniert / indeterminiert Determinierter endlicher Automat Für einen Zustand q und eine Eingabe a genau ein einziger Nachfolgezustand festgelegt durch übergangsfunktion δ Indeterminierter endlicher Automat Für einen Zustand q und eine Eingabe a evtl. mehrere Nachfolgezustände oder gar keiner festgelegt durch Übergangsrelation 5

Übergangsfunktion DEA: δ : K Σ K ist strukturell rekursiv über Σ definiert: δ (q,ε) := q δ (q,wa) := δ(δ (q,w),a) NDEA: (K Σ ) K ist definiert durch: ( (q,ε), q ) gdw q = q ( (q,wa), q ) gdw E q K ( ( (q,w), q ) ( (q,a), q ) ) 6

Akzeptierte Sprache Definition (Von einem DEA Automaten akzeptierte Sprache). Die von einem Automaten A akzeptierte Sprache, ist definiert als L(A) := {w Σ δ (s 0,w) F} Die Menge RAT := {L es gibt einen endlichen Automaten A mit L = L(A)} der von endlichen Automaten akzeptierten Sprachen heißt Menge der rationalen Sprachen Definition (Von einem NDEA akzeptierte Sprache) Die von einem indeterminierten endlichen Automaten A akzeptierte Sprache ist L(A) := {w Σ E s 0 I E q F : ( (s 0,w), q )} 7

Gleichmächtigkeit von DEA und NDEA Theorem. DEA gleich mächtig wie NDEA Eine Sprache ist rational (es gibt einen determinierten endlichen Automaten, der sie akzeptiert) gdw es gibt einen indeterminierten endlichen Automaten, der sie akzeptiert. Beweis. : Sei L eine rationale Sprache. Dann gibt es laut Definition einen determinierten endlichen Automaten A DEA mit L = L(A DEA ). Jeder determinierte endliche Automat ist aber insbesondere auch ein (besonderer) indeterminierter endlicher Automat. 8

Gleichmächtigkeit von DEA und NDEA Theorem. DEA gleich mächtig wie NDEA Eine Sprache ist rational (es gibt einen determinierten endlichen Automaten, der sie akzeptiert) gdw es gibt einen indeterminierten endlichen Automaten, der sie akzeptiert. Beweis : Sei A NDEA = (K,Σ,,I,F) ein (beliebiger) indeterminierter endlicher Automat. Er akzeptiert die Sprache L(A NDEA ). Beweisidee: Konstruiere aus A NDEA einen determinierten Automaten A DEA mit L(A NDEA ) = L(A DEA ) mit Hilfe einer Potenzmengenkonstruktion... 9

Gleichmächtigkeit von DEA und NDEA Beweis (Forsetzung) Fortsetzung... Zustände in A DEA bestehen aus Mengen von Zuständen von A NDEA Wenn man in A NDEA mit w nach q 1,...,q n gelangt, dann gelangt man in A DEA mit w nach q = {q 1,...,q n }. Initialer Zustand von A DEA : Menge aller initialen Zustände von A NDEA Finale Zustände von A DEA : Jede Menge von Zustände, die einen finalen Zustand von A NDEA enthält 10

Gleichmächtigkeit von DEA und NDEA Zunächst ein konkretes Beispiel Ein NDEA, der die folgende Sprache akzeptiert: L aab/aba = {w {a,b} w hat aab oder aba als Teilwort} a b a b > a a b 1 2 3 4 a b a b > a b a 5 6 7 8 11

Gleichmächtigkeit von DEA und NDEA Zunächst ein konkretes Beispiel Startzustand: Menge der alten Startzustände, also {1, 5}. Nächster Schritt: Übergang von {1,5} mit a Also, neuer Zustand {1,2,5,6} mit (1, a) = {1, 2} (5, a) = {5, 6} δ ADEA ({1,5},a) = {1,2,5,6} 12

Gleichmächtigkeit von DEA und NDEA Zunächst ein konkretes Beispiel Nächster Schritt: Übergang von {1,5} mit b. (1, b) = {1} (5, b) = {5} Für den Eingabebuchstaben b bleibt A DEA also im Startzustand. 13

Gleichmächtigkeit von DEA und NDEA Zunächst ein konkretes Beispiel Nächster Schritt: Übergang von {1,2,5,6} mit a (1, a) = {1, 2} (2, a) = {3} (5, a) = {5, 6} (6, a) = Also, neuer Zustand {1,2,3,5,6} mit δ ADEA ({1,2,5,6},a) = {1,2,3,5,6} usw. 14

Gleichmächtigkeit von DEA und NDEA Zunächst ein konkretes Beispiel Es ergibt sich folgender determinierter Automat A DEA : 15

Gleichmächtigkeit von DEA und NDEA Zunächst ein konkretes Beispiel Es ergibt sich folgender determinierter Automat A DEA : Übergänge aller finalen Zustände führen in finale Zustände. Vereinfachung: Man könnte die finalen Zustände zu einem zusammenfassen 16

Gleichmächtigkeit von DEA und NDEA Beweis (Fortsetzung) Konstruktion des determinierten endlichen Automaten A DEA formal: Gegeben: Indeterminierter endlicher Automat A NDEA = (K,Σ,,I,F) Wir konstruieren: Determinierten endlichen Automaten A DEA = (K,Σ,δ,I,F ) mit K = 2 K (die Potenzmenge von K) Übergangsfunktion δ : 2 K Σ 2 K mit δ (M,a) := q M (q, a) 17

Gleichmächtigkeit von DEA und NDEA Beweis (Fortsetzung) Konstruktion des determinierten endlichen Automaten A DEA formal: Gegeben: Indeterminierter endlicher Automat A NDEA = (K,Σ,,I,F) Wir konstruieren: Determinierten endlichen Automaten mit A DEA = (K,Σ,δ,I,F ) I = I (die Menge der initialen Zustände von A NDEA ) F = {M K M F } (alle Zustandsmengen von A NDEA, die einen finalen Zustand enthalten) 18

Gleichmächtigkeit von DEA und NDEA Beweis (Fortsetzung) Konstruktion des determinierten endlichen Automaten A DEA formal: Gegeben: Indeterminierter endlicher Automat A NDEA = (K,Σ,,I,F) Wir konstruieren: Determinierten endlichen Automaten A DEA = (K,Σ,δ,I,F ) mit Merke: K δ (,x) = für alle x Σ 19

Gleichmächtigkeit von DEA und NDEA Beweis (Fortsetzung) Lemma: Für alle w Σ : δ (M,w) = q M (q,w) 20

Gleichmächtigkeit von DEA und NDEA Beweis (Fortsetzung) Lemma: Für alle w Σ : δ (M,w) = q M (q,w) Beweis durch Induktion über die Länge von w: Induktionsanfang: w = 0 δ (M,ε) = M = {q} = q M q M (q,ε) 21

Gleichmächtigkeit von DEA und NDEA Beweis (Fortsetzung) Lemma: Für alle w Σ : δ (M,w) = q M (q,w) Induktionsschritt: δ (M,wa) = δ (δ (M,w),a) Def. von = p δ (M,w) (p,a) Definition von δ = p ( (q,w) ) (p,a) Ind.-Vor. für δ (M,w) q M = {q q M p (q,w) : q (p,a)} = {q E E E = q M (q,wa) q M q (q,wa)} Def. von 22

Gleichmächtigkeit von DEA und NDEA Beweis (Schluss) Es gilt für alle w Σ : w L(A DEA ) gdw δ (I,w) F gdw δ (I,w) F (Def. der Sprache eines Automaten) (da I = I per Def.) gdw δ (I,w) F (Def. von F ) gdw q I (q,w) F gdw E q I E q F ( q (q,w) ) (nach Lemma) gdw w L(A NDEA ) (Def. der Sprache eines Automaten) Damit: L(A DEA ) = L(A NDEA ) 23

Beispiel Determinierter Automat für die Sprache L = {a,b} {a}{a,b} (die Sprache aller Wörter über {a, b}, deren zweitletzter Buchstabe a ist) b b s 1 b a A: > s 0 a b s 3 a s 2 a Idee: Im Zustand jeweils die letzten zwei Buchstaben merken 24

Beispiel Indeterminierter Automat für die Sprache L = {a,b} {a}{a,b} (die Sprache aller Wörter über {a, b}, deren zweitletzter Buchstabe a ist) a,b A : > a a,b 25

Beispiel Indeterminierter Automat für die Sprache L = {a,b} {a}{a,b} (die Sprache aller Wörter über {a, b}, deren zweitletzter Buchstabe a ist) a,b A : > a a,b Konstruktion des determinierten endlichen Automaten: an der Tafel. 26

Übersicht Determinierte endliche Automaten (DEAs) Indeterminierte endliche Automaten (NDEAs) Automaten mit epsilon-kanten Endliche Automaten akzeptieren genau die Typ-3-Sprachen Pumping Lemma Abschlusseigenschaften und Wortprobleme Rational = Reguläre Ausdrücke 27

Automaten mit epsilon-kanten 28

Automaten mit ε-kanten Vom NDEA zum Automaten mit ε-kanten Bisher (NDEA): Kanten mit einem Buchstaben beschriftet Jetzt (Automat mit ε-kanten): Kanten mit einem Wort beschriftet Es darf auch das leere Wort ε sein! 29

Automaten mit ε-kanten Vom NDEA zum Automaten mit ε-kanten Bisher (NDEA): Kanten mit einem Buchstaben beschriftet Jetzt (Automat mit ε-kanten): Kanten mit einem Wort beschriftet Es darf auch das leere Wort ε sein! Ein Automaten mit ε-kanten kann... in einem Schritt ein ganzes Wort verarbeiten einen Zustandsübergang machen, ohne dabei einen Buchstaben zu lesen 30

Automaten mit ε-kanten: Definition Definiton. Ein Automat mit ε-kanten (ε-ndea) A ist ein Tupel A = (K,Σ,,I,F) Dabei ist K eine endliche Menge von Zuständen, Σ ein endliches Alphabet, (K Σ ) K eine eine (endliche) Übergangsrelation, I K eine Menge von Startzuständen, F K eine Menge von finalen Zuständen 31

Automaten mit ε-kanten: Übergangsrelation Definition. (Erweiterung von zu ) (K Σ ) K ist (ähnlich wie für NDEAs) definiert durch: ( (q,ε), q ) gdw q = q oder ( (q,ε), q ) ( (q,w 1 w 2 ), q ) gdw E q K ( (q,w 1 ), q ) ( (q,w 1 ), q ) ( (q,w 2 ), q ) ( (q,w 2 ), q ) 32

Automaten mit ε-kanten: Akzeptierte Sprache Definition. Die von einem Automaten mit ε-kanten akzeptierte Sprache ist A = (K,Σ,,I,F) L(A) := { w Σ E s 0 I E q F ( (s 0,w) q) } 33

Automaten mit ε-kanten: Beispiel Beispiel ba > s 0 b aba ε s 1 b s ε 2 3 s a Akzeptiert: {aba} {b}{b} + {aba} {a} + {ba} 34

Gleichmächtigkeit von Automaten mit ε-kanten und NDEAs Theorem (ε-ndea gleich mächtig wie NDEA) Zu jedem Automaten mit ε-kanten A existiert ein indeterminierter endlicher Automat A mit L(A) = L(A ) 35

Gleichmächtigkeit: Beweis Transformation von A in einen NDEA ohne ε-kanten 1. Ersetze Übergänge: mit nur einem Buchstaben markiert beibehalten mit einem Wort w markiert ( w = n) ersetze durch n Übergänge (verwende n 1 neue, zusätzlicher Zustände) ε-übergänge statt diesen für jedes Paar ( (q,a), q ) ( (q,a), q ) und ( (q,ε), q ) 36

Gleichmächtigkeit von Automaten mit ε-kanten und NDEAs Beweis (Fortsetzung) Transformation von A in einen NDEA ohne ε-kanten 2. Zusätzliche Initialzustände: Falls q I und ( (q,ε), q ), dann auch q I 3. Finalzustände bleiben unverändert 37

Gleichmächtigkeit: Beispiel Beispiel. Der Automat mit ε-kanten... ba > s 0 b aba ε s 1 b s ε 2 3 s a Akzeptiert: {aba} {b}{b} + {aba} {a} + {ba} 38

Gleichmächtigkeit: Beispiel 1. Ersetze Übergänge: Die mit einem Buchstaben markierten Übergänge: beibehalten. s 1 b s2 und s 2 b s2 bleiben. Übergang s 1 aba s 1 : Neue Zustände: p (aba,1),p (aba,2). Übergang s 1 aba s 1 ersetzt durch s 1 a p(aba,1) b p(aba,2) a s1. Übergang s 0 ba s 3 : Neuer Zustand: p (ba,1). Übergang s 0 ba s 3 ersetzt durch s 0 b p(ba,1) a s3. 39

Gleichmächtigkeit: Beispiel 1. Ersetze Übergänge: (Fortsetzung) Statt ε-übergänge: ((s 1,b),s 2 ) und ((s 2,ε),s 3 ) : neuer Übergang: ((s 1,b),s 3 ). ((s 2,b),s 2 ) und ((s 2,ε),s 3 ) : neuer Übergang: ((s 2,b),s 3 ). 2. Zusätzliche Initialzustände: Da s 0 I und ((s 0,ε),s 1 ), dann auch s 1 I. 3. Finalzustände bleiben unverändert 40

Gleichmächtigkeit: Beispiel Beispiel.... wird transformiert in den äquivalenten NDEA > s 0 b p (ba,1) a b > s 1 b s 2 b s 3 a p (aba,1) b a p (aba,2) a, b 41

Übersicht Determinierte endliche Automaten (DEAs) Indeterminierte endliche Automaten (NDEAs) Automaten mit epsilon-kanten Endliche Automaten akzeptieren genau die Typ-3-Sprachen Pumping Lemma Abschlusseigenschaften und Wortprobleme Rational = Reguläre Ausdrücke 42

Nächste Woche Determinierte endliche Automaten (DEAs) Indeterminierte endliche Automaten (NDEAs) Automaten mit epsilon-kanten Endliche Automaten akzeptieren genau die Typ-3-Sprachen Pumping Lemma Abschlusseigenschaften und Wortprobleme Rational = Reguläre Ausdrücke 43