Berechenbarkeitstheorie 4. Vorlesung

Ähnliche Dokumente
Minimalautomat. Wir stellen uns die Frage nach dem. kleinsten DFA für eine reguläre Sprache L, d.h. nach einem DFA mit möglichst wenigen Zuständen.

Berechenbarkeitstheorie 2. Vorlesung

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

2 2 Reguläre Sprachen. 2.6 Minimale DFAs und der Satz von Myhill-Nerode. Übersicht

Minimierung von DFAs. Minimierung 21 / 98

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

2.6 Reduktion endlicher Automaten

Finite-State Technology

Minimalität des Myhill-Nerode Automaten

FORMALE SYSTEME. 7. Vorlesung: Reguläre Ausdrücke. TU Dresden, 2. November Markus Krötzsch

Potenzautomat. Gegeben: A = (Z, I, d, s 0, F ) P(A) = (P(Z), I, D, {s 0 }, F P ) P(Z) = {S S Z}: Potenzmenge von Z; D : P(Z) I P(Z) mit

Lösung zur Klausur. Grundlagen der Theoretischen Informatik. 1. Zeigen Sie, dass die folgende Sprache regulär ist: w {a, b} w a w b 0 (mod 3) }.

Automaten und formale Sprachen Notizen zu den Folien

DEA1 Deterministische Version

Teil III. Reguläre Sprachen und endliche Automaten Teil 3: Die Nerode-Relation

Grundlagen der Theoretischen Informatik

Endliche Automaten 7. Endliche Automaten

FORMALE SYSTEME. Kleene s Theorem. Wiederholung: Reguläre Ausdrücke. 7. Vorlesung: Reguläre Ausdrücke. TU Dresden, 2.

Grundlagen der Theoretischen Informatik, WS11/12 Minimale Automaten

Formale Sprachen. Endliche Automaten - Kleene. Reguläre Sprachen. Rudolf FREUND, Marion OSWALD. Endliche Automaten. Endliche Automaten: Beispiel

Einführung in die Theoretische Informatik

Wintersemester 2016/2017 Scheinklausur Formale Sprachen und Automatentheorie

Was nicht bewertet werden soll, streichen Sie bitte durch. Werden Täuschungsversuche beobachtet, so wird die Präsenzübung mit 0 Punkten bewertet.

Inhalt. Endliche Automaten. Automaten und Formale Sprachen. Franz Binder. Endliche Automaten. Deterministische Automaten

Einführung in die Theoretische Informatik

Automaten und formale Sprachen Notizen zu den Folien

... in unserem Fall: Scanner. Generator. Spezifikation. Spezifikation von Token-Klassen: Reguläre Ausdrücke;

Formale Systeme, Automaten, Prozesse SS 2010 Musterlösung - Übung 2 M. Brockschmidt, F. Emmes, C. Fuhs, C. Otto, T. Ströder

4. Übungsblatt zu Theoretische Grundlagen der Informatik im WS 2015/16

Übung Grundbegriffe der Informatik

Automaten und formale Sprachen Notizen zu den Folien

a q 0 q 1 a M q 1 q 3 q 2

Vorkurs Theoretische Informatik

RWTH Aachen Lehrgebiet Theoretische Informatik Rossmanith Dreier Hark Kuinke. SS 2017 Blatt

1.5. Abbildung. DEFINITION injektiv, surjektiv, bijektiv Eine Abbildung f ist injektiv, falls es zu jedem y Y höchstens ein x X gibt mit

dem Verfahren aus dem Beweis zu Satz 2.20 erhalten wir zunächst die folgenden beiden ε-ndeas für die Sprachen {a} {b} und {ε} {a} +

Franz Binder. Vorlesung im 2006W

Automaten, Spiele, und Logik

Endliche Automaten können wahlweise graphisch oder tabellarisch angegeben werden.

Einführung in den Compilerbau

Automaten, Spiele, und Logik

Automaten, Spiele, und Logik

Lösungen zum Ergänzungsblatt 4

Mitschrift Repetitorium Theoretische Informatik und Logik

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

Gliederung. Kapitel 1: Endliche Automaten

Nichtdeterministische endliche Automaten. Nichtdetermistische Automaten J. Blömer 1/12

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Frank Heitmann 2/71. 1 Betrachten wir Σ für ein Alphabet Σ, so ist Σ die Menge

Automaten und Formale Sprachen 7. Vorlesung

Ergänzungsblatt 7. Letzte Änderung: 30. November Vorbereitungsaufgaben

Ergänzungsblatt 6. Letzte Änderung: 24. November 2018

Name... Matrikel-Nr... Studiengang...

Vorname: Nachname: Matrikelnummer: Studiengang (bitte ankreuzen): Technik-Kommunikation M.A.

Sind Tokens erst einmal klassifiziert, kann man die Teilwörter vorverarbeiten:

Vorlesung Theoretische Informatik Sommersemester 2018 Dr. B. Baumgarten

Logische Grundlagen der Mathematik, WS 2014/15

Deterministische endliche Automaten

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 3

FORMALE SYSTEME. 6. Vorlesung: Reguläre Ausdrücke. TU Dresden, 27. Oktober Markus Krötzsch

Klausur zur Vorlesung Grundbegriffe der Informatik 10. März 2009 mit Lösungsvorschlägen

Theoretische Informatik WS 2014/2015

Berechenbarkeitstheorie 1. Vorlesung

Umwandlung von endlichen Automaten in reguläre Ausdrücke

Formale Sprachen und Automaten. Schriftlicher Test

Satz 6.5 (Mittelwertsatz der Integralrechnung) Sei f : [a, b] R stetig. Dann gibt es ein ξ [a, b], so dass. b a. f dx = (b a)f(ξ) f dx (b a)m.

Grundlagen der Theoretischen Informatik

Reguläre Sprachen. Reguläre Ausdrücke NFAs

Algorithmen und Datenstrukturen (Th. Ottmann und P. Widmayer) Folien: Editierdistanz Autor: Sven Schuierer

S 1. Definition: Ein endlicher Automat ist ein 5-Tupel. Das endliche Eingabealphabet

Klausur Formale Sprachen und Automaten Grundlagen des Compilerbaus

Vorlesung. Einführung in die mathematische Sprache und naive Mengenlehre

Name... Matrikel Nr... Studiengang...

Scheinklausur: Theoretische Informatik I

Endliche Automaten. Endliche Automaten 1 / 115

Gliederung. Kapitel 1: Endliche Automaten

Automaten und formale Sprachen Notizen zu den Folien

Algorithmen und Datenstrukturen 1 Kapitel 4.2

mathematik und informatik

Automaten und formale Sprachen Notizen zu den Folien

Reduktion. Seien A Σ und B Γ. Man sagt A ist reduzierbar auf B (A B) gdw. von speziellem Interesse: Polynomialzeitreduktion

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

1.1 Grundlagen: Reguläre Ausdrücke

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

Übungen zur Wiederholung quer durch den Stoff Vollständigkeit wird nicht garantiert, und einige sind umfangreicher als klausurtypisch.

6. Übungsblatt. (i) Von welchem Typ ist die Grammatik G? Begründen Sie Ihre Antwort kurz.

Grundlagen der Theoretischen Informatik

Prof. Dr. Javier Esparza Garching b. München, den Klausur Einführung in die theoretische Informatik Sommer-Semester 2017

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Klausur TheGI 2 Automaten und Komplexität (Niedermeier/Hartung/Nichterlein, Sommersemester 2013)

Übungsblatt Nr. 1. Lösungsvorschlag

Automaten und Formale Sprachen SoSe 2013 in Trier

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

Grundlagen des Maschinellen Lernens Kap 3: Lernverfahren in anderen Domänen

Zwei Bemerkungen zum Schluss

Übungen zur Vorlesung Modellierung WS 2003/2004 Blatt 11 Musterlösungen

Transkript:

1 Berechenbrkeitstheorie Dr. Institut für Mthemtische Logik und Grundlgenforschung WWU Münster WS 15/16 Alle Folien unter Cretive Commons Attribution-NonCommercil 3.0 Unported Lizenz.

Reguläre Ausdrücke Formlismus zum Beschreiben von formlen Sprchen ein Regulärer Ausdruck (RA) ist ein Wort über dem Alphbet Σ {, ε, (, ), +,, } 2 Syntx (1) Σ {, ε}: ist RA (2) Wenn A, B Reg. Ausdrücke, dnn uch (A + B) (3) Wenn A, B Reg. Ausdrücke, dnn uch A B (kurz AB) (4) Wenn A Reg. Ausdruck, dnn uch A (5) Wenn A Reg. Ausdruck, dnn uch (A) Bsp ((b + bb) b + ε) ist RA ( + b)b( b) ist kein RA Induktive Definition korrekt, d RA durch die Anwendung der (umgekehrten) Regeln immer kürzer werden

Semntik Regulärer Ausdrücke Für jeden RA R definieren wir induktiv eine Sprche L(R): (1) R =, dnn L(R) = R = ε, dnn L(R) = {ε} R =, und Σ, dnn L(R) = {} (2) R = (A + B) und A, B sind RA, dnn L(R) = L(A) L(B) (3) R = (AB) und A, B sind RA, dnn L(R) = L(A) L(B) (4) R = A und A ist RA, dnn L(R) = L(A) (5) R = (A) und A ist RA, dnn L(R) = L(A) 3 Reihenfolge der Opertoren: vor vor + Bsp. R = ( + b) b( + b) L(R) = {w {, b} w enthält Teilwort b}

Stz von Kleene Stz 5 {L RA R mit L(R) = L} = REG Beweis (Orgnistion) 4 1. Teil: 2. Teil: heute Wir konstruieren zu einem RA R einen NEA N mit L(R) = L(N) ds zeigt {L RA R mit L(R) = L} REG Wir konstruieren zu einem DEA M einen RA R mit L(M) = L(R) ds zeigt {L RA R mit L(R) = L} REG

Vom DEA zum RA Anstz Wenn L REG, dnn existiert ein DEA M der L erkennt. M = (Q, Σ, δ, 1, F ) mit Q = {1, 2,..., n} Ziel: Konstriere RA R mit L(R) = L 5 R k ij := RA für lle Wörter die von Zustnd i nch j führen ohne einen Zustnd > k zu benutzen. Anfngs- und Endzustnd i, j dürfen > k sein! b c 1 2 3 b b, c c 4, b, c Bsp R 0 22 = c + ε R 2 24 = c b R 3 24 = (c b + c (b + c))

Von den Termen zum RA Annhme: Ich kenne lle Terme R k ij w L(M) genu dnn, wenn δ (1, w) = j und j F }{{} w R n 1j oberer Index n heißt keine Beschränkung 6 verbinde für lle kzeptierende Zustände die R k ij Terme R := R n 1f 1 + R n 1f 2 + R n 1f k wobei F = {f 1, f 2,..., f k }

Konstruktion der R k ij Terme Rekursive Konstuktion Bsisfll (R 0 ij ): R 0 ij := { nur direkte Übergänge + 1 + 2 +... flls i j und i { δ(i, ) = j} ε + 1 + 2 +... flls i = j und i { δ(i, ) = i} 7 Rekursion (R k ij ): ich kenne bereits lle R k 1 ij Bsp. von einem Luf us Rij 6 x x y z z y y y y z z j } {{ } R6j 5 i 2 3 2 6 5 1 6 4 6 5 }{{}}{{} Ri6 5 }{{} R66 5 R66 5 R k knn ich mit Termen R k 1 beschreiben

Rekursion für R k ij 1. Möglichkeit: der Luf eines Wortes besucht nicht den Zustnd k R k ij R k 1 ij 2. Möglichkeit: der Luf eines Wortes besucht einml oder mehrmls den Zustnd k R k ij R k 1 ik (Rk 1 kk ) R k 1 kj es gibt keine ndere Möglichkeit, deshlb 8 R k ij = R k 1 ij + R k 1 ik (Rk 1 kk ) R k 1 kj Berechnung mit nsteigendem k (k = 0,..., n) ller R k ij Terme Dynmisches Progrmmieren

Beispiel b, c 1 2, b c { Rij 0 := + 1 + 2 +... flls i j und i { δ(i, ) = j} ε + 1 + 2 +... flls i = j und i { δ(i, ) = i} 9 R 0 11 = b + ε R 0 12 = + c R 0 21 = c R 0 22 = ( + b + ε) R k ij = Rk 1 ij + R k 1 ik (Rk 1 kk ) R k 1 kj R 1 11 = (b + ε) + (b + ε)(b + ε) (b + ε) = b R 1 12 = ( + c) + (b + ε)(b + ε) ( + c) = b ( + c) R 1 21 = c + c(b + ε) (b + ε) = cb R 1 22 = ( + b + ε) + c(b + ε) ( + c) = ( + b + ε) + cb ( + c) R = R 2 12 = b ( + c)+ b ( + c) [( + b + ε) + cb ( + c)] [( + b + ε) + cb ( + c)]

Fzit Reguläre Sprchen vom DEA erknnt (nch Def.) 10 Stz von Kleene Potenzutomt äquivlent zu RA Formlismus zum Beschreiben formler Sprchen äquivlent zum NEA Berechnungsmodell mit Nichtdeterminismus ε-übergängen

Minimierung von DEAs M 1 M 2 11 L(M 1 ) = { k k ist ungerde} L(M 2 ) = { k k ist ungerde} Definition Zwei DEAs M 1 und M 2 heißen äquivlent, gdw. L(M 1 ) = L(M 2 ) Frge: Welches ist der kleinste DEA für eine Sprche L? minimle Anzhl von Zuständen

Äquivlenz von Zuständen Definition Sei M = (Q, Σ, δ, q 0, F ) ein DEA, dnn heißen zwei Zustände p, q Q äquivlent (Schreibweise p q) gdw. z Σ : δ (p, z) F δ (q, z) F Zwei nicht äquivlente Zustände nennen wir uch trennbr. Bsp. q 1 q 2 q 4 q 3 12 q 1 und q 2 sind trennbr (z.b. durch ds Trennwort ) q 1 und q 3 sind äquivlent

Lemm 2 Die Reltion ist eine Äquivlenzreltion. Erinnerung: p q wenn z Σ : Symmetrie δ (p, z) F δ (q, z) F δ (p, z) F δ (q, z) F δ (q, z) F δ (p, z) F 13 Reflexivität p Q: δ (p, z) F δ (p, z) F Trnsitivität [ δ (p, z) F δ (q, z) F δ (q, z) F δ (r, z) F ] δ (p, z) F δ (r, z) F die Zustndsmenge Q zerfällt in Äquivlenzklssen Äquivlenzklsse die q Q enthält [q] := {p Q p q} Für zwei Zustände p, q us einer Klsse gilt 1. p F q F, 2. Σ, dss δ(p, ) δ(q, ).

Der kollbierte Automt Definition Der kollbierte Automt M = (Q, Σ, δ, q 0, F ) ist ein DEA mit Q = {[q] q Q}, δ ([q], ) = [δ(q, )], q 0 = [q 0 ], F = {[q] q F }. Außerdem werden lle nicht erreichbren Zustände gestrichen. Definition ist korrekt, denn Alle Elemente us [q] beschreiben den gleichen Folgezustnd bzgl. δ p q δ(p, ) δ(q, ) Akzeptierte Klssen sind wohldefiniert p 1, p 2 [q] δ(p 1, ε) F δ(p 2, ε) F p 1 F p 2 F 14

M Beispiel: Der kollbierte Automt b b q 1 q 2 q 4 q 3 b b Alle Zustndspre trennbr bis uf q 1 q 3, q 2 q 4. zwei Klssen: [q 1 ] = {q 1, q 3 } und [q 2 ] = {q 2, q 4 }, d.h. Q = {[q 1 ], [q 2 ]} nur [q 2 ] enthält kz. Zustände, deshlb F = {[q 2 ]} [q 1 ] enthält Strtzustnd, deshlb q 0 = [q 1 ] 15 Kollbierter Automt: b [q 1 ] [q 2 ] b

Lemm 2 Sei M der kollbierte Automt von M, dnn gilt L(M) = L(M ). Beweis wir betrchten ein w Σ, w = x 1 x 2 x k, mit x i Σ sei (s 1, s 2,..., s k+1 ) der w-luf in M (s i Q) Zur Erinnerung 1. q 0 = s 1, 2. δ(s i, x i ) = s i+1 für lle 1 i k. 16 ([s 1 ], [s 2 ],..., [s k+1 ]) ist der w-luf in M, denn 1. q 0 = [q 0 ] = [s 1 ], 2. δ ([s i ], x i ) = [δ(s i, x i )] = [s i+1 ] für lle 1 i k. [s k+1 ] F s k+1 F w-luf kzeptierend in M gdw. w-luf kzeptierend in M w L(M) w L(M )

Tble-Filling Algorithmus Algorithmus zum effizienten Finden ller äquivlenten Zustände Dtenstruktur: Tbelle T, mit Q Zeilen und Splten, Q = {1, 2, 3,..., n}. Invrinte: Enthält T [p, q] die Mrkierung 1 dnn sind p und q trennbr (p q) Tbelle T wird nch und nch mit 1en gefüllt bis eine Abruchbedingung eintritt m Ende notieren lle unmrkierten Einträge T [p, q] äquivlente Zustndspre p, q 17

Tble-Filling Algorithmus Wir füllen nur die Hälfte der Tbelle T us (T [p, q] mit p < q) Algorithm 1: TbleFilling Algorithmus 1 Initilisiere T 0; 2 for ll (p, q) Q Q do 3 if (p F und q F ) oder (p F und q F ) then T [p, q] = 1; 4 end 5 repet 6 for ll (p, q) Q Q mit T [p, q] 1 do 7 if Σ: T [δ(p, ), δ(q, )] == 1 then T [p, q] = 1; 8 end 9 until keine neue Mrkierung gesetzt; 18

Tble-Filling Algorithmus Wir füllen nur die Hälfte der Tbelle T us (T [p, q] mit p < q) Algorithm 1: TbleFilling Algorithmus 1 Initilisiere T 0; Initilisierung 2 for ll (p, q) Q Q do 3 if (p F und q F ) oder (p F und q F ) then T [p, q] = 1; 4 end 5 repet 6 for ll (p, q) Q Q mit T [p, q] 1 do 7 if Σ: T [δ(p, ), δ(q, )] == 1 then T [p, q] = 1; 8 end 9 until keine neue Mrkierung gesetzt; Abbruchbedingung Bedingung zum Setzen neuer Mrken 18

Tble-Filling Algorithmus Beispiel 19

Tble-Filling Algorithmus Beispiel 1 b b 3 b 2 4,b 5 19 1 2 3 4 2 1 3 1 Keine weiteren Veränderungen 1 3 und 2 5 4 5 1 1 1 1 1 1

Korrektheit TF-Algorithmus Zu zeigen: 1. nur trennbre Pre wurden mrkiert (Invrinte bleibt erhlten) 2. lle trennbren Pre wurden mrkiert 1. 2 Möglichkeiten wie mrkiert wurde Bei der Initilisierung: if (p F und q F ) oder (p F und q F ) then T [p, q] = 1 p, q trennbr mit ε 20 In der repet Schleife: if Σ: T [δ(p, ), δ(q, )] == 1 then T [p, q] = 1 δ(p, ), δ(q, ) trennbr mit w Σ (Invrinte) p, q trennbr mit w

2. Alle trennbren Pre wurden mrkiert Schlechtes Pr: trennbr ber nicht mrkiert Annhme: sei (p, q) schlechtes Pr mit kürzestem Trennwort w und kein schlechtes Pr besitzt ein Trennwort kürzer ls w w ε, denn sonst wäre (p, q) während der Initilisierung mrkiert worden w = u mit Σ p = δ(p, ) und q = δ(q, ) w = } {{ } u δ (p, u) = δ (q, u) = 21 OBdA δ (p, w) F δ (q, w) F T [p, q ] 1, denn sonst wäre während der Ausführung T [p, q] = 1 gesetzt ber: (p, q ) trennbr mit u, und u < w Widerspruch zur Annhme, d.h. es gibt kein schlechtes Pr!