Sei M

Werbung
“⇐”:
∀DFA M ∃ regulären Ausdruck γ : T (M ) = L(γ).
Sei M = (Z, Σ, δ, z1, E) mit Z = {z1, z2, . . . , zn}
ein DFA.
Definiere (i, j ∈ {1, 2, . . . , n}, k ∈ {0, 1, . . . , n}):
k := { x ∈ Σ∗ | δ̂(z , x) = z und für alle y, z ∈ Σ+,
Ri,j
i
j
x = yz, gilt δ̂(zi, y) = zs für ein s ≤ k }
#
#
#
zi
zj1
zj2
#
...
x1 "!
x2 "!
x3
"!
j1 ≤ k
xm
zj
"!
j2 ≤ k
0 = { a ∈ Σ | δ(z , a) = z }
Ri,j
i
j
(i 6= j)
0 = { a ∈ Σ | δ(z , a) = z } ∪ {ε}
Ri,i
i
i
0 sind endliche Sprachen.
Also: Ri,j
k+1
k ∪ Rk
k
∗ k
Ri,j
= Ri,j
i,k+1(Rk+1,k+1 ) Rk+1,j
k
k
k
∗ k
αk+1
i,j := ( αi,j | αi,k+1 (αk+1,k+1) αk+1,j )
T (M ) =
S
zi∈E
n , d.h. für E = {z , . . . , z } ist
R1,i
i1
im
n
n
γ = ( αn
1,i1 | α1,i2 | . . . | α1,im ).
2
57
1.2.4 Das Pumping Lemma
Satz (Pumping Lemma, Lemma von Bar-Hillel,
uvw-Theorem)
Sei L eine reguläre Sprache. Dann gibt es eine positive Zahl n, sodass sich alle Wörter x ∈ L mit
|x| ≥ n zerlegen lassen als x = uvw, sodass folgende Eigenschaften gelten:
(1.) |v| ≥ 1,
(2.) |uv| ≤ n,
(3.) für alle i = 0, 1, 2, . . . gilt uv iw ∈ L.
Beweis:
Sei M ein DFA mit T (M ) = L.
Wähle n := |Z|, und sei x ∈ L mit |x| ≥ n.
M :
∗
z0 −→ z1 −→ · · · −→ zn−1 −→ zn −→ z 0 ∈ E
x1
x2
xn−1
xn
x0
58
Dann gibt es r und s mit 0 ≤ r < s ≤ r + n
und zr = zs.
Dann kann x zerlegt werden als x = uvw mit
|u|
1 ≤ |v|
δ̂(z0, u)
δ̂(zr , v)
δ̂(zs, w)
=
=
=
=
=
r,
s − r ≤ n,
zr ,
zs = zr ,
z 0 ∈ E.
Also gilt:
δ̂(z0, uv iw) = δ̂(zr , v iw) = δ̂(zs, v i−1w)
= δ̂(zr , v i−1w) = δ̂(zs, w) = z 0 ∈ E,
d.h. uv iw ∈ T (M ) = L.
2
Beachte:
Auch gewisse nicht-reguläre Sprachen erfüllen das
Pumping Lemma!
59
Beispiel:
L = { cmanbn | m, n ≥ 0 } ∪ {a, b}∗.
Später: L ist nicht regulär.
Aber: L erfüllt das Pumping Lemma.
Sei k := 1, und sei x ∈ L mit |x| ≥ k.
(i) x ∈ {a, b}∗ : klar.
(ii) x = cmanbn mit m ≥ 1:
Wähle u := ε, v := c, w := cm−1anbn.
Dann: x = uvw, 1 ≤ |v|, |uv| = 1 ≤ k,
uv iw = ci+m−1anbn ∈ L f.a. i ≥ 0.
Menge aller Sprachen
Sprachen, die das Pumping Lemma erfüllen
reguläre Sprachen
60
Beispiel 1:
L = { ambm | m ≥ 1 }.
Behauptung: L ist nicht regulär.
Beweis indirekt: Angenommen, L ist regulär.
Dann erfüllt L das Pumping Lemma, d.h.
∃n ∈ N+∀x ∈ L : |x| ≥ n ; ∃x = uvw :
- |v| ≥ 1, |uv| ≤ n und
- uv iw ∈ L für alle i ≥ 0.
Betrachte x := anbn : x ∈ L mit |x| = 2n > n.
Also: ∃x = uvw mit: |v| ≥ 1, |uv| ≤ n und
uv iw ∈ L für alle i ≥ 0.
x = anbn = uvw mit |uv| ≤ n
; u = ar , v = as und w = an−s−r bn
für gewisse Zahlen r, s mit r ≥ 0, s ≥ 1, r + s ≤ n.
Dann: uv 0w = ar an−s−r bn = an−sbn 6∈ L !
2
Folgerung
L3 ( L2.
61
Beispiel 2:
L = { 0m | m ist Quadratzahl }.
Behauptung: L ist nicht regulär.
Beweis indirekt: Angenommen, L ist regulär.
Sei n die Konstante für L aus Pumping Lemma.
2
Betrachte x := 0n : x ∈ L mit |x| = n2 > n.
Also: ∃x = uvw mit |v| ≥ 1, |uv| ≤ n und
uv iw ∈ L für alle i ≥ 0.
Betrachte das Wort uv 2w:
n2 = |uvw|
< |uv 2w|
= |uvw| + |v| = n2 + |v|
≤ n2 + n
< n2 + 2n + 1
= (n + 1)2,
d.h. |uv 2w| ist keine Quadratzahl, d.h. uv 2w 6∈ L !
2
Beispiel 3:
L = { 0p | p ist Primzahl }.
Behauptung: L ist nicht regulär.
Beweis: siehe Buch.
2
62
Herunterladen