Kontextfreie Grammatik Kellerautomaten
Einführung in die Computerlinguistik Kontextfreie Grammatiken und
Kellerautomaten
Dozentin: Wiebke Petersen
28.6.2010
Wiebke Petersen Einführung CL (SoSe 2010) 1
Kontextfreie Grammatik Kellerautomaten
kontextfreie Grammatik
Denition
Eine Grammatik (N , T , S , P ) heiÿt kontextfrei, wenn alle Regeln/Produktionen die folgende Form haben:
A → α, wobei A ∈ N und α ∈ (T ∪ N ) ∗ . Eine durch eine kontextfreie Grammatik erzeugte Sprache heiÿt kontextfrei.
Die Menge der kontextfreien Sprachen ist eine echte Obermenge der Menge der regulären Sprachen
Beweis: Jede reguläre Sprache ist per Denition auch kontextfrei und es gibt mindestens eine kontextfreie Sprache, nämlich L(a n b n ), die nicht regulär ist. (S → aSb, S → )
Wiebke Petersen Einführung CL (SoSe 2010) 2
Kontextfreie Grammatik Kellerautomaten
Beispiel einer kontextfreien Sprache
G = h{ S , A , B , C }, { a , b , c }, S , P i P =
S → ASB S → C
A → a B → b
C → cC C →
Shhhhhhhh ((
(( (( (( A a
SXXXXXX
A
a
SPPPP A a
S C
@@
c C
SS
c C
B b
B b
B b
1
Wiebke Petersen Einführung CL (SoSe 2010) 3
Kontextfreie Grammatik Kellerautomaten
Linksableitung
Gegeben eine kontextfreie Grammatik G. Eine Ableitung bei der stets das am weitesten links stehende nichtterminale Symbol ersetzt wird, heiÿt Linksableitung
S → NP VP → D N VP → the N VP
→ the cat VP → the cat V NP → the cat chases NP
→ the cat chases EN → the cat chases peter S
NP
D the
N cat
VP
V chases
NP EN peter
Zu jeder Linksableitung gibt es genau einen Ableitungsbaum und zu jedem Ableitungsbaum gibt es genau eine Linksableitung.
Wiebke Petersen Einführung CL (SoSe 2010) 4
Kontextfreie Grammatik Kellerautomaten
ambige Grammatik
Eine Grammatik G heiÿt ambig, wenn es für ein Wort w ∈ L ( G ) mehr als eine Linksableitung gibt.
G = ( N , T , NP , P ) mit N = { S , EN , NP , VP , PP , D , N , P } , T = { Eva , sieht , den , Mann , mit , dem , Fernglas } ,
P =
S → EN VP VP → V NP VP → V NP PP NP → D N NP → D N PP PP → P NP
EN → Eva P → mit V → sieht
D → den D → dem N → Mann
N → Fernglas
Beispiel einer ambigen Grammatik
G= (N, T,NP, P)mitN={S,EN,NP,VP,PP,D,N,P}, T={Eva,sieht,den,Mann,mit,dem,Fernglas},
P=
S → EN VP VP → V NP VP → V NP PP
NP → D N NP → D N PP PP → P NP
EN → Eva P → mit V → sieht
D → den D → dem N → Mann
N → Fernglas
SXXXX
XXX
EN
Eva
VP`````
, ````
V ,
sieht NPZZZ
D den
N Mann
PPHH
HH
P
mit NPb
"bb
"
"
D dem
N Fernglas
SPPP
PP
EN Eva
VPPPP
PPP
V
sieht
NPXXXX
XXX
D
den N Mann
PPHH
HH
P
mit NPb
"bb
"
"
D dem
N Fernglas
Wiebke Petersen – Formale Komplexit¨at nat¨urlicher Sprachen – WS 03/04 7
Wiebke Petersen Einführung CL (SoSe 2010) 5
Kontextfreie Grammatik Kellerautomaten
Kellerautomaten
Ziel: Automatenmodell mit dem genau die kontextfreien Sprachen akzeptiert werden können (analog zu endlichen Automaten und regulären Sprachen).
Lösung: Hinzunahme eines unbeschränkten Speichers in Form eines Stapels, von dessen Spitze etwas genommen und auf dessen Spitze etwas abgelegt werden kann.
Kellerautomaten entstehen aus endlichen Automaten durch Hinzunahme eines Kelleralphabets
Erweiterung der Transitionen (es muss das Lesen und Ersetzen der Kellerspitze realisiert werden)
Wiebke Petersen Einführung CL (SoSe 2010) 6
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 7
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 8
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 9
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 10
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 11
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 12
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 13
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 14
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 15
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 16
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 17
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 18
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 19
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 20
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 21
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 22
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 23
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 24
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 25
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 26
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 27
Kontextfreie Grammatik Kellerautomaten
Wiebke Petersen Einführung CL (SoSe 2010) 28
Kontextfreie Grammatik Kellerautomaten
Von kontextfreien Grammatiken zu Kellerautomaten
Für das Akzeptieren einer kontextfreien Sprache genügt ein Kellerautomat mit nur zwei Zuständen, wobei die einzige Aufgabe des Startzustands (q 0 ) darin besteht, das Startsymbol S der Grammatik in den Keller zu legen.
Während der eigentlichen Rechnung bendet sich der Automat permanent in dem anderen Zustand (q 1 ), dem einzigen
Endzustand; die Rechnung ndet nur in dem Keller statt.
Der konstruierte Automat vollzieht zwei verschiedene Arbeitsschritte:
Nicht-Leseschritt mit Bezug auf Grammatikregel B → β (Expansion):
Ersetze die Kellerspitze B mit β Leseschritte (Scan):
Lies ein a ∈ T der Eingabekette und entferne a von der Kellerspitze.
Wiebke Petersen Einführung CL (SoSe 2010) 29
Kontextfreie Grammatik Kellerautomaten
Beispiel: Von kontextfreien Grammatiken zu Kellerautomaten
Grammatik: ( { S }, { a , b , c }, S , { S → aSb , S → c } ) generierte Sprache: L(a n cb n )
Wiebke Petersen Einführung CL (SoSe 2010) 30