Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
Automatentheorie und formale SprachenChomsky-HierarchieKellerautomaten
Dozentin: Wiebke Petersen
8.7.2009
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 1
Formale Grammatik
De�nition
Eine formale Grammatik ist ein 4-Tupel G = (N,T ,S ,P) aus
einem Alphabet von Terminalsymbolen T (häu�g auch Σ)
einem Alphabet von Nichtterminalsymbolen N mit N ∩ T = ∅einem Startsymbol S ∈ N
einer Menge von Regeln/ProduktionenP ⊆ {〈α, β〉 | α, β ∈ (N ∪ T )∗ und α 6∈ T ∗}.
Für eine Regel 〈α, β〉 schreiben wir auch α → β.Formale Grammatiken werden auch Typ0- oder allgemeine Regelgrammatikengenannt.
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 2
Chomsky-Hierarchie
Wenn man die Form der Regeln einschränkt erhält manTeilmengen der Menge aller durch eine Grammatik erzeugtenSprachen.
Die Chomsky-Hierarchie ist eine Hierarchie über dieRegelbedingungen (den verschiedenen Sprachklassen entsprechenEinschränkungen über die rechten und linken Regelseiten).Die Chomsky Hierarchie re�ektiert eine spezielle Form derKomplexität, andere Kriterien sind denkbar und führen zu anderenHierarchien.Die Sprachklassen der Chomsky Hierarchie sind in der Informatikintensiv untersucht worden (Berechnungskomplexität, e�ektiveParser).Für Linguisten ist die Chomsky Hierarchie besonders interessant,da sie die Form der Regeln zentral stellt, und somit Aussagen überGrammatikformalismen zuläÿt.
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 3
Chomsky-Hierarchie
Wenn man die Form der Regeln einschränkt erhält manTeilmengen der Menge aller durch eine Grammatik erzeugtenSprachen.Die Chomsky-Hierarchie ist eine Hierarchie über dieRegelbedingungen (den verschiedenen Sprachklassen entsprechenEinschränkungen über die rechten und linken Regelseiten).
Die Chomsky Hierarchie re�ektiert eine spezielle Form derKomplexität, andere Kriterien sind denkbar und führen zu anderenHierarchien.Die Sprachklassen der Chomsky Hierarchie sind in der Informatikintensiv untersucht worden (Berechnungskomplexität, e�ektiveParser).Für Linguisten ist die Chomsky Hierarchie besonders interessant,da sie die Form der Regeln zentral stellt, und somit Aussagen überGrammatikformalismen zuläÿt.
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 3
Chomsky-Hierarchie
Wenn man die Form der Regeln einschränkt erhält manTeilmengen der Menge aller durch eine Grammatik erzeugtenSprachen.Die Chomsky-Hierarchie ist eine Hierarchie über dieRegelbedingungen (den verschiedenen Sprachklassen entsprechenEinschränkungen über die rechten und linken Regelseiten).Die Chomsky Hierarchie re�ektiert eine spezielle Form derKomplexität, andere Kriterien sind denkbar und führen zu anderenHierarchien.
Die Sprachklassen der Chomsky Hierarchie sind in der Informatikintensiv untersucht worden (Berechnungskomplexität, e�ektiveParser).Für Linguisten ist die Chomsky Hierarchie besonders interessant,da sie die Form der Regeln zentral stellt, und somit Aussagen überGrammatikformalismen zuläÿt.
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 3
Chomsky-Hierarchie
Wenn man die Form der Regeln einschränkt erhält manTeilmengen der Menge aller durch eine Grammatik erzeugtenSprachen.Die Chomsky-Hierarchie ist eine Hierarchie über dieRegelbedingungen (den verschiedenen Sprachklassen entsprechenEinschränkungen über die rechten und linken Regelseiten).Die Chomsky Hierarchie re�ektiert eine spezielle Form derKomplexität, andere Kriterien sind denkbar und führen zu anderenHierarchien.Die Sprachklassen der Chomsky Hierarchie sind in der Informatikintensiv untersucht worden (Berechnungskomplexität, e�ektiveParser).
Für Linguisten ist die Chomsky Hierarchie besonders interessant,da sie die Form der Regeln zentral stellt, und somit Aussagen überGrammatikformalismen zuläÿt.
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 3
Chomsky-Hierarchie
Wenn man die Form der Regeln einschränkt erhält manTeilmengen der Menge aller durch eine Grammatik erzeugtenSprachen.Die Chomsky-Hierarchie ist eine Hierarchie über dieRegelbedingungen (den verschiedenen Sprachklassen entsprechenEinschränkungen über die rechten und linken Regelseiten).Die Chomsky Hierarchie re�ektiert eine spezielle Form derKomplexität, andere Kriterien sind denkbar und führen zu anderenHierarchien.Die Sprachklassen der Chomsky Hierarchie sind in der Informatikintensiv untersucht worden (Berechnungskomplexität, e�ektiveParser).Für Linguisten ist die Chomsky Hierarchie besonders interessant,da sie die Form der Regeln zentral stellt, und somit Aussagen überGrammatikformalismen zuläÿt.
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 3
Noam Chomsky
Noam Chomsky
(∗ 7.12.1928, Philadelphia)Noam Chomsky, Three Models for the Description of Language,
IRE Transactions on Information Theory (1956).
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 4
Chomsky-hierarchy (details)
A grammar (N,T ,S ,P) is a
(right-linear) regular grammar (REG): i� every production is of the formA → bB or A → b with A,B ∈ N and b ∈ T (or S → ε, , in which case S doesnot occur on any right-hand side of a production).
context-free grammar (CFG): i� every production is of the formA → β with A ∈ N and β ∈ (N ∪ T )∗.
context-sensitive grammar (CS): i� every production is of the formγAδ → γβδ with γ, δ, β ∈ (N ∪ T )∗,A ∈ N and β 6= ε; or of the form S → ε,in which case S does not occur on any right-hand side of a production.
recursively enumerable grammar (RE): if it is an arbitrary formal grammar.
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 5
Chomsky-hierarchy (details)
A grammar (N,T ,S ,P) is a
(right-linear) regular grammar (REG): i� every production is of the formA → bB or A → b with A,B ∈ N and b ∈ T (or S → ε, , in which case S doesnot occur on any right-hand side of a production).
context-free grammar (CFG): i� every production is of the formA → β with A ∈ N and β ∈ (N ∪ T )∗.
context-sensitive grammar (CS): i� every production is of the formγAδ → γβδ with γ, δ, β ∈ (N ∪ T )∗,A ∈ N and β 6= ε; or of the form S → ε,in which case S does not occur on any right-hand side of a production.
recursively enumerable grammar (RE): if it is an arbitrary formal grammar.
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 5
Chomsky-Hierarchie (grober Überblick)
reguläre Sprachen(regular languages)
Typ 3, REG A → bAA → a
a∗b∗
kontextfreie Sprachen(context-free languages)
Typ 2, CF A → β anbn, wRw
kontextsensitive Sprachencontext-sensitive languages
Typ 1, CS αAν → αβν anbncn, ww ,anbmcndm
allgemeine Regelsprachenrecursively enumerable languages
Typ 0, RE α → β
a ∈ T , A ∈ N, α, β, . . . ∈ (N ∪ T )∗, S Startsymbol
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 6
Main theorem
REG ⊂ CF ⊂ CS ⊂ RE
CF
REG
CSRE
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 7
Abschlusseigenschaften formaler Sprachen
Typ3 Typ2 Typ1 Typ0
Vereinigung + + + +
Schnittmenge + - + +
Komplement + - + -
Konkatenation + + + +
Stern von Kleene + + + +
Schnitt mit regulärer Sprache + + + +
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 8
Abschlusseigenschaften kontextfreier Sprachen
Typ3 Typ2 Typ1 Typ0
Vereinigung + + + +
Schnittmenge + - + +
Komplement + - + -
Konkatenation + + + +
Stern von Kleene + + + +
Schnitt mit regulärer Sprache + + + +
Vereinigung: G = (N1 ] N2 ∪ {S},T1 ∪ T2,S ,P) mitP = P1 ∪] P2 ∪ {S → S1,S → S2}
Schnittmenge: L1 = {anbnak}, L2 = {anbkak}, aber L1 ∩ L2 = {anbnan}Komplement: de Morgan
Konkatenation: G = (N1 ] N2 ∪ {S},T1 ∪ T2,S ,P) withP = P1 ∪] P2 ∪ {S → S1S2}
Stern von Kleene: G = (N1 ∪ {S},T1,S ,P) with P = P1 ∪ {S → S1S ,S → ε}
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 9
Abschlusseigenschaften kontextfreier Sprachen
Typ3 Typ2 Typ1 Typ0
Vereinigung + + + +
Schnittmenge + - + +
Komplement + - + -
Konkatenation + + + +
Stern von Kleene + + + +
Schnitt mit regulärer Sprache + + + +
Vereinigung: G = (N1 ] N2 ∪ {S},T1 ∪ T2,S ,P) mitP = P1 ∪] P2 ∪ {S → S1,S → S2}
Schnittmenge: L1 = {anbnak}, L2 = {anbkak}, aber L1 ∩ L2 = {anbnan}Komplement: de Morgan
Konkatenation: G = (N1 ] N2 ∪ {S},T1 ∪ T2,S ,P) withP = P1 ∪] P2 ∪ {S → S1S2}
Stern von Kleene: G = (N1 ∪ {S},T1,S ,P) with P = P1 ∪ {S → S1S ,S → ε}
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 9
Abschlusseigenschaften kontextfreier Sprachen
Typ3 Typ2 Typ1 Typ0
Vereinigung + + + +
Schnittmenge + - + +
Komplement + - + -
Konkatenation + + + +
Stern von Kleene + + + +
Schnitt mit regulärer Sprache + + + +
Vereinigung: G = (N1 ] N2 ∪ {S},T1 ∪ T2,S ,P) mitP = P1 ∪] P2 ∪ {S → S1,S → S2}
Schnittmenge: L1 = {anbnak}, L2 = {anbkak}, aber L1 ∩ L2 = {anbnan}
Komplement: de Morgan
Konkatenation: G = (N1 ] N2 ∪ {S},T1 ∪ T2,S ,P) withP = P1 ∪] P2 ∪ {S → S1S2}
Stern von Kleene: G = (N1 ∪ {S},T1,S ,P) with P = P1 ∪ {S → S1S ,S → ε}
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 9
Abschlusseigenschaften kontextfreier Sprachen
Typ3 Typ2 Typ1 Typ0
Vereinigung + + + +
Schnittmenge + - + +
Komplement + - + -
Konkatenation + + + +
Stern von Kleene + + + +
Schnitt mit regulärer Sprache + + + +
Vereinigung: G = (N1 ] N2 ∪ {S},T1 ∪ T2,S ,P) mitP = P1 ∪] P2 ∪ {S → S1,S → S2}
Schnittmenge: L1 = {anbnak}, L2 = {anbkak}, aber L1 ∩ L2 = {anbnan}Komplement: de Morgan
Konkatenation: G = (N1 ] N2 ∪ {S},T1 ∪ T2,S ,P) withP = P1 ∪] P2 ∪ {S → S1S2}
Stern von Kleene: G = (N1 ∪ {S},T1,S ,P) with P = P1 ∪ {S → S1S ,S → ε}
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 9
Abschlusseigenschaften kontextfreier Sprachen
Typ3 Typ2 Typ1 Typ0
Vereinigung + + + +
Schnittmenge + - + +
Komplement + - + -
Konkatenation + + + +
Stern von Kleene + + + +
Schnitt mit regulärer Sprache + + + +
Vereinigung: G = (N1 ] N2 ∪ {S},T1 ∪ T2,S ,P) mitP = P1 ∪] P2 ∪ {S → S1,S → S2}
Schnittmenge: L1 = {anbnak}, L2 = {anbkak}, aber L1 ∩ L2 = {anbnan}Komplement: de Morgan
Konkatenation: G = (N1 ] N2 ∪ {S},T1 ∪ T2,S ,P) withP = P1 ∪] P2 ∪ {S → S1S2}
Stern von Kleene: G = (N1 ∪ {S},T1,S ,P) with P = P1 ∪ {S → S1S ,S → ε}
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 9
Abschlusseigenschaften kontextfreier Sprachen
Typ3 Typ2 Typ1 Typ0
Vereinigung + + + +
Schnittmenge + - + +
Komplement + - + -
Konkatenation + + + +
Stern von Kleene + + + +
Schnitt mit regulärer Sprache + + + +
Vereinigung: G = (N1 ] N2 ∪ {S},T1 ∪ T2,S ,P) mitP = P1 ∪] P2 ∪ {S → S1,S → S2}
Schnittmenge: L1 = {anbnak}, L2 = {anbkak}, aber L1 ∩ L2 = {anbnan}Komplement: de Morgan
Konkatenation: G = (N1 ] N2 ∪ {S},T1 ∪ T2,S ,P) withP = P1 ∪] P2 ∪ {S → S1S2}
Stern von Kleene: G = (N1 ∪ {S},T1,S ,P) with P = P1 ∪ {S → S1S ,S → ε}
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 9
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 10
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 11
Kellerautomaten
Kellerautomaten entstehen aus endlichen Automaten durch
Hinzunahme eines Kelleralphabets
Erweiterung der Transitionen (es muss das Lesen und Ersetzen
der Kellerspitze realisiert werden)
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 12
Kellerautomaten: De�nition
De�nition
Ein Kellerautomat ist ein 6-Tupel 〈Φ,Σ, Γ,∆, q0,F 〉 bestehend aus:1 einem Zustandsalphabet Φ
2 einem Eingabealphabet Σ
3 einem Kelleralphabet Γ
4 einer Übergangsrelation / Transitionsrelation∆ ⊆ Φ× Σ ∪ {ε} × Γ ∪ {ε} × Γ∗ × Φ
5 einem Startzustand q0 ∈ Φ und6 einer Menge von Endzuständen F ⊆ Φ.
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 13
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 14
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 15
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 16
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 17
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 18
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 19
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 20
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 21
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 22
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 23
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 24
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 25
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 26
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 27
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 28
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 29
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 30
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 31
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 32
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 33
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 34
Von Grammatiken zu Kellerautomaten
Theorem
Zu einer kontextfreien Grammatik G kann man einen KellerautomatenA konstruieren, der die von G generierte Sprache akzeptiert.
Konstruktionsvorschrift:
Sei G = (N,T , S ,P) die gegebene Grammatik. Konstruiere den
Automaten A = 〈Φ,Σ, Γ,∆, q0,F 〉 wie folgt:
Φ = {q0, q1}, Σ = T , Γ = T ] N, F = {q1},∆ enthält die folgenden Transitionen:
(q0, ε, ε,S , q1)für jede Regel B → β der Grammatik eine Transition(q1, ε,B, β, q1)für jedes Symbol a ∈ T eine Transition (q1, a, a, ε, q1).
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 35
Von Grammatiken zu Kellerautomaten
Theorem
Zu einer kontextfreien Grammatik G kann man einen KellerautomatenA konstruieren, der die von G generierte Sprache akzeptiert.
Konstruktionsvorschrift:
Sei G = (N,T , S ,P) die gegebene Grammatik. Konstruiere den
Automaten A = 〈Φ,Σ, Γ,∆, q0,F 〉 wie folgt:
Φ = {q0, q1}, Σ = T , Γ = T ] N, F = {q1},
∆ enthält die folgenden Transitionen:
(q0, ε, ε,S , q1)für jede Regel B → β der Grammatik eine Transition(q1, ε,B, β, q1)für jedes Symbol a ∈ T eine Transition (q1, a, a, ε, q1).
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 35
Von Grammatiken zu Kellerautomaten
Theorem
Zu einer kontextfreien Grammatik G kann man einen KellerautomatenA konstruieren, der die von G generierte Sprache akzeptiert.
Konstruktionsvorschrift:
Sei G = (N,T , S ,P) die gegebene Grammatik. Konstruiere den
Automaten A = 〈Φ,Σ, Γ,∆, q0,F 〉 wie folgt:
Φ = {q0, q1}, Σ = T , Γ = T ] N, F = {q1},∆ enthält die folgenden Transitionen:
(q0, ε, ε,S , q1)
für jede Regel B → β der Grammatik eine Transition(q1, ε,B, β, q1)für jedes Symbol a ∈ T eine Transition (q1, a, a, ε, q1).
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 35
Von Grammatiken zu Kellerautomaten
Theorem
Zu einer kontextfreien Grammatik G kann man einen KellerautomatenA konstruieren, der die von G generierte Sprache akzeptiert.
Konstruktionsvorschrift:
Sei G = (N,T , S ,P) die gegebene Grammatik. Konstruiere den
Automaten A = 〈Φ,Σ, Γ,∆, q0,F 〉 wie folgt:
Φ = {q0, q1}, Σ = T , Γ = T ] N, F = {q1},∆ enthält die folgenden Transitionen:
(q0, ε, ε,S , q1)für jede Regel B → β der Grammatik eine Transition(q1, ε,B, β, q1)
für jedes Symbol a ∈ T eine Transition (q1, a, a, ε, q1).
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 35
Von Grammatiken zu Kellerautomaten
Theorem
Zu einer kontextfreien Grammatik G kann man einen KellerautomatenA konstruieren, der die von G generierte Sprache akzeptiert.
Konstruktionsvorschrift:
Sei G = (N,T , S ,P) die gegebene Grammatik. Konstruiere den
Automaten A = 〈Φ,Σ, Γ,∆, q0,F 〉 wie folgt:
Φ = {q0, q1}, Σ = T , Γ = T ] N, F = {q1},∆ enthält die folgenden Transitionen:
(q0, ε, ε,S , q1)für jede Regel B → β der Grammatik eine Transition(q1, ε,B, β, q1)für jedes Symbol a ∈ T eine Transition (q1, a, a, ε, q1).
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 35
Wirkungsweise der Konstruktion
Für das Akzeptieren einer kontextfreien Sprache genügt ein
Kellerautomat mit nur zwei Zuständen, wobei die einzige Aufgabe
des Startzustands darin besteht, das Startsymbol S der
Grammatik in den Keller zu legen.
Während der eigentlichen Rechnung be�ndet sich der Automat
permanent in dem selben Zustand, die Rechnung �ndet nur in
dem Keller statt.
Der konstruierte Automat vollzieht zwei verschiedeneArbeitsschritte:
Nicht-Leseschritt mit Bezug auf Grammatikregel B → β:Ersetze die Kellerspitze B mit βLeseschritte:Lies ein a ∈ T der Eingabekette und entferne a von derKellerspitze.
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 36
Wirkungsweise der Konstruktion
Für das Akzeptieren einer kontextfreien Sprache genügt ein
Kellerautomat mit nur zwei Zuständen, wobei die einzige Aufgabe
des Startzustands darin besteht, das Startsymbol S der
Grammatik in den Keller zu legen.
Während der eigentlichen Rechnung be�ndet sich der Automat
permanent in dem selben Zustand, die Rechnung �ndet nur in
dem Keller statt.
Der konstruierte Automat vollzieht zwei verschiedeneArbeitsschritte:
Nicht-Leseschritt mit Bezug auf Grammatikregel B → β:Ersetze die Kellerspitze B mit βLeseschritte:Lies ein a ∈ T der Eingabekette und entferne a von derKellerspitze.
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 36
Wirkungsweise der Konstruktion
Für das Akzeptieren einer kontextfreien Sprache genügt ein
Kellerautomat mit nur zwei Zuständen, wobei die einzige Aufgabe
des Startzustands darin besteht, das Startsymbol S der
Grammatik in den Keller zu legen.
Während der eigentlichen Rechnung be�ndet sich der Automat
permanent in dem selben Zustand, die Rechnung �ndet nur in
dem Keller statt.
Der konstruierte Automat vollzieht zwei verschiedeneArbeitsschritte:
Nicht-Leseschritt mit Bezug auf Grammatikregel B → β:Ersetze die Kellerspitze B mit βLeseschritte:Lies ein a ∈ T der Eingabekette und entferne a von derKellerspitze.
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 36
Chomsky-Hierarchie & Automaten
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 37
Hausaufgabe
1 Gegeben seien die beiden kontextfreien GrammatikenG1 = ({S}, {a, b},S , {S → aSb,S → ε}) undG2 = ({S}, {a, b},S , {S → aSb,S → bSa,S → ε}).Geben sie eine kontextfreie Grammatik für die folgenden Sprachen an:
L(G1) ∪ L(G2)L(G1) ◦ L(G2)L(G1)
∗.
2 Geben sie zur Sprache L(G1) ◦ L(G2) eine Grammatik inChomsky-Normalform an.
3 Konstruieren sie einen Kellerautomaten zur Grammatik G2. Verwenden siedas Verfahren, das auf den vorangegangenen Folien beschrieben wurde.
4 Zeigen sie, wie der von ihnen konstruierte Kellerautomat das Wort aabbabarbeitet, indem sie in einer Tabelle für jeden Schritt die folgenden Dingeerfassen: (1) gelesene Kette, (2) aktueller Zustand, (3) aktueller Stack, (4)noch zu lesende Kette, (5) anzuwendende Regel.
Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 38