Formale Sprachen und Komplexit¨ at
Sommersemester 2019
Zentral¨ ubung 06.06.2019:
Pumping-Lemma f¨ ur CFLs, Ogdens Lemma, CYK-Algorithmus
Prof. Dr. David Sabel
LFE Theoretische Informatik
Wiederholung: Das Pumping-Lemma f¨ ur CFLs
Lemma (Pumping-Lemma f¨ ur CFLs)
Sei L eine kontextfreie Sprache. Dann gibt es eine Zahl n ∈ N
>0, sodass jedes Wort z ∈ L, das Mindestl¨ ange n hat (d. h. |z| ≥ n), als z = uvwxy geschrieben werden kann, so dass gilt:
|vx| ≥ 1
|vwx| ≤ n
f¨ ur alle i ≥ 0: uv
iwx
iy ∈ L.
Beispiel
Aufgabe
Sei L = {ww | w ∈ {a, b}
∗} wobei w das Wort w r¨ uckw¨ arts gelesen ist.
1
Zeige, dass L kontextfrei ist.
2
Zeige, dass L die Pumping-Eigenschaft erf¨ ullt.
1) Die CFG G = ({S}, {a, b}, {S → aSa | bSb | ε}, S) erzeugt L.
2) L erf¨ ullt die Pumping-Eigenschaft: Wir w¨ ahlen n = 2.
Sei z ∈ L mit |z| ≥ 2. Dann ist z = a
1· · · a
ka
k· · · a
1mit k ≥ 1. Zerlege z = uvwxy mit
u = a
1· · · a
k−1, v = a
k, w = ε, x = a
k, y = a
k−1· · · a
1|vwx| = 2 ≥ n und |vx| = 2 ≥ 1
Dann gilt uv
iwx
iy = a
1· · · a
k−1a
ika
ika
k−1· · · a
1∈ L f¨ ur alle i ∈ N
Beispiel
Aufgabe
Sei L = {ww | w ∈ {a, b}
∗} wobei w das Wort w r¨ uckw¨ arts gelesen ist.
1
Zeige, dass L kontextfrei ist.
2
Zeige, dass L die Pumping-Eigenschaft erf¨ ullt.
1) Die CFG G = ({S}, {a, b}, {S → aSa | bSb | ε}, S) erzeugt L.
2) L erf¨ ullt die Pumping-Eigenschaft:
Wir w¨ ahlen n = 2.
Sei z ∈ L mit |z| ≥ 2. Dann ist z = a
1· · · a
ka
k· · · a
1mit k ≥ 1.
Zerlege z = uvwxy mit
u = a
1· · · a
k−1, v = a
k, w = ε, x = a
k, y = a
k−1· · · a
1|vwx| = 2 ≥ n und |vx| = 2 ≥ 1
Dann gilt uv
iwx
iy = a
1· · · a
k−1a
ika
ika
k−1· · · a
1∈ L f¨ ur alle i ∈ N
Beispiel
Aufgabe
Sei L = {ww | w ∈ {a, b}
∗} wobei w das Wort w r¨ uckw¨ arts gelesen ist.
1
Zeige, dass L kontextfrei ist.
2
Zeige, dass L die Pumping-Eigenschaft erf¨ ullt.
1) Die CFG G = ({S}, {a, b}, {S → aSa | bSb | ε}, S) erzeugt L.
2) L erf¨ ullt die Pumping-Eigenschaft:
Wir w¨ ahlen n = 2.
Sei z ∈ L mit |z| ≥ 2. Dann ist z = a
1· · · a
ka
k· · · a
1mit k ≥ 1.
Zerlege z = uvwxy mit
u = a
1· · · a
k−1, v = a
k, w = ε, x = a
k, y = a
k−1· · · a
1|vwx| = 2 ≥ n und |vx| = 2 ≥ 1
Dann gilt uv
iwx
iy = a
1· · · a
k−1a
ika
ika
k−1· · · a
1∈ L f¨ ur alle i ∈ N
Beispiel
Aufgabe
Sei L = {ww | w ∈ {a, b}
∗} wobei w das Wort w r¨ uckw¨ arts gelesen ist.
1
Zeige, dass L kontextfrei ist.
2
Zeige, dass L die Pumping-Eigenschaft erf¨ ullt.
1) Die CFG G = ({S}, {a, b}, {S → aSa | bSb | ε}, S) erzeugt L.
2) L erf¨ ullt die Pumping-Eigenschaft:
Wir w¨ ahlen n = 2.
Sei z ∈ L mit |z| ≥ 2. Dann ist z = a
1· · · a
ka
k· · · a
1mit k ≥ 1.
Zerlege z = uvwxy mit
u = a
1· · · a
k−1, v = a
k, w = ε, x = a
k, y = a
k−1· · · a
1|vwx| = 2 ≥ n und |vx| = 2 ≥ 1
Dann gilt uv
iwx
iy = a
1· · · a
k−1a
ika
ika
k−1· · · a
1∈ L f¨ ur alle i ∈ N
Beispiel
Aufgabe
Sei L = {ww | w ∈ {a, b}
∗} wobei w das Wort w r¨ uckw¨ arts gelesen ist.
1
Zeige, dass L kontextfrei ist.
2
Zeige, dass L die Pumping-Eigenschaft erf¨ ullt.
1) Die CFG G = ({S}, {a, b}, {S → aSa | bSb | ε}, S) erzeugt L.
2) L erf¨ ullt die Pumping-Eigenschaft:
Wir w¨ ahlen n = 2.
Sei z ∈ L mit |z| ≥ 2. Dann ist z = a
1· · · a
ka
k· · · a
1mit k ≥ 1.
Zerlege z = uvwxy mit
u = a
1· · · a
k−1, v = a
k, w = ε, x = a
k, y = a
k−1· · · a
1|vwx| = 2 ≥ n und |vx| = 2 ≥ 1
Dann gilt uv
iwx
iy = a
1· · · a
k−1a
ika
ika
k−1· · · a
1∈ L f¨ ur alle i ∈ N
Beispiel
Aufgabe
Sei L = {ww | w ∈ {a, b}
∗} wobei w das Wort w r¨ uckw¨ arts gelesen ist.
1
Zeige, dass L kontextfrei ist.
2
Zeige, dass L die Pumping-Eigenschaft erf¨ ullt.
1) Die CFG G = ({S}, {a, b}, {S → aSa | bSb | ε}, S) erzeugt L.
2) L erf¨ ullt die Pumping-Eigenschaft:
Wir w¨ ahlen n = 2.
Sei z ∈ L mit |z| ≥ 2. Dann ist z = a
1· · · a
ka
k· · · a
1mit k ≥ 1.
Zerlege z = uvwxy mit
u = a
1· · · a
k−1, v = a
k, w = ε, x = a
k, y = a
k−1· · · a
1|vwx| = 2 ≥ n und |vx| = 2 ≥ 1
Dann gilt uv
iwx
iy = a
1· · · a
k−1a
ika
ika
k−1· · · a
1∈ L f¨ ur alle i ∈ N
Beispiel
Aufgabe
Sei L = {ww | w ∈ {a, b}
∗} wobei w das Wort w r¨ uckw¨ arts gelesen ist.
1
Zeige, dass L kontextfrei ist.
2
Zeige, dass L die Pumping-Eigenschaft erf¨ ullt.
1) Die CFG G = ({S}, {a, b}, {S → aSa | bSb | ε}, S) erzeugt L.
2) L erf¨ ullt die Pumping-Eigenschaft:
Wir w¨ ahlen n = 2.
Sei z ∈ L mit |z| ≥ 2. Dann ist z = a
1· · · a
ka
k· · · a
1mit k ≥ 1.
Zerlege z = uvwxy mit
u = a
1· · · a
k−1, v = a
k, w = ε, x = a
k, y = a
k−1· · · a
1|vwx| = 2 ≥ n und |vx| = 2 ≥ 1
Dann gilt uv
iwx
iy = a
1· · · a
k−1a
ika
ika
k−1· · · a
1∈ L f¨ ur alle i ∈ N
Kontextfreiheit Widerlegen mit Pumping-Lemma als Spiel
Sei L die formale Sprache.
1
Der Gegner w¨ ahlt die Zahl n ∈ N
>0.
2
Wir w¨ ahlen das Wort z ∈ L mit |z| ≥ n.
3
Der Gegner w¨ ahlt die Zerlegung
z = uvwxy mit |vx| ≥ 1 und |vwx| ≤ n
4
Wir gewinnen das Spiel, wenn wir ein i ≥ 0 angeben k¨ onnen, sodass uv
iwx
iw 6∈ L.
Wenn wir f¨ ur jede Wahl des Gegners das Spiel gewinnen
k¨ onnen, dann haben wir gezeigt, dass L nicht kontextfrei ist.
Aufgabe
Aufgabe
Zeige, dass L = {a
mba
mba
m| m ∈ N } nicht kontextfrei ist.
Beweis mit Pumping-Lemma:
Sei n beliebig. (vom Gegner gew¨ ahlt). Wir w¨ ahlen z = a
nba
nba
nSei z = uvwxy mit |vwx| ≤ n und |vx| ≥ 1 (vom Gegner zerlegt) Dann kann vwx nicht zwei b
0s enthalten.
Fall: vx enth¨ alt ein b. Dann kann uv
0wx
0y nicht in L liegen, da das b entfernt wurde.
Fall vx enth¨ alt kein b. Dann uv
2wx
2y 6∈ L, da maximal zwei
a-Folgen aufgepumpt wurden, die dritte a-Folge aber noch aus n
vielen a’s besteht (und die Trennung durch b noch vorhanden ist).
Aufgabe
Aufgabe
Zeige, dass L = {a
mba
mba
m| m ∈ N } nicht kontextfrei ist.
Beweis mit Pumping-Lemma:
Sei n beliebig. (vom Gegner gew¨ ahlt).
Wir w¨ ahlen z = a
nba
nba
nSei z = uvwxy mit |vwx| ≤ n und |vx| ≥ 1 (vom Gegner zerlegt) Dann kann vwx nicht zwei b
0s enthalten.
Fall: vx enth¨ alt ein b. Dann kann uv
0wx
0y nicht in L liegen, da das b entfernt wurde.
Fall vx enth¨ alt kein b. Dann uv
2wx
2y 6∈ L, da maximal zwei
a-Folgen aufgepumpt wurden, die dritte a-Folge aber noch aus n
vielen a’s besteht (und die Trennung durch b noch vorhanden ist).
Aufgabe
Aufgabe
Zeige, dass L = {a
mba
mba
m| m ∈ N } nicht kontextfrei ist.
Beweis mit Pumping-Lemma:
Sei n beliebig. (vom Gegner gew¨ ahlt).
Wir w¨ ahlen z = a
nba
nba
nSei z = uvwxy mit |vwx| ≤ n und |vx| ≥ 1 (vom Gegner zerlegt) Dann kann vwx nicht zwei b
0s enthalten.
Fall: vx enth¨ alt ein b. Dann kann uv
0wx
0y nicht in L liegen, da das b entfernt wurde.
Fall vx enth¨ alt kein b. Dann uv
2wx
2y 6∈ L, da maximal zwei
a-Folgen aufgepumpt wurden, die dritte a-Folge aber noch aus n
vielen a’s besteht (und die Trennung durch b noch vorhanden ist).
Aufgabe
Aufgabe
Zeige, dass L = {a
mba
mba
m| m ∈ N } nicht kontextfrei ist.
Beweis mit Pumping-Lemma:
Sei n beliebig. (vom Gegner gew¨ ahlt).
Wir w¨ ahlen z = a
nba
nba
nSei z = uvwxy mit |vwx| ≤ n und |vx| ≥ 1 (vom Gegner zerlegt) Dann kann vwx nicht zwei b
0s enthalten.
Fall: vx enth¨ alt ein b. Dann kann uv
0wx
0y nicht in L liegen, da das b entfernt wurde.
Fall vx enth¨ alt kein b. Dann uv
2wx
2y 6∈ L, da maximal zwei
a-Folgen aufgepumpt wurden, die dritte a-Folge aber noch aus n
vielen a’s besteht (und die Trennung durch b noch vorhanden ist).
Aufgabe
Aufgabe
Zeige, dass L = {a
mba
mba
m| m ∈ N } nicht kontextfrei ist.
Beweis mit Pumping-Lemma:
Sei n beliebig. (vom Gegner gew¨ ahlt).
Wir w¨ ahlen z = a
nba
nba
nSei z = uvwxy mit |vwx| ≤ n und |vx| ≥ 1 (vom Gegner zerlegt) Dann kann vwx nicht zwei b
0s enthalten.
Fall: vx enth¨ alt ein b. Dann kann uv
0wx
0y nicht in L liegen, da das b entfernt wurde.
Fall vx enth¨ alt kein b. Dann uv
2wx
2y 6∈ L, da maximal zwei
a-Folgen aufgepumpt wurden, die dritte a-Folge aber noch aus n
vielen a’s besteht (und die Trennung durch b noch vorhanden ist).
Aufgabe
Aufgabe
Zeige, dass L = {a
mba
mba
m| m ∈ N } nicht kontextfrei ist.
Beweis mit Pumping-Lemma:
Sei n beliebig. (vom Gegner gew¨ ahlt).
Wir w¨ ahlen z = a
nba
nba
nSei z = uvwxy mit |vwx| ≤ n und |vx| ≥ 1 (vom Gegner zerlegt) Dann kann vwx nicht zwei b
0s enthalten.
Fall: vx enth¨ alt ein b. Dann kann uv
0wx
0y nicht in L liegen, da das b entfernt wurde.
Fall vx enth¨ alt kein b. Dann uv
2wx
2y 6∈ L, da maximal zwei
a-Folgen aufgepumpt wurden, die dritte a-Folge aber noch aus n
vielen a’s besteht (und die Trennung durch b noch vorhanden ist).
Aufgabe
Aufgabe
Zeige, dass L = {a
mba
mba
m| m ∈ N } nicht kontextfrei ist.
Beweis mit Pumping-Lemma:
Sei n beliebig. (vom Gegner gew¨ ahlt).
Wir w¨ ahlen z = a
nba
nba
nSei z = uvwxy mit |vwx| ≤ n und |vx| ≥ 1 (vom Gegner zerlegt) Dann kann vwx nicht zwei b
0s enthalten.
Fall: vx enth¨ alt ein b. Dann kann uv
0wx
0y nicht in L liegen, da das b entfernt wurde.
Fall vx enth¨ alt kein b. Dann uv
2wx
2y 6∈ L, da maximal zwei
a-Folgen aufgepumpt wurden, die dritte a-Folge aber noch aus n
vielen a’s besteht (und die Trennung durch b noch vorhanden ist).
Aufgabe
Aufgabe
Zeige, dass L = {a
mba
mba
m| m ∈ N } nicht kontextfrei ist.
Beweis mit Pumping-Lemma:
Sei n beliebig. (vom Gegner gew¨ ahlt).
Wir w¨ ahlen z = a
nba
nba
nSei z = uvwxy mit |vwx| ≤ n und |vx| ≥ 1 (vom Gegner zerlegt) Dann kann vwx nicht zwei b
0s enthalten.
Fall: vx enth¨ alt ein b. Dann kann uv
0wx
0y nicht in L liegen, da das b entfernt wurde.
Fall vx enth¨ alt kein b. Dann uv
2wx
2y 6∈ L, da maximal zwei
a-Folgen aufgepumpt wurden, die dritte a-Folge aber noch aus n
vielen a’s besteht (und die Trennung durch b noch vorhanden ist).
Aufgabe
Aufgabe
Zeige, dass die Sprache
L = {a
ib
jc
jd
j| i ∈ N
>0, j ∈ N } ∪ ({b}
∗{c}
∗{d}
∗) die Pumping-Eigenschaft f¨ ur CFLs erf¨ ullt.
W¨ ahle n = 4, sei z ∈ L mit |z| ≥ 4 mit z = a
1· · · a
|z|. Fall: z ∈ ({b}
∗{c}
∗{d}
∗)
W¨ ahle die Zerlegung u = v = w = ε, x = a
1, y = a
2· · · a
|z|. Dann gilt z = uvwxy, |vx| ≥ 1, |vwx| ≤ 4 und
uv
iwx
iy = a
i1y ∈ ({b}
∗{c}
∗{d}
∗) f¨ ur alle i ∈ N . Fall: z ∈ {a
ib
jc
jd
j| i ∈ N
>0, j ∈ N }
W¨ ahle die Zerlegung u = v = w = ε, x = a
1= a,
y = a
2· · · a
|z|. Dann gilt z = uvwxy, |vx| ≥ 1, |vwx| ≤ 4 und uv
iwx
iy = a
iy ∈ L f¨ ur alle i ∈ N .
Aber: L ist nicht kontextfrei (wird gleich gezeigt)!
Aufgabe
Aufgabe
Zeige, dass die Sprache
L = {a
ib
jc
jd
j| i ∈ N
>0, j ∈ N } ∪ ({b}
∗{c}
∗{d}
∗) die Pumping-Eigenschaft f¨ ur CFLs erf¨ ullt.
W¨ ahle n = 4, sei z ∈ L mit |z| ≥ 4 mit z = a
1· · · a
|z|. Fall: z ∈ ({b}
∗{c}
∗{d}
∗)
W¨ ahle die Zerlegung u = v = w = ε, x = a
1, y = a
2· · · a
|z|. Dann gilt z = uvwxy, |vx| ≥ 1, |vwx| ≤ 4 und
uv
iwx
iy = a
i1y ∈ ({b}
∗{c}
∗{d}
∗) f¨ ur alle i ∈ N . Fall: z ∈ {a
ib
jc
jd
j| i ∈ N
>0, j ∈ N }
W¨ ahle die Zerlegung u = v = w = ε, x = a
1= a,
y = a
2· · · a
|z|. Dann gilt z = uvwxy, |vx| ≥ 1, |vwx| ≤ 4 und uv
iwx
iy = a
iy ∈ L f¨ ur alle i ∈ N .
Aber: L ist nicht kontextfrei (wird gleich gezeigt)!
Aufgabe
Aufgabe
Zeige, dass die Sprache
L = {a
ib
jc
jd
j| i ∈ N
>0, j ∈ N } ∪ ({b}
∗{c}
∗{d}
∗) die Pumping-Eigenschaft f¨ ur CFLs erf¨ ullt.
W¨ ahle n = 4, sei z ∈ L mit |z| ≥ 4 mit z = a
1· · · a
|z|. Fall: z ∈ ({b}
∗{c}
∗{d}
∗)
W¨ ahle die Zerlegung u = v = w = ε, x = a
1, y = a
2· · · a
|z|. Dann gilt z = uvwxy, |vx| ≥ 1, |vwx| ≤ 4 und
uv
iwx
iy = a
i1y ∈ ({b}
∗{c}
∗{d}
∗) f¨ ur alle i ∈ N . Fall: z ∈ {a
ib
jc
jd
j| i ∈ N
>0, j ∈ N }
W¨ ahle die Zerlegung u = v = w = ε, x = a
1= a,
y = a
2· · · a
|z|. Dann gilt z = uvwxy, |vx| ≥ 1, |vwx| ≤ 4 und uv
iwx
iy = a
iy ∈ L f¨ ur alle i ∈ N .
Aber: L ist nicht kontextfrei (wird gleich gezeigt)!
Aufgabe
Aufgabe
Zeige, dass die Sprache
L = {a
ib
jc
jd
j| i ∈ N
>0, j ∈ N } ∪ ({b}
∗{c}
∗{d}
∗) die Pumping-Eigenschaft f¨ ur CFLs erf¨ ullt.
W¨ ahle n = 4, sei z ∈ L mit |z| ≥ 4 mit z = a
1· · · a
|z|. Fall: z ∈ ({b}
∗{c}
∗{d}
∗)
W¨ ahle die Zerlegung u = v = w = ε, x = a
1, y = a
2· · · a
|z|. Dann gilt z = uvwxy, |vx| ≥ 1, |vwx| ≤ 4 und
uv
iwx
iy = a
i1y ∈ ({b}
∗{c}
∗{d}
∗) f¨ ur alle i ∈ N . Fall: z ∈ {a
ib
jc
jd
j| i ∈ N
>0, j ∈ N }
W¨ ahle die Zerlegung u = v = w = ε, x = a
1= a,
y = a
2· · · a
|z|. Dann gilt z = uvwxy, |vx| ≥ 1, |vwx| ≤ 4 und uv
iwx
iy = a
iy ∈ L f¨ ur alle i ∈ N .
Aber: L ist nicht kontextfrei (wird gleich gezeigt)!
Ogdens Lemma
Verallgemeinerung des Pumping-Lemmas f¨ ur CFLs: Das sogenannte Ogdens Lemma
benannt nach William Ogden Ogdens Lemma
Sei L eine kontextfreie Sprache. Dann gibt es eine Zahl n ∈ N
>0, sodass jedes Wort z ∈ L, das Mindestl¨ ange n hat und in dem mindestens n Zeichen markiert sind, als z = uvwxy geschrieben werden kann, so dass gilt:
vx enth¨ alt mindestens ein markiertes Zeichen
vwx enth¨ alt h¨ ochstens n markierte Zeichen
f¨ ur alle i ≥ 0: uv
iwx
iy ∈ L.
Ogdens Lemma: Beweis
Sei L kontextfrei und G = (V, Σ, P, S) eine CFG in Chomsky-NF mit L(G) = L \ {ε}
Sei z ∈ L mit |z| ≥ 2
|V|+1= n Seien ≥ n Zeichen in z markiert.
Syntaxbaum ist bis auf letzte Schicht (A → a) Bin¨ arbaum.
S
| {z }
z
xx x x