Automaten und Formale Sprachen Epilog Ralf Möller Hamburg Univ. of Technology.
Regul are Sprachen Der Produktautomat · Formale Systeme, Automaten, Prozesse (Folie 55, Seite 81...
Transcript of Regul are Sprachen Der Produktautomat · Formale Systeme, Automaten, Prozesse (Folie 55, Seite 81...
![Page 1: Regul are Sprachen Der Produktautomat · Formale Systeme, Automaten, Prozesse (Folie 55, Seite 81 im Skript) Regul are Sprachen Endliche Automaten Einige Vorteile endlicher deterministischer](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e196755de798e30086a637a/html5/thumbnails/1.jpg)
Formale Systeme, Automaten, Prozesse (Folie 51, Seite 77 im Skript)
Regulare Sprachen
Endliche Automaten
Der Produktautomat
Definition
Es seien M ′ = (Σ,Q ′, δ′, q′0,F′) und M ′′ = (Σ,Q ′′, δ′′, q′′0 ,F
′′) zweiDFAs.
Wir definieren den Produktautomaten M = M ′ ×M ′′:
M = (Σ,Q ′ × Q ′′, δ, (q′0, q′′0 ),F ′ × F ′′)
mit δ((q, p), a) = (δ′(q, a), δ′′(p, a)).
![Page 2: Regul are Sprachen Der Produktautomat · Formale Systeme, Automaten, Prozesse (Folie 55, Seite 81 im Skript) Regul are Sprachen Endliche Automaten Einige Vorteile endlicher deterministischer](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e196755de798e30086a637a/html5/thumbnails/2.jpg)
Formale Systeme, Automaten, Prozesse (Folie 52, Seite 77 im Skript)
Regulare Sprachen
Endliche Automaten
Theorem
Wenn M ′ und M ′′ DFAs sind und M = M ′ ×M ′′, dannL(M) = L(M ′) ∩ L(M ′′).
Beweis.
δ((q′0, q′′0 ),w) = (δ′(q′0,w), δ′′(q′′0 ,w))
(Induktion uber |w |)und damit
w ∈ L(M)⇔ δ((q′0, q′′0 ),w) ∈ F ′ × F ′′
⇔ (δ′(q′0,w), δ′′(q′′0 ,w)) ∈ F ′ × F ′′
⇔ δ′(q′0,w) ∈ F ′ und δ′′(q′′0 ,w) ∈ F ′′
⇔ w ∈ L(M ′) und w ∈ L(M ′′).
Daher ist L(M) = L(M ′) ∩ L(M ′′).
![Page 3: Regul are Sprachen Der Produktautomat · Formale Systeme, Automaten, Prozesse (Folie 55, Seite 81 im Skript) Regul are Sprachen Endliche Automaten Einige Vorteile endlicher deterministischer](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e196755de798e30086a637a/html5/thumbnails/3.jpg)
Formale Systeme, Automaten, Prozesse (Folie 53, Seite 79 im Skript)
Regulare Sprachen
Endliche Automaten
Beispiel
Konstruiere DFA fur Sprache aller w mit:
1 Es kommt 11 nicht als Unterwort in w vor.
A B C
0 0, 1
1
0
1 M1
2 Als Binarzahl ist w durch drei teilbar.
0 1 2
0 1
1
1
0
0M2
Konstruiere M1 ×M2!
![Page 4: Regul are Sprachen Der Produktautomat · Formale Systeme, Automaten, Prozesse (Folie 55, Seite 81 im Skript) Regul are Sprachen Endliche Automaten Einige Vorteile endlicher deterministischer](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e196755de798e30086a637a/html5/thumbnails/4.jpg)
Formale Systeme, Automaten, Prozesse (Folie 54, Seite 80 im Skript)
Regulare Sprachen
Endliche Automaten
A B C
0 0, 1
1
0
1 M1
0
1
2
0
1
11
00
M2
A0 B0 C0
A1 B1 C1
A2 B2 C2
0 0
1
11
0 00 0
1
01
11 1
0
1 10
M1 ×M2
![Page 5: Regul are Sprachen Der Produktautomat · Formale Systeme, Automaten, Prozesse (Folie 55, Seite 81 im Skript) Regul are Sprachen Endliche Automaten Einige Vorteile endlicher deterministischer](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e196755de798e30086a637a/html5/thumbnails/5.jpg)
Formale Systeme, Automaten, Prozesse (Folie 55, Seite 81 im Skript)
Regulare Sprachen
Endliche Automaten
Einige Vorteile endlicher deterministischer Automaten:
durch Computer schnell simulierbar
wenig Speicher benotigt:Tabelle fur δ (read-only), aktueller Zustand
Eingabe kann vergessen werden, nur von links nach rechtslesen
Sie konnen schon visualisiert werden
Sie konnen automatisch generiert werden (z.B. lex, egrep)
![Page 6: Regul are Sprachen Der Produktautomat · Formale Systeme, Automaten, Prozesse (Folie 55, Seite 81 im Skript) Regul are Sprachen Endliche Automaten Einige Vorteile endlicher deterministischer](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e196755de798e30086a637a/html5/thumbnails/6.jpg)
Formale Systeme, Automaten, Prozesse (Folie 56, Seite 82 im Skript)
Regulare Sprachen
Nichtdeterministische endliche Automaten
Nichtdeterministische endliche Automaten (NFAs)
q0 q1 q2
0, 1
1 1M
Dies ist kein DFA!
1 Zwei Transitionen mit 1 aus q0
2 Keine Transition mit 0 aus q1
Welche Sprache soll M erkennen?
![Page 7: Regul are Sprachen Der Produktautomat · Formale Systeme, Automaten, Prozesse (Folie 55, Seite 81 im Skript) Regul are Sprachen Endliche Automaten Einige Vorteile endlicher deterministischer](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e196755de798e30086a637a/html5/thumbnails/7.jpg)
Formale Systeme, Automaten, Prozesse (Folie 57, Seite 84 im Skript)
Regulare Sprachen
Nichtdeterministische endliche Automaten
Nichtdeterministische endliche Automaten (NFAs)
Definition
Ein NFA ist ein 5-Tupel M = (Q,Σ, δ, q0,F ) mit
Q Menge der Zustande
Σ Eingabealphabet
δ : Q × Σ→ 2Q Ubergangsfunktion
q0 ∈ Q Startzustand
F ⊆ Q Endzustande
![Page 8: Regul are Sprachen Der Produktautomat · Formale Systeme, Automaten, Prozesse (Folie 55, Seite 81 im Skript) Regul are Sprachen Endliche Automaten Einige Vorteile endlicher deterministischer](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e196755de798e30086a637a/html5/thumbnails/8.jpg)
Formale Systeme, Automaten, Prozesse (Folie 58, Seite 85 im Skript)
Regulare Sprachen
Nichtdeterministische endliche Automaten
Definition
Sei M = (Q,Σ, δ, q0,F ) ein NFA.
δ : Q × Σ∗ → 2Q definiert durch
δ(q, ε) = {q}δ(q,wa) = {p | es gibt r ∈ δ(q,w) und p ∈ δ(r , a)}
L(M) := {w ∈ Σ∗ | δ(q0,w) ∩ F 6= ∅}
![Page 9: Regul are Sprachen Der Produktautomat · Formale Systeme, Automaten, Prozesse (Folie 55, Seite 81 im Skript) Regul are Sprachen Endliche Automaten Einige Vorteile endlicher deterministischer](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e196755de798e30086a637a/html5/thumbnails/9.jpg)
Formale Systeme, Automaten, Prozesse (Folie 59, Seite 86 im Skript)
Regulare Sprachen
Nichtdeterministische endliche Automaten
Beispiel
q0 q1 q2
0, 1
1 1M
δ(q0, 0) = {q0}δ(q0, 1) = {q0, q1}δ(q0, 010110101101) = {q0, q1}δ(q0, 11111) = {q0, q1, q2}
L(M) = (0 + 1)∗11
![Page 10: Regul are Sprachen Der Produktautomat · Formale Systeme, Automaten, Prozesse (Folie 55, Seite 81 im Skript) Regul are Sprachen Endliche Automaten Einige Vorteile endlicher deterministischer](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e196755de798e30086a637a/html5/thumbnails/10.jpg)
Formale Systeme, Automaten, Prozesse (Folie 60, Seite 92 im Skript)
Regulare Sprachen
Die Potenzmengenkonstruktion
Der Potenzautomat
Definition
Sei M ein NFA, M = (Q,Σ, δ, q0,F )
Der zugehorige Potenzautomat M ′ ist so aufgebaut:
M ′ = (2Q ,Σ, δ′, {q0},F ′) mit
δ′ : 2Q × Σ→ 2Q , (S , a) 7→ ⋃q∈S δ(q, a)
F ′ = {S ⊆ Q | S ∩ F 6= ∅}
Der Potenzautomat ist ein DFA!
![Page 11: Regul are Sprachen Der Produktautomat · Formale Systeme, Automaten, Prozesse (Folie 55, Seite 81 im Skript) Regul are Sprachen Endliche Automaten Einige Vorteile endlicher deterministischer](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e196755de798e30086a637a/html5/thumbnails/11.jpg)
Formale Systeme, Automaten, Prozesse (Folie 61, Seite 94 im Skript)
Regulare Sprachen
Die Potenzmengenkonstruktion
Beispiel
q0 q1 q2
0, 1
1 1M
Der Potenzautomat hat die Zustande ∅, {q0}, {q1}, {q2},{q0, q1}, {q0, q2}, {q1, q2} und {q0, q1, q2} und sieht so aus:
{q0} {q0, q1} {q0, q1, q2}
0
1
0
1
1
0
M ′
Nichterreichbare Zustande weggelassen!
![Page 12: Regul are Sprachen Der Produktautomat · Formale Systeme, Automaten, Prozesse (Folie 55, Seite 81 im Skript) Regul are Sprachen Endliche Automaten Einige Vorteile endlicher deterministischer](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e196755de798e30086a637a/html5/thumbnails/12.jpg)
Formale Systeme, Automaten, Prozesse (Folie 62, Seite 97 im Skript)
Regulare Sprachen
Die Potenzmengenkonstruktion
Theorem
Zu jedem NFA M gibt es einen DFA M ′ mit L(M) = L(M ′)
Beweis.
L(M) = L(M ′) fur den Potenzautomaten M ′:
M = (Q,Σ, δ, q0,F )
M ′ = (2Q ,Σ, δ′, {q0},F ′) mit
δ′ : 2Q × Σ→ 2Q , (S , a) 7→ ⋃q∈S δ(q, a)
F ′ = {S ⊆ Q | S ∩ F 6= ∅}
Induktion uber |w |: δ′({q0},w) = δ(q0,w)
Daher:
δ′({q0},w) ∈ F ′ ⇐⇒ δ(q0,w) ∩ F 6= ∅
![Page 13: Regul are Sprachen Der Produktautomat · Formale Systeme, Automaten, Prozesse (Folie 55, Seite 81 im Skript) Regul are Sprachen Endliche Automaten Einige Vorteile endlicher deterministischer](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e196755de798e30086a637a/html5/thumbnails/13.jpg)
Formale Systeme, Automaten, Prozesse (Folie 63, Seite 98 im Skript)
Regulare Sprachen
Die Potenzmengenkonstruktion
Vergleich: DFA und NFA
Vorteile eines DFA:
Effizient simulierbar
Vorteile eines NFA:
Oft kleiner als DFA
Einfacher zu entwerfen
Halbwegs effizient simulierbar