Erreichbare und produktive Variablen
Id: reduziert.tex,v 1.2 2003/12/03 11:51:10 joe Exp
Für eine CFG heißt die Variable
Aufgabe: wie kann man entscheiden, ob diese Eigenschaften zutreffen (ohne alle Ableitungen aufzuzählen)?
Vergleiche mit gleichen Begriffen für Zustände von endlichen Automaten.
Reduzierte Grammatiken
Def: Die Grammatik heißt reduziert,
wenn alle Variablen erreichbar und produktiv sind.
Satz: zu jeder CFG gibt es eine reduzierte CGF
mit
.
Beweis: lösche in zuerst alle nicht produktiven Variablen,
dann alle (im Rest) nicht erreichbaren Variablen
(jeweils mit allen Regeln, in denen sie vorkommen)
Aufgabe: warum gerade diese Reihenfolge?
Nullierbare Variablen
Id: null.tex,v 1.2 2003/12/03 11:51:10 joe Exp
Def: Eine Variable heißt nullierbar,
falls
.
Die Menge der nullierbaren Variablen von
ist die kleinste Menge
mit:
Def: eine Regel heißt nullierbar,
falls
.
Epsilon-freie Grammatiken
Id: epsfree.tex,v 1.2 2003/12/03 11:51:10 joe Exp
Def: eine CFG heißt epsilon-frei,
falls
.
Bemerkung: wenn epsilon-frei, dann
.
Satz: Für jede CFG existiert eine epsilon-freie CGF
mit
.
Beweis: Wende auf alle rechten Regelseiten die Substitution
( wenn
nullierbar, dann
, sonst
)
an, und lösche dann alle Epsilon-Regeln.
Aufgabe: Konstruiere für
mit
.
Kettenregeln
Id: kette.tex,v 1.2 2003/12/03 11:51:10 joe Exp
Eine Regel mit
heißt Kettenregel.
Der Ketten-Abschluß von ist die kleinste Menge
mit
Aufgaben: Wieviele Regeln kann man maximal hinzufügen?
Satz: Zu jeder CFG
existiert eine CFG
ohne Kettenregeln
mit
.
Beweis:
ohne Kettenregeln
.
Aufgabe: falls epsilon-frei, dann auch
.
Kreise und kreisfreie Grammatiken
Id: kreis.tex,v 1.1 2003/12/03 11:51:10 joe Exp
Def: eine Kreis-Ableitung ist von der Form
für eine Variable
.
Satz: für jede CFG gibt es eine kreisfreie CFG
mit
.
Idee: epsilon-frei:
, kettenfrei:
, ist kreisfrei.
Aufgaben: