54

Automatentheorie und formale Sprachen Chomsky-Hierarchie

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

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