Theoretische Informatik I

Ähnliche Dokumente
Theoretische Informatik I

Es gibt drei unterschiedliche Automaten:

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

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

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

Einführung in die Informatik

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

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

Grundlagen der Theoretischen Informatik

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

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Reguläre Sprachen und endliche Automaten

7 Endliche Automaten. 7.1 Deterministische endliche Automaten

8. Turingmaschinen und kontextsensitive Sprachen

Deterministische Turing-Maschinen

Formale Sprachen und endliche Automaten

Theoretische Informatik 1

Lexikalische Analyse, Tokenizer, Scanner

Beispiele für Wortverarbeitung durch NEA. Beispiele für NEA (1) Beispiele für NEA (2) Beispiele für NEA (3) 1.) 1 q 2. q 5. q 1 1 0,1,2. 0 q 2.

18 E N D L I C H E AU T O M AT E N erstes beispiel: ein getränkeautomat

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

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

Induktive Definition

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

Rekursiv aufzählbare Sprachen

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten

Theoretische Informatik 1

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

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

Theoretische Informatik I

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

Grundlagen der Informatik II

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

Einführung in die Computerlinguistik deterministische und nichtdeterministische endliche Automaten

Automaten und Formale Sprachen ε-automaten und Minimierung

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

Theoretische Grundlagen der Informatik

Formale Sprachen und Automaten

Kapitel 7: Kellerautomaten und kontextfreie Sprachen

Lexikalische Programmanalyse der Scanner

5.4 Endliche Automaten

Automaten und Coinduktion

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

Übungsaufgaben zu Formalen Sprachen und Automaten

Probeklausur Lösungen

Kapitel 2: Formale Sprachen Gliederung

Einführung in die Theoretische Informatik

11.1 Kontextsensitive und allgemeine Grammatiken

Reguläre Grammatiken/Sprachen und endliche Automaten

THEORETISCHE INFORMATIK

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

Einführung in die Theoretische Informatik

Theoretische Informatik Testvorbereitung Moritz Resl

7 Endliche Automaten. Reimund Albers Papierfalten Kapitel 7 Endliche Automaten 103

Kontextfreie Sprachen

Turing-Maschine. Berechenbarkeit und Komplexität Turing-Maschinen. Turing-Maschine. Beispiel

Sprachen und Automaten. Tino Hempel

Automaten und formale Sprachen Klausurvorbereitung

Vorlesung Theoretische Informatik

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

Automatentheorie und formale Sprachen

Einführung in Berechenbarkeit, Komplexität und formale Sprachen

Theoretische Informatik I

Automaten und Formale Sprachen

Berechenbarkeit. Script, Kapitel 2

Anwenundg regulärer Sprachen und endlicher Automaten

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

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

Einführung in die Informatik II Automaten

THEORETISCHE INFORMATIK I

Berechenbarkeit und Komplexität Endliche Automaten

Theoretische Informatik 2

Theoretische Informatik

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

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

Reguläre Sprachen Endliche Automaten

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964)

Automaten und Formale Sprachen Endliche Automaten und Reguläre sprachen

Theorie der Informatik

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

2 Typ Deterministische endliche Automaten

Formale Sprachen und Automaten

Einführung in die Theoretische Informatik

Deterministische endliche Automaten - Wiederholung

(Prüfungs-)Aufgaben zu formale Sprachen

Automaten und formale Sprachen: Vorlesungsskript G. Brewka, A. Nittka

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

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

Transkript:

heoretische Informatik I Einheit 2 Endliche Automaten & Reguläre Sprachen. Deterministische endliche Automaten 2. Nichtdeterministische Automaten 3. Reguläre Ausdrücke 4. Grammatiken 5. Eigenschaften regulärer Sprachen

Automaten: das einfachste Maschinenmodell Externer Speicher Eingabe Programm Automat Interner Zustand Ausgabe Sichtweisen von Computern Automaten stehen im Kern jeder Berechnung Schnelle, direkte Verarbeitung von Eingaben Keine interne Speicherung von Daten Speicher sind eil der Umgebung Endliche Automaten sind leicht zu analysieren Jede Berechnung endet nach einer festen Anzahl von Schritten Keine Schleifen oder Seiteneffekte heoretische Informatik I 2: Endliche Automaten

Verwendungszwecke für endliche Automaten Basismodell für viele Arten von Hard- & Software Steuerungsautomaten Alle Formen rein Hardware-gesteuerter automatischer Maschinen Waschmaschinen, Autos, Unterhaltungselektronik, Ampelanlagen, Computerprozessoren Entwurf und Überprüfung digitaler Schaltungen Entwicklungswerkzeuge und estsoftware beschreiben endliches Verhalten Lexikalische Analyse in Compilern Schnelle Identifizierung von Bezeichnern, Schlüsselwörtern,... extsuche in umfangreichen Dokumenten Z.B. Suche nach Webseiten mithilfe von Schlüsselwörtern Software mit endlichen Alternativen Kommunikationsprotokolle, Protokolle zum sicheren Datenaustausch... heoretische Informatik I 2: 2 Endliche Automaten

Automaten beschreiben Sprachen Generierte Sprache Menge aller möglichen Ausgaben des Automaten Erkannte Sprache Menge aller Eingaben, die zur Ausgabe ja führen Alternativ: letzter Zustand des Automaten muß ein Endzustand sein Sprachen endlicher Automaten sind einfach Nur sehr einfach strukturierte Sprachen können beschrieben werden Durch endliche Automaten beschreibbare Sprachen heißen regulär heoretische Informatik I 2: 3 Endliche Automaten

Modelle zur Beschreibung regulärer Sprachen Automaten: erkennen von Wörtern z.b. Wechselschalter: Verarbeitung von Drück -Eingaben aus Drücken Drücken ein Zustände: aus, ein zustand: aus Endzustand: ein Eingabesymbol: Drücken Endzustand wird erreicht bei ungerader Anzahl von Drücken Mathematische Mengennotation z.b.: {Drücken 2i+ i N} oder {w {Drücken} i N. w = 2i+} Reguläre Ausdrücke: algebraische Strukturen z.b.: (DrückenDrücken) Drücken Grammatiken: Vorschriften für Spracherzeugung z.b.: S Drücken, S SDrückenDrücken Erzeugt nur ungerade Anzahl von Drücken-Symbolen heoretische Informatik I 2: 4 Endliche Automaten

heoretische Informatik I Einheit 2. Deterministische Endliche Automaten. Arbeitsweise 2. Akzeptierte Sprache 3. Entwurf und Analyse 4. Automaten mit Ausgabe

Erkennung von Wörtern mit Automaten nicht alles nicht, I I I I- nicht, Endliche Anzahl von Zuständen Ein zustand Regeln für Zustandsübergänge Eingabealphabet: {A,..,Z,a,..,z,,?,!,..} Ein oder mehrere akzeptierende Endzustände heoretische Informatik I 2: Endliche Automaten Deterministische Automaten

Endliche Automaten mathematisch präzisiert nicht alles nicht, I I I I- nicht, Ein Deterministischer Endlicher Automat (DEA) ist ein 5-upel A = (Q, Σ, δ, q, F) mit Q nichtleere endliche Zustandsmenge Σ (endliches) Eingabealphabet δ:q Σ Q Zustandsüberführungsfunktion q Q zustand F Q Menge von akzeptierenden Zuständen (Anfangszustand) (Endzustände) (Finale Zustände) heoretische Informatik I 2: Endliche Automaten 2 Deterministische Automaten

Beschreibung von Endlichen Automaten Übergangsdiagramm nicht nicht, I I I alles I- nicht, Jeder Zustand in Q wird durch einen Knoten (Kreise) dargestellt Ist δ(q,a) = p, so verläuft eine Kante von q nach p mit Beschriftung a (mehrere Beschriftungen derselben Kante möglich) q wird durch einen mit beschrifteten Pfeil angezeigt Endzustände in F werden durch doppelte Kreise gekennzeichnet Σ meist implizit durch Diagramm bestimmt Übergangstabelle abellarische Darstellung der Funktion δ Kennzeichnung von q durch einen Pfeil Kennzeichnung von F durch Sterne Σ und Q meist implizit durch abelle bestimmt I sonst S S S S I S S I S S * heoretische Informatik I 2: Endliche Automaten 3 Deterministische Automaten

Arbeitsweise von Endlichen Automaten nicht alles nicht, I I I I- nicht, Anfangssituation Automat befindet sich im zustand q Arbeitschritt Im Zustand q lese Eingabesymbol a, Bestimme δ(q,a)=p und wechsele in neuen Zustand p erminierung Eingabewort w = a..a n ist komplett gelesen, Automat im Zustand q n Ergebnis Eingabewort w wird akzeptiert, wenn q n F, sonst wird w abgewiesen heoretische Informatik I 2: Endliche Automaten 4 Deterministische Automaten

Arbeitsweise von DEAs mathematisch präzisiert Erweiterte Überführungsfunktion ˆδ : Q Σ Q Schrittweise Abarbeitung der Eingabe mit δ von links nach rechts Informal: ˆδ(q, w w 2...w n ) = δ(...(δ(δ(q, w ),w 2 ),...),w n ) Mathematisch präzise Beschreibung benötigt induktive Definition ˆδ(q, w) = { q falls w=ǫ, Von A akzeptierte Sprache δ(ˆδ(q,v),a) falls w=v a für ein v Σ, a Σ Menge der Eingabewörter w, für die ˆδ(q,w) akzeptierender Zustand ist L(A) = {w Σ ˆδ(q, w) F} Auch: die von A erkannte Sprache Reguläre Sprache Sprache, die von einem DEA A akzeptiert wird heoretische Informatik I 2: Endliche Automaten 5 Deterministische Automaten

Analyse der Sprache des Wechselschalters aus Drücken Drücken ein Zeige: Automat A ist ein Wechselschalter S (n): Ist n gerade, so ist A nach n-fachem Drücken ausgeschaltet S 2 (n): Ist n ungerade, so ist A nach n-fachem Drücken eingeschaltet Beweis durch simultane Induktion: Induktionsanfang n=: n ist gerade also gilt S 2 () A ist ausgeschaltet, also gilt S () Induktionsschritt: Es gelte S (n) und S 2 (n). Betrachte n+ Falls n+ ungerade, dann gilt S (n+) und n ist gerade. Wegen S (n) war A aus und wechselt auf ein. Es gilt S 2 (n+) Falls n+ gerade, dann gilt S 2 (n+) und n ist ungerade. Wegen S 2 (n) war A ein und wechselt auf aus. Es gilt S (n+) Es folgt: L(A) = {Drücken 2i+ i N} heoretische Informatik I 2: Endliche Automaten 6 Deterministische Automaten

Entwurf und Analyse endlicher Automaten Entwerfe Automaten für L = {uv u, v {, } } Drei Zustände sind erforderlich Zustand q : A hat noch keine gelesen i bleibt in q Zustand q : A hat eine aber noch keine gelesen i j+ bleibt in q Zustand q 2 : A hat eine Zeichenkette gelesen i j v bleibt in q 2 Zustandsübergänge erhalten Bedeutung Zustand q : Mit bleibe in q, sonst wechsele nach q Zustand q : Mit bleibe in q, sonst wechsele nach q 2 Zustand q 2 : Bleibe bei jeder Eingabe in q 2, Endzustand Zugehöriger DEA mit Alphabet Σ = {, }, q q q 2 heoretische Informatik I 2: Endliche Automaten 7 Deterministische Automaten

q q, q 2 Zeige L(A) = L = {uv u,v {, } } Zeige durch strukturelle Induktion über w: ˆδ(q, w) = q es gibt ein i N mit w = i Basisfall w = ǫ: Per Definition ist ˆδ(q,ǫ) = q und w = i für i = Schrittfall w = ua für ein u Σ, a Σ: Es gelte ˆδ(q,w) = q. Dann ist ˆδ(q, u) = q und δ(q, a) = q. Es folgt a = und per Annahme u = i für ein i, also w = i+. Es gelte w = i. Dann ist a = und u = i. Mit der Induktionsannahme folgt ˆδ(q, w) = δ(ˆδ(q,u), a) = δ(q, a) = q ˆδ(q, w) = q es gibt i, j N mit w = i j+ analog ˆδ(q, w) = q 2 es gibt i, j N, v Σ mit w = i j+ v Zeige: w L es gibt i, j N, v Σ mit w = i j v Für w L gibt es u,v Σ mit w = uv Wenn u nicht die Form i j hat, dann folgt in u eine auf eine. Das erste solche Vorkommen von liefert die gewünschte Zerlegung Es folgt w L ˆδ(q, w) = q 2 F w L(A) heoretische Informatik I 2: Endliche Automaten 8 Deterministische Automaten

Eine alternative Beschreibung der Arbeitsweise von DEAs Konfiguration: Gesamtzustand von Automaten Mehr als q Q: auch die noch unverarbeitete Eingabe zählt Formal dargestellt als upel K = (q,w) Q Σ Konfigurationsübergangsrelation Wechsel zwischen Konfigurationen durch Abarbeitung von Wörtern (q,aw) (p,w), falls δ(q, a) = p K K 2, falls K = K 2 oder es gibt eine Konfiguration K mit K K und K K 2 Akzeptierte Sprache Menge der Eingaben, für die zu akzeptierendem Zustand führt L(A) = {w Σ p F. (q, w) (p,ǫ)} Für DEAs weniger intuitiv, aber leichter zu verallgemeinern heoretische Informatik I 2: Endliche Automaten 9 Deterministische Automaten

DEA für L = {w {, } w enthält gerade Anzahl von und } Codiere Anzahl der gelesener / im Zustand q ˆ= (gerade,gerade) q ˆ= (gerade,ungerade) q 2 ˆ= (ungerade,gerade) q 3 ˆ= (ungerade,ungerade) q q q 2 q 3 Korrektheit: gegenseitige strukturelle Induktion heoretische Informatik I 2: Endliche Automaten Deterministische Automaten

Korrektheitsbeweis mit Konfigurationen Zeige simultan für alle Wörter w, v {, } : () (q, w v) (q, v) es gilt g (w) und g (w) (2) (q, w v) (q, v) es gilt g (w) und u (w) (3) (q, w v) (q 2, v) es gilt u (w) und g (w) (4) (q, w v) (q 3, v) es gilt u (w) und u (w) g (w) ˆ= w hat gerade Anzahl von Nullen, u (w) ˆ= w hat ungerade Anzahl von Nullen,... Basisfall w = ǫ: Per Definition gilt (q, v) (q,v) und g (w) und g (w) Schrittfall w = ua für ein u Σ, a Σ: () Es gelte (q, w v) (q, v). Dann gilt (q,uav) (p, av) (q, v) für einen Zustand p. Falls a =, dann ist p = q 2 und nach (3) folgt u (u) und g (u). Für w = ua folgt somit g (w) und g (w). Fall a= analog. Gegenrichtung durch Umkehrung des Arguments. (2), (3), (4) analog. Es folgt w L(A) (q, w) (q, ǫ) g (w) und g (w) w L heoretische Informatik I 2: Endliche Automaten Deterministische Automaten

Weitere Beispiele endlicher Automaten Erkenne Strings, die mit enden q q q 2 5c Kaffeeautomat Akzeptiert,2,5c Münzen, gibt kein Geld zurück, mit Reset-aste q q q 2 q 3 2 2 5 reset 2 2 q 4,2,5 q 5 2 5 heoretische Informatik I 2: Endliche Automaten 2 Deterministische Automaten

Endliche Automaten mit Ausgabefunktion 5c Kaffeeautomat mit Restbetragsanzeige q /4 q 2/3 /3 2/2 q 2 5/ /2 reset/5 q 3 2/ / 2/ q 4,2,5 Münzeinwurf führt zu Zustandsänderung und erzeugt Ausgabe q 5 2 5 Formalisierungen von Automaten mit Ausgabe Mealy-Automaten: Ausgabefunktion abhängig von Eingabe & Zustand Moore-Automaten: Ausgabefunktion nur von Zustand abhängig Beide Modelle sind äquivalent heoretische Informatik I 2: Endliche Automaten 3 Deterministische Automaten

Mealy-Automaten mathematisch präzisiert 5/ q /4 2/3 q /3 2/2 q 2 /2 q 3 2/ reset/5 / 2/ q 4,2,5 q 5 2 5 Ein Mealy-Automat ist ein 6-upel M = (Q, Σ,,δ,λ,q ) mit Q nichtleere endliche Zustandsmenge Σ (endliches) Eingabealphabet (endliches) Ausgabealphabet δ:q Σ Q Zustandsüberführungsfunktion λ:q Σ Ausgabefunktion q Q zustand heoretische Informatik I 2: Endliche Automaten 4 Deterministische Automaten

Arbeitsweise von Mealy-Automaten analog zu DEAs Anfangssituation: Automat im zustand q Arbeitschritt Im Zustand q lese Eingabesymbol a, Bestimme δ(q,a)=p und wechsele in neuen Zustand p Bestimme x = λ(q,a) und gebe dieses Symbol aus erminierung: Eingabewort w = a..a n ist komplett gelesen Ausgabewort: Verkettung der ausgegebenen Symbole x..x n Erweiterte Ausgabefunktion ˆλ:Q Σ Schrittweise Erzeugung der Ausgabe mit Abarbeitung der Eingabe Formal: Induktive Definition { ǫ falls w=ǫ, ˆλ(q, w) = ˆλ(q,v) λ(ˆδ(q,v),a) falls w=v a für ein a Σ Von M berechnete Funktion: f M (w) = ˆλ(q, w) heoretische Informatik I 2: Endliche Automaten 5 Deterministische Automaten

Mealy-Automat für (inverse) Binäraddition Addition von Bitpaaren von rechts nach links Eingabealphabet Σ = {, } {, } Ausgabealphabet = {, } Zwei Zustände sind erforderlich Zustand q : A kann Addition zweier Bits direkt ausführen Zustand q : A hat bei Addition einen Übertrag zu berücksichtigen Zugehöriger Mealy-Automat,/,/,/,/,/,/ q,/,/ q heoretische Informatik I 2: Endliche Automaten 6 Deterministische Automaten

Mealy-Automaten sind äquivalent zu DEAs Gegenseitige Simulation ist möglich Jede Funktion f ist als Menge beschreibbar graph(f) = {(w,v) f(w) = v} graph (f) = {(w, v )..(w n, v n ) f(w..w n ) = v..v n } DEAs können Graphen berechneter Funktionen akzeptieren Satz: f Mealy-berechenbar graph (f) reguläre Sprache Jede Sprache L ist als Funktion beschreibbar χ L (w) = { falls w L, charakteristische Funktion von L sonst Charakteristische Funktionen akzeptierter Sprachen sind berechenbar Satz: L regulär χ L Mealy-berechenbar heoretische Informatik I 2: Endliche Automaten 7 Deterministische Automaten

Beweis der Äquivalenz (Skizze) f Mealy-berechenbar graph (f) regulär Zu M = (Q, Σ,,δ,λ,q ) konstruiere A = (Q {q f }, Σ, δ, q, Q) { δ(q,a) falls λ(q, a) = b, mit δ (q, (a,b)) = sonst q f Dann f M (w..w n ) = v..v n genau dann, wenn (w, v )..(w n, v n ) L(A) L regulär χ L Mealy-berechenbar Zu A = (Q, Σ,δ,q,F) konstruiere M = (Q, Σ, {,},δ,λ,q ) { falls δ(q, a) F, mit λ(q, a) = sonst Dann ist w L(A) genau dann, wenn f M (w) = v für ein v {, } χ L (w) ist das letzte Ausgabesymbol von f M (w) Mehr zu Automaten mit Ausgabe im Buch von Vossen & Witt heoretische Informatik I 2: Endliche Automaten 8 Deterministische Automaten