• Keine Ergebnisse gefunden

Zentral¨ubung 09.05.2019: DFAs & NFAs Prof. Dr. David Sabel

N/A
N/A
Protected

Academic year: 2021

Aktie "Zentral¨ubung 09.05.2019: DFAs & NFAs Prof. Dr. David Sabel"

Copied!
27
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Formale Sprachen und Komplexit¨ at

Sommersemester 2019

Zentral¨ ubung 09.05.2019: DFAs & NFAs

Prof. Dr. David Sabel

LFE Theoretische Informatik

(2)

DFA NFA

Zustandsmenge Z Z

Alphabet Σ Σ

Zustands¨ ubergang δ :: (Z × Σ) → Z δ : (Z × Σ) → P(Z)

Startzust. z 0 ∈ Z S ⊆ Z

Endzust¨ ande E ⊆ Z E ⊆ Z

Ubergang f. Worte ¨ b δ : (Z × Σ ) → Z b δ : (P(Z) × Σ ) → P (Z ) w ∈ L(M) b δ(z 0 , w) ∈ E b δ(S, w) ∩ E 6= ∅

TCS | Zentral¨ubung 09.05.2019 | SoSe 2019 2/17

(3)

Uhrzeiten erkennen

Aufgabe

Geben Sie einen NFA an, der genau alle g¨ ulten Uhrzeiten im

24-Stunden-Format der Form Stunde:Minute mit Stunde ∈ {0, . . . , 23}

und Minute ∈ {00, 01, . . . , 59} (zweistellig) erkennt.

Beachte: Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, :}

z 0 z 1

z 2

z 3

z 4 z 5 z 6

0,. . . ,9 0,. . . ,9 1

2 0,1,2,3

: 0,. . . ,5 0,. . . ,9

(4)

Aufgabe

Geben Sie einen NFA an, der genau alle g¨ ulten Uhrzeiten im

24-Stunden-Format der Form Stunde:Minute mit Stunde ∈ {0, . . . , 23}

und Minute ∈ {00, 01, . . . , 59} (zweistellig) erkennt.

Beachte: Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, :}

z 0 z 1

z 2

z 3

z 4 z 5 z 6

0,. . . ,9 0,. . . ,9 1

2 0,1,2,3

: 0,. . . ,5 0,. . . ,9

TCS | Zentral¨ubung 09.05.2019 | SoSe 2019 3/17

(5)

Uhrzeiten erkennen

Aufgabe

Geben Sie einen DFA an, der genau alle g¨ ulten Uhrzeiten im

24-Stunden-Format der Form Stunde:Minute mit Stunde ∈ {0, . . . , 23}

und Minute ∈ {00, 01, . . . , 59} (zweistellig) erkennt.

z 0 z 1

z 2

z 3

z 4 z 5 z 6

0,3,. . . ,9 0,. . . ,9 1

2 0,1,2,3

: 0,. . . ,5 0,. . . ,9

:

:

z 7

4,. . . ,9

:,6,. . . ,9 :

:,0,. .. ,9 0,. . . ,9

:,0,. . . ,9

:

(6)

Aufgabe

Geben Sie einen DFA an, der genau alle g¨ ulten Uhrzeiten im

24-Stunden-Format der Form Stunde:Minute mit Stunde ∈ {0, . . . , 23}

und Minute ∈ {00, 01, . . . , 59} (zweistellig) erkennt.

z 0 z 1

z 2

z 3

z 4 z 5 z 6

0,3,. . . ,9 0,. . . ,9 1

2 0,1,2,3

: 0,. . . ,5 0,. . . ,9

:

:

z 7

4,. . . ,9

:,6,.

. . ,9 :

:,0,.

.. ,9 0,. . . ,9

:,0,. . . ,9 :

TCS | Zentral¨ubung 09.05.2019 | SoSe 2019 4/17

(7)

NFAs konstruieren – Nichtdeterminismus ausnutzen

Aufgabe (vgl. Hopcroft,Motwani,Ullman)

Geben Sie einen NFA an, der Ziffernfolgen aus Σ = {0, . . . , 9} verarbeitet und Worte genau dann akzeptiert, wenn

a) die letzte Ziffer vorher schon mindestens einmal in der Folge vorkam b) die letzte Ziffer vorher nicht schon einmal vorkam

Nutzen Sie den Nichtdeterminismus m¨ oglichst gut aus.

(8)

a) die letzte Ziffer vorher schon mindestens einmal in der Folge vorkam

z

s

z

e

0,. . . ,9

z

1

z

2

z

3

z

4

z

5

z

6

z

7

z

8

z

9

0,. . . ,9 0,. . . ,9 0,. . . ,9 0,. . . ,9 0,. . . ,9 0,. . . ,9 0,. . . ,9 0,. . . ,9 0,. . . ,9 0

1 2 3 4 5 6 7 8 9

0 1 2 3 4 5 6 7 8 9

TCS | Zentral¨ubung 09.05.2019 | SoSe 2019 6/17

(9)

a) die letzte Ziffer vorher schon mindestens einmal in der Folge vorkam

z

s

z

e

0,. . . ,9

z

0

z

1

z

2

z

3

z

4

z

5

z

6

z

7

z

8

z

9

0,. . . ,9 0,. . . ,9 0,. . . ,9 0,. . . ,9 0,. . . ,9 0,. . . ,9 0,. . . ,9 0,. . . ,9 0,. . . ,9 0,. . . ,9 0

1 2 3 4 5 6 7 8 9

0

1

2

3

4

5

6

7

8

9

(10)

b) die letzte Ziffer vorher nicht schon einmal vorkam

z

e

z

1

z

2

z

3

z

4

z

5

z

6

z

7

z

8

z

9

0,2,. . . ,9 0,1,3,. . . ,9 0,. . . ,2,4,. . . ,9 0,. . . ,3,5,. . . ,9 0,. . . ,4,6,. . . ,9 0,. . . ,5,7,. . . ,9 0,. . . ,6,8,. . . ,9 0,. . . ,7,9 0,. . . ,8

0 1 2 3 4 5 6 7 8 9

TCS | Zentral¨ubung 09.05.2019 | SoSe 2019 7/17

(11)

b) die letzte Ziffer vorher nicht schon einmal vorkam

z

e

z

0

z

1

z

2

z

3

z

4

z

5

z

6

z

7

z

8

z

9

1,. . . ,9 0,2,. . . ,9 0,1,3,. . . ,9 0,. . . ,2,4,. . . ,9 0,. . . ,3,5,. . . ,9 0,. . . ,4,6,. . . ,9 0,. . . ,5,7,. . . ,9 0,. . . ,6,8,. . . ,9 0,. . . ,7,9 0,. . . ,8

0

1

2

3

4

5

6

7

8

9

(12)

Aquivalenz der Formalismen: ¨

Regul¨ are Grammatiken

DFAs NFAs

Konstruktion DF A in reg.

Grammatik

Konstruktion reg.

Grammatik

in NF A

Potenmengenkonstruktion

TCS | Zentral¨ubung 09.05.2019 | SoSe 2019 8/17

(13)

Nochmal: Beweisstruktur

Seien

D = Menge der durch DFAs akzeptierten Sprachen N = Menge der durch NFAs akzeptierten Sprachen R = Menge der regul¨ aren Sprachen

Wir haben gezeigt D ⊆ R R ⊆ N N ⊆ D

Daraus folgt: D = R = N

(14)

Ein Spiel

Spielfeld:

1 2 3

Aktionen:

l und r: Wechseln um ein Feld nach links bzw. rechts.

l bei Feld 1 und r bei Feld 3 bleiben wirkungslos.

Geben Sie einen DFA ¨ uber dem Alphabet Σ = {l, r} an, der alle Folgen von Spielz¨ ugen akzeptiert, sodass der Spieler auf Feld 1 beginnt und auf Feld 3 das Spiel beendet.

z 1 z 2 z 3

l r

r r

l l

TCS | Zentral¨ubung 09.05.2019 | SoSe 2019 10/17

(15)

Ein Spiel

Spielfeld:

1 2 3

Aktionen:

l und r: Wechseln um ein Feld nach links bzw. rechts.

l bei Feld 1 und r bei Feld 3 bleiben wirkungslos.

Aufgabe

Geben Sie einen DFA ¨ uber dem Alphabet Σ = {l, r} an, der alle Folgen von Spielz¨ ugen akzeptiert, sodass der Spieler auf Feld 1 beginnt und auf Feld 3 das Spiel beendet.

z 1 z 2 z 3

l r

r r

l

l

(16)

Spielfeld:

1 2 3

Aktionen:

l und r: Wechseln um ein Feld nach links bzw. rechts.

l bei Feld 1 und r bei Feld 3 bleiben wirkungslos.

Aufgabe

Geben Sie einen DFA ¨ uber dem Alphabet Σ = {l, r} an, der alle Folgen von Spielz¨ ugen akzeptiert, sodass der Spieler auf Feld 1 beginnt und auf Feld 3 das Spiel beendet.

z 1 z 2 z 3

l r

r r

l l

TCS | Zentral¨ubung 09.05.2019 | SoSe 2019 10/17

(17)

DFA → reg. Grammatik

Aufgabe

z 1 z 2 z 3

l r

r r

l l

Geben Sie zum gezeigten DFA eine regul¨ are Grammatik an, welche die vom DFA akzeptierte Sprache erzeugt.

Erinnerung: DFA → regul¨ are Grammatik

F¨ ur DFA M = (Z, Σ, δ, z 0 , E) konstruiere G = (V, Σ, P, S) mit V = Z, S = z 0 , P = {z i → az j | δ(z i , a) = z j }

∪ {z i → a | δ(z i , a) = z j ∧ z j ∈ E}

∪ {z 0 → ε | falls z 0 ∈ E}

(18)

Aufgabe

z 1 z 2 z 3

l r

r r

l l

Geben Sie zum gezeigten DFA eine regul¨ are Grammatik an, welche die vom DFA akzeptierte Sprache erzeugt.

Erinnerung: DFA → regul¨ are Grammatik

F¨ ur DFA M = (Z, Σ, δ, z 0 , E) konstruiere G = (V, Σ, P, S) mit V = Z, S = z 0 , P = {z i → az j | δ(z i , a) = z j }

∪ {z i → a | δ(z i , a) = z j ∧ z j ∈ E}

∪ {z 0 → ε | falls z 0 ∈ E}

TCS | Zentral¨ubung 09.05.2019 | SoSe 2019 11/17

(19)

DFA → regul¨ are Grammatik (2)

z 1 z 2 z 3

l r

r r

l l

Regul¨ are Grammatik dazu:

G = (V, Σ, P, S) mit V = {z 1 , z 2 , z 3 }

P = {z 1 → lz 1 , z 1 → rz 2 , z 2 → lz 1 , z 2 → rz 3 , z 3 → lz 2 , z 3 → rz 3 , z 2 → r, z 3 → r}

S = z 1

(20)

Regul¨ are Grammatik → NFA

Aufgabe

G = ({S, A, D, E}, {l, r}, P, A) beschreibt Spielzugfolgen, mit

P = {S → lA | rS, A → lD | lE | l | rS, D → l | lD | rA | lE, E → l | lD}.

Konstruieren Sie einen NFA M mit L(M ) = L(G).

F¨ ur (V, Σ, P, S) erzeuge (Z, Σ, δ, S , E) mit Z = V ∪{z · E }

S 0 = {S}

E = {z E } ∪ {S | falls S → ε ∈ P}

δ(A, a) = {N | A → aN ∈ P} ∪ {z E | A → a ∈ P } δ(z E , a) = ∅

TCS | Zentral¨ubung 09.05.2019 | SoSe 2019 13/17

(21)

Regul¨ are Grammatik → NFA

Aufgabe

G = ({S, A, D, E}, {l, r}, P, A) beschreibt Spielzugfolgen, mit

P = {S → lA | rS, A → lD | lE | l | rS, D → l | lD | rA | lE, E → l | lD}.

Konstruieren Sie einen NFA M mit L(M ) = L(G).

Zur Erinnerung: Transformation reg. Grammatik in NFA F¨ ur (V, Σ, P, S) erzeuge (Z, Σ, δ, S 0 , E) mit

Z = V ∪{z · E } S 0 = {S}

E = {z E } ∪ {S | falls S → ε ∈ P}

δ(A, a) = {N | A → aN ∈ P} ∪ {z E | A → a ∈ P }

δ(z E , a) = ∅

(22)

Regul¨ are Grammatik → NFA (2)

Aufgabe

G = ({S, A, D, E}, {l, r}, P, A) beschreibt Spielzugfolgen, mit

P = {S → lA | rS, A → lD | lE | l | rS, D → l | lD | rA | lE, E → l | lD}.

Konstruieren Sie einen NFA M mit L(M ) = L(G).

Konstruktion des NFA: M = ({S, A, D, E, z E }, {l, r}, δ, {S}, {z E }) mit δ(S, l) = {A}

δ(S, r) = {S}

δ(A, l) = {D, E, z E } δ(A, r) = {S}

δ(D, l) = {D, E, z E } δ(D, r) = {A}

δ(E, l) = {D, z E } δ(E, r) = ∅ δ(z E , l) = ∅ δ(z E , r) = ∅

S l A D E zE

r

l l

l r

l

l l

r l

l

TCS | Zentral¨ubung 09.05.2019 | SoSe 2019 14/17

(23)

Regul¨ are Grammatik → NFA (2)

Aufgabe

G = ({S, A, D, E}, {l, r}, P, A) beschreibt Spielzugfolgen, mit

P = {S → lA | rS, A → lD | lE | l | rS, D → l | lD | rA | lE, E → l | lD}.

Konstruieren Sie einen NFA M mit L(M ) = L(G).

Konstruktion des NFA: M = ({S, A, D, E, z E }, {l, r}, δ, {S}, {z E }) mit δ(S, l) = {A}

δ(S, r) = {S}

δ(A, l) = {D, E, z E } δ(A, r) = {S}

δ(D, l) = {D, E, z E } δ(D, r) = {A}

δ(E, l) = {D, z E } δ(E, r) = ∅ δ(z E , l) = ∅ δ(z , r) = ∅

S l A D E zE

r

l l

l r

l

l l

r l

l

Alle Folgen um von Feld 3

zu Feld 1 zu kommen

(24)

NFA angeben

Aufgabe

Geben Sie einen NFA ¨ uber dem Alphabet Σ = {l, r} an, der alle Folgen von Spielz¨ ugen akzeptiert, sodass der Spieler auf

irgendeinem Feld beginnt und auf Feld 3 das Spiel beendet.

z 1 z 2 z 3

r r

l l

TCS | Zentral¨ubung 09.05.2019 | SoSe 2019 15/17

(25)

NFA angeben

Aufgabe

Geben Sie einen NFA ¨ uber dem Alphabet Σ = {l, r} an, der alle Folgen von Spielz¨ ugen akzeptiert, sodass der Spieler auf

irgendeinem Feld beginnt und auf Feld 3 das Spiel beendet.

z 1 z 2 z 3

l r

r r

l

l

(26)

Aufgabe

Uberf¨ ¨ uhren Sie den NFA

z 1 z 2 z 3

l r

r r

l l

in einen DFA durch Verwendung der Potenmengenkonstruktion.

Potenzmengenkonstruktion

F¨ ur NFA (Z, Σ, δ, S, E) konstruiere DFA (P (Z ), Σ, δ 0 , S, E 0 ) mit E 0 = {X ∈ P(Z) | E ∩ X 6= ∅} und δ 0 (X, a) = S

z∈X δ(z, a)

TCS | Zentral¨ubung 09.05.2019 | SoSe 2019 16/17

(27)

NFA → DFA (2)

NFA:

z 1 z 2 z 3

l r

r r

l l

DFA:

{z

1

, z

2

, z

3

}

{z

1

, z

2

} l

{z

1

}

{z

2

, z

3

} {z

3

} r

l

r l r

l

r

{z

2

} l

r l

r {z

1

, z

3

}

r l

∅ l, r

Referenzen

ÄHNLICHE DOKUMENTE

Jede Folge hat h¨ ochstens einen

Letzte ¨ Anderung der

Aus dem Beweis des Satzes kann man einen Algorithmus zur n¨ aherungsweise Berechnung von Nullstellen von Funktionen ablesen... Monotonie

Aus dem Beweis des Satzes kann man einen Algorithmus zur n¨ aherungsweise Berechnung von Nullstellen von Funktionen ablesen. TCS | 06 Funktionen und Stetigkeit | WS 2019/20

Man erh¨ alt die komplexen Zahlen, indem man zu den reellen Zahlen die imagin¨ are Einheit i hinzunimmt, die dem Gesetz i 2 = −1 gen¨ ugt.. Danach

Man erh¨ alt die komplexen Zahlen, indem man zu den reellen Zahlen die imagin¨ are Einheit i hinzunimmt, die dem Gesetz i 2 = −1 gen¨ ugt. Danach

Man kann das Restglied Rn x des Satzes auch konkret abschätzen: Satz 10.12 Lagrangesche Form des Restglieds Für das Restglied Rn x aus dem vorangegangenen Satz gilt folgende

TCS | 10 Concurrent Haskell | WS 2019/20 8/80 Einleitung Primitive Beispiele ND-Ops Futures & Async... Der