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.)

Beliebteste Tags

verständnis alternativlösung klausur kellerautomat endlicher-automat grammatik regulärer-ausdruck turingmaschine pumpinglemma tipp zahlendarstellung cmos bonusklausur klausurrelevant komplexität schaltwerk binary-decision-diagram deterministisch assembler schaltnetz minimierung sprachen nichtdeterministisch huffman chomsky-normalform fehler-in-aufgabe anwesenheitsübung rechtslinear heimübung flip-flop huffman-kodierung cocke-younger-kasami-algorithmus kontextsensitive-grammatik kontextfreie-grammatik fehlererkennbarkeit hauptklausur vorlesungsfolien polynomialzeitreduktion kontextfreie-sprache faq gleitkommazahl fehlerkorrigierbarkeit rechtslineare-grammatik dateiorganisation cache darstellung-klausur nachklausur xwizard adressierungsarten mealy lambda endliche-automaten konjunktive-normalform pipelining zustände saalübung leeres-wort moore ohne-lösungen betriebssystem speicherorganisation monotone-grammatik 2-komplement hammingzahl lösungsweg fehler pumping-lemma-für-kontextfreie-sprachen pumping-lemma reguläre-sprache monoton kodierung berechenbarkeit klausureinsicht disjunktive-normalform abzählbarkeit info-ii bussysteme rechnerarchitektur entscheidbarkeit komplexitätsklassen chomsky-klassen ableitungsbaum vorlesungsaufzeichnung round-robin aufzählbarkeit minimierung-endlicher-automaten von-neumann-rechner binärzahl entscheidbar programmiersprachen stern-symbol automaten schaltnetze-und-schaltwerke nukit-fragen bewertung zugriffsarten umformung adressierung mengen binär-subtrahieren

Kategorien

0 Pluspunkte 1 Minuspunkt
185 Aufrufe

Hallo,

kann ich Schritt "(1) G lambda-frei machen" nicht IMMER ohne neuen Startzustand S' machen?

In einem Beispiel in den Folien (Kap. 3, Seite 32) gibt es in P nur eine Startzeile, diese hat lambda am Ende und S kommt auch rechts vor: ([ und ] sind Terminale)
P = { S --> SS | [S] | lambda }

Nach Schritt (1) hat man:
P = { S --> SS | [S] | S | [ ] }
Also lambda wurde entfernt, der Rest beibehalten und alles ergänzt, was eintreten kann, wenn S --> lambda. Im neuen P kann S also nie nach lambda gehen, was ja aber laut der Methodik mit Einführung von S' gehen muss.

Bei Aufgabe 59 (KON-AG) vom Aufgabenpool steht lambda NUR in EINER Zeile (... B --> ... | ... | lambda), also nicht in der Startzeile mit S und das B, was eben lambda werden kann, steht auch auf weiteren rechten Seiten. Hier wird für Schritt (1) lambda entfernt, alle Zeilen ansonsten beibehalten und alles in allen Zeilen ergänzt, was eintreten kann, wenn S --> lambda - also wie oben beschrieben.

Für mich sind die beiden Beispiele das gleiche Schema und ich erkenne nicht, wieso es notwendig ist, dass man überhaupt einen neuen Startzustand S' einführen soll.
Bei der Nachklausur 2013 (Aufgabe 3 a) hat man lambda nur in der Startzeile bei S und S auch nur auf einer rechten Seite (in der Startzeile). Hier wird S' --> S | lambda eingeführt und dann wohl nix mehr geändert (bis auf lambda danach weg) und S immer stehen gelassen. Wenn ich es hier machen würde wie oben beschrieben, müsste man für Schritt (1) ja neben S --> ASB auch noch S --> AB haben (hier wurden leider keine Zwischenschritte angegeben).

Ich hoffe, mir kann jemand weiterhelfen.

Und wenn man S' ergänzt.

 

in KON-AD von utdbu utdbu Tutor(in) (107k Punkte)  

1 Eine Antwort

0 Pluspunkte 0 Minuspunkte

Hallo,

diese beiden Produktionsmengen sind nicht äquivalent:

{ S --> SS | [S] | lambda }

bzw.

{ S --> SS | [S] | S | [ ] }

Mit der unteren Menge kann das leere Wort nicht erzeugt werden, oben schon. Damit man auch unten das leere erzeugen kann, könnte man bspw. ein neues Startsymbol S' einführen, zusammen mit der Regel S' --> S | lambda. Auf diese Weise erhält man nach Anwendung des ganzen Algorithmus eine Grammatik, die in CNF ist und trotzdem das leere Wort erzeugen kann (im CYK-Algorithmus muss man die lambda-Regel dann separat betrachten.

Viele Grüße

Lukas König

Nachtrag:

Sie haben allerdings Recht damit, dass bei der Nachklausur 2013 die Regel S --> AB fehlt. Ich habe das korrigiert.

Viele Grüße

Lukas König

 

von utdbu utdbu Tutor(in) (107k Punkte)  
...