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 Webeiten 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 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
heoretische Informatik I Einheit 2. Deterministische Endliche Automaten. Arbeitsweise 2. Akzeptierte Sprache 3. Entwurf und Analyse
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 alles nicht, I I I 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 Formal: Induktive Definition ˆδ(q, w) = { Von A akzeptierte Sprache q falls w=ɛ, δ(ˆδ(q, v), a) falls w=v a für ein 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
Arbeitsweise von DEAs Alternative Beschreibung mit Konfigurationsübergängen Konfiguration: Gesamtzustand von Automaten Mehr als q Q: auch die noch unverarbeitete Eingabe zählt Formal dargestellt als upel K = (q,w) Q Σ Konfigurationsübergang 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 akzeptierenden Zustand führt L(A) = {w Σ p F. (q, w) (p,ɛ)} Leichter zu verallgemeinern als ˆδ, aber für DEAs weniger intuitiv heoretische Informatik I 2: Endliche Automaten 6 Deterministische Automaten
Entwurf und Analyse endlicher Automaten Entwerfe Automaten für L = {uv u, v {, } } Entwurf eines DEA mit Alphabet Σ = {, } 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, q q q 2 Analyse der erweiterten Überführungsfunktion Zeige durch Induktion für alle i, j N und alle v Σ ˆδ(q, i ) = q ˆδ(q, i j+ ) = q ˆδ(q, i j v) = q 2 Es gilt: w L g.d.w. es gibt i, j N,v Σ mit w = i j v Es folgt L = {w Σ ˆδ(q, w)=q 2 F } = L(A) (Details ausführen!) heoretische Informatik I 2: Endliche Automaten 7 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 Korrektheitsbeweis: gegenseitige Induktion heoretische Informatik I 2: Endliche Automaten 8 Deterministische Automaten
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 9 Deterministische Automaten