Regul are Sprachen Der Produktautomat · Formale Systeme, Automaten, Prozesse (Folie 55, Seite 81...

13
Formale Systeme, Automaten, Prozesse (Folie 51, Seite 77 im Skript) Regul¨ are Sprachen Endliche Automaten Der Produktautomat Definition Es seien M 0 = (Σ, Q 0 0 , q 0 0 , F 0 ) und M 00 = (Σ, Q 00 00 , q 00 0 , F 00 ) zwei DFAs. Wir definieren den Produktautomaten M = M 0 × M 00 : M = (Σ, Q 0 × Q 00 , δ, (q 0 0 , q 00 0 ), F 0 × F 00 ) mit δ((q, p), a)=(δ 0 (q, a)00 (p, a)).

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

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

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

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

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

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

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

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

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

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

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

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

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

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