Theoretiche Grundlagen der Informatik Andrea Schumm 21.1.21 INSTITUT FÜR THEORETISCHE INFORMATIK KIT Univerität de Lande Baden-Württemberg und nationale Forchungzentrum in der Helmholtz-Gemeinchaft www.kit.edu
Organiatoriche Abgabe der Übungblätter (Nachtrag): Zweierabgaben ind erlaubt, aber nur, wenn beide für da gleiche Tutorium eingeteilt ind Kopf de Blatte: Name(n) Vorname(n) Matrikelnummer(n) Tutoriumnummer Name de Tutor Keine loen Blätter, bitte zuammenheften Übungblätter müen handchriftlich ein, alo nicht gedruckt oder kopiert 1
Wiederholung: Endliche Automaten Ein (determiniticher) endlicher Automat DEA (Q, Σ, δ,, F) beteht au: Q, einer endlichen Menge von Zutänden Σ, einer endlichen Menge von Eingabeymbolen δ : Q Σ Q, einer Übergangfunktion Q, einem Startzutand; F Q, einer Menge von Endzutänden. 1 q 1 1 1 q 2 1 q 3 2
Wiederholung: Reguläre Sprachen Eine Sprache L Σ heißt regulär, wenn für ie einer der folgenden Punkte gilt: Verankerung: L = {a} mit a Σ oder L = Induktion: Seien L 1, L 2 reguläre Sprachen L = L 1 L 2 oder L = L 1 L 2 oder L = L 1 3
Endliche Automaten und Reguläre Sprachen Beipiel: Sprache aller Wörter über {, 1}, deren vorletzte Zeichen eine it: 1 q 1 L := ( 1) ( 1) 1 1 q 2 1 q 3 Gibt e zu jeder regulären Sprache einen endlichen Automaten, der diee erkennt? Fall ja: Wie kann man dieen kontruieren? Welche Sprachen werden durch endliche Automaten erkannt? 4
Endliche Automaten und Reguläre Sprachen Beipiel: Sprache aller Wörter über {, 1}, deren vorletzte Zeichen eine it: 1 q 1 L := ( 1) ( 1) 1 1 q 2 1 q 3 Gibt e zu jeder regulären Sprache einen endlichen Automaten, der diee erkennt? heute Fall ja: Wie kann man dieen kontruieren? heute Welche Sprachen werden durch endliche Automaten erkannt? 4
Satz: Jede reguläre Sprache wird von einem (determinitichen) endlichen Automaten (DEA) akzeptiert. L := L(α) reguläre Sprache über Σ, die durch α bechreibbar it Induktion über n =Anzahl der, und -Zeichen in α Induktionanfang n = : Σ a a Σ Σ \ {a} e Σ L = L = {a} Induktionannahme: Für alle L, die durch reguläre Audrücke mit weniger al n Operationen bechreibbar ind, exitiert akzeptierender DEA 5
Satz: Jede reguläre Sprache wird von einem (determinitichen) endlichen Automaten (DEA) akzeptiert. Induktionchlu: n > L = L 1 L 2 oder L = L 1 L 2 oder L = L1 Fall 1: L = L 1 L 2 Sei A 1 DEA, der L 1 akzeptiert und A 2 DEA, der L 2 akzeptiert Idee: Baue au A 1 und A 2 Automaten, der L akzeptiert 1. Veruch: 1 2 A 1 A 2 F 2 F 1 Brauche Übergang ohne Leen eine Zeichen mit Wahlmöglichkeit DEA erlauben da nicht Ret de Beweie: päter! 5
Satz: Jede reguläre Sprache wird von einem (determinitichen) endlichen Automaten (DEA) akzeptiert. Induktionchlu: n > L = L 1 L 2 oder L = L 1 L 2 oder L = L1 Fall 1: L = L 1 L 2 Sei A 1 DEA, der L 1 akzeptiert und A 2 DEA, der L 2 akzeptiert Idee: Baue au A 1 und A 2 Automaten, der L akzeptiert 1. Veruch: 1 2 A 1 A 2 F 2 F 1 Brauche Übergang ohne Leen eine Zeichen mit Wahlmöglichkeit DEA erlauben da nicht Ret de Beweie: päter! 5
Nichtdeterminitiche endliche Automaten Ein nichtdeterminiticher endlicher Automat (NEA) beteht au: Q, einer endlichen Zutandmenge; Σ, einem endlichen Alphabet; δ, einer Übergangfunktion δ : Q (Σ {}) 2 Q, einem Startzutand; F, einer Menge von Endzutänden; Interpretation von δ: Bei Abarbeitung eine Symbol kann der Automat ich nichtdeterminitich auuchen, in welchen Zutand einer Teilmenge au Q er übergeht Auch möglich: Springe pontan ohne Leen eine Zeichen au Σ in neuen Zutand (-Übergang) Ein nichtdeterminiticher endlicher Automat akzeptiert eine Wort w Σ, wenn e eine Folge von Übergängen gibt, o da er bei Eingabe von w in einen Endzutand gelangt, d.h. bei Eingabe von w ein Endzutand erreichbar it. 6
Beipiele für NEA Beipiel 1:, 1 q, 1 f 1 Beipiel 2: 1 A 1 F 1 A 2 2 F 2 7
Beipiele für NEA Beipiel 1:, 1 q 1, 1 f δ(, ) = {, q} w = 1 wird nicht akzeptiert w = 1 wird akzeptiert Sprache aller Wörter über {, 1}, deren vorletzte Zeichen it Beipiel 2: 1 A 1 F 1 A 2 2 F 2 7
Erweiterung von δ Definition: Für einen Zutand q Q it der Abchlu definiert: E(q) wie folgt E(q) := {p Q p it von q durch Übergänge erreichbar} Beachte, da gilt: E(q) Q, E(q) 2 Q q E(q) E(q 1 ) a a q 1 q 2 q 3 f 8
Erweiterung von δ Idee: Berückichtige -Übergänge bei der Übergangfunktion Beim Leen eine einzelnen Zeichen δ : Q (Σ {}) 2 Q E(q) ( ) δ(q, a) = E(r) p E(q) r δ(p,a) fall a = für a Σ δ(q 1, a) a q a 1 q 2 q 3 f 9
Erweiterung von δ Idee: Berückichtige -Übergänge bei der Übergangfunktion Erweiterung auf Mengen von Zutänden : δ : 2 Q (Σ {}) 2 Q E(p) fall a = p P δ(p, a) = δ(p, a) für a Σ p P δ({, q 1 }, a) a a q 1 q 2 q 3 f 9
Erweiterung von δ Idee: Berückichtige -Übergänge bei der Übergangfunktion Induktive Erweiterung auf Wörter: δ : Q Σ 2 Q E(q) fall w = δ(q, w) = δ(q, w) fall w = a Σ δ(p, a) fall w = va, a Σ, v > p δ(q,v) δ(, w = aa) a q a 1 q 2 q 3 f E gilt: w L(A) δ(, w) F =! 9
Erweiterung von δ Idee: Berückichtige -Übergänge bei der Übergangfunktion Analog für Mengen von Zutänden: δ : 2 Q Σ 2 Q δ(p, w) = δ(p, w) p P δ({, q 1 }, w = aa) a a q 1 q 2 q 3 f 9
Äquivalenz von NEA und DEA Definition: Zwei endliche Automaten, die dieelbe Sprache akzeptieren, heißen äquivalent. Satz: Zu jedem nichtdeterminitichen endlichen Automaten gibt e einen äquivalenten determinitichen endlichen Automaten. 1
Satz: Zu jedem nichtdeterminitichen endlichen Automaten gibt e einen äquivalenten determinitichen endlichen Automaten. Beweiidee: Sei A NEA Fall A w akzeptiert, o gibt e eine Abarbeitung, die in einem Endzutand endet Fall ein Zutand q bei der Eingabe von w erreichbar it, o ind da auch alle Zutände in E(q) Simuliere A durch einen DEA Zutände de DEA ind Mengen von Zutänden von A Endzutände de DEA ind alle Mengen, die Endzutände von A enthalten 11
Satz: Zu jedem nichtdeterminitichen endlichen Automaten gibt e einen äquivalenten determinitichen endlichen Automaten. Beipiel: Mögliche Abarbeitungen von w = ab in einem NEA mit ab L, a / L und äquivalenter DEA a a a b b b b a b a b a b a, b e a, b 11
Satz: Zu jedem nichtdeterminitichen endlichen Automaten gibt e einen äquivalenten determinitichen endlichen Automaten. Potenzmengenkontruktion: Gegeben ei ein NEA A := (Q, Σ, δ,, F). Wir kontruieren darau einen DEA Ã := ( Q, Σ, δ,, F): Q = 2 Q, d.h. die Zutände de DEA ind Mengen von Zutänden de NEA. δ : Q Σ Q mit δ( q, a) = δ( q, a) für a Σ. E it alo q Q und jeder Zutand wird mit einem Abchlu im NEA identifiziert. := E() F := { q Q q F = } 11
Satz: Zu jedem nichtdeterminitichen endlichen Automaten gibt e einen äquivalenten determinitichen endlichen Automaten. Zeige per Induktion über n = w, da für alle w Σ gilt: Dann gilt: δ(, w) = δ(, w) w L(Ã) δ(, w) F δ(, w) F = Induktionanfang n =, d.h. w = : δ(, w) F = w L(A) δ(, ) = δ(e(), ) = p E() E(p) = E() = δ(, ) 11
Satz: Zu jedem nichtdeterminitichen endlichen Automaten gibt e einen äquivalenten determinitichen endlichen Automaten. Induktionannahme: Für alle Wörter w mit w n gilt: δ(, w ) = δ(, w ) Induktionchlu w = n + 1: Sei w = w a mit w = n und a Σ. Dann gilt: δ(, w) = δ( δ(, w ), a) δ( δ(, w ), a) = (IV) = Def δ δ( δ(, w ), a) = p δ(,w ) δ(p, a) = δ(, w) 11
Beipiel Potenzmengenkontruktion: L = ( 1) ( 1) NEA A akzeptiert L Kontruiere DEA für L: = E() = {} δ({}, ) = {, q} δ({}, 1) = {} δ({, q}, ) = {, q, f } δ({, q}, 1) = {, f } δ({, q, f }, ) = {, q, f } δ({, q, f }, 1) = {, f } δ({, f }, ) = {, q} δ({, f }, 1) = {} Alle anderen Zutände können getrichen werden, 1 A q, 1 1 1 {} {, q} 1 1 {, f} 1 {, f, q} f 12
Satz: Jede reguläre Sprache wird von einem (determinitichen) endlichen Automaten (DEA) akzeptiert. Bewei (Fortetzung): Erinnerung: L := L(α) reguläre Sprache über Σ, die durch α bechreibbar it Bewei per Induktion über n =Anzahl der, und -Zeichen in α Induktionanfang bereit gezeigt noch zu zeigen: Induktionchritt für reguläre Sprachen L = L 1 L 2, L = L 1 L 2 und L = L 1 Seien L 1 und L 2 reguläre Sprachen, die von A 1 = (Q 1, Σ, δ 1, 1, F 1 ) und A 2 = (Q 2, Σ, δ 2, 2, F 2 ) erkannt werden Baue au A 1 und A 2 NEA, die L 1 L 2, L 1 L 2 und L 1 erkennen Au dieen können äquivalente DEA kontruiert werden 13
Satz: Jede reguläre Sprache wird von einem (determinitichen) endlichen Automaten (DEA) akzeptiert. Bewei (Fortetzung): Fall 1: L = L 1 L 2 NEA A := (Q, Σ, δ,, F), der L 1 L 2 erkennt: Q := Q 1 Q 2 {} ( Q i ) F = F 1 F 2 δ : {δ i (q, a)}, q Q i, a Σ, q Q\{}, a = δ(q, a) := { 1, 2 }, q =, a =, q =, a = 1 2 A 1 A 2 F 2 F 1 13
Satz: Jede reguläre Sprache wird von einem (determinitichen) endlichen Automaten (DEA) akzeptiert. Bewei (Fortetzung): Fall 2: L = L 1 L 2 NEA A := (Q, Σ, δ,, F), der L 1 L 2 erkennt: 1 F 1 A 1 Q := Q 1 Q 2, := 1, F := F 2 := 1 F := F 2 δ: {δ i (q, a)}, q Q i, a Σ δ(q, a) :=, q Q\F 1, a = { 2 }, q F 1, a = 2 A 2 F 2 13
Satz: Jede reguläre Sprache wird von einem (determinitichen) endlichen Automaten (DEA) akzeptiert. Bewei (Fortetzung): Fall 3: L = L 1 NEA A := (Q, Σ, δ,, F), der L 1 erkennt: Q := Q 1 {, f } : neu F := {f } neuer Zutand δ: {δ 1 (q, a)}, q Q 1, a Σ, q Q 1 \F 1, a = δ(q, a) := {f }, q F 1 {}, a =, q {, f }, a = { 1 }, q {, f }, a = A 1 1 F 1 f 13
Zuammenfaung E wurde gezeigt: Zu jeder regulären Sprache gibt e einen endlichen Automaten, der diee erkennt Dazu eingeführt: Konzept de nichtdeterminitichen endlichen Automaten (NEA) Äquivalenz von NEA und DEA gezeigt Bewei dazu liefert Kontruktionvorchrift, um NEA in DEA umzuwandeln (Potenzmengenkontruktion) Nächte Vorleung: Mehr zu endlichen Automaten Bewei, da jede Sprache, die von einem endlichen Automaten erkannt wird, regulär it 14