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

Ähnliche Dokumente
Endliche Automaten. Endliche Automaten J. Blömer 1/23

5.2 Endliche Automaten

2.6 Verdeutlichung verwendeter Begriffe

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

Endliche Automaten. Endliche Automaten 1 / 115

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 19.

Endliche Automaten. Endliche Automaten 1 / 102

DisMod-Repetitorium Tag 4

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 20.

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

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

2.2 Nichtdeterministische endliche Automaten

Das Pumping Lemma: Ein Anwendungsbeispiel

Formale Grundlagen der Informatik 1 Kapitel 5 Abschlusseigenschaften

Übungen zur Vorlesung Modellierung WS 2003/2004 Blatt 11 Musterlösungen

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

Theoretische Grundlagen des Software Engineering

liefern eine nicht maschinenbasierte Charakterisierung der regulären

a b b a Alphabet und Wörter - Zusammengefasst Formale Grundlagen der Informatik 1 Kapitel 2 Endliche Automaten und reguläre Sprachen

7 Endliche Automaten. 7.1 Deterministische endliche Automaten

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

Einführung in die Informatik

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten

1 Eliminieren von ɛ-übergängen

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

Nichtdeterministische endliche Automaten. Nichtdetermistische Automaten J. Blömer 1/12

Berechenbarkeitstheorie 1. Vorlesung

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

Software Engineering Ergänzung zur Vorlesung

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

Grundlagen der Theoretischen Informatik

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

Grundlagen der Theoretischen Informatik

Theoretische Informatik I

Grundbegriffe der Informatik Tutorium 33

Zusammenfassung der letzten LVA. Endliche Automaten mit Epsilon-Übergängen. Inhalte der Lehrveranstaltung (cont d)

Theoretische Informatik I

ALP I Turing-Maschine

FORMALE SYSTEME. Der Satz von Myhill und Nerode. Automaten verkleinern mit Quotientenbildung. Verschiedene Äquivalenzrelationen

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

Akzeptierende Turing-Maschine

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

Die mathematische Seite

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

Formale Sprachen und endliche Automaten

Einführung in die Theoretische Informatik

Theoretische Informatik I

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

Tutorium 23 Grundbegriffe der Informatik (10. Sitzung)

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

Kurz-Skript zur Theoretischen Informatik I

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

Grundbegriffe der Informatik Tutorium 10

Homomorphismen. Defnition: Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ Γ. Wir definieren die folgenden Sprachen:

2.3 Abschlusseigenschaften

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

Teil VI. Anwendungen, Teil 1: XML und deterministische reguläre Ausdrücke

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik

Einführung in die Theoretische Informatik

Äquivalenzrelation R A zu DFA A. Rechtsinvarianz. Relation R L zur Sprache L

7 Modellierung von Abläufen 7.1 Endliche Automaten

Theoretische Grundlagen der Informatik

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Theoretische Informatik I

Grundlagen der Theoretischen Informatik

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

Die Nerode-Relation und der Index einer Sprache L

Übersicht. 3 3 Kontextfreie Sprachen

Theoretische Grundlagen der Informatik

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:

Probeklausur Lösungen

Endliche Automaten. Endliche Automaten 1 / 108

Deterministische Turing-Maschinen

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

Einführung in die Theoretische Informatik

Grundbegriffe der Informatik Tutorium 11

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung

1 Endliche deterministische Automaten. Informatik I: Einführung in die Programmierung 7. Automaten: Akzeptoren & Transduktoren. Vorweg...

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

Reguläre Sprachen und endliche Automaten

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

Übungsblatt 1. Lorenz Leutgeb. 30. März 2015

Grundbegriffe der Informatik

H MPKP. Beispiel für eine Rechnung. Reduktion H MPKP. Überführungsregeln

Das Pumping-Lemma Formulierung

Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen!

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

Induktive Definition

Übungsaufgaben zu Formalen Sprachen und Automaten

Einführung in die Theoretische Informatik

Automaten und Formale Sprachen ε-automaten und Minimierung

Lexikalische Analyse, Tokenizer, Scanner

Automaten und Formale Sprachen SoSe 2013 in Trier

Satz (Abschluß unter der Stern-Operation)

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Transkript:

Endliche Automaten Endliche Automaten J. Blömer /24

Endliche Automaten Endliche Automaten sind ein Kalkül zur Spezifikation von realen oder abstrakten Maschinen regieren auf äußere Ereignisse (=Eingaben) ändern ihren inneren Zustand produzieren gegebenenfalls eine Ausgabe werden in der Regel durch gerichtete, markierte Graphen dargestellt. Endliche Automaten J. Blömer /24

Endliche Automaten Endliche Automaten sind ein Kalkül zur Spezifikation von realen oder abstrakten Maschinen regieren auf äußere Ereignisse (=Eingaben) ändern ihren inneren Zustand produzieren gegebenenfalls eine Ausgabe werden in der Regel durch gerichtete, markierte Graphen dargestellt. Endliche Automaten werden eingesetzt, um das Verhalten realer Maschinen (z.b. Ampelanlagen, Getränkeautomaten) zu spezifizieren das Verhalten von Softwarekomponenten (z.b. Benutzeroberflächen) zu spezifizieren einfache Sprachen (z.b. Bezeichner und Zahlen in Programmiersprache) zu spezifizieren. Endliche Automaten J. Blömer /24

Einführende Beispiele - Bezeichner in Programmiersprachen Endliche Automaten und Sprachen Endlicher Automat definiert eine Sprache, d.h. Menge von Worten über einem Alphabet. Endliche Automaten J. Blömer 2/24

Einführende Beispiele - Bezeichner in Programmiersprachen Endliche Automaten und Sprachen Endlicher Automat definiert eine Sprache, d.h. Menge von Worten über einem Alphabet. Buchstabe Buchstabe start Ziffer Beispiel: Automat akzeptiert jede Folge von Buchstaben und Ziffern, die mit einem Buchstaben beginnt. Endliche Automaten J. Blömer 2/24

Einführende Beispiele - Getränkeautomat Endliche Automaten und Maschinen Endlicher Automat spezifiziert das Verhalten einer Maschine. Endliche Automaten J. Blömer 3/24

Einführende Beispiele - Getränkeautomat Endliche Automaten und Maschinen Endlicher Automat spezifiziert das Verhalten einer Maschine. GeldRück GetränkNehmen start 2 Eur 2 GeldRück Eur Eur Beispiel: Automat akzeptiert Folgen von Ereignissen zur Bedienung eines Getränkeautomaten. Endliche Automaten J. Blömer 3/24

Deterministische endliche Automaten Definition Ein deterministischer endlicher Automat (DFA) (engl. deterministic finite automaton) A ist ein 5-Tupel (Σ, Q, δ, q, F ), wobei Q eine endliche Menge von Zuständen ist, Σ ein endliches Alphabet ist, δ : Q Σ Q die (partielle) Übergangsfunktion ist, q der Startzustand ist, F Q die Menge von Endzuständen (auch: akzeptierenden Zuständen) ist. Endliche Automaten J. Blömer 4/24

Deterministische endliche Automaten Definition Ein deterministischer endlicher Automat (DFA) (engl. deterministic finite automaton) A ist ein 5-Tupel (Σ, Q, δ, q, F ), wobei Q eine endliche Menge von Zuständen ist, Σ ein endliches Alphabet ist, δ : Q Σ Q die (partielle) Übergangsfunktion ist, q der Startzustand ist, F Q die Menge von Endzuständen (auch: akzeptierenden Zuständen) ist. Erinnerung: Eine Funktion mit Definitionsbereich D und Bildbereich ist eine Relation f D B mit ((x, y) f (x, z) f ) y = z. f heißt total, falls zu jedem x D ein y B existiert mit (x, y) f. Andernfalls heißt f partiell. Endliche Automaten J. Blömer 4/24

Deterministische endliche Automaten Definition Ein deterministischer endlicher Automat (DFA) (engl. deterministic finite automaton) A ist ein 5-Tupel (Σ, Q, δ, q, F ), wobei Q eine endliche Menge von Zuständen ist, Σ ein endliches Alphabet ist, δ : Q Σ Q die (partielle) Übergangsfunktion ist, q der Startzustand ist, F Q die Menge von Endzuständen (auch: akzeptierenden Zuständen) ist. Ist die Übergangsfunktion δ eines DFA total, so heißt A vollständig. r = δ(q, a) heißt Nachfolgezustand von q unter a. A heißt deterministisch, da es zu jedem Paar (q, a), q Q, a Σ, höchstens einen Nachfolgezustand δ(q, a) gibt. Endliche Automaten J. Blömer 4/24

Beispiele Endliche Automaten J. Blömer 5/24

Beispiele DFA A definiert durch Q = {, }, q = Σ = {Buchstabe, Ziffer} F = {} und Übergangsfunktion δ definiert durch δ Buchstabe Ziffer Endliche Automaten J. Blömer 5/24

Beispiele DFA A definiert durch Q = {, }, q = Σ = {Buchstabe, Ziffer} F = {} und Übergangsfunktion δ definiert durch δ Buchstabe Ziffer DFA A 2 definiert durch Q = {,, 2}, q = Σ = { Eur, 2 Eur, GeldRück, F = {} GetränkNehmen} und Übergangsfunktion δ definiert durch δ Eur 2 Eur GR GTN 2 2 2 Endliche Automaten J. Blömer 5/24

Graphische Darstellung von DFAs DFAs und Graphen pro Zustand ein Knoten, jeweils markiert mit Zustand, Startzustand und Endzustände gekennzeichnet Kante (q, r) markiert mit a Σ genau dann, wenn δ(q, a) = r erhalten Multigraphen, da Kanten sich nur durch Markierung unterscheiden können Endliche Automaten J. Blömer 6/24

Graphische Darstellung von DFAs DFAs und Graphen DFA A : pro Zustand ein Knoten, jeweils markiert mit Zustand, Startzustand und Endzustände gekennzeichnet Kante (q, r) markiert mit a Σ genau dann, wenn δ(q, a) = r erhalten Multigraphen, da Kanten sich nur durch Markierung unterscheiden können Q = {, }, q = Σ = {Buchstabe, Ziffer} F = {} δ Buchstabe Ziffer Endliche Automaten J. Blömer 6/24

Graphische Darstellung von DFAs DFAs und Graphen DFA A : pro Zustand ein Knoten, jeweils markiert mit Zustand, Startzustand und Endzustände gekennzeichnet Kante (q, r) markiert mit a Σ genau dann, wenn δ(q, a) = r erhalten Multigraphen, da Kanten sich nur durch Markierung unterscheiden können Q = {, }, q = Σ = {Buchstabe, Ziffer} F = {} Buchstabe Buchstabe start δ Buchstabe Ziffer Ziffer Endliche Automaten J. Blömer 6/24

Graphische Darstellung von DFAs DFAs und Graphen pro Zustand ein Knoten, jeweils markiert mit Zustand, Startzustand und Endzustände gekennzeichnet Kante (q, r) markiert mit a Σ genau dann, wenn δ(q, a) = r erhalten Multigraphen, da Kanten sich nur durch Markierung unterscheiden können DFA A 2 : Q = {,, 2}, q = Σ = { Eur, 2 Eur, GeldRück, F = {} GetränkNehmen} δ Eur 2 Eur GR GTN 2 2 2 Endliche Automaten J. Blömer 6/24

Graphische Darstellung von DFAs DFAs und Graphen pro Zustand ein Knoten, jeweils markiert mit Zustand, Startzustand und Endzustände gekennzeichnet Kante (q, r) markiert mit a Σ genau dann, wenn δ(q, a) = r erhalten Multigraphen, da Kanten sich nur durch Markierung unterscheiden können DFA A 2 : Q = {,, 2}, q = Σ = { Eur, 2 Eur, GeldRück, F = {} GetränkNehmen} δ Eur 2 Eur GR GTN 2 2 2 GeldRück GetränkNehmen start 2 Eur 2 Eur Eur GeldRück Endliche Automaten J. Blömer 6/24

Vervollständigung endlicher Automaten Erinnerung: Ein DFA A = (Σ, Q, δ, q, F ) heißt vollständig, wenn die Übergangsfunktion δ total ist. Endliche Automaten J. Blömer 7/24

Vervollständigung endlicher Automaten Erinnerung: Ein DFA A = (Σ, Q, δ, q, F ) heißt vollständig, wenn die Übergangsfunktion δ total ist. Zum besseren Verständnis, zur Realisierung und zur formalen Argumentation kann es sinnvoll oder notwendig sein, einen DFA A so zu ergänzen, dass er vollständig ist. Endliche Automaten J. Blömer 7/24

Vervollständigung endlicher Automaten Erinnerung: Ein DFA A = (Σ, Q, δ, q, F ) heißt vollständig, wenn die Übergangsfunktion δ total ist. Zum besseren Verständnis, zur Realisierung und zur formalen Argumentation kann es sinnvoll oder notwendig sein, einen DFA A so zu ergänzen, dass er vollständig ist. Ergänzung endlicher Automaten zu vollständigen Automaten Sei A = (Σ, Q, δ, q, F ) ein DFA. Zur Ergänzung wird ein neuer Zustand f mit f F eingeführt, 2 für alle Paare (q, a) Q Σ, für die die Übergangsfunktion δ nicht definiert ist, δ(q, a) = f gesetzt, 3 für alle Paare (f, a), a Σ, δ(f, a) = f gesetzt. Endliche Automaten J. Blömer 7/24

Vervollständigung endlicher Automaten DFA A : Buchstabe Buchstabe start Ziffer Endliche Automaten J. Blömer 8/24

Vervollständigung endlicher Automaten DFA A : Vervollständigung von A : Buchstabe Buchstabe start Buchstabe Buchstabe start Ziffer f Ziffer Ziffer Ziffer Buchstabe Endliche Automaten J. Blömer 8/24

Vervollständigung endlicher Automaten DFA A 3 : start q q q 2 q 3 q 4 Endliche Automaten J. Blömer 9/24

Vervollständigung endlicher Automaten DFA A 3 : Vervollständigung von A 3 : start q start q f, q q q 2 q 2 q 3 q 3 q 4 q 4 Endliche Automaten J. Blömer 9/24

Erweiterung von Übergangsfunktionen Um das Verhalten eines DFAs A = (Σ, Q, δ, q, F ) bei Folgen von Symbolen zu beschreiben, erweitern wir die Übergangsfunktion. Endliche Automaten J. Blömer /24

Erweiterung von Übergangsfunktionen Um das Verhalten eines DFAs A = (Σ, Q, δ, q, F ) bei Folgen von Symbolen zu beschreiben, erweitern wir die Übergangsfunktion. Definition 2 Sei A = (Σ, Q, δ, q, F ) deterministischer endlicher Automat. Dann wird die erweiterte Übergangsfunktion ˆδ : Q Σ Q rekursiv wie folgt definiert: ˆδ(q, ɛ) = q für alle q Q und das leere Wort ɛ ˆδ(q, wa) = δ(ˆδ(q, w), a) für alle q Q, w Σ, a Σ. Endliche Automaten J. Blömer /24

Erweiterung von Übergangsfunktionen Um das Verhalten eines DFAs A = (Σ, Q, δ, q, F ) bei Folgen von Symbolen zu beschreiben, erweitern wir die Übergangsfunktion. Definition 2 Sei A = (Σ, Q, δ, q, F ) deterministischer endlicher Automat. Dann wird die erweiterte Übergangsfunktion ˆδ : Q Σ Q rekursiv wie folgt definiert: ˆδ(q, ɛ) = q für alle q Q und das leere Wort ɛ Bemerkungen: ˆδ(q, wa) = δ(ˆδ(q, w), a) für alle q Q, w Σ, a Σ. ˆδ(q, a) = δ(q, a) für alle q Q und a Σ Endliche Automaten J. Blömer /24

Erweiterung von Übergangsfunktionen Um das Verhalten eines DFAs A = (Σ, Q, δ, q, F ) bei Folgen von Symbolen zu beschreiben, erweitern wir die Übergangsfunktion. Definition 2 Sei A = (Σ, Q, δ, q, F ) deterministischer endlicher Automat. Dann wird die erweiterte Übergangsfunktion ˆδ : Q Σ Q rekursiv wie folgt definiert: ˆδ(q, ɛ) = q für alle q Q und das leere Wort ɛ Bemerkungen: ˆδ(q, wa) = δ(ˆδ(q, w), a) für alle q Q, w Σ, a Σ. Wir unterscheiden häufig nicht zwischen δ und ˆδ und schreiben auch δ für die erweiterte Übergangsfunktion ˆδ. 2 Ist δ nicht vollständig, so ist auch ˆδ nicht vollständig. 3 Um ˆδ zu vervollständigen, genügt es δ zu vervollständigen. Endliche Automaten J. Blömer /24

Erweiterung von Übergangsfunktionen Definition 2 Sei A = (Σ, Q, δ, q, F ) deterministischer endlicher Automat. Dann wird die erweiterte Übergangsfunktion ˆδ : Q Σ Q rekursiv wie folgt definiert: ˆδ(q, ɛ) = q) für alle q Q und das leere Wort ɛ ˆδ(q, wa) = δ(ˆδ(q, w), a) für alle q Q, w Σ, a Σ. Alternative Formulierungen Für q, q Q und w = a a n, a i Σ, i =,..., n, gilt ˆδ(q, w) = δ(... δ(δ(q, a ), a 2 )..., a n ) 2 ˆδ(q, w) = q genau dann, wenn es r,..., r n Q gibt mit r = q, r n = q und δ(r i, a i+ ) = r i+ für i =,..., n. Endliche Automaten J. Blömer /24

Erweiterung von Übergangsfunktionen - Beispiele DFA A 3 : start q q q 2 q 3 q 4 Endliche Automaten J. Blömer 2/24

Erweiterung von Übergangsfunktionen - Beispiele DFA A 3 : start q δ(q, ) = δ(δ(q, ), ) = δ(δ(δ(q, ), ), ) = δ(δ(q 2, ), ) q = δ(q 2, ) = q 3 F q 2 Folge von Zuständen: r = q, r = q 2, r 2 = q 2, r 3 = q 3 q 3 q 4 Endliche Automaten J. Blömer 2/24

Erweiterung von Übergangsfunktionen - Beispiele DFA A 3 : start q δ(q, ) = δ(δ(q, ), ) = δ(δ(δ(q, ), ), ) = δ(δ(δ(δ(q, ), ), ), ) q = δ(δ(δ(δ(δ(q, ), ), ), ), ) q 2 = δ(δ(δ(δ(q, ), ), ), ) = δ(δ(δ(q 2, ), ), ) = δ(δ(q 2, ), ) = δ(q 3, ) q 3 = q 4 F q 4 Folge von Zuständen: r = q, r = q, r 2 = q 2, r 3 = q 2, r 4 = q 3 r 5 = q 4 Endliche Automaten J. Blömer 2/24

Erweiterung von Übergangsfunktionen - Beispiele DFA A 3 : start q δ(q, ) = δ(δ(q, ), ) = δ(δ(δ(q, ), ), ) = δ(δ(q, ), ) q = ; q 2 nicht definiert, da δ(q, ) nicht definiert q 3 Folge von Zuständen: r = q, r = q, r 2 nicht definiert q 4 Endliche Automaten J. Blömer 2/24

Erweiterung von Übergangsfunktionen - Beispiele Vervollständigter A 3 : start q q q 2 f, q 3 q 4 Endliche Automaten J. Blömer 2/24

Erweiterung von Übergangsfunktionen - Beispiele Vervollständigter A 3 : start q f, δ(q, ) = δ(δ(q, ), ) = δ(δ(δ(q, ), ), ) = δ(δ(q, ), ) q = δ(f, ) = f q 2 Folge von Zuständen: r = q, r = q, r 2 = f, r 3 = f q 3 q 4 Endliche Automaten J. Blömer 2/24

Erweiterung von Übergangsfunktionen - Berechnung als Weg DFA A 3 : start q δ(q, ) = δ(δ(q, ), ) = δ(δ(δ(q, ), ), ) = δ(δ(δ(δ(q, ), ), ), ) q = δ(δ(δ(δ(δ(q, ), ), ), ), ) q 2 = δ(δ(δ(δ(q, ), ), ), ) = δ(δ(δ(q 2, ), ), ) = δ(δ(q 2, ), ) = δ(q 3, ) q 3 = q 4 F q 4 Folge von Zuständen: r = q, r = q, r 2 = q 2, r 3 = q 2, r 4 = q 3 r 5 = q 4 Endliche Automaten J. Blömer 3/24

Erweiterung von Übergangsfunktionen - Beispiele DFA A : Buchstabe B:= Buchstabe, Z:=Ziffer Buchstabe start Ziffer Endliche Automaten J. Blömer 4/24

Erweiterung von Übergangsfunktionen - Beispiele DFA A : B:= Buchstabe, Z:=Ziffer Buchstabe Buchstabe start Ziffer δ(, BZB) = δ(δ(, BZ), B) = δ(δ(δ(, B), Z), B) = δ(δ(, Z), B) = δ(, B) = F Folge von Zuständen: r =, r =, r 2 =, r 3 = Endliche Automaten J. Blömer 4/24

Erweiterung von Übergangsfunktionen - Beispiele DFA A : B:= Buchstabe, Z:=Ziffer Buchstabe Buchstabe start Ziffer δ(, ZBB) = δ(δ(, ZB), B) = δ(δ(δ(, Z), B), B) = ; nicht definiert, da δ(, Z) nicht definiert Folge von Zuständen: r =, r nicht definiert Endliche Automaten J. Blömer 4/24

Erweiterung von Übergangsfunktionen - Beispiele Vervollständigter A : B:= Buchstabe, Z:=Ziffer Buchstabe start Buchstabe Ziffer Ziffer f Ziffer δ(, ZBB) = δ(δ(, ZB), B) = δ(δ(δ(, Z), B), B) = δ(δ(f, B), B) = δ(f, B) = f Folge von Zuständen: r =, r = f, r 2 = f, r 3 = f Buchstabe Endliche Automaten J. Blömer 4/24

Automaten und Sprachen Definition 3 Sei A = (Σ, Q, δ, q, F ) ein deterministischer endlicher Automat. Der DFA A akzeptiert das Wort w Σ genau dann, wenn δ(q, w) F. Die Menge L(A) := {w Σ δ(q, w) F } heißt die von A akzeptierte Sprache. Endliche Automaten J. Blömer 5/24

Automaten und Sprachen Definition 3 Sei A = (Σ, Q, δ, q, F ) ein deterministischer endlicher Automat. Der DFA A akzeptiert das Wort w Σ genau dann, wenn δ(q, w) F. Die Menge L(A) := {w Σ δ(q, w) F } heißt die von A akzeptierte Sprache. DFA A Buchstabe Buchstabe start Ziffer Endliche Automaten J. Blömer 5/24

Automaten und Sprachen Definition 3 Sei A = (Σ, Q, δ, q, F ) ein deterministischer endlicher Automat. Der DFA A akzeptiert das Wort w Σ genau dann, wenn δ(q, w) F. Die Menge L(A) := {w Σ δ(q, w) F } heißt die von A akzeptierte Sprache. DFA A Buchstabe Buchstabe start B:= Buchstabe, Z:=Ziffer L(A ) = {w {B, Z} w beginnt mit B} = L(B(B Z) ) Ziffer Endliche Automaten J. Blömer 5/24

Automaten und Sprachen DFA A 3 : start q q q 2 q 3 q 4 Endliche Automaten J. Blömer 6/24

Automaten und Sprachen DFA A 3 : start q q q 2 L(A 3 ) ={w {, } w beginnt mit und endet mit } =L( 2 ( ) 2 ) (als regulärer Ausdruck) q 3 q 4 Endliche Automaten J. Blömer 6/24

Automaten und Sprachen DFA A 4 : start s a q a b r b b a b a q 2 r 2 b a Endliche Automaten J. Blömer 7/24

Automaten und Sprachen DFA A 4 : start s a q a b r b b a b a q 2 r 2 b a L(A 4 ) = {w {a, b} + w beginnt und endet mit demselben Symbol} Endliche Automaten J. Blömer 7/24

Automaten und Sprachen DFA A 2 : GeldRück GetränkNehmen start 2 Eur 2 GeldRück Eur Eur Endliche Automaten J. Blömer 8/24

Automaten und Sprachen DFA A 2 : GeldRück GetränkNehmen start 2 Eur 2 GeldRück Eur Eur ( Eur GeldRück) ( Eur Eur GeldRück) L(A 2 ) = L ( Eur Eur GetränkNehmen) (2 Eur GeldRück) (2 Eur GetränkNehmen) Endliche Automaten J. Blömer 8/24

DFAs, NFAs und reguläre Ausdrücke Satz 4 Sei Σ ein Alphabet und L Σ eine Sprache. Dann sind die folgenden Aussagen äquivalent: Es gibt einen DFA A mit L = L(A). 2 Es gibt einen regulären Ausdruck R mit L = L(R). Endliche Automaten J. Blömer 9/24

Endliche Automaten mit Ausgabe Man kann mit endlichen Automaten auch Reaktionen der modellierten Maschine in Form von Ausgaben modellieren. Erweitern dazu Automaten um ein Ausgabealphabet T und eine Ausgabefunktion. Es gibt zwei Varianten: Mealy-Automaten ordnen Zustandsübergängen eine Ausgabe zu. 2 Moore-Automaten ordnen Zuständen eine Ausgabe zu. Endliche Automaten J. Blömer 2/24

Mealy-Automaten Definition 5 Sei A = (Σ, Q, δ, q, F ) eine endlicher Automat, T ein endliches Alphabet und λ : Q Σ T eine Funktion. Dann ist A erweitert um T und λ ein Mealy-Automat. T wird Ausgabealphabet und λ Ausgabefunktion genannt. Wir sagen, dass λ den Zustandsübergängen von A Ausgaben zuordnet. Endliche Automaten J. Blömer 2/24

Mealy-Automaten Definition 5 Sei A = (Σ, Q, δ, q, F ) eine endlicher Automat, T ein endliches Alphabet und λ : Q Σ T eine Funktion. Dann ist A erweitert um T und λ ein Mealy-Automat. T wird Ausgabealphabet und λ Ausgabefunktion genannt. Wir sagen, dass λ den Zustandsübergängen von A Ausgaben zuordnet. Mealy-Automaten: b/y 2 a/x a/x λ(, b) = y, λ(, a) = λ(, a) = x Endliche Automaten J. Blömer 2/24

Mealy-Automaten Definition 5 Sei A = (Σ, Q, δ, q, F ) eine endlicher Automat, T ein endliches Alphabet und λ : Q Σ T eine Funktion. Dann ist A erweitert um T und λ ein Mealy-Automat. T wird Ausgabealphabet und λ Ausgabefunktion genannt. Wir sagen, dass λ den Zustandsübergängen von A Ausgaben zuordnet. Mealy-Automaten: b/y a/x 2 a/x Bildbereich von λ ist T, daher leeres Wort als Ausgabe möglich Automat muss nicht bei jedem Übergang mit einer Ausgabe reagieren λ(, b) = y, λ(, a) = λ(, a) = x Endliche Automaten J. Blömer 2/24

Endliche Automaten mit Ausgabe Definition 6 Sei A = (Σ, Q, δ, q, F ) eine endlicher Automat, T ein endliches Alphabet und µ : Q T eine Funktion. Dann ist A erweitert um T und µ ein Moore-Automat. T wird Ausgabealphabet und µ Ausgabefunktion genannt. Wir sagen, dass µ den Zuständen von A Ausgaben zuordnet. Endliche Automaten J. Blömer 22/24

Endliche Automaten mit Ausgabe Definition 6 Sei A = (Σ, Q, δ, q, F ) eine endlicher Automat, T ein endliches Alphabet und µ : Q T eine Funktion. Dann ist A erweitert um T und µ ein Moore-Automat. T wird Ausgabealphabet und µ Ausgabefunktion genannt. Wir sagen, dass µ den Zuständen von A Ausgaben zuordnet. Moore-Automaten: b 2 x a a y µ() = y, µ(2) = x Endliche Automaten J. Blömer 22/24

Endliche Automaten mit Ausgabe Definition 6 Sei A = (Σ, Q, δ, q, F ) eine endlicher Automat, T ein endliches Alphabet und µ : Q T eine Funktion. Dann ist A erweitert um T und µ ein Moore-Automat. T wird Ausgabealphabet und µ Ausgabefunktion genannt. Wir sagen, dass µ den Zuständen von A Ausgaben zuordnet. Moore-Automaten: b a 2 x y µ() = y, µ(2) = x a Bildbereich von µ ist T, daher leeres Wort als Ausgabe möglich Automat muss nicht in jedem Zustand mit einer Ausgabe reagieren Moore-Automaten können Ausgaben nicht so fein differenzieren wie Mealy-Automaten Endliche Automaten J. Blömer 22/24

Getränkeautomat GeldRück GetränkNehmen start 2 Eur 2 GeldRück Eur Eur Endliche Automaten J. Blömer 23/24

Getränkeautomat mit Ausgabe - Mealy-Automat GeldRück / 2 Eur GetränkNehmen/Getränk start 2 Eur 2 Eur Eur GeldRück /Eur Endliche Automaten J. Blömer 23/24

Getränkeautomat GeldRück GetränkNehmen start 2 Eur 2 GeldRück Eur Eur Endliche Automaten J. Blömer 23/24

Getränkeautomat mit Ausgabe - Moore-Automat Getränk Nehmen 3 Getränk KlappeÖffnen 2 Eur Eur Eur 2 GeldNehmen GeldNehmen 4 Eur GeldRück 5 2 Eur GeldRück Endliche Automaten J. Blömer 23/24

Vergleich Mealy- und Moore-Automaten In Mealy-Automaten können Übergänge, die zum selben Zustand führen, unterschiedliche Ausgaben erzeugen. Endliche Automaten J. Blömer 24/24

Vergleich Mealy- und Moore-Automaten In Mealy-Automaten können Übergänge, die zum selben Zustand führen, unterschiedliche Ausgaben erzeugen. Moore-Automaten können Ausgaben nicht so fein differenzieren wie Mealy-Automaten. Endliche Automaten J. Blömer 24/24

Vergleich Mealy- und Moore-Automaten In Mealy-Automaten können Übergänge, die zum selben Zustand führen, unterschiedliche Ausgaben erzeugen. Moore-Automaten können Ausgaben nicht so fein differenzieren wie Mealy-Automaten. Aber jeder Mealy-Automat kann durch Einführung zusätzlicher Zustände in einen Moore-Automaten transformiert werden, der das gleiche Verhalten hat (siehe Beispiel Getränkeautomat) Endliche Automaten J. Blömer 24/24