Bemerkung:
Das uniforme wie auch das nicht-uniforme Wortproblem ist f¨ ur Typ-0-Sprachen (also die rekursiv-aufz¨ ahlbare Sprachen) nicht entscheidbar. Wir werden sp¨ ater sehen, dass es zum Halteproblem f¨ ur Turingmaschinen ¨ aquivalent ist.
Es gilt jedoch Satz 16
F¨ ur kontextsensitive Grammatiken ist das Wortproblem entscheidbar.
Genauer: Es gibt einen Algorithmus, der bei Eingabe einer
kontextsensitiven Grammatik G = (V, Σ, P, S) und eines Wortes w in endlicher Zeit entscheidet, ob w ∈ L(G).
Info IV 2.3 Das Wortproblem 38/217
c
Ernst W. Mayr
Beweisidee:
Angenommen w ∈ L(G). Dann gibt es eine Ableitung S = w (0) → G w (1) → G · · · → G w (n) = w mit w (i) ∈ (Σ ∪ V ) ∗ f¨ ur i = 1, . . . , n.
Da aber G kontextsensitiv ist, gilt (falls w 6= )
|w (0) | ≤ |w (1) | ≤ · · · ≤ |w (n) | ,
d.h., es gen¨ ugt, alle W¨ orter in (Σ ∪ V ) ∗ der L¨ ange ≤ |w| zu erzeugen.
Info IV 2.3 Das Wortproblem 39/217
c
Ernst W. Mayr
Beweis:
Sei o.B.d.A. w 6= und sei
T m n := {w 0 ∈ (Σ ∪ V ) ∗ ; |w 0 | ≤ n und
w 0 l¨ asst sich aus S in ≤ m Schritten ableiten}
Diese Mengen kann man f¨ ur alle n und m induktiv wie folgt berechnen:
T 0 n := {S}
T m+1 n := T m n ∪ {w 0 ∈ (Σ ∪ V ) ∗ ; |w 0 | ≤ n und w 00 → w 0 f¨ ur ein w 00 ∈ T m n } Beachte: F¨ ur alle m gilt: |T m n | ≤ P n
i=1 |Σ ∪ V | i . Es muss daher immer ein m 0 geben mit
T m n0 = T m n0+1 = . . . =: T n .
+1 = . . . =: T n .
Info IV 2.3 Das Wortproblem 40/217
c
Ernst W. Mayr
Beweis (Forts.):
Algorithmus:
n := |w|
T := {S}
T 0 := ∅
while T 6= T 0 do T 0 := T
T := T 0 ∪ {w 0 ∈ (V ∪ Σ) + ; |w 0 | ≤ n, (∃w 00 ∈ T 0 )[w 00 → w 0 ]}
od
if w ∈ T return “ja” else return “nein” fi
Info IV 2.3 Das Wortproblem 41/217
c
Ernst W. Mayr
Beispiel 17
Gegeben sei die Typ-2-Grammatik mit den Produktionen S → ab und S → aSb
sowie das Wort w = abab.
T 0 4 = {S}
T 1 4 = {S, ab, aSb}
T 2 4 = {S, ab, aSb, aabb} aaSbb ist zu lang!
T 3 4 = {S, ab, aSb, aabb}
Also l¨ asst sich das Wort w mit der gegebenen Grammatik nicht erzeugen!
Info IV 2.3 Das Wortproblem 42/217
c
Ernst W. Mayr
Bemerkung:
Der angegebene Algorithmus ist nicht sehr effizient! F¨ ur
kontextfreie Grammatiken gibt es wesentlich effizientere Verfahren, die wir sp¨ ater kennenlernen werden!
Info IV 2.3 Das Wortproblem 43/217
c
Ernst W. Mayr
2.4 Ableitungsgraph und Ableitungsbaum Grammatik:
S → AB A → aA A → a B → bB B → b aaa → c cb → a
Beispiel:
S
A B
a A b B
a A b B
a b
c a
Die Terminale ohne Kante nach unten entsprechen, von links nach rechts gelesen, dem durch den Ableitungsgraphen dargestellten Wort.
Info IV 44/217
c
Ernst W. Mayr
Grammatik:
S → AB A → aA A → a B → bB B → b aaa → c cb → a
Beispiel:
S
A B
a A b B
a A b B
a b
c a Dem Ableitungsgraph entspricht z.B. die Ableitung
S → AB → aAB → aAbB → aaAbB → aaAbbB →
→ aaabbB → aaabbb → cbbb → abb
Info IV 2.4 Ableitungsgraph und Ableitungsbaum 44/217
c
Ernst W. Mayr
Beobachtung:
Bei kontextfreien Sprachen sind die Ableitungsgraphen immer B¨ aume.
Beispiel 18 Grammatik:
S → aB S → Ac A → ab B → bc
AbleitungsbaumAbleitungsb¨ aume:
S A
a b c
S B
b c
a
F¨ ur das Wort abc gibt es zwei verschiedene Ableitungsb¨ aume.
Info IV 2.4 Ableitungsgraph und Ableitungsbaum 45/217
c
Ernst W. Mayr
Definition 19 Eine Ableitung
S = w (0) → w (1) → · · · → w (n) = w eines Wortes w heißt Linksableitung, wenn f¨ ur jede
Anwendung einer Produktion α → β auf w (i) = xαz gilt, dass sich keine Regel der Grammatik auf ein echtes Pr¨ afix von xα anwenden l¨ asst.
Eine Grammatik heißt eindeutig, wenn es f¨ ur jedes Wort w ∈ L(G) genau eine Linksableitung gibt. Nicht eindeutige Grammatiken nennt man auch mehrdeutig.
Eine Sprache L heißt eindeutig, wenn es f¨ ur L eine eindeutige Grammatik gibt. Ansonsten heißt L mehrdeutig.
Bemerkung: F¨ ur eindeutige kontextfreie Grammatiken ist das Wortproblem sehr einfach l¨ osbar.
Info IV 2.4 Ableitungsgraph und Ableitungsbaum 46/217
c
Ernst W. Mayr
Beispiel 20 Grammatik:
S → aB S → Ac A → ab B → bc
Ableitungsb¨ aume:
S A
a b c
S B
b c
a
Beide Ableitungsb¨ aume f¨ ur das Wort abc entsprechen Linksableitungen.
Info IV 2.4 Ableitungsgraph und Ableitungsbaum 47/217
c
Ernst W. Mayr
Beispiel 21 Grammatik:
S → AB A → aA A → a B → bB B → b aaa → c cb → a
Ableitung:
S
A B
a A b B
a A b B
a b
c Eine Linksableitung ist a
S → AB → aAB → aaAB → aaaB → cB →
→ cbB → aB → abB → abb
Info IV 48/217
c
Ernst W. Mayr
Beispiel 21 Grammatik:
S → AB A → aA A → a B → bB B → b aaa → c cb → a
Ableitung:
S
A B
a A b B
a A b B
a b
c Eine andere Linksableitung ist a
S → AB → aB → abB → abb .
Info IV 48/217
c
Ernst W. Mayr
Beispiel 21 Grammatik:
S → AB A → aA A → a B → bB B → b aaa → c cb → a
Ableitung:
S
A B
a A b B
a A b B
a b
c Die Grammatik ist also mehrdeutig. a
Info IV 2.4 Ableitungsgraph und Ableitungsbaum 48/217
c
Ernst W. Mayr
3. Regul¨ are Sprachen
3.1 Deterministische endliche Automaten Definition 22
Ein deterministischer endlicher Automat (englisch: deterministic finite automaton, kurz DFA) wird durch ein 5-Tupel
M = (Q, Σ, δ, q 0 , F ) beschrieben, das folgende Bedingungen erf¨ ullt:
1
Q ist eine endliche Menge von Zust¨ anden.
2
Σ ist eine endliche Menge, das Eingabealphabet, wobei Q ∩ Σ = ∅.
3
q 0 ∈ Q ist der Startzustand.
4
F ⊆ Q ist die Menge der Endzust¨ ande.
5
δ : Q × Σ → Q heißt Ubergangsfunktion. ¨
Info IV 3.1 Deterministische endliche Automaten 49/217
c
Ernst W. Mayr
Die von M akzeptierte Sprache ist
L(M ) := {w ∈ Σ ∗ ; ˆ δ(q 0 , w) ∈ F } , wobei δ ˆ : Q × Σ ∗ → Q induktiv definiert ist durch
ˆ δ(q, ) = q f¨ ur alle q ∈ Q δ(q, ax) ˆ = ˆ δ(δ(q, a), x) f¨ ur alle q ∈ Q, a ∈ Σ
und x ∈ Σ ∗ Bemerkung: Endliche Automaten k¨ onnen durch (gerichtete und markierte) Zustandsgraphen veranschaulicht werden:
Knoten = b Zust¨ anden Kanten = b Uberg¨ ¨ angen
genauer: die mit a ∈ Σ markierte Kante (u, v) entspricht δ(u, a) = v
Der Anfangszustand wird durch einen Pfeil, Endzust¨ ande werden durch doppelte Kreise gekennzeichnet.
Info IV 3.1 Deterministische endliche Automaten 50/217
c
Ernst W. Mayr
Beispiel 23
Sei M = (Q, Σ, δ, q 0 , F ), wobei
Q = {q 0 , q 1 , q 2 , q 3 } Σ = {a, b}
F = {q 3 } δ(q 0 , a) = q 1
δ(q 0 , b) = q 3
δ(q 1 , a) = q 2
δ(q 1 , b) = q 0 δ(q 2 , a) = q 3 δ(q 2 , b) = q 1 δ(q 3 , a) = q 0
δ(q 3 , b) = q 2
q 3
q 1
q 2 q 0
b a a
b b a
a b
Info IV 3.1 Deterministische endliche Automaten 51/217
c
Ernst W. Mayr
Satz 24
Ist M = (Q, Σ, δ, q 0 , F ) ein deterministischer endlicher Automat, so ist die durch
P := {q → aq 0 ; δ(q, a) = q 0 } ∪ {q → a; δ(q, a) ∈ F } gegebene Grammatik G = (Q, Σ, P, q 0 ) regul¨ ar.
Beweis:
Offensichtlich!
Info IV 3.1 Deterministische endliche Automaten 52/217
c
Ernst W. Mayr
Beispiel 25
q 3
q 1
q 2
q 0
b a a
b b a
a b
Produktionen:
q
0→ aq
1q
0→ bq
3q
1→ aq
2q
1→ bq
0q
2→ aq
3q
2→ bq
1q
3→ aq
0q
3→ bq
2q
2→ a q
0→ b
q
0→ aq
1→ abq
0→ abaq
1→ abaaq
2→ abaaa ∈ L(G)
Info IV 3.1 Deterministische endliche Automaten 53/217
c
Ernst W. Mayr
Satz 26
Sei M = (Q, Σ, δ, q 0 , F ) ein endlicher deterministischer Automat.
Dann gilt f¨ ur die soeben konstruierte regul¨ are Grammatik G L(G) = L(M) .
Beweis:
Sei w = a 1 a 2 · · · a n ∈ Σ ∗ . Dann gilt gem¨ aß Konstruktion:
w ∈ L(M )
⇔ ∃q 0 , q 1 , . . . , q n ∈ Q: q 0 Startzustand von M ,
∀i = 0, . . . , n − 1: δ(q i , a i+1 ) = q i+1 , q n ∈ F
⇔ ∃q 0 , q 1 , . . . , q n−1 ∈ V : q 0 Startsymbol von G q 0 → a 1 q 1 → a 1 a 2 q 2 → · · · → a 1 · · · a n−1 q n−1 →
→ a 1 · · · a n−1 a n
⇔ w ∈ L(G)
Info IV 3.1 Deterministische endliche Automaten 54/217
c
Ernst W. Mayr
3.2 Nichtdeterministische endliche Automaten Definition 27
Ein nichtdeterministischer endlicher Automat (englisch:
nondeterministic finite automaton, kurz NFA) wird durch ein 5-Tupel N = (Q, Σ, δ, S, F ) beschrieben, das folgende Bedingungen erf¨ ullt:
1
Q ist eine endliche Menge von Zust¨ anden.
2
Σ ist eine endliche Menge, das Eingabealphabet, wobei Q ∩ Σ = ∅.
3
S ⊆ Q ist die Menge der Startzust¨ ande.
4
F ⊆ Q ist die Menge der Endzust¨ ande.
5
δ : Q × Σ → P (Q) \ {∅} heißt Ubergangsrelation. ¨
Info IV 3.2 Nichtdeterministische endliche Automaten 55/217
c
Ernst W. Mayr
Die von N akzeptierte Sprache ist
L(N ) := {w ∈ Σ ∗ ; ˆ δ(S, w) ∩ F 6= ∅} ,
wobei δ ˆ : P(Q) × Σ ∗ → P (Q) wieder induktiv definiert ist durch δ(Q ˆ 0 , ) = Q 0 ∀Q 0 ⊆ Q, Q 0 6= ∅
δ(Q ˆ 0 , ax) = δ( ˆ [
q∈Q
0δ(q, a), x) ∀∅ 6= Q 0 ⊆ Q, ∀a ∈ Σ, ∀x ∈ Σ ∗
Info IV 3.2 Nichtdeterministische endliche Automaten 56/217
c
Ernst W. Mayr
Satz 28
Ist G = (V, Σ, P, S) eine regul¨ are (rechtslineare) Grammatik, so ist N = (V ∪ {X}, Σ, δ, {S}, F ), mit
F :=
( {S, X}, falls S → ∈ P {X}, sonst
und, f¨ ur alle A, B ∈ V , a ∈ Σ,
B ∈ δ(A, a) ⇐⇒ A → aB und X ∈ δ(A, a) ⇐⇒ A → a
ein nichtdeterministischer endlicher Automat.
Info IV 3.2 Nichtdeterministische endliche Automaten 57/217
c
Ernst W. Mayr
Beispiel 29 Produktionen:
S → aA S → bB A → aA A → a B → bB B → b
B
A
X
S a
b
b
a a
b
Info IV 3.2 Nichtdeterministische endliche Automaten 58/217
c
Ernst W. Mayr