Theoretische und technische Informatik - ganz praktisch
Herzlich willkommen auf der Question/Answer-Plattform zu Grundlagen der Informatik II. Wir wünschen Ihnen viel Spaß beim Lernen und Diskutieren!
Loggen Sie sich mit Ihrem KIT-Account (u...) ein, um loszulegen!
Beachten Sie auch diese Informationen zum Schnelleinstieg.
(Nicht-KIT-Studierende beachten bitte diese Informationen.)

Schöne Ferien!
 

 

Ist Regel (S'→λ|S) nicht falsch?

0 Punkte
81 Aufrufe
Hallo,

Wenn man am Ende von CNF Umwandlung lambda über Regel S' → λ | S wieder hinfügt, ist diese Regel aber nich gültig für CNF. Also nur die Produktionen von der Form N --> (NN x T) sind für eine Grammatik in CNF erlaubt. Ist die Regel nicht falsch?

Vielen Dank!

Ayca
Gefragt 22, Sep 2015 in 2015-H-03 von uafjv uafjv Tutor(in) (167,840 Punkte)  

Eine Antwort

+2 Punkte

Hallo,

die Regel S => Lambda wird ausnahmsweise zugelassen, wenn S auf keiner rechten Seite einer Regel auftritt. Damit kann das leere Wort Teil der Sprache sein, ohne dass i.A. Wörter während der Ableitung kürzer werden können.

Viele Grüße

Lukas König

EDIT: Rein Formal lässt Herr Schmeck auf den Folien diese Ausnahme bei der CNF allerdings nicht zu. Beachten Sie auch meinen Kommentar weiter unten.

Beantwortet 22, Sep 2015 von uafjv uafjv Tutor(in) (167,840 Punkte)  
Bearbeitet 10, Feb 2017 von Lukas König
Mich interessiert dieselbe Frage und ich glaube, dass uafjv damals darauf abzielte, dass die Regel S' -> S (| λ) nicht der Form N --> (NN x T) entspricht. Da ja N --> N die Regel ist.
Ist dies nun eine Ausnahme oder muss dieser Fall anders gelöst werden?
Ich habe neulich erst bemerkt, dass Sie (Ayca und alle anderen) mit der Bemerkung insofern PRINZIPIELL recht haben, als Herr Schmeck diese Ausnahme bei der CNF - aus welchen Gründen auch immer - nicht auf seinen Folien zugelassen hat.

In der Praxis lassen wir die Ausnahme ($S \rightarrow \lambda$, falls $S$ auf keiner rechten Seite auftaucht) aber IMMER zu. In der Literatur gibt es beides, praktisch gilt aber, dass es völlig unsinnig ist, das leere Wort aus gewissen Sprachklassen auszuschließen. Damit stiftet man mehr Verwirrung als man durch das Wegfallen der Ausnahme gewinnt!
...