Warum fügen wir einen neuen Startzustand S0 -> S hinzu, wenn wir eine Grammatik in Chomsky Normalform umwandeln wollen? Was läuft schief, wenn wir das nicht tun?Chomsky Normaler Formularkonvertierungsalgorithmus
Zuerst dachte ich, es ist wegen der Epsilon-Regeln. Wir entfernen jedoch keine epsilon-Regel aus der Startvariablen. Also, was ist der Vorteil des Hinzufügens von S0 -> S?
Danke
Ich glaube nicht, dass es ein Problem macht, denn selbst wenn Sie die Regel S ---> \ epsilon haben, werden Sie es nicht entfernen, da eine epsilon-Regel nur gelöscht wird, wenn ihre Variable nicht das Startsymbol ist. –
Der Punkt ist, dass Sie mit CNF wissen, dass die Ableitung eines Strings der Länge n hat n-1 Regeln A-> BC und n der Form A-> a. Die Grammatik S-> A, A-> AS, A-> a, S-> eps könnte den String a auf beliebig viele Arten ableiten. Dies ist nicht das, was Sie von einer ** normalen Form ** wünschen. –