Kontextfreie Sprachen & Kellerautomaten
Kontextfreie Sprachen & Kellerautomaten
Kontextfreie Sprachen & Kellerautomaten
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Chomsky Normalform<br />
Definition 3.20<br />
Eine kontextfreie Grammatik G = (!, N, P, S) liegt in Chomsky Normalform vor, falls<br />
alle Regeln von G eine der folgenden Formen haben<br />
• A # B C<br />
• A # a<br />
• S # "<br />
mit A, B, C ! N und a ! !.<br />
Anmerkung:<br />
• Es gibt (echt) expandierende Regeln mit zwei nichtterminalen Symbole auf der<br />
rechten Seite (und somit binär verzweigende Strukturbäume) und<br />
• abschliessende Regeln mit genau einem terminalen Symbol auf der rechten Seite,<br />
sowie gegebenenfalls als Sonderfall (für die Ableitung des leeren Wortes) für<br />
das Startsymbol eine "-Regel (S # ").<br />
Satz 3.21<br />
Für jede kontextfreie Sprache L gibt es eine kfG G in Chomsky-Normalform, die L<br />
erzeugt, d.h. mit L = L(G).<br />
FGI-1 Habel / Eschenbach Kap 13 <strong>Kontextfreie</strong> <strong>Sprachen</strong> & Grammatiken [47]<br />
Chomsky Normalform – Beweis Satz 3.21<br />
Aufbauend auf den Sätzen 3.14 und 3.19 können wir davon ausgehen, dass es zur<br />
Sprache L eine erzeugende kfG G gibt, in der alle nutzlosen Symbole und alle "-<br />
Regeln (ausser im Fall " ! L, die Regel S # ") eliminiert sind.<br />
Wir haben zwei Typen von Regelumformungen durch zu führen:<br />
• Einer-Regeln, d.h. Regeln der Form A# B, mit A, B ! N, werden umgewandelt<br />
in Regeln mit zwei oder mehr Symbolen auf der rechten Seite.<br />
• Alle verbleibenden Regeln werden in die Normalform gebracht, d.h. in Regeln<br />
mit der zulässigen Länge der rechten Seite<br />
• Länge 2 für Regeln mit Nichtterminalen auf der rechten Seite<br />
• Länge 1 für Regeln mit Terminalen auf der rechten Seite<br />
FGI-1 Habel / Eschenbach Kap 13 <strong>Kontextfreie</strong> <strong>Sprachen</strong> & Grammatiken [48]