Die letzten 4 Beiträge |
Jupi |
@Tobias
Besten Dank (7 Jahre später und immer noch aktuell)
|
foogi |
Zitat: |
Original von Tobias
......
Eliminieren von
Eliminieren von
Nun führen wir für jedes Terminalsymbol ein Nichtterminalsymbol ein und ersetzen es überall dort, wo es gemischt mit Nichtterminalsymbolen vorkommt. Außerdem ergänzen wir die Regel .
hmm wieso hast du eigentlich ab ersetz? weil oben hast du ja erwähnt, das nur diejenigen ersetzt werden, die gemischt sind? oder hab ich das falsch verstanden?
Die Regel besteht aus drei Nichtterminalen. Das umgehen wir, indem wir einfach eine neue Produktion ergänzen und dann substituieren: . Dieses Verfahren kann man ggf. mehrfach anwenden.
Die Produktion eliminieren wir, indem wir einfach die Produktionen von A zu S überleiten: .
Ebenso verfahren wir mit :
Wir erhalten also:
Das sollte es sein (hoffe ich). |
achja dann wollte ich noch wissen:
wir haben ja folgendes eliminiert:
- Löschregeln
- Nutzlose Symbole
haben wir hier im Beispiel keine Kettenregel gehabt?
Hast du vielleicht ein einfaches Beispiel für eine Kettenregel, und wie man diese entfernt?
Deine Erklärung finde ich sehr gut..
|
Tobias |
Ok, also zuerst machen wir deine Grammatik Epsilon-frei. Da du Epsilon ableiten kannst muss es auf jeden Fall die Produktion geben. Diese ist aber in CNF meines Wissens erlaubt.
Man entfernt das Epsilon durch eine einfache Regel:
Wird ein Nichtterminal A auf Epsilon abgeleitet, so ergänzen wir überall, wo A auf der rechten Seite vorkommt eine Regel, die A nicht enthält.
Eliminieren von
Eliminieren von
Nun führen wir für jedes Terminalsymbol ein Nichtterminalsymbol ein und ersetzen es überall dort, wo es gemischt mit Nichtterminalsymbolen vorkommt. Außerdem ergänzen wir die Regel .
Die Regel besteht aus drei Nichtterminalen. Das umgehen wir, indem wir einfach eine neue Produktion ergänzen und dann substituieren: . Dieses Verfahren kann man ggf. mehrfach anwenden.
Die Produktion eliminieren wir, indem wir einfach die Produktionen von A zu S überleiten: .
Ebenso verfahren wir mit :
Wir erhalten also:
Das sollte es sein (hoffe ich). |
foogi |
Eine Kontextfreie Sprache zur CNF
hallo,
ich habe ein konteztfreie Grammatik, und ich möchte diese in ein Chomsky Normalform umwandeln.
Ich weiß das dies nicht schwer ist, doch habe ich kein ausführliches Beispiel gefunden.
ich habe also:
S--> AC
A--> aAb | epsilon
C--> cC | epsilon
Nun muss man ja die epsilon Regeln entfernen, Kettentregeln, und Hilfsregeln benutzten.
Wie würde das anhand diesem einfachen Beispiel funktionieren.
Eine Schrittweise erläuterung wäre sinnvoll, so das ich das nachvollziehen kann.
vielen Dank |
|
|