Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

54

Transcript of Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Page 1: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Automatentheorie und formale SprachenChomsky-HierarchieKellerautomaten

Dozentin: Wiebke Petersen

8.7.2009

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 1

Page 2: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 3: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 4: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 5: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 6: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 7: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 8: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 9: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 10: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 11: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 12: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Main theorem

REG ⊂ CF ⊂ CS ⊂ RE

CF

REG

CSRE

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 7

Page 13: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 14: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 15: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 16: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 17: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 18: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 19: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 20: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 10

Page 21: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 11

Page 22: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 23: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 24: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 14

Page 25: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 15

Page 26: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 16

Page 27: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 17

Page 28: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 18

Page 29: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 19

Page 30: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 20

Page 31: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 21

Page 32: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 22

Page 33: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 23

Page 34: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 24

Page 35: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 25

Page 36: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 26

Page 37: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 27

Page 38: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 28

Page 39: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 29

Page 40: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 30

Page 41: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 31

Page 42: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 32

Page 43: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 33

Page 44: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 34

Page 45: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 46: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 47: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 48: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 49: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 50: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 51: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 52: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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

Page 53: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

Chomsky-Hierarchie & Automaten

Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 37

Page 54: Automatentheorie und formale Sprachen Chomsky-Hierarchie ...

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