Automaten und Formale Sprachen SoSe 2013 in Trier

Ähnliche Dokumente
Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier

Automaten und Formale Sprachen SoSe 2013 in Trier

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier

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

Grundlagen Theoretischer Informatik 2 WiSe 2009/10 in Trier. Henning Fernau Universität Trier

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

Theoretische Grundlagen der Informatik

Grundlagen der Theoretischen Informatik

5.2 Endliche Automaten

Theoretische Informatik I

Automaten und Formale Sprachen SoSe 2013 in Trier

Die mathematische Seite

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

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)

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

Endliche Automaten. Endliche Automaten 1 / 102

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

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

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

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

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

Grundlagen der theoretischen Informatik

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Grundlagen Theoretischer Informatik 2 WiSe 2009/10 in Trier. Henning Fernau Universität Trier

Formale Sprachen und endliche Automaten

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

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier

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

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

Endliche Automaten. Endliche Automaten 1 / 115

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

Theoretische Grundlagen der Informatik

Theoretische Informatik I

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

Einführung in die Theoretische Informatik

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Einführung in die Informatik

THIA - Übungsblatt 2.

8. Turingmaschinen und kontextsensitive Sprachen

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

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

TU Berlin Nachklausur TheGI 2 Automaten und Komplexität (Niedermeier/Hartung/Nichterlein, Sommersemester 2012)

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Grundlagen der theoretischen Informatik

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK

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

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

Einführung in die Theoretische Informatik

Theoretische Informatik für Medieninformatiker

Automaten und Coinduktion

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

Theoretische Informatik 2

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

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

Software Engineering Ergänzung zur Vorlesung

Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Einführung in die Theoretische Informatik

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

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

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

Grundbegriffe der Informatik Tutorium 33

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

Sprachen und Automaten. Tino Hempel

Automaten und Formale Sprachen ε-automaten und Minimierung

4.2.4 Reguläre Grammatiken

Theoretische Grundlagen der Informatik

Automaten und Formale Sprachen

Automaten und formale Sprachen Klausurvorbereitung

4. Übung zur Vorlesung Informatik III am

Theoretische Grundlagen der Informatik

Theorie der Informatik

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

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen

Induktive Definition

Einführung in die Theoretische Informatik

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008

2.6 Verdeutlichung verwendeter Begriffe

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

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

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

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

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

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

Theoretische Informatik 1

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

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier

Automatentheorie und Formale Sprachen

11.1 Kontextsensitive und allgemeine Grammatiken

Zentralübung zur Vorlesung Theoretische Informatik

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

Das Pumping-Lemma Formulierung

Definition Formale Sprache Eine formale Sprache ist eine (Teil-)Menge A Σ* von Worten über einem Alphabet Σ.

Diskrete Strukturen WiSe 2013/14 in Trier

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

2.2 Reguläre Sprachen Endliche Automaten

Rekursiv aufzählbare Sprachen

Endliche Automaten. Im Hauptseminar Neuronale Netze LMU München, WS 2016/17

Transkript:

Automaten und Formale Sprachen SoSe 2013 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 7. Mai 2013 1

Organisatorisches Vorlesung FR 10.15-11.45 im F 59 Verschiebungsangebot: FR 10.10-11.40 Übungsbetrieb in Form von einer Übungsgruppe BEGINN: in der zweiten Semesterwoche MI 09.10-09.55 im HS 13 Ab dann finden sie (im Wesentlichen) vierzehntägig statt. Also ist die zweite Übung am 08.05., 08.20-9.50 im H 7. Bitte beachten Sie Stud.IP bzw. und unsere Institutsseite. Dozentensprechstunde DO 14-15 in meinem Büro H 410 (4. Stock) Mitarbeitersprechstunde (Markus Schmid) jederzeit Tutorensprechstunde DO 10-12 H 407 2

Zulassungskriterien AFS gehört zusammen mit der Schwesterveranstaltung Berechenbarkeit und Komplexität im Wintersemester zu einem Modul. Um zur Modulprüfung zugelassen zu werden, muss man für den AFS-Teil folgende Leistungen erbringen: 40% der Übungsaufgabenpunkte Bearbeitung jeder Aufgabe Wird eine Aufgabe eines Übungsblattes nicht bearbeitet, so wird das gesamte Blatt mit 0 Punkten bewertet. 3

Bearbeitung einer Aufgabe Eine Aufgabe kann auf zweierlei Art bearbeitet werden: 1. Sie präsentieren eine Lösung der Aufgabe (wie üblich). 2. Sie formulieren wenigstens eine Frage oder Aussage, die erklärt, weshalb Sie keine Lösung präsentiert haben oder präsentieren konnten. Dieser Kommentar muss sich auf den Inhalt der Vorlesung oder Aufgabenstellung beziehen und sollte nicht bloß allgemeiner Natur sein. 4

Abgabe von Übungsaufgaben Abgaben sollten einzeln erfolgen. Abgabe 1: Kommentare zu einzelnen Aufgaben bis DI 7:30 Uhr. Abgabe 2: Lösungspräsentationen zu den (übrigen) Aufgaben: bis MI 8 Uhr. Abgabeort: mit AFS beschrifteter Kasten im 4. Stock vor dem Sekretariat von Prof. Näher. Alternativ unmittelbar vor der anschließenden Übung. Es dürfen auch Kommentare zu Aufgaben abgegeben werden, zu denen auch noch eine Lösung präsentiert wird. Es dürfe darüber hinaus auch Kommentare zur Übungs- oder Vorlesungsteilen abgegeben werden, die nicht unmittelbar in den Übungen abgefragt werden. 5

Weitere Regeln Verspätete Abgaben gelten als nicht abgegeben und werden dementsprechend mit 0 Punkten bewertet. Die Lösungen sind handschriftlich anzufertigen; weder Schreibmaschinen- noch Computerausdrucke werden akzeptiert, erst recht keine Kopien. In der nächsten Übung werden die korrigierten und bepunkteten Übungsaufgaben wieder zurückgegeben (in den Übungen). Lösungen sind immer ausführlich zu erläutern. 6

Zum Übungsbetrieb Durch die abgegebenen Kommentare steuern Sie wesentliche Teile des Übungsverlaufs. Darin erklären Sie nämlich, welche Teile der Vorlesung näher erläutert werden müssen. Aufgabe der Übungen oder des Übungsleiters ist es nicht, die gestellten Aufgaben der Reihe nach vorzurechnen oder Musterlösungen herauszugeben. Musterlösungen helfen auch nur eingeschränkt für Prüfungsvorbereitungen. 7

Wo finde ich was bei AFS? Vorlesungen (Foliensätze) liegen zum Runterladen auf unserer Institutsseite bereit. Übungen finden Sie unter Stud.IP bzw. unserer Institutsseite. Bitte melden Sie sich sowohl für die VL als auch für die Übungen im LSF- System an. 8

Probleme? Fragen? Klären Sie bitte Schwierigkeiten mit Vorlesungen oder Übungen möglichst umgehend in den zur Verfügung gestellten Sprechzeiten. In der Tutorensprechstunde steht Ihnen Xenia Klinge zu Rückfragen bereit. Wir helfen Ihnen gerne!... wir sind aber keine Hellseher, die Ihnen Ihre Schwierigkeiten an der Nasenspitze ansehen... 9

Modulprüfungen werden bei mir in der ersten Runde als schriftliche Prüfungen, aber in der zweiten Runde ( Nachprüfungsrunde ) als mündliche Prüfungen abgelegt. Erscheinen Ihnen die Modulprüfungen am Ersttermin als zu gedrängt, so können Sie auch die zweite Prüfungsrunde zur Erstprüfung nutzen! 10

Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche Automaten und reguläre Sprachen Kontextfreie Grammatiken und kontextfreie Sprachen Chomsky-Hierarchie 11

Endliche Automaten und reguläre Sprachen 1. Deterministische endliche Automaten 2. Nichtdeterministische endliche Automaten 3. Reguläre Ausdrücke 4. Nichtreguläre Sprachen 5. Algorithmen mit / für endliche Automaten 12

Reguläre Sprachen Eine Sprache L Σ heißt regulär gdw. es ein endliches Monoid (M,, e), einen Monoidmorphismus h : (Σ,, λ) (M,, e) sowie eine endliche Menge F M gibt mit L = {w Σ h(w) F}. zu abstrakt?? 13

Def.: Ein deterministischer endlicher Automat oder DEA wird beschrieben durch ein Quintupel A = (Q, Σ, δ, q 0, F) wobei gilt: Q: endliche Menge von Zuständen (Zustandsalphabet) Σ: endliche Menge von Eingabezeichen (Eingabealphabet) δ : Q Σ Q: Überführungsfunktion q 0 Q: Anfangszustand F Q: Endzustände 15

Überführungstafel Ein endlicher Automat kann vollständig durch seine Überführungstafel beschrieben werden. Beispiel: Betrachte: δ a b c q r r s r s s r s s s s In der ersten Zeile ist das Eingabealphabet beschrieben, in der ersten Spalte das Zustandsalphabet; der eingehende Pfeil kennzeichnet den Anfangszustand und der ausgehende den Endzustand (es könnten auch mehrere sein). 16

Automatengraph Ein gerichteter, Σ-kantenbeschrifteter Graph mit Knotenmenge Q: c q a,b,c a,b c s a,b r Eingangspfeile kennzeichnen den Startzustand und doppelte Umkreisungen die Endzustände. 17

Wie arbeitet ein DEA? Es sei w = a 1... a n Σ n das Eingabewort von A. Die Arbeit von A auf w kann wie folgt (informell) beschrieben werden: 1. Setze q q 0. 2. Für x a 1 bis a n tue: Setze q δ(q, x) 3. Akzeptiere w gdw. q F gilt. L(A) bezeichnet die von A akzeptierte Sprache. Beschreiben wir diese im Folgenden in formalerer Art und Weise. 18

Binärrelationen (bekannt aus DS) Erinnerung: R X X heißt Binärrelation (auf X). Die Diagonale X = {(x, x) x X} ist eine spezielle Relation. R X X heißt reflexiv gdw. X R. Das Produkt zweiter Relationen R 1, R 2 auf X ist definiert durch: R 1 R 2 = {(x, z) X X y X : (x, y) R 1 (y, z) R 2 }. Satz: (2 X X,, X ) ist ein Monoid. Eine Relation R auf X heißt transitiv gdw. R R R. 19

Binärrelationen (Forts.) (bekannt aus DS) Wir können auch Relationenpotenzen induktiv definieren: R 0 := X und R n := R n 1 R für n > 1. Satz: Die so genannte transitive Hülle R + := n 1 R n ist die kleinste R umfassende transitive Relation auf X für gegebenes R X X. Satz: Die so genannte reflexive transitive Hülle R := n 0 R n ist die kleinste R umfassende reflexive und transitive Relation auf X für gegebenes R X X. 20

Def.: Die von einem DEA A = (Q, Σ, δ, q 0, F) akzeptierte Sprache kann man formal wie folgt beschreiben. Def.: Ein Element aus C = Q Σ heißt Konfiguration von A. Definiere eine Binärrelation A auf C durch (q, w) A (q, w ) gdw. a Σ : w = aw und q = δ(q, a). Die zweite Komponente einer Konfiguration ist die übrige Eingabe. A beschreibt den Konfigurationsübergang in einem Schritt. Entsprechend beschreibt n A n Schritte von A. Daher können wir definieren: L(A) = {w Σ q F : (q 0, w) A (q, λ)}. 21

Exkurs: Zustandsraum allgemein Zustandsraum / Konfigurationsraum Landkarte Konfigurationsübergänge erlaubte Einzelschritte Konfigurationsübergangsfolge Weg auf der Karte reflexiv-transitive Hülle der Einzelschrittübergangsrelation Diese Bezüge sind essentiell für das Verständnis vieler Konzepte der Informatik! Beispiel: Konfiguration im Hornlogik-Kalkül: Menge von Klauselmengen Konfigurationsübergang: Resolutionsschritt 22

Ein bekanntes Beispiel als Spiel mit Lösung Drei Missionare und drei Kannibalen wollen einen Fluss queren. Das verfügbare Boot befördert mindestens eine, höchstens zwei Personen. Nebenbedingung: Die Kannibalen dürfen auf keinem Ufer in der Mehrheit gegenüber einer nicht-leeren Menge von Missionaren sein. Zustandsraum: {(i, j) 0 i, j 3} i Missionare / j Kannibalen am linken Ufer Dazu kämen noch Bootsposition und evtl. Bootsinhalt. Selbst ohne diese Verfeinerung ist der Zustandsraum unübersichtlich. Rechts sind verbotenene Konfigurationen durch X gekennzeichnet. 3 2 1 0 3 Start 2 X X X 1 X X X 0 Ziel 23

Alternative Sicht (für DEAs) Es sei A = (Q, Σ, δ, q 0, F) ein DEA. Definiere induktiv: ^δ : Q Σ Q, (q, w) { q, w = λ ^δ(δ(q, a), w ), w = aw, a Σ Lemma: Es sei A = (Q, Σ, δ, q 0, F) ein DEA. Seien p, q Q und w Σ beliebig. Dann gilt: (p, w) A (q, λ) ^δ(p, w) = q. 24

Noch eine induktive Definition Es sei (M,, e) ein Monoid. Für n N und a M definiere: { a n e, n = 0 = a n 1 a, n > 0 Sprechweise: n-te Potenz von a. Beispiel: Potenz einer Binärrelation (aus DS). Anwendung: Potenz eines Wortes. Konkret: Ist Σ = {A, D, L, S}, so ist LASSDAS Σ und ebenso (LASSDAS) 3 = LASSDASLASSDASLASSDAS 25

... alternativ andersherum... Es sei (M,, e) ein Monoid. Für n N und a M definiere: { a [n] e, n = 0 = a a [n 1], n > 0 Diese Hilfsschreibweise ist unnötig: Lemma: Für alle n N gilt: a n = a [n]. Beweis: Für n = 0 gilt die Gleichheit nach Def. Für n = 1: a 1 = a 0 a = e a = a = a e = a a [0] = a [1], da e neutrales Element. Angenommen, a j = a [j] gilt für alle j < m. Betrachte den Fall n = m > 1. a m = a m 1 a = a [m 1] a = (a a [m 2] ) a = a (a [m 2] a) = a (a m 2 a) = a a m 1 = a a [m 1] = a [m]. Machen Sie sich die einzelnen Schritte klar! 26

Erinnerung: Komplexprodukt (DS) Ist (M,, e) ein Monoid, so kann der Menge 2 M durch das Komplexprodukt zu einem Monoid gemacht werden. Dazu definieren wir: A B := {a b a A b B} Das zugehörige neutrale Element ist {e}. Beispiel: (Σ,, λ) ist ein Monoid, und so kann man auch als Sprachoperation auffassen. Also: Sind L 1, L 2 Σ, so ist L 1 L 2 = {x 1 x 2 x 1 L 1 x 2 L 2 }. Entsprechend: Sprachpotenzen. L n = {x 1 x 2 x n x 1, x 2,..., x n L}. 27

Ein hilfreiches Lemma Schlingenlemma: Es sei A = (Q, Σ, δ, q 0, F) ein DEA. Es sei q Q und sei X = {a Σ : (q, a) A (q, λ)}. Dann gilt: X {w Σ (q, w) A (q, λ)}. Beweis: Wir führen einen Induktionsbeweis, da X = n N Xn. Wir zeigen (stärker): X n {w Σ (q, w) n A (q, λ)} für alle n N. Für n = 0 gilt: w X 0 gdw. w = λ, und (q, λ) 0 A (q, λ) IH: Es sei die Behauptung für n = m 1 bewiesen. Betrachte n = m. Sei w X m = X m 1 X, d.h. w = va mit v X m 1. Da m A = m 1 A A, liefert die IH: (q, w) m A (q, λ), da (q, v) m 1 A (q, λ), also (q, w) m 1 A (q, a) und (q, a) A (q, λ), falls a X. 28

c Was tut also unser Automat? q a,b,c a,b c s a,b r L(A) = {w Σ (q, w) A (r, λ)}. {w Σ (q, w) A (r, λ)} = {u Σ (q, u) A (r, λ)} {v Σ (r, v) A (r, λ)} Idee: Da es im Automatengraphen nur einen (gerichteten) Weg von q nach r gibt und da Wege von r nach r nur r als Zwischenknoten benutzen können, liefert das Schlingenlemma: {w Σ (q, w) A (r, λ)} = {a, b} {cn n N} 29

Dualzahlen: ein ausführliches Beispiel für einen DEA Zur Spezifikation: Was soll der DEA leisten? Wir wollen einen Automaten A diskutieren, der Dualzahlen der Form 1010010 bzw. Dualbrüche der Form 10010 01110 erkennt. (Der soll der Deutlichkeit dienen für das Dualzeichen. ) Wir wollen zur Erleichterung auch leere Zahlen akzeptieren und Zahlen der Formen xxxxx und xxxxx 0. Das heißt, der Automat soll alle Wörter über dem Alphabet {0, 1, } akzeptieren, die kein oder genau ein Dualzeichen enthalten. 30

Zur Spezifikation des DEAs A = ({q, r, s}, {0, 1, }, δ, q, {q, r}): δ(q, 0) = q, δ(q, 1) = q δ(q, ) = r, δ(r, 0) = r δ(r, 1) = r, δ(r, ) = s δ(s, 0) = s, δ(s, 1) = s δ(s, ) = s Die Beschreibung mittels einer Überführungstafel hat das folgende Aussehen: δ(, ) 0 1 q q q r r r r s s s s s 31

Beschreibung als gerichteter kantenbeschrifteter Graph 0,1 0,1 q * r 0,1,* s * Hierbei haben wir uns erlaubt, Kanten zwischen den selben Knoten zusammenzufassen zu einer Kante mit einer Liste von Eingabezeichen. 32

Eigenschaften Man erkennt mit dem Schlingenlemma, dass der Automat nur dann in einen Endzustand übergeht, wenn er eine ganze oder eine real -Dualzahl liest. Wollen wir dagegen leere Zahlen und Zahlen der Formen xxxxx und xxxx nicht akzeptieren, so müssen wir den Automaten folgendermaßen modifizieren: 0,1 s 0,1 0,1 * q r t * 0,1 0,1,* f * * Wollen wir auch zulassen, dass Zahlen der Form xxxx möglich sind, oder führende Nullen vor einer Eins vor dem Dualzeichen unterdrücken, müssen wir den Automaten weiter modifizieren. Dies sei zur Übung überlassen. 33

Was tut der folgende Automat? δ a b s s q q r q r r r Wie sieht der Automatengraph aus? Wie kann man L(A) beschreiben in Worten oder in Mengennotation? 34

Lemma: L(A) = L mit L := {a n b m n 0, m 1}. Der Beweis von L(A) = L hat in der Regel zwei Richtungen: (a) L(A) L und (b) L L(A). Beweistechnik: Induktion. für (a) betrachtet das Induktionsargument i.d.r. n-schritt-konfigurationsübergänge c n c für Konfigurationen c, c für (b) erfolgt das Induktionsargument hingegen über die Wortlänge n = w mit w L (oder aus Σ ). 35

Beweis von L(A) L: (a) Offensichtlich ist b L das einzige Wort der Länge Eins oder kürzer in L und b L(A), denn δ(s, b) = q. (b) Wir zeigen für bel. n N durch Induktion über m 1: a n b m L(A). Gilt m = 1, so folgt mit Schlingenlemma und (a): (s, a n b) (s, b) (q, λ) Für m > 1 folgt mit der IH und wegen δ(q, b) = q: Also gilt für jedes w L: w L(A). (s, a n b m 1 b) (q, b) (q, λ). 36

Zustand r ist eine Falle in folgendem Sinne: Lemma A: v, w Σ : ((r, v) (x, w)) x = r. Lemma B: w Σ : ((q, w) (q, λ)) w {b}. Beweis durch Induktion über w. für n = 0. Für n > 0 betrachte w = a 1 a 2... a n mit 1 i n : a i Σ. Diskutiere (q, a 1 a 2... a n ) (x, a 2... a n ) (q, λ). Falls a 1 = a, so gilt x = r, und wegen Lemma A ist (x, a 2... a n ) (q, λ) unmöglich. Ist a 1 = b, so gilt x = q, und die IH liefert a 2 = = a n = b. Beweis von L(A) L: Betrachte (s, w) n (q, λ). Für n = 1, w = b L. Für n > 1 erörtern wir (s, w) (x, w ) n 1 (q, λ). Ist w = aw, so x = s; die IH liefert die Behauptung. Ist w = bw, so x = q; dann folgt mit Lemma B die Behauptung. 37

Endliche Automaten und Regularität 1 Satz: Wird L Σ von einem DEA erkannt, so ist L regulär. Beweis: Sei A = (Q, Σ, δ, q 0, F) DEA mit L(A) = L. δ definiert Abbildungen f a : Q Q mit f a (q) = δ(q, a). h : (Σ,, λ) (Q Q,, Q ), a f a ist ein Monoidmorphismus. Definiere als endliche Menge E = {f : Q Q f(q 0 ) F}. Dann gilt: L = {w Σ h(w) E}. Denn: Für w = a 1 a n Σ n mit a i Σ für i = 1,..., n gilt: w L gdw. q 1,..., q n mit q n F, sodass q i = δ(q i 1, a i ) für i = 1,..., n gdw. q 1,..., q n mit q n F, sodass f ai (q i 1 ) = q i für i = 1,..., n gdw. q n F mit (f a1 f a2 f an )(q 0 ) = q n gdw. h(w) E. 38

Endliche Automaten und Regularität 2 Satz: Ist L Σ regulär, so wird L von einem DEA erkannt. Beweis: Es sei L regulär. Also gibt es ein endliches Monoid (M,, e), eine Menge F M und einen Morphismus h : Σ M mit h(w) F gdw. w L. Definiere nun DEA A = (Q, Σ, δ, q 0, F) wie folgt: Q = M, q 0 = e, δ(q, a) = q h(a). Unmittelbar aus dieser Definition folgt: h(w) F gdw. w L(A). 39

Ein großes Transformationsmonoid Betrachte Σ = {a, b, c}, das Zustandsalphabet Q = {0,..., n 1} und die folgenden Abbildungen: f a : 0 1, 1 0, k k für k 0, 1 f b : 0 1, 1 2,..., (n 2) (n 1), (n 1) 0 f c : (n 1) 0, k k für k n 1 Dies definiert zum einen die Überführungsfunktion eines DEA mit n Zuständen und Eingabealphabet Σ, zum anderen hat das zugehörige Transformationsmonoid n n Elemente. Genauer lassen sich mit f a und f b bereits alle n! vielen Bijektionen Q Q erzeugen (Idee wie bei Bubblesort durch wiederholtes Vertauschen von Nachbarelementen). 40

Ein duales Beispiel (mit lazy evaluation!) 0,1 0,1 q * r 0,1,* s * f λ = f 0 q r s = f 1 q r s f q r s r s s f q r s s s s (M A, ) f λ f f f λ f λ f f f f f f f f f f 41

Noch ein Beispiel (Das Monoid ist nicht-kommutativ.) c q a,b c r a,b,c s a,b f λ q r s q r s f a = f b q r s r s s f c = f cc q r s s r s f x, x {a, b} 2 q r s s s s f ac = f bc = f a f ca = f cb = f aa (M A, ) f λ f a f c f aa f λ f λ f a f c f aa f a f a f aa f a f aa f c f c f aa f c f aa f aa f aa f aa f aa f aa 42

Zusammenfassung Wir haben den Begriff eines deterministischen endlichen Automaten (kurz DEA) kennengelernt. Dieser ist zentral in vielen Bereichen der Informatik, z.b. auch in der Technischen Informatik. Abschließend haben wir gesehen, dass DEAs Regularität kennzeichnen. Tatsächlich ist Regularität ein sehr robuster Begriff mit sehr vielen verschiedenen Charakterisierungen. 43