Automatentheorie und formale Sprachen

Werbung
Automatentheorie
und formale Sprachen
VL 11
Chomsky Hierarchie
Kathrin Hoffmann
13. Juni 2012
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
368
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Kontextfreie Grammatik zu Kellerautomat
Gegeben sei kfG in CNF G = (N, T , S, R), dann gibt es den
Kellerautomaten A = (Q, Σ, Γ, δ, q0 , Z0 , F ) mit
• Q = {q0, q1 }
• Γ = N ∪ T ] {#, Z0 }
• δ mit
δ(q0 , , Z0 ) = {(q0 , S#)} . . . . . . . . . . . . . . . Startsymbol auf den Stack
δ(q0 , , X ) = {(q0 , v )} für jedes X → v in R
. . . . . . . . . . . . . . . . . . . . . . Regeln aus den Stack
δ(q0 , a, a) = {(q0 , )} für jedes a ∈ T
. . . . . . . . . . . . . . . . . . . . Abarbeiten der Terminalen
δ(q0 , , #) = {(q1 , } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fertig
• F = {q1 }
und es gilt L(G) = L(A).
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
369
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Kontextfreie Grammatik zu Kellerautomat
Gegeben sei kfG in CNF G = (N, T , S, R), dann gibt es den
Kellerautomaten
und es gilt L(G) = L(A).
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
370
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
BSP
S
Y
E
X
Z
→ XY
→ SZ | EZ
→ XZ
→a
→b
Hoffmann (HAW Hamburg)
(q0, aabb, Z 0)
7→ (q0, aabb, S#)
7→ (q0, aabb, XY #)
7→ (q0, aabb, aY #)
7→ (q0, abb, Y #)
7→ (q0, abb, EZ #)
7→ (q0, abb, XZZ #)
7→ (q0, abb, aZZ #)
7→ (q0, bb, ZZ #)
7→ (q0, bb, bZ #)
7→ (q0, b, Z #)
7→ (q0, b, b#)
7→ (q0, , #)
7→ (q1, , )
Automatentheorie und formale Sprachen
13.6. 2012
371
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Aufgabe 1:
Bitte geben Sie für diese kfG einen Kellerautomaten an und berechnen
mit Hilfe von Konfigurationen
das Wort abba:
S → AX | BY
S→
X → SA
Y → SB
A→a
B→b
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
372
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Aufgabe 1:
Bitte geben Sie für diese kfG einen Kellerautomaten an und berechnen
mit Hilfe von Konfigurationen
das Wort abba:
S → AX | BY
S→
X → SA
Y → SB
A→a
B→b
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
372
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Aufgabe 1:
Bitte geben Sie für diese kfG einen Kellerautomaten an und berechnen
mit Hilfe von Konfigurationen
das Wort abba:
S → AX | BY
S→
X → SA
Y → SB
A→a
B→b
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
372
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Aufgabe 1:
Bitte geben Sie für diese kfG einen Kellerautomaten an und berechnen
mit Hilfe von Konfigurationen
das Wort abba:
S → AX | BY
S→
X → SA
Y → SB
A→a
B→b
Hoffmann (HAW Hamburg)
Automatentheorie
(q0, abba, Z 0)
7→ (q0, abba, S#)
7→ (q0, abba, AX #)
7→ (q0, abba, aX #)
7→ (q0, bba, X #)
7→ (q0, bba, SA#)
7→ (q0, bba, BYA#)
7→ (q0, bba, bYA#)
7→ (q0, ba, YA#)
7→ (q0, ba, SBA#)
7→ (q0, ba, BA#)
7→ (q0, ba, bA#)
7→ (q0, a, A#)
7→ (q0, a, a#)
7→ (q0, , #)
und formale Sprachen 7→ (q1, , )
13.6. 2012
372
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Pumping-Lemma für kontextfreie Sprachen
L = {an bn c n | n > 0}
• Sprache L kontextfrei, wenn es
• eine kontextfreie Grammatik G mit L(G) = L oder
• einen Kellerautomaten A mit L(A) = L gibt.
• Wie aber zeigen, dass eine Sprache nicht kontextfrei ist?
• für regulären Sprachen: das Pumping-Lemma
• ähnliches Pumping-Lemma für die kontextfreien Sprachen
auch uvwxy-Theorem
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
373
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Pumping-Lemma für kontextfreie Sprachen
L = {an bn c n | n > 0}
• Sprache L kontextfrei, wenn es
• eine kontextfreie Grammatik G mit L(G) = L oder
• einen Kellerautomaten A mit L(A) = L gibt.
• Wie aber zeigen, dass eine Sprache nicht kontextfrei ist?
• für regulären Sprachen: das Pumping-Lemma
• ähnliches Pumping-Lemma für die kontextfreien Sprachen
auch uvwxy-Theorem
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
373
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Pumping-Lemma für kontextfreie Sprachen
L = {an bn c n | n > 0}
• Sprache L kontextfrei, wenn es
• eine kontextfreie Grammatik G mit L(G) = L oder
• einen Kellerautomaten A mit L(A) = L gibt.
• Wie aber zeigen, dass eine Sprache nicht kontextfrei ist?
• für regulären Sprachen: das Pumping-Lemma
• ähnliches Pumping-Lemma für die kontextfreien Sprachen
auch uvwxy-Theorem
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
373
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Pumping-Lemma für kontextfreie Sprachen
L = {an bn c n | n > 0}
• Sprache L kontextfrei, wenn es
• eine kontextfreie Grammatik G mit L(G) = L oder
• einen Kellerautomaten A mit L(A) = L gibt.
• Wie aber zeigen, dass eine Sprache nicht kontextfrei ist?
• für regulären Sprachen: das Pumping-Lemma
• ähnliches Pumping-Lemma für die kontextfreien Sprachen
auch uvwxy-Theorem
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
373
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Pumping-Lemma für kontextfreie Sprachen
L = {an bn c n | n > 0}
• Sprache L kontextfrei, wenn es
• eine kontextfreie Grammatik G mit L(G) = L oder
• einen Kellerautomaten A mit L(A) = L gibt.
• Wie aber zeigen, dass eine Sprache nicht kontextfrei ist?
• für regulären Sprachen: das Pumping-Lemma
• ähnliches Pumping-Lemma für die kontextfreien Sprachen
auch uvwxy-Theorem
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
373
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Pumping-Lemma
•
•
•
•
Alle Wörter ab einer gewissen Länge p
enthalten Teilwörter v und x,
von denen mindestens eines nicht leer ist,
die sich ”aufpumpen” lassen.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
374
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Pumping-Lemma
•
•
•
•
Alle Wörter ab einer gewissen Länge p
enthalten Teilwörter v und x,
von denen mindestens eines nicht leer ist,
die sich ”aufpumpen” lassen.
Satz: Pumping-Lemma, uvwxy-Theorem
Sei Σ ein Alphabet und L ⊆ Σ∗ eine kontextfreie Sprache.
Dann lassen sich alle Wörter z ∈ L ab einer Länge |z| ≥ p
(der Pumping-Lemma Konstante)
darstellen als
z = uvwxy
mit u, v , w, x, y ∈ Σ∗ und
• |vwx| ≤ p
• |vx| > 0
• uv k wx k y ∈ L für alle k ∈ N0
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
374
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Beweis (1)
des Pumping-Lemmas für kontextfreie Sprachen
1
2
G = (N, T , S, R) kfG in CNF für L, also
Regeln der Form X → YZ oder
X →a
Ableitungsbaum für z ∈ L ist binärer Baum,
dessen Blätter die einzelnen Zeichen des Wortes z sind
3
Ist p die Länge des Wortes z, dann hat der binäre Baum p Blätter.
4
Ableitungsbaum hat Tiefe von mindestens log(p) + 1, denn
binäre Bäume mit n Blättern haben Tiefe ≥ log(n)
und keine zwei Blätter an einem Vorgänger im Baum
5
Sei die Anzahl der Nonterminale |N| = m und p = 2m+1
6
Dann hat jedes Wort z ∈ L mit |z| ≥ p
einen Ableitungsbaum mit Tiefe von mindestens m + 2.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
375
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Beweis (1)
des Pumping-Lemmas für kontextfreie Sprachen
1
2
G = (N, T , S, R) kfG in CNF für L, also
Regeln der Form X → YZ oder
X →a
Ableitungsbaum für z ∈ L ist binärer Baum,
dessen Blätter die einzelnen Zeichen des Wortes z sind
3
Ist p die Länge des Wortes z, dann hat der binäre Baum p Blätter.
4
Ableitungsbaum hat Tiefe von mindestens log(p) + 1, denn
binäre Bäume mit n Blättern haben Tiefe ≥ log(n)
und keine zwei Blätter an einem Vorgänger im Baum
5
Sei die Anzahl der Nonterminale |N| = m und p = 2m+1
6
Dann hat jedes Wort z ∈ L mit |z| ≥ p
einen Ableitungsbaum mit Tiefe von mindestens m + 2.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
375
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Beweis (1)
des Pumping-Lemmas für kontextfreie Sprachen
1
2
G = (N, T , S, R) kfG in CNF für L, also
Regeln der Form X → YZ oder
X →a
Ableitungsbaum für z ∈ L ist binärer Baum,
dessen Blätter die einzelnen Zeichen des Wortes z sind
3
Ist p die Länge des Wortes z, dann hat der binäre Baum p Blätter.
4
Ableitungsbaum hat Tiefe von mindestens log(p) + 1, denn
binäre Bäume mit n Blättern haben Tiefe ≥ log(n)
und keine zwei Blätter an einem Vorgänger im Baum
5
Sei die Anzahl der Nonterminale |N| = m und p = 2m+1
6
Dann hat jedes Wort z ∈ L mit |z| ≥ p
einen Ableitungsbaum mit Tiefe von mindestens m + 2.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
375
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Beweis (1)
des Pumping-Lemmas für kontextfreie Sprachen
1
2
G = (N, T , S, R) kfG in CNF für L, also
Regeln der Form X → YZ oder
X →a
Ableitungsbaum für z ∈ L ist binärer Baum,
dessen Blätter die einzelnen Zeichen des Wortes z sind
3
Ist p die Länge des Wortes z, dann hat der binäre Baum p Blätter.
4
Ableitungsbaum hat Tiefe von mindestens log(p) + 1, denn
binäre Bäume mit n Blättern haben Tiefe ≥ log(n)
und keine zwei Blätter an einem Vorgänger im Baum
5
Sei die Anzahl der Nonterminale |N| = m und p = 2m+1
6
Dann hat jedes Wort z ∈ L mit |z| ≥ p
einen Ableitungsbaum mit Tiefe von mindestens m + 2.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
375
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Beweis (1)
des Pumping-Lemmas für kontextfreie Sprachen
1
2
G = (N, T , S, R) kfG in CNF für L, also
Regeln der Form X → YZ oder
X →a
Ableitungsbaum für z ∈ L ist binärer Baum,
dessen Blätter die einzelnen Zeichen des Wortes z sind
3
Ist p die Länge des Wortes z, dann hat der binäre Baum p Blätter.
4
Ableitungsbaum hat Tiefe von mindestens log(p) + 1, denn
binäre Bäume mit n Blättern haben Tiefe ≥ log(n)
und keine zwei Blätter an einem Vorgänger im Baum
5
Sei die Anzahl der Nonterminale |N| = m und p = 2m+1
6
Dann hat jedes Wort z ∈ L mit |z| ≥ p
einen Ableitungsbaum mit Tiefe von mindestens m + 2.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
375
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Beweis (1)
des Pumping-Lemmas für kontextfreie Sprachen
1
2
G = (N, T , S, R) kfG in CNF für L, also
Regeln der Form X → YZ oder
X →a
Ableitungsbaum für z ∈ L ist binärer Baum,
dessen Blätter die einzelnen Zeichen des Wortes z sind
3
Ist p die Länge des Wortes z, dann hat der binäre Baum p Blätter.
4
Ableitungsbaum hat Tiefe von mindestens log(p) + 1, denn
binäre Bäume mit n Blättern haben Tiefe ≥ log(n)
und keine zwei Blätter an einem Vorgänger im Baum
5
Sei die Anzahl der Nonterminale |N| = m und p = 2m+1
6
Dann hat jedes Wort z ∈ L mit |z| ≥ p
einen Ableitungsbaum mit Tiefe von mindestens m + 2.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
375
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
BSP Ableitungsbaum für kfG in CNF
S → XY
Y → SZ | EZ
E → XZ
X →a
Z →b
Wort:
w = aaaabbbb
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
376
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Beweis (2)
des Pumping-Lemmas für kontextfreie Sprachen
7
längster Pfad von der Wurzel zu einem
Blatt:
Länge mindestens m + 2
8
Endstück q davon mit der Länge m + 2
m + 1 Vorkommen von Nonterminalen
mindestens ein Nonterminal R mehrfach,
denn G hat nur m
9
letztes R erzeugt das Teilwort w
10
vorletzes R erzeugt das Teilwort vwx
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
377
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Beweis (2)
des Pumping-Lemmas für kontextfreie Sprachen
7
längster Pfad von der Wurzel zu einem
Blatt:
Länge mindestens m + 2
8
Endstück q davon mit der Länge m + 2
m + 1 Vorkommen von Nonterminalen
mindestens ein Nonterminal R mehrfach,
denn G hat nur m
9
letztes R erzeugt das Teilwort w
10
vorletzes R erzeugt das Teilwort vwx
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
377
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Beweis (2)
des Pumping-Lemmas für kontextfreie Sprachen
7
längster Pfad von der Wurzel zu einem
Blatt:
Länge mindestens m + 2
8
Endstück q davon mit der Länge m + 2
m + 1 Vorkommen von Nonterminalen
mindestens ein Nonterminal R mehrfach,
denn G hat nur m
9
letztes R erzeugt das Teilwort w
10
vorletzes R erzeugt das Teilwort vwx
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
377
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Beweis (2)
des Pumping-Lemmas für kontextfreie Sprachen
7
längster Pfad von der Wurzel zu einem
Blatt:
Länge mindestens m + 2
8
Endstück q davon mit der Länge m + 2
m + 1 Vorkommen von Nonterminalen
mindestens ein Nonterminal R mehrfach,
denn G hat nur m
9
letztes R erzeugt das Teilwort w
10
vorletzes R erzeugt das Teilwort vwx
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
377
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Beweis (3)
des Pumping-Lemmas für kontextfreie Sprachen
11
Tiefe des Teilbaums vom vorletzten R ist
höchstens m + 2
denn keine Pfadlänge > m + 2
Länge von vwx höchstens 2m + 1 = p
12
vorletzes R mit Regel R → YZ
also vor oder hinter dem Teilwort w ein
nichtleeres Teilwort v bzw. x
13
beide Bedingungen |vx| > 0 und |vwx| ≤ p
erfüllt
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
378
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Beweis (3)
des Pumping-Lemmas für kontextfreie Sprachen
11
Tiefe des Teilbaums vom vorletzten R ist
höchstens m + 2
denn keine Pfadlänge > m + 2
Länge von vwx höchstens 2m + 1 = p
12
vorletzes R mit Regel R → YZ
also vor oder hinter dem Teilwort w ein
nichtleeres Teilwort v bzw. x
13
beide Bedingungen |vx| > 0 und |vwx| ≤ p
erfüllt
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
378
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Beweis (3)
des Pumping-Lemmas für kontextfreie Sprachen
11
Tiefe des Teilbaums vom vorletzten R ist
höchstens m + 2
denn keine Pfadlänge > m + 2
Länge von vwx höchstens 2m + 1 = p
12
vorletzes R mit Regel R → YZ
also vor oder hinter dem Teilwort w ein
nichtleeres Teilwort v bzw. x
13
beide Bedingungen |vx| > 0 und |vwx| ≤ p
erfüllt
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
378
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Beweis (4)
des Pumping-Lemmas für kontextfreie Sprachen
14
Teilbaum des vorletzten R an Stelle
des Teilbaums des letzten R
15
gültiger Ableitungsbaum für das Wort
uvvwxxy = uv 2 wx 2 y
16
Ableitungsbäume für alle Wörter der Form
uv k wx k y mit k > 0 erzeugen.
17
Ableitungsbaum für uv 0 wx 0 y durch
Teilbaum des letzten R an Stelle
des Teilbaums des vorletzten R
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
379
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Beweis (4)
des Pumping-Lemmas für kontextfreie Sprachen
14
Teilbaum des vorletzten R an Stelle
des Teilbaums des letzten R
15
gültiger Ableitungsbaum für das Wort
uvvwxxy = uv 2 wx 2 y
16
Ableitungsbäume für alle Wörter der Form
uv k wx k y mit k > 0 erzeugen.
17
Ableitungsbaum für uv 0 wx 0 y durch
Teilbaum des letzten R an Stelle
des Teilbaums des vorletzten R
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
379
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Beweis (4)
des Pumping-Lemmas für kontextfreie Sprachen
14
Teilbaum des vorletzten R an Stelle
des Teilbaums des letzten R
15
gültiger Ableitungsbaum für das Wort
uvvwxxy = uv 2 wx 2 y
16
Ableitungsbäume für alle Wörter der Form
uv k wx k y mit k > 0 erzeugen.
17
Ableitungsbaum für uv 0 wx 0 y durch
Teilbaum des letzten R an Stelle
des Teilbaums des vorletzten R
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
379
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Beweis (4)
des Pumping-Lemmas für kontextfreie Sprachen
14
Teilbaum des vorletzten R an Stelle
des Teilbaums des letzten R
15
gültiger Ableitungsbaum für das Wort
uvvwxxy = uv 2 wx 2 y
16
Ableitungsbäume für alle Wörter der Form
uv k wx k y mit k > 0 erzeugen.
17
Ableitungsbaum für uv 0 wx 0 y durch
Teilbaum des letzten R an Stelle
des Teilbaums des vorletzten R
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
379
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
BSP: Anwendung des PL für kfG
L = {an bn c n |n ∈ N} ist nicht kontextfrei.
Beweis: L sei kontextfrei, also gilt das Pumping-Lemma.
Sei z = ap bp c p , dann z ∈ L und |z| ≥ p.
vwx enthält nicht alle drei Zeichen a, b und c, denn |vwx| ≤ p.
Das fehlende Zeichen wird beim Aufpumpen zu uv 2 wx 2 y nicht
vervielfältigt.
Weil aber |vx| > 0 werden die Zeichen in vx vervielfältigt.
uv 2 wx 2 y < L, denn nicht mehr gleich viele a’s, b’s und c’s
Widerspruch zur Aussage des Pumping-Lemmas.
Daher muss die Annahme falsch sein, d.h. L ist nicht kontextfrei.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
380
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
BSP: Anwendung des PL für kfG
L = {an bn c n |n ∈ N} ist nicht kontextfrei.
Beweis: L sei kontextfrei, also gilt das Pumping-Lemma.
Sei z = ap bp c p , dann z ∈ L und |z| ≥ p.
vwx enthält nicht alle drei Zeichen a, b und c, denn |vwx| ≤ p.
Das fehlende Zeichen wird beim Aufpumpen zu uv 2 wx 2 y nicht
vervielfältigt.
Weil aber |vx| > 0 werden die Zeichen in vx vervielfältigt.
uv 2 wx 2 y < L, denn nicht mehr gleich viele a’s, b’s und c’s
Widerspruch zur Aussage des Pumping-Lemmas.
Daher muss die Annahme falsch sein, d.h. L ist nicht kontextfrei.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
380
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
BSP: Anwendung des PL für kfG
L = {an bn c n |n ∈ N} ist nicht kontextfrei.
Beweis: L sei kontextfrei, also gilt das Pumping-Lemma.
Sei z = ap bp c p , dann z ∈ L und |z| ≥ p.
vwx enthält nicht alle drei Zeichen a, b und c, denn |vwx| ≤ p.
Das fehlende Zeichen wird beim Aufpumpen zu uv 2 wx 2 y nicht
vervielfältigt.
Weil aber |vx| > 0 werden die Zeichen in vx vervielfältigt.
uv 2 wx 2 y < L, denn nicht mehr gleich viele a’s, b’s und c’s
Widerspruch zur Aussage des Pumping-Lemmas.
Daher muss die Annahme falsch sein, d.h. L ist nicht kontextfrei.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
380
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
BSP: Anwendung des PL für kfG
L = {an bn c n |n ∈ N} ist nicht kontextfrei.
Beweis: L sei kontextfrei, also gilt das Pumping-Lemma.
Sei z = ap bp c p , dann z ∈ L und |z| ≥ p.
vwx enthält nicht alle drei Zeichen a, b und c, denn |vwx| ≤ p.
Das fehlende Zeichen wird beim Aufpumpen zu uv 2 wx 2 y nicht
vervielfältigt.
Weil aber |vx| > 0 werden die Zeichen in vx vervielfältigt.
uv 2 wx 2 y < L, denn nicht mehr gleich viele a’s, b’s und c’s
Widerspruch zur Aussage des Pumping-Lemmas.
Daher muss die Annahme falsch sein, d.h. L ist nicht kontextfrei.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
380
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
BSP: Anwendung des PL für kfG
L = {an bn c n |n ∈ N} ist nicht kontextfrei.
Beweis: L sei kontextfrei, also gilt das Pumping-Lemma.
Sei z = ap bp c p , dann z ∈ L und |z| ≥ p.
vwx enthält nicht alle drei Zeichen a, b und c, denn |vwx| ≤ p.
Das fehlende Zeichen wird beim Aufpumpen zu uv 2 wx 2 y nicht
vervielfältigt.
Weil aber |vx| > 0 werden die Zeichen in vx vervielfältigt.
uv 2 wx 2 y < L, denn nicht mehr gleich viele a’s, b’s und c’s
Widerspruch zur Aussage des Pumping-Lemmas.
Daher muss die Annahme falsch sein, d.h. L ist nicht kontextfrei.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
380
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
BSP: Anwendung des PL für kfG
L = {an bn c n |n ∈ N} ist nicht kontextfrei.
Beweis: L sei kontextfrei, also gilt das Pumping-Lemma.
Sei z = ap bp c p , dann z ∈ L und |z| ≥ p.
vwx enthält nicht alle drei Zeichen a, b und c, denn |vwx| ≤ p.
Das fehlende Zeichen wird beim Aufpumpen zu uv 2 wx 2 y nicht
vervielfältigt.
Weil aber |vx| > 0 werden die Zeichen in vx vervielfältigt.
uv 2 wx 2 y < L, denn nicht mehr gleich viele a’s, b’s und c’s
Widerspruch zur Aussage des Pumping-Lemmas.
Daher muss die Annahme falsch sein, d.h. L ist nicht kontextfrei.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
380
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
BSP: Anwendung des PL für kfG
L = {an bn c n |n ∈ N} ist nicht kontextfrei.
Beweis: L sei kontextfrei, also gilt das Pumping-Lemma.
Sei z = ap bp c p , dann z ∈ L und |z| ≥ p.
vwx enthält nicht alle drei Zeichen a, b und c, denn |vwx| ≤ p.
Das fehlende Zeichen wird beim Aufpumpen zu uv 2 wx 2 y nicht
vervielfältigt.
Weil aber |vx| > 0 werden die Zeichen in vx vervielfältigt.
uv 2 wx 2 y < L, denn nicht mehr gleich viele a’s, b’s und c’s
Widerspruch zur Aussage des Pumping-Lemmas.
Daher muss die Annahme falsch sein, d.h. L ist nicht kontextfrei.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
380
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Aufgabe 2:
Zeigen Sie bitte durch Anwendung des Pumping-Lemmas für
kontextfreie Sprachen, dass die Sprache L = {an bm c n d m |n, m ≥ 0} ist
nicht kontextfrei.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
381
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Aufgabe 2:
Zeigen Sie bitte durch Anwendung des Pumping-Lemmas für
kontextfreie Sprachen, dass die Sprache L = {an bm c n d m |n, m ≥ 0} ist
nicht kontextfrei.
Beweis: L sei kontextfrei, also gilt das Pumping-Lemma.
Sei z = ap bp ap bp , dann z ∈ L und |z| ≥ p.
vwx enthält ein oder zwei unterschiedliche Zeichen, denn |vwx| ≤ p.
• vwx enthält nur ein unterschiedliches Zeichen:
weil vx , , wird durch das Löschen von v und x für ein Zeichen
der Exponent erniedrigt.
Also uv 0 wx 0 y = uwy = ai bj c k d l < L,
denn entweder i , k oder j , l
• vwx enthält zwei unterschiedliches Zeichen:
weil vx , , wird durch das Löschen von v und x für mindestens
ein Zeichen der Exponent erniedrigt.
Also uv 0 wx 0 y = uwy = ai bj c k d l < L, denn i , k oder j , l
Widerspruch zur Aussage des Pumping-Lemmas.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
381
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Anwendungen kontextfreier Grammatiken
• DTDs (Dokumenttypdefinition )
• Syntax-Definitionen für Programmiersprachen
• Syntaxanalyse mit Parsierung
• Analyse natürlicher Sprachen
(mit Einschränkungen)
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
382
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Backus-Naur-Form
• kompakte formale Metasprache für kontextfreier Grammatiken
• Syntax gängiger höherer Programmiersprachen.
• auch für die Notation von Befehlssätzen und
Kommunikationsprotokollen
• von John Backus und Peter Naur eingeführt
• erstmals für ALGOL60 (1960) benutzt
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
383
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Syntax der Backus-Naur-Form
Konzept
::=
|
<...>
Bedeutung
definiert als
oder
nichtterminal
kf. Grammatik
→
|
X ∈N
BSP: deutsche Postanschrift:
<Post-Anschrift>
<Personenteil>
<Titelteil>
<Vornamenteil>
<Namensteil>
<Straße>
<Stadt>
::=
::=
::=
::=
::=
::=
::=
<Personenteil> <Straße> <Stadt>
<Titelteil> <Namensteil> <EOL>
<Titel> |
<Vorname> | <Initial> .
<Vornamenteil> <Nachname> | <Vornamenteil>
<Straßenname> <Hausnummer> <EOL>
<Postleitzahl> <Stadtname> <EOL>
http://de.wikipedia.org/wiki/Backus-Naur-Form
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
384
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Erweiterte Backus-Naur-Form
• optionale Teile in [ und ] eingeschlossen:
<if_statement> ::= if <boolean_expression> then
<statement_sequ
[ else <statement_se
end if ;
zwei Regeln in kontextfreien Grammatiken:
I → if B then S end if
I → if B then S else S end if
• Wiederholungen werden in { und } eingeschlossen:
<identifier> ::= <letter> { <letter> | <digit> }
sechs Regeln in kontextfreien Grammatiken:
I → L|LJ
J → LJ|DJ|L|D
• terminale Zeichen werden in Hochkommas eingeschlossen:
<statement_sequence> ::=
<statement> { ";" <state
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
385
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Kontextsensitive Grammatiken und Sprachen
• Eine Grammatik G = (N, T , S, R) heißt kontextsensitiv wenn alle
Regeln die Form
u → v mit |u| ≤ |v |
haben, d.h. wenn die linke Seite einer Regel ist nie länger als die
rechte Seite.
• Als einzige Ausnahme ist die Regel S → zugelassen,
um das leere Wort zu erzeugen.
Dann aber darf das Startsymbol S nicht rekursiv sein,
d.h. nicht auf der rechten Seite einer Regel auftreten.
• Eine Regel, deren linke Seite nicht länger ist als die rechte Seite,
heißt monoton bezeichnet.
Daher heißt eine kontextsensitive Grammatik auch monotone
Grammatik.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
386
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
BSP
G = (N, T , S, R)
mit T = {a, b, c}
N = {S, A, B}
R:
S → aSBc | aXc
cB → Bc
XB → bX
X →b
S =⇒ aSBc =⇒ aaSBcBc =⇒ aaaXcBcBc =⇒ aaaXcBBcc =⇒
aaaXBcBcc =⇒ aaaXBBccc =⇒ aaabXBccc =⇒ aaabbXccc =⇒
aaabbbccc
L(G) = {an bn c n | n > 0}
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
387
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Aufgabe 3:
Geben Sie bitte eine ksG für L = {ww | w ∈ {a, b, c}∗ } an und leiten
dann bitte abcabc ab.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
388
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Aufgabe 3:
Geben Sie bitte eine ksG für L = {ww | w ∈ {a, b, c}∗ } an und leiten
dann bitte abcabc ab.
Tipp:
Benutzen Sie pro Terminal als erstes Regeln der Form S → xXS.
X ist der Indikator dafür, dass noch in der anderen Worthälfte an
gleicher Stelle ein x zu setzen ist.
Entwerfen Sie nun Regeln, die es erlauben X in die zweite Hälfte des
Wortes zu schieben.
Wandeln Sie dann die X in die entsprechenden Terminale um.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
388
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Lösung von Aufgabe 3
S → aMa | bMb | cMc | Ma → aAMa | bBMa | cCMa | Ea
Mb → aAMb | bBMb | cCMb | Eb
Mc → aAMc | bBMc | cCMc | Ec
Nt → tN für N ∈ {A, B, C} und t ∈ {a, b, c}
AMa → Ma a
AMb → Mb a
AMc → Mc a
BMa → Ma b
BMb → Mb b
BMc → Mc b
CMa → Ma c
CMb → Mb c
CMc → Mc c
Ea → a
Eb → b
Ec → c
S =⇒ aMa =⇒ abBMa =⇒ abBcCMa =⇒ abcBCMa
=⇒ abcBMa c =⇒ abcMa bc =⇒ abcabc
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
389
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Turingmaschine
• 1936 Alan Turing
• Lösung des Entscheidungsproblems
• Maschine besteht aus
• endliche Steuerung/Programm,
• Lese/Schreibkopf und
• unendlich langes Band.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
390
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Formale Definition einer Turingmaschine
Definition
Ein Turingmaschine (TM) ist ein Tupel
M = (Q, Σ, Γ, δ, q0 , B, F )
bestehend aus
• der endlichen Menge Q von Zuständen,
• dem Eingabealphabeth Σ,
• dem Bandalphabet Γ,
• der Übergangsfunktion δ : Q × Σ × Γ → Q × Γ × D
mit Bewegungsrichtung der Steuerung D = {L, R},
• dem Anfangszustand q0 ∈ Q,
• dem leeren Feld (Blank) B ∈ Γ \ Σ und
• der Menge F ⊆ Q von Endzuständen.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
391
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Beispiel: L(M) = {0n 1n |n ≥ 1}
Turingmaschine (TM)
M = (Q, Σ, Γ, δ, q0 , B, F )
mit
• der endlichen Menge Q = {q0 , q1 , q2 , q3 , q4 },
• dem Eingabealphabeth Σ = {0, 1},
• dem Bandalphabet Γ = {0, 1, X , Y , B},
• der Übergangsfunktion δ : Q × Σ × Γ → Q × Γ × D,
• dem Anfangszustand q0 ∈ Q,
• dem leeren Feld (Blank) B ∈ Γ \ Σ und
• der Menge F = {q4 }
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
392
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Beispiel: L(M) = {0n 1n |n ≥ 1}
Übergangsfunktion δ : Q × Σ × Γ → Q × Γ × D mit
0
1
X
Y
q0 (q1 , X , R)
(q3 , Y , R)
q1 (q2 , 0, R) (q2 , Y , L)
(q1 , Y , R)
q2 (q2 , 0, L)
(q0 , X , R) (q2 , Y , L)
q3
(q3 , Y , R)
q4
-
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
B
(q4 , B, R)
-
13.6. 2012
393
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Chomsky-Hierarchie
• Reguläre Sprachen
• Beispiel:
L = {an bm |n, m ∈ N}
• Wie werden sie erkannt?
• Kontextfreie Sprachen:
• Beispiel: L = {an b n |n ∈ N}
• Wie werden sie erkannt?
• Kontextsensitive Sprachen:
• Beispiel: L = {an b n c n |n ∈ N}
• Wie werden sie erkannt?
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
394
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Chomsky-Hierarchie
• Reguläre Sprachen
• Beispiel:
L = {an bm |n, m ∈ N}
• Wie werden sie erkannt?
Endliche Automaten
• Kontextfreie Sprachen:
• Beispiel: L = {an b n |n ∈ N}
• Wie werden sie erkannt?
Kellerautomaten
• Kontextsensitive Sprachen:
• Beispiel: L = {an b n c n |n ∈ N}
• Wie werden sie erkannt?
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
394
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Aufgabe 4:
Gegeben ist die Grammatik GN = (N, D, S, RN ) mit
RN :S → d0 |dX
wobei d0 ∈ {0, 1, .., 9} = D und d ∈ {1, .., 9}.
X → d0 X |
Geben Sie bitte darauf aufbauend eine Grammatik an für
• die ganzen Zahlen Z
• die rationalen Zahlen Q
• und die reellen Zahlen R
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
395
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Aufgabe 4:
Gegeben ist die Grammatik GN = (N, D, S, RN ) mit
RN :S → d0 |dX
wobei d0 ∈ {0, 1, .., 9} = D und d ∈ {1, .., 9}.
X → d0 X |
Geben Sie bitte darauf aufbauend eine Grammatik an für
• die ganzen Zahlen Z
GZ = (N ] {V }, D ∪ {−, +}, V , RN ∪ {V → −S | +S | S})
• die rationalen Zahlen Q
• und die reellen Zahlen R
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
395
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Aufgabe 4:
Gegeben ist die Grammatik GN = (N, D, S, RN ) mit
RN :S → d0 |dX
wobei d0 ∈ {0, 1, .., 9} = D und d ∈ {1, .., 9}.
X → d0 X |
Geben Sie bitte darauf aufbauend eine Grammatik an für
• die ganzen Zahlen Z
GZ = (N ] {V }, D ∪ {−, +}, V , RN ∪ {V → −S | +S | S})
• die rationalen Zahlen Q
GQ = {N ] {V , Q}, D ∪ {−, +, /}, Q, RN ∪ {V → −S | +S | S}
∪{Q → V /S | V })
• und die reellen Zahlen R
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
395
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Aufgabe 4:
Gegeben ist die Grammatik GN = (N, D, S, RN ) mit
RN :S → d0 |dX
wobei d0 ∈ {0, 1, .., 9} = D und d ∈ {1, .., 9}.
X → d0 X |
Geben Sie bitte darauf aufbauend eine Grammatik an für
• die ganzen Zahlen Z
GZ = (N ] {V }, D ∪ {−, +}, V , RN ∪ {V → −S | +S | S})
• die rationalen Zahlen Q
GQ = {N ] {V , Q}, D ∪ {−, +, /}, Q, RN ∪ {V → −S | +S | S}
∪{Q → V /S | V })
• und die reellen Zahlen R
geht nicht!!!
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
395
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Abzählbar
Definition
Eine Menge M ist abzählbar,
• falls es eine Funktion f : N → M gibt, die surjektiv ist
(d. h. alle Elemente aus M kommen als Bildelement vor), oder
• falls M = ∅.
Ist eine Menge nicht abzählbar, so ist sie überabzählbar.
BSP: Abzählbare Mengen
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
396
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Mächtigkeit der Menge aller Wörter über Σ
Satz:
Sei Σ ein Alphabet. Es gibt abzählbar unendlich viele Wörter über Σ,
d.h. die Menge Σ∗ aller Wörter über Σ hat die Mächtigkeit abzählbar
unendlich.
Beweis:
• Σ∗ enthält unendlich viele Elemente:
Angenommen, Σ∗ sei endlich.
Dann enthält Σ∗ ein Wort w maximaler Länge. Sei a ∈ Σ. Dann
wa ∈ Σ∗ , aber andererseits wa < Σ∗ , da Σ∗ nur Wörter der Länge
kleiner gleich|w| enthält und |wa| > |w| gilt.
Dies ist ein Widerspruch; also ist die Annahme falsch.
• Σ∗ ist abzählbar unendlich: Standard-Ordnung auf Σ∗
(zunächst ihrer Länge nach und dann
bei gleicher Länge lexikographisch)
und liefert eine surjektive Abbildung von N → Σ∗
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
397
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Alle Sprachen sind abzählbar
Satz:
Jede Teilmenge M 0 einer abzählbaren Menge M ist auch abzählbar.
Beweis: Sei surjektives f : N → M gegeben. Definiere f 0 : N → M 0 mit


falls f (n) ∈ M 0
f (n)
f 0 (n) = 

w ∈ M 0 sonst
Da f surjektiv, werden alle Elemente von M 0 abgedeckt. Dieselben
Bildelemente in N decken durch f 0 die Menge M 0 ab. Damit ist f 0 auch
surjektiv.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
398
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Aufgabe 5:
Zeigen Sie, dass Q abzählbar unendlich ist.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
399
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Aufgabe 5:
Zeigen Sie, dass Q abzählbar unendlich ist.
Lösung
Wir haben Grammatik GQ für Q.
Also ist Q = L(G) ⊆ Σ∗ , also ist Q abzählbar unendlich.
oder 1. Cantorsche Diagonalisierungsverfahren
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
399
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Cantorsche Diagonalisierungsverfahren
Zweidimensionale Darstellung aller Brüche
0 1 −1 2 −2 3 ...
1
1
1
−1
1
2
1
−2
1
3
1
...
2
1
2
−1
2
2
2
−2
2
3
2
...
3
1
3
−1
3
2
3
−2
3
3
3
...
1
4
..
.
−1
4
..
.
2
4
..
.
−2
4
..
.
3
4
..
.
...
4
..
.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
400
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Cantorsche Diagonalisierungsverfahren
Zweidimensionale Aufzählung aller Brüche
Hausaufgabe 6: Geben Sie bitte die Abbildung f : N → Q an, die diese
Aufzählung beschreibt.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
400
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Mächtigkeit der Menge aller Sprachen über Σ∗
Satz:
Sei Σ ein Alphabet.
Es gibt überabzählbar viele Sprachen über Σ,
d.h. die Mächtigkeit der Menge aller Sprachen über Σ ist
überabzählbar unendlich.
Der Satz lässt sich mit dem 2. Cantorschen Diagonalverfahren
beweisen.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
401
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
2. Cantorschen Diagonalverfahren für Sprachen
Angenommen, die Menge aller Sprachen über Σ sei abzählbar.
• Sprachen L1 , L2 , L3 , ... ⊆ Σ∗ und Wörtern wj ∈ Σ∗ in
Standardordnung in folgender Tabelle:
w1 w2 w3 w4 w5 w6 ...
mit Tabelleneintr
ägen
L1 1
1
1
0
1
1 ...



L2 1
0
1
0
1
0 ...
1
falls
w

j ∈ Li
t
=

ij

L3 0
1
1
0
0
1 ...
0 falls wj < Li
..
..
..
..
..
..
.
.
.
.
.
.
• Diagonale der Tabelle ist die charakteristische Funktion von Ld ,
der Diagonalsprache. Ld enthält hier die Wörter w1 , w3 , ...
• Ld ist nicht in der Tabelle, denn Ld kann keine der Li sein, weil sie
in der i-ten Spalte genau dann eine 0 hat, wenn Li dort eine 1 hat,
und umgekehrt.
• WIDERSPRUCH zur Annahme,
dass die Menge aller Sprachen über Σ abzählbar ist.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
402
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
2. Cantorschen Diagonalverfahren für Sprachen
Angenommen, die Menge aller Sprachen über Σ sei abzählbar.
• Sprachen L1 , L2 , L3 , ... ⊆ Σ∗ und Wörtern wj ∈ Σ∗ in
Standardordnung in folgender Tabelle:
w1 w2 w3 w4 w5 w6 ...
mit Tabelleneintr
ägen
L1 1
1
1
0
1
1 ...



L2 1
0
1
0
1
0 ...
1
falls
w

j ∈ Li
t
=

ij

L3 0
1
1
0
0
1 ...
0 falls wj < Li
..
..
..
..
..
..
.
.
.
.
.
.
• Diagonale der Tabelle ist die charakteristische Funktion von Ld ,
der Diagonalsprache. Ld enthält hier die Wörter w1 , w3 , ...
• Ld ist nicht in der Tabelle, denn Ld kann keine der Li sein, weil sie
in der i-ten Spalte genau dann eine 0 hat, wenn Li dort eine 1 hat,
und umgekehrt.
• WIDERSPRUCH zur Annahme,
dass die Menge aller Sprachen über Σ abzählbar ist.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
402
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
2. Cantorschen Diagonalverfahren für Sprachen
Angenommen, die Menge aller Sprachen über Σ sei abzählbar.
• Sprachen L1 , L2 , L3 , ... ⊆ Σ∗ und Wörtern wj ∈ Σ∗ in
Standardordnung in folgender Tabelle:
w1 w2 w3 w4 w5 w6 ...
mit Tabelleneintr
ägen
L1 1
1
1
0
1
1 ...



L2 1
0
1
0
1
0 ...
1
falls
w

j ∈ Li
t
=

ij

L3 0
1
1
0
0
1 ...
0 falls wj < Li
..
..
..
..
..
..
.
.
.
.
.
.
• Diagonale der Tabelle ist die charakteristische Funktion von Ld ,
der Diagonalsprache. Ld enthält hier die Wörter w1 , w3 , ...
• Ld ist nicht in der Tabelle, denn Ld kann keine der Li sein, weil sie
in der i-ten Spalte genau dann eine 0 hat, wenn Li dort eine 1 hat,
und umgekehrt.
• WIDERSPRUCH zur Annahme,
dass die Menge aller Sprachen über Σ abzählbar ist.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
402
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
2. Cantorschen Diagonalverfahren für Sprachen
Angenommen, die Menge aller Sprachen über Σ sei abzählbar.
• Sprachen L1 , L2 , L3 , ... ⊆ Σ∗ und Wörtern wj ∈ Σ∗ in
Standardordnung in folgender Tabelle:
w1 w2 w3 w4 w5 w6 ...
mit Tabelleneintr
ägen
L1 1
1
1
0
1
1 ...



L2 1
0
1
0
1
0 ...
1
falls
w

j ∈ Li
t
=

ij

L3 0
1
1
0
0
1 ...
0 falls wj < Li
..
..
..
..
..
..
.
.
.
.
.
.
• Diagonale der Tabelle ist die charakteristische Funktion von Ld ,
der Diagonalsprache. Ld enthält hier die Wörter w1 , w3 , ...
• Ld ist nicht in der Tabelle, denn Ld kann keine der Li sein, weil sie
in der i-ten Spalte genau dann eine 0 hat, wenn Li dort eine 1 hat,
und umgekehrt.
• WIDERSPRUCH zur Annahme,
dass die Menge aller Sprachen über Σ abzählbar ist.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
402
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
2. Cantorschen Diagonalverfahren für Sprachen
Angenommen, die Menge aller Sprachen über Σ sei abzählbar.
• Sprachen L1 , L2 , L3 , ... ⊆ Σ∗ und Wörtern wj ∈ Σ∗ in
Standardordnung in folgender Tabelle:
w1 w2 w3 w4 w5 w6 ...
mit Tabelleneintr
ägen
L1 1
1
1
0
1
1 ...



L2 1
0
1
0
1
0 ...
1
falls
w

j ∈ Li
t
=

ij

L3 0
1
1
0
0
1 ...
0 falls wj < Li
..
..
..
..
..
..
.
.
.
.
.
.
• Diagonale der Tabelle ist die charakteristische Funktion von Ld ,
der Diagonalsprache. Ld enthält hier die Wörter w1 , w3 , ...
• Ld ist nicht in der Tabelle, denn Ld kann keine der Li sein, weil sie
in der i-ten Spalte genau dann eine 0 hat, wenn Li dort eine 1 hat,
und umgekehrt.
• WIDERSPRUCH zur Annahme,
dass die Menge aller Sprachen über Σ abzählbar ist.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
402
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Sprachen mit endlicher Beschreibung
• überabzählbar viele Sprachen:
• sehr, sehr viele
• die meisten dieser Sprachen nicht explizit angebbar,
• denn keine endliche Beschreibung
• endliche Beschreibung einer Sprache
• z.B. ein regulärer Ausdruck, eine Grammatik oder auch eine
informelle Beschreibung
• alle diese endlichen Beschreibungen sind endliche Zeichenfolgen
• nur abzählbar viele endliche Beschreibungen, denn
• nur abzählbar viele Wörter über einem Alphabet, also
• nur abzählbar viele Sprachen mit einer endlichen Beschreibung
• ganz, ganz wenige
gegenüber der überwältigend großen Menge aller Sprachen
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
403
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Aufzählbar
Definition
Eine Menge M ist aufzählbar
(auch rekursiv aufzählbar oder semi-entscheidbar)
• falls es eine surjektive Funktion f : N → M gibt, und
• einen Algorithmus, der es gestattet, für jedes n ∈ N den
Funktionswert f (n) zu berechnen,
• oder falls M = ∅.
Satz:
Die Menge aller Wörter Σ∗ über einem Alphabet Σ ist aufzählbar.
Beweis: Wörter können in Standardordnung erzeugt werden
Aufgabe 7: : Weshalb heißen aufzählbare Mengen auch
semi-entscheidbar?
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
404
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Entscheidbar
Definition
Gegeben sei ein Alphabet Σ. Eine Sprache L ⊆ Σ∗ heißt entscheidbar,
• falls es einen abbrechenden Algorithmus,
Entscheidungsverfahren genannt,
w ∈ L oder
gibt, der für jedes w ∈ Σ∗ feststellt, ob
w <L
BSP: Aufzählbare Sprache, die nicht entscheidbar ist
L ⊆ ASCII ∗
L = {xy|x ist ein Programm, y ist eine Eingabe,
und x stoppt bei der Eingabe von y nach endlich vielen
Schritten}
Halteproblem !!
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
405
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Aufgabe 8: Wahr oder falsch und warum????
1
Jede Teilmenge einer aufzählbaren Sprache ist aufzählbar.
wahr oder
falsch
2
Jede Teilmenge einer aufzählbaren Sprache ist abzählbar.
wahr oder
falsch
3
Jede Teilmenge einer abzählbaren Sprache ist aufzählbar.
wahr oder
falsch
4
Jede Teilmenge einer abzählbaren Sprache ist abzählbar.
wahr oder
falsch
5
Jede Teilmenge einer entscheidbaren Sprache ist aufzählbar.
wahr oder
falsch
6
Jede Teilmenge einer entscheidbaren Sprache ist abzählbar.
wahr oder
falsch
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
406
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Aufgabe 8: Wahr oder falsch und warum????
1
Jede Teilmenge einer aufzählbaren Sprache ist aufzählbar.
X wahr oder X falsch
2
Jede Teilmenge einer aufzählbaren Sprache ist abzählbar.
X wahr oder X falsch
3
Jede Teilmenge einer abzählbaren Sprache ist aufzählbar.
X wahr oder X falsch
4
Jede Teilmenge einer abzählbaren Sprache ist abzählbar.
X wahr oder X falsch
5
Jede Teilmenge einer entscheidbaren Sprache ist aufzählbar.
X wahr oder X falsch
6
Jede Teilmenge einer entscheidbaren Sprache ist abzählbar.
X wahr oder X falsch
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
406
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Vergleich von Grammatiken
Falsche Annahme:
Je mächtiger, desto mehr Wörter
Umfangreichste Sprache Σ∗ für gegebenes Alphabet Σ kann durch
reguläre Grammatik beschrieben werden: S → aS| für alle a ∈ Σ
Statt dessen:
Grenze zwischen Wörter in und außerhalb der Sprache hat einen
komplexeren Verlauf
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
407
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Mengendiagramm für Sprachen
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
408
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Chomsky-Hierarchie mit Ergänzungen
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
409
VL11
kfG PL für kfG BNF & Co Chomsky-Hierarchie
Zusammenfassung
• Kontextfreie Grammatiken sind geeignet, Blockstrukturen und
richtig geklammerte Ausdrücke zu erzeugen.
• Reguläre Sprachen sind kontextfrei. Es gibt kontextfreie
Sprachen, die nicht regulär sind.
• Kontextfreie Grammatiken werden zur Syntaxdefinition von
Programmiersprachen benutzt.
Sie werden üblicherweise in der Backus-Naur-Form notiert.
• Nicht-deterministische PDAs akzeptieren kontextfreie Sprachen.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
13.6. 2012
410
Herunterladen