prof. dr. th. ottmann
DESCRIPTION
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (03 – Nichtdeterminierte endliche Automaten). Prof. Dr. Th. Ottmann. Endliche Automaten. Deterministische endliche Automaten. Ein deterministischer endlicher Automat (DFA) ist gegeben durch eine endliche Menge S von Zuständen - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022082819/56813718550346895d9ea5bf/html5/thumbnails/1.jpg)
1
Vorlesung Informatik 3
Einführung in die Theoretische Informatik
(03 – Nichtdeterminierte endliche Automaten)
Prof. Dr. Th. Ottmann
![Page 2: Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022082819/56813718550346895d9ea5bf/html5/thumbnails/2.jpg)
2
Endliche Automaten
![Page 3: Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022082819/56813718550346895d9ea5bf/html5/thumbnails/3.jpg)
3
Deterministische endliche Automaten
Ein deterministischer endlicher Automat (DFA) ist gegeben durch
• eine endliche Menge S von Zuständen
• eine endliche Menge von Eingabezeichen
• einen Anfangszustand s0 S
• eine Endzustandsmenge F S
• eine Übergangsfunktion δ : S x → S
Kurz: A = (, S, δ, s0, F)
δ kann auch durch einen Zustandsübergangs Graphen oder als Menge von
Tripeln (s, a, t) mit δ (s, a) = t gegeben sein
δ ist manchmal nicht total (überall definiert)
![Page 4: Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022082819/56813718550346895d9ea5bf/html5/thumbnails/4.jpg)
4
Motivation für nichtdeterministische Automaten
• Bei DFA ist der Nachfolgezustand immer eindeutig bestimmt, δ ist Funktion
• Für bestimmte Aufgaben lassen sich die Automaten einfacher entwerfen, wenn
mehr als ein Nachfolgezustand zur Verfügung steht.
• Bsp.: Entwerfe Ar3n1 für die Sprache
Lr3n1 = {w {0, 1}*; w = u0v, u {0, 1}*, v {0, 1}2 }
• Problem: Ar3n1 kann nicht voraussehen, wie viele Zeichen des Wortes noch folgen.
• Lösung: Ar3n1 darf raten, wann der drittletzte Übergang stattfindet. Ein Wort wird
akzeptiert, wenn es eine Folge von Zustandsübergängen gibt, die zu einem
Finalzustand führen.
![Page 5: Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022082819/56813718550346895d9ea5bf/html5/thumbnails/5.jpg)
5
Nichtdeterministische endliche Automaten
Ein Nichtdeterministischer endlicher Automat (NFA) besteht aus
• einer endlichen Menge S von Zuständen
• einer endlichen Menge von Eingabezeichen
• Einer Menge von Anfangszuständen S0 S
• einer Endzustandsmenge F S
• einer Zustandsübergangsrelation δ S x x S
Kurz: A = (S, , δ, S0, F)
δ kann als Menge von Tripeln (s, a, t) oder als Tabelle mit Mengen-Einträgen notiert werden, Bsp.:
δ = {(s0, 0, s0), (s0, 0, s1), (s0, 1, s0), (s1, 1, s2), (s2, 0, s3), (s2, 1, s3)}
![Page 6: Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022082819/56813718550346895d9ea5bf/html5/thumbnails/6.jpg)
6
Übergangsrelation
δ = {(s0, 0, s0), (s0, 0, s1), (s0, 1, s0), (s1, 1, s2), (s2, 0, s3), (s2, 1, s3)}
δ s0 s1 s2 s3
0
1
Fasst man die Folgezustände je Paar (Zustand, Eingabezeichen) zu einer Menge zusammen, kann man δ auch als mengenwertige Funktion auffassen:
δ : S x → 2S
![Page 7: Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022082819/56813718550346895d9ea5bf/html5/thumbnails/7.jpg)
7
Konfigurationen, Übergänge, Sprache eines NFA
Konfigurationen k = (s, v) und Konfigurationsübergänge (s, v) ├ (t, w) werden
für einen NFA analog zu DFAs definiert:
K = (s, v) mit s S, v * ist der aktuelle Verarbeitungszustand.
Der Übergang (s, v) ├ (t, w) kann erfolgen, wenn v =aw und t δ(s, a)
Die von einem NFA A = (S, , δ, S0, F) akzeptierte Sprache ist
L(A) = {w * ; (s0, w) ├* (s, ε), s0 S0, s F}
![Page 8: Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022082819/56813718550346895d9ea5bf/html5/thumbnails/8.jpg)
8
DFAs sind spezielle NFAs
Jeder DFA A = (S, , δ, s0, F) kann als spezieller NFA aufgefasst werden, der
dieselbe Menge von Worten akzeptiert.
Beispiel:
![Page 9: Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022082819/56813718550346895d9ea5bf/html5/thumbnails/9.jpg)
9
Erweiterung der Zustandsüberführung bei NFA
Die mengenwertige Zustandsüberführung δ : S x → 2S kann leicht
erweitert werden zu
δ* : 2S x * → 2S definiert durch
δ* (R, ε) = R für alle R S
δ* (R, aw) = δ* ( s Rδ (s, a) , w) für alle R S, a , w *
Für einen NFA A kann die Sprache L(A) daher auch so definiert werden:
L(A) = {w *; δ* (S0, w) ∩ F ≠ }
![Page 10: Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022082819/56813718550346895d9ea5bf/html5/thumbnails/10.jpg)
10
Beispiel
δ = {(s0, 0, s0), (s0, 0, s1), (s0, 1, s0), (s1, 1, s2), (s2, 0, s3), (s2, 1, s3)}
δ s0 s1 s2 s3
0 {s0, s1} {s2} {s3} {}
1 {s0} {s2} {s3} {}
δ*( {s0}, 00011) =
![Page 11: Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022082819/56813718550346895d9ea5bf/html5/thumbnails/11.jpg)
11
Äquivalenz von DFA und NFA
Satz: Zu jedem NFA A = (S, , δ, S0, F) kann man einen DFA A‘ konstruieren,
so dass L(A) = L(A‘).
Beweis: Mit Hilfe der Potenzmengenkonstruktion.
![Page 12: Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022082819/56813718550346895d9ea5bf/html5/thumbnails/12.jpg)
12
Potenzautomat für Ar3n1
2S δ(. ,0) δ(. ,1) Fd letzte 3 Zeichen
{s0}
{s0, s1}
{s0, s2}
{s0, s3}
{s0, s1, s2}
{s0, s1, s3}
{s0, s2, s3}
{s0, s1, s2, s3}
Nicht erreichbare Zustände im Potenzautomaten:
{}, {s1}, {s2}, {s3}, {s1, s2} {s1, s3}, {s2, s3}, { s1, s2, s3}
![Page 13: Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022082819/56813718550346895d9ea5bf/html5/thumbnails/13.jpg)
13
Deterministischer Automat für L(Ar3n1)