Theoretische Grundlagen der Informatik

Ähnliche Dokumente
Theoretische Grundlagen der Informatik

Grundlagen der Theoretischen Informatik

Theoretische Grundlagen der Informatik

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

Formale Systeme Prof. Dr. Bernhard Beckert, WS 2016/2017

Reguläre Sprachen und endliche Automaten

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

Einführung in die Theoretische Informatik

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

Einführung in die Theoretische Informatik

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

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

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

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

Einführung in die Theoretische Informatik

Theorie der Informatik

Theoretische Grundlagen der Informatik

Lösungen zu Übungsblatt 4

Formale Sprachen und endliche Automaten

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

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Automaten und Formale Sprachen ε-automaten und Minimierung

Grundlagen der Theoretischen Informatik, SoSe 2008

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden:

Grundlagen der Informatik II

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

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

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

Automaten und Coinduktion

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

Kapitel 2: Formale Sprachen Gliederung

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

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

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

Informatik III. Skript zur Vorlesung von Prof. Dr. Dorothea Wagner WS 04/05

Automatentheorie und formale Sprachen

Lösungsvorschläge Blatt 4

Grundlagen der Theoretischen Informatik

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Universität des Saarlandes Theoretische Informatik (WS 2015) Lösungsvorschlag 4

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

Übungsaufgaben zu Formalen Sprachen und Automaten

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

Theoretische Grundlagen des Software Engineering

Grundbegriffe der Informatik Tutorium 2

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 12 LÖSUNGEN

Grundbegriffe der Informatik Tutorium 12

A : z z A : z z : ( z, x, z ) δ

7 Endliche Automaten. 7.1 Deterministische endliche Automaten

Rekursiv aufzählbare Sprachen

Induktive Definition

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

Übung zur Vorlesung Theoretische Information. Pumping Lemma

Formale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5.

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

Tutoraufgabe 1 (ɛ-produktionen):

Deterministische endliche Automaten - Wiederholung

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie

Automaten und formale Sprachen Klausurvorbereitung

THEORETISCHE INFORMATIK

Grundlagen der Theoretischen Informatik

Kontextfreie Sprachen

THEORETISCHE INFORMATIK

Mathematische Grundlagen der Informatik 2

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009

Automaten, Spiele, und Logik

Theoretische Grundlagen der Informatik

Es gibt drei unterschiedliche Automaten:

Formale Sprachen und Automaten: Tutorium Nr. 8

Thomas Behr. 17. November 2011

Einführung in die Theoretische Informatik

Übung zur Vorlesung Theoretische Information. Minimierungsalgorithmus

Grundbegriffe der Informatik Tutorium 11

Grundbegriffe der Informatik

Theoretische Informatik I

Theoretische Informatik I

Theoretische Grundlagen der Informatik

Automatentheorie und formale Sprachen rechtslineare Grammatiken

Praktische Informatik I WS 1999/2000

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

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

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

THEORETISCHE INFORMATIK I

Lexikalische Analyse, Tokenizer, Scanner

(Prüfungs-)Aufgaben zu formale Sprachen

... = für δ(z, a i ) = z. Abbildung 4.4: Interpretation der Arbeitsweise eines endlichen Automaten

Grundlagen der Theoretischen Informatik

Universität des Saarlandes

Formale Sprachen und Automaten

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

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

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

Grundbegriffe der Informatik

Theoretische Informatik I

2.4 Kontextsensitive und Typ 0-Sprachen

Transkript:

Theoretische Grundlagen der Informatik Übung am 3..2 INSTITUT FÜR THEORETISCHE KIT 7..2 Universität des Andrea Landes Schumm Baden-Württemberg - Theoretische und Grundlagen der Informatik INSTITUT FÜR THEORETISCHE nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Übungsleiter Tanja Hartmann Gebäude 5.34, Raum 36 Sprechstunde: Freitags 9: bis : tanja.hartmann@kit.edu Andrea Schumm Gebäude 5.34, Raum 37 Sprechstunde: Dienstags : bis : andrea.schumm@kit.edu 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Organisatorisches Jetzt ist die letzte Möglichkeit, noch Übungsblätter abzugeben! 2. Übungsblatt wird im Laufe des Tages auf die Homepage gestellt Achtung: Diesmal Abgabe schon nach einer Woche (also, am Donnerstag, den. November)! Die Lösungen werden am darauf folgenden Dienstag in der Übung vorgestellt 2 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe Zwei reguläre Ausdrücke sind gleich, wenn sie die gleiche Sprache beschreiben. Zeigen oder widerlegen Sie die folgenden Gleichungen für die regulären Ausdrücke A, B, C. A B = (A B) (A ) = A (A B) = (A B ) (A B)C = AC BC 3 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe a) Zwei reguläre Ausdrücke sind gleich, wenn sie die gleiche Sprache beschreiben. Zeigen oder widerlegen Sie die folgenden Gleichungen für die regulären Ausdrücke A, B, C. A B = (A B) 4 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe a) Zwei reguläre Ausdrücke sind gleich, wenn sie die gleiche Sprache beschreiben. Zeigen oder widerlegen Sie die folgenden Gleichungen für die regulären Ausdrücke A, B, C. A B = (A B) Lösung: Die Gleichung ist falsch! Beweis durch Gegenbeispiel A = a, B = b, dann ist ab L((A B) ), aber ab / L(A B ) 4 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe b) Zwei reguläre Ausdrücke sind gleich, wenn sie die gleiche Sprache beschreiben. Zeigen oder widerlegen Sie die folgenden Gleichungen für die regulären Ausdrücke A, B, C. (A ) = A 5 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe b) Zwei reguläre Ausdrücke sind gleich, wenn sie die gleiche Sprache beschreiben. Zeigen oder widerlegen Sie die folgenden Gleichungen für die regulären Ausdrücke A, B, C. (A ) = A Lösung: Die Gleichung ist richtig! L(A ) L ( (A ) ) : Klar, da A = (A ). L ( (A ) ) L(A ): Sei w in L ( (A ) ) w = v v r mit v i L(A) Jedes v i lässt sich schreiben als v i = u i u iti mit u ij L(A) Also ist w endliche Konkatenation von Worten aus L(A) w in L(A) = L(A ) 5 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe c) Zwei reguläre Ausdrücke sind gleich, wenn sie die gleiche Sprache beschreiben. Zeigen oder widerlegen Sie die folgenden Gleichungen für die regulären Ausdrücke A, B, C. (A B) = (A B ) 6 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe c) Zwei reguläre Ausdrücke sind gleich, wenn sie die gleiche Sprache beschreiben. Zeigen oder widerlegen Sie die folgenden Gleichungen für die regulären Ausdrücke A, B, C. (A B) = (A B ) Lösung: Die Gleichung ist richtig! L((A B) ) = (L(A) L(B)) = (L(A B ) L(A B )) L(A B ) = L((A B ) ) L((A B ) ) L((A B) ): Sei w L((A B ) ) w ist endliche Konkatenation von Worten, die jeweils in L(A) oder L(B) liegen w L((A B) ) 6 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe d) Zwei reguläre Ausdrücke sind gleich, wenn sie die gleiche Sprache beschreiben. Zeigen oder widerlegen Sie die folgenden Gleichungen für die regulären Ausdrücke A, B, C. (A B)C = AC BC 7 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe d) Zwei reguläre Ausdrücke sind gleich, wenn sie die gleiche Sprache beschreiben. Zeigen oder widerlegen Sie die folgenden Gleichungen für die regulären Ausdrücke A, B, C. (A B)C = AC BC Lösung: Die Gleichung ist richtig! L ( (A B)C ) = ( L(A) L(B) ) L(C), daraus folgt: w L ( (A B)C ) w = ac w = bc mit a L(A), b L(B), c L(C) w ( L(A) L(C) ) ( L(B) L(C) ) w L(AC BC) 7 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 2 Zeigen oder widerlegen Sie: Teilmengen regulärer Sprachen sind regulär. Die Schnittmenge zweier regulärer Sprachen ist regulär. 8 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 2 a) Zeigen oder widerlegen Sie: Teilmengen regulärer Sprachen sind regulär. 9 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 2 a) Zeigen oder widerlegen Sie: Teilmengen regulärer Sprachen sind regulär. Lösung: Die Aussage ist falsch! Beweis durch Gegenbeispiel: Σ := {, }, L := Σ und L 2 := {w Σ w ist von der Form i i, i } L ist offensichtlich regulär, L 2 nicht (s. Vorlesung) und es gilt L 2 L 9 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 2 b) Zeigen oder widerlegen Sie: Die Schnittmenge zweier regulärer Sprachen ist regulär. 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 2 b) Zeigen oder widerlegen Sie: Die Schnittmenge zweier regulärer Sprachen ist regulär. Lösung: Die Aussage ist wahr! Seien L und L 2 reguläre Sprachen über Σ und A = {Q, Σ, δ, s, F }, bzw. A 2 = {Q 2, Σ, δ 2, s 2, F 2 } DEAs, die L bzw. L 2 akzeptieren Definiere A := {Q, Σ, δ, s, F} mit Q := Q Q 2 Für a Σ, (q, q 2 ) Q sei δ((q, q 2 ), a) := (δ (q, a), δ 2 (q 2, a)) s := (s, s 2 ) F := {(q, q 2 ) Q q F, q 2 F 2 } A akzeptiert genau L L 2 L L 2 regulär 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 2 b) Zeigen oder widerlegen Sie: Die Schnittmenge zweier regulärer Sprachen ist regulär. Lösung: Alternativer Lösungsweg: Zeige zunächst, dass das Komplement regulärer Sprachen regulär ist Benutze dann L L 2 = (L c Lc 2 )c 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 3 Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.4 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten erkannte Sprache. Geben Sie dabei alle benötigten Zwischenergebnisse an und lesen Sie nur Sprachen der Form L r,,t direkt ab. a, b q q 2 q 3 b a a, b Hinweis: Wenn Sie frühzeitig L q3,2,q 2 berechnen, können Sie sich einige Rechenschritte sparen. 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Wiederholung: Die Methode aus der Vorlesung Gegeben: DEA A = (Q, Σ, δ, s, F) Gesucht Sprache L, die A akzeptiert L = {w Σ A endet nach Abarbeitung von w in einem Zustand aus F} L f := {w Σ A endet nach Abarbeitung von w in f } L = f F L f Numeriere Zustände von bis n durch L qr,i,q t := {w Σ Abarbeitung von w aus q r nach q t hat nur Zwischenzustände {q,..., q i }} Damit gilt L f = L s,n,f Es gilt allgemein: ) ) L qr,i+,q t = L qr,i,q t (L qr,i,q i+ (L qi+,i,q Lqi+ i+,i,q t Damit kann man induktiv L f berechnen 2 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Lösung Aufgabe 3 a, b q q 2 q 3 b a a, b Die von A akzeptierte Sprache ist L q,3,q 2 L q,3,q 2 = L q,2,q 2 L q,2,q 3 (L q3,2,q 3 ) L q3,2,q 2 L q,2,q 2 = L q,,q 2 L q,,q 2 (L q2,,q 2 ) L q2,,q 2 L q,,q 2 = L q,,q 2 L q,,q (L q,,q ) L q,,q 2 }{{} a b }{{} ε }{{} ε }{{} a b ) L q,,q 2 = a b L q2,,q 2 = L q2,,q }{{} 2 L q2,,q (L q,,q }{{}}{{} }{{} ε b ε a b L q,2,q 2 = (a b) (a b)(ε b(a b)) (ε b(a b)) = (a b)(b(a b)) L q,3,q 2 = (a b)(b(a b)) L q,2,q 3 (L q3,2,q 3 ) L q3,2,q 2 = ε b(a b) 3 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Lösung Aufgabe 3 a, b q q 2 q 3 b a a, b L q,3,q 2 = (a b)(b(a b)) L q,2,q 3 (L q3,2,q 3 ) L q3,2,q 2 L q3,2,q 2 = L q3,,q 2 L q3,,q 2 (L q2,,q 2 ) L q2,,q 2 L q3,,q 2 = L q3,,q 2 L q3,,q (L q,,q ) L q,,q 2 = }{{}}{{}}{{} ε L q3,2,q 2 = (L q2,,q 2 ) L q2,,q 2 = Also ist insgesamt }{{} a b L q,3,q 2 = (a b)(b(a b)) L q,2,q 3 (L q3,2,q 3 ) = (a b)(b(a b)) 4 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 4 Sei A der nichtdeterministische endliche Automat, der durch folgenden Zustandsgraphen gegeben ist: ε, a s q b q 2 ε q 3 a b Geben Sie einen regulären Ausdruck für die von A akzeptierte Sprache an. Geben Sie für jeden Zustand den ε-abschluss an und konstruieren Sie einen äquivalenten NEA ohne ε-übergänge (vgl. Skript, Beweis zu Satz 2.3). 5 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 4 a) ε, a s q b q 2 ε q 3 a Geben Sie einen regulären Ausdruck für die von A akzeptierte Sprache an. b 6 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 4 a) ε, a s q b q 2 ε q 3 a Geben Sie einen regulären Ausdruck für die von A akzeptierte Sprache an. b Lösung: Worte, die ohne Benutzung von q 2 nach q 3 führen: a, ε Worte, die unter Benutzung von q 2 nach q 3 führen: ba, aba Insgesamt: (ε a)(ε ba)b 6 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 4 b) ε, a s q b q 2 ε q 3 a Geben Sie für jeden Zustand den ε-abschluss an und konstruieren Sie einen äquivalenten NEA ohne ε-übergänge. b 7 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 4 b) ε, a s q b q 2 ε q 3 a Geben Sie für jeden Zustand den ε-abschluss an und konstruieren Sie einen äquivalenten NEA ohne ε-übergänge. Lösung: E(s) = {s, q, q 3 } E(q ) = {q, q 3 } E(q 2 ) = {q 2 } E(q 3 ) = {q 3 } b Äquivalenter Automat ohne ε-übergänge: b a s q b q 2 b b a q 3 b 7 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 5 Gegeben sei der nichtdeterministische endliche Automat A mit Zustandsmenge Q = {s, q, q 2, f, f 2 }, Alphabet Σ = {, }, Startzustand s und Endzuständen f und f 2. Die Übergangsfunktion δ ist tabellarisch gegeben wie folgt: s {s, q } {s} q {q 2, f } {f 2 } q 2 {s, q 2 } {f 2 } f f 2 Zeichnen Sie den Zustandsgraphen zu A. Konstruieren Sie einen zu A äquivalenten deterministischen endlichen Automaten A mittels Potenzmengenkonstruktion. 8 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Lösung Aufgabe 5 a) Zeichnen Sie den Zustandsgraphen zu A. Q = {s, q, q 2, f, f 2 } Σ = {, } Startzustand s Endzustände f und f 2 s {s, q } {s} q {q 2, f } {f 2 } q 2 {s, q 2 } {f 2 } f f 2 Zustandsgraph:, s q 2 f q f 2 9 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 5 b) Konstruieren Sie einen zu A äquivalenten deterministischen endlichen Automaten A mittels Potenzmengenkonstruktion. Geben Sie dazu die Übergangsfunktion von A tabellarisch an und zeichnen Sie den Zustandsgraphen. Beschriften Sie die neuen Zustände jeweils mit den zugehörigen Teilmengen von Q. 2 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Wiederholung Potenzmengenkonstruktion Gegeben: NEA A = (Q, Σ, δ, s, F) Gesucht: Äquivalenter DEA A A := ( Q, Σ, δ, s, F) kann wie folgt definiert werden: Q := 2 Q δ : Q Σ Q mit δ( q, a) = δ( q, a) für a Σ s := E(s) F := { q Q q F = } 2 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Lösung Aufgabe 5 b), s q 2 f q f 2 {s} {s, q } {s} {s, q } {s, q, q 2, f } {s, f 2 } {s, q, q 2, f } {s, q, q 2, f } {s, f 2 } {s, f 2 } {s, q } {s} 22 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Lösung Aufgabe 5 b), s q 2 f q f 2 {s} {s, q } {s} {s, q } {s, q, q 2, f } {s, f 2 } {s, q, q 2, f } {s, q, q 2, f } {s, f 2 } {s, f 2 } {s, q } {s} {s} {s, q } {s, f 2 } {s, q, q 2, f } 22 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 6 Geben Sie jeweils einen nichtdeterministischen endlichen Automaten mit einer möglichst kleinen Anzahl an Zuständen an, der genau die folgenden Sprachen akzeptiert: L 2 := {w {a, b, c, d} Der letzte Buchstabe von w kommt mehrmals in w vor. } L 3 := {w {, } w enthält ein Teilwort der Form u und u ist durch 4 teilbar.} Hinweis: Es genügen jeweils 6 Zustände. Für korrekte Lösungen mit mehr Zuständen wird jeweils Punkt vergeben. 23 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 6 a) L 2 :={w {a, b, c, d} Der letzte Buchstabe von w kommt mehrmals in w vor. } NEA: a,b,c,d q a a,b,c,d a a,b,c,d s b c q 2 a,b,c,d q 3 b c f d a,b,c,d d 24 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE q 4

Aufgabe 6 b) L 3 := {w {, } w enthält ein Teilwort der Form u und u ist durch 4 teilbar.} NEA:, s q, f q 4,,,, q 2 q 3 25 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 7 Zeigen Sie mit Hilfe des Pumping-Lemmas die Nicht-Regularität folgender Sprachen: L = {a k c l b k k, l } L 2 = {w {, } w enthält mehr en als en} L 3 sei die Menge der Wörter über {, }, die die Form w w haben, wobei w aus w gebildet wird, indem alle Nullen durch Einsen und alle Einsen durch Nullen ersetzt werden; so ist etwa = und ein Beispiel für ein Wort dieser Sprache 26 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Pumping-Lemma für reguläre Sprachen Satz: Sei L eine reguläre Sprache. Dann existiert eine Zahl n N, so dass für jedes Wort w L mit w > n eine Darstellung w = uvx mit uv n, v = ε, existiert, bei der auch uv i x L ist für alle i N. 27 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 7 a) L = {a k c l b k k, l } 28 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 7 a) Lösung: L = {a k c l b k k, l } Annahme: L ist regulär. Sei dann n wie im Pumping-Lemma gefordert, d.h., so dass für jedes Wort w L mit w > n eine Darstellung w = uvx mit uv n, v = ε existiert, bei der auch uv i x L ist für alle i N. Betrachte w = a n b n L. Für jede Zerlegung w = uvx mit uv n, v = ε ist uv 2 x = a n+l b n / L weil l >. Dies widerspricht Pumping-Lemma 28 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 7 b) L 2 = {w {, } w enthält mehr en als en} 29 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 7 b) Lösung: L 2 = {w {, } w enthält mehr en als en} Annahme: L 2 ist regulär. Sei dann n wie im Pumping-Lemma gefordert, d.h., so dass für jedes Wort w L 2 mit w > n eine Darstellung w = uvx mit uv n, v = ε existiert, bei der auch uv i x L 2 ist für alle i N. Betrachte w = n n+ L 2. Für jede Zerlegung w = uvx mit uv n, v = ε ist uv 2 x = n+l n+ / L 2 weil l >. Dies widerspricht Pumping-Lemma 29 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 7 c) L 3 sei die Menge der Wörter über {, }, die die Form w w haben, wobei w aus w gebildet wird, indem alle Nullen durch Einsen und alle Einsen durch Nullen ersetzt werden; so ist etwa = und ein Beispiel für ein Wort dieser Sprache 3 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Aufgabe 7 c) L 3 sei die Menge der Wörter über {, }, die die Form w w haben, wobei w aus w gebildet wird, indem alle Nullen durch Einsen und alle Einsen durch Nullen ersetzt werden; so ist etwa = und ein Beispiel für ein Wort dieser Sprache Lösung: Annahme: L 3 ist regulär. Sei dann n wie im Pumping-Lemma gefordert, d.h., so dass für jedes Wort w L 3 mit w > n eine Darstellung w = uvx mit uv n, v = ε existiert, bei der auch uv i x L 3 ist für alle i N. Betrachte w = n n L 3 Für jede Zerlegung w = uvx mit uv n, v = ε ist uv 2 x = n+l n / L 3 weil l > Dies widerspricht Pumping-Lemma 3 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Zusatzaufgabe Bestimmen Sie den Äquivalenzklassenautomaten zu folgendem deterministischen endlichen Automaten: A B C D E F G H 3 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Wiederholung: Methode aus der Vorlesung Zustände p und q heißen äquivalent (p q), wenn für alle Wörter w Σ gilt: δ(p, w) F δ(q, w) F ist eine Äquivalenzrelation Wie kann man die Äquivalenzklassen berechnen? w mit δ(p, w) F und δ(q, w) / F oder umgekehrt heißt Zeuge für die Nichtäquivalenz von p und q p q gdw es keinen Zeugen für die Nichtäquivalenz von p und q gibt Verfahren aus der Vorlesung: Betrachte zunächst alle Zustandspaare als nicht getrennt Zähle alle Worte auf Σ mit wachsender Länge auf und prüfe jeweils, ob diese bisher nicht getrennte Zustände trennen Sobald für eine Wortlänge keine Zustände mehr getrennt werden, gib die Klassen von nicht getrennten Zuständen aus 32 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Bestimmung der Äquivalenzklassen A B C D E F G H ε trennt {C} von {A, B, D, E, F, G, H} trennt {D, F} von {A, B, E, G, H} trennt {B, H} von {A, E, G} trennt nichts trennt {G} von {A, E},,,,,,,,, trennen nichts Äquivalenzklassen: {A, E}, {B, H}, {D, F}, {C}, {G} 33 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Alternatives Vorgehen Table-Filling Algorithmus Zu Anfang sind alle Zustände nicht getrennt Trenne Endzustände und Nicht-Endzustände (Runde ) Wiederhole, bis in einer Runde keine Zustände mehr getrennt wurden (Runde - Runde k): Für alle a Σ und alle nicht getrennten Zustandspaare (p, q): Trenne (p, q), falls (δ(p, a), δ(q, a)) getrennt sind Gib die Klassen von nicht-getrennten Zuständen aus Behauptung Zwei Zustände p und q sind nach Runde i des Table-Filling Algorithmus getrennt gdw es ein Wort der Länge i gibt, das p und q trennt. Daraus folgt direkt, dass der Table-Filling Algorithmus korrekt ist 34 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Beispiel Table-Filling Algorithmus A B C D E F G H 35 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Beispiel Table-Filling Algorithmus A B C D E F G H Runde : {A, B, D, E, F, G, H} {C} 35 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Beispiel Table-Filling Algorithmus A B C D E F G H Runde : {A, B, D, E, F, G, H} {C} Runde : : {A, B, D, E, F, G, H} {C} : {A, B, E, G, H} {D, F } {C} 35 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Beispiel Table-Filling Algorithmus A B C D E F G H Runde : {A, B, D, E, F, G, H} {C} Runde : : {A, B, D, E, F, G, H} {C} : {A, B, E, G, H} {D, F } {C} Runde 2: : {A, E, } {B, H} {G} {D, F } {C} nichts getrennt : {A, E, } {B, H} {G} {D, F } {C} 35 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Äquivalenzklassenautomat A B C D E F G H Äquivalenzklassen: {A, E}, {B, H}, {D, F}, {C}, {G} [A] [D] [C] [B] [G] 36 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Behauptung Zwei Zustände p und q sind nach Runde i des Table-Filling Algorithmus getrennt gdw es ein Wort der Länge höchstens i gibt, das p und q trennt. Beweis: Induktion über Anzahl k der Runden Induktionsanfang: k = : p und q sind nach Runde getrennt, wenn einer davon ein Endzustand ist und der andere nicht, dies ist äquivalent zu ε trennt p und q Induktionsannahme: p und q sind nach Runde k getrennt gdw w mit w k, das p und q trennt 37 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Behauptung Zwei Zustände p und q sind nach Runde i des Table-Filling Algorithmus getrennt gdw es ein Wort der Länge höchstens i gibt, das p und q trennt. Beweis: Seien p und q nach Runde k + getrennt Fall : p und q sind schon nach Runde k getrennt, dann gibt es aber w mit w k und w trennt p und q Fall 2: p und q werden in Runde k + getrennt a Σ, so dass δ(p, a) und δ(q, a) nach Runde k getrennt sind w mit w k, das δ(p, a) und δ(q, a) trennt aw trennt p und q und aw k + 37 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE

Behauptung Zwei Zustände p und q sind nach Runde i des Table-Filling Algorithmus getrennt gdw es ein Wort der Länge höchstens i gibt, das p und q trennt. Beweis: w = av mit w k + und w trennt p und q v trennt δ(p, a) und δ(q, a) und v k p und q sind nach Runde k + getrennt 37 7..2 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE