Theoretische und technische Informatik - ganz praktisch - Letzte Fragen & Antworten in KON-AD https://info2.aifb.kit.edu/qa/index.php?qa=qa&qa_1=kontextfreie-grammatiken&qa_2=kon-ad Powered by Question2Answer Beantwortet: Ableitung für c https://info2.aifb.kit.edu/qa/index.php?qa=7123&qa_1=ableitung-f%C3%BCr-c&show=7125#a7125 <p> Man soll G in Chomsky-Normalform bringen, hierfür ist erlaubt:</p> <ul> <li> Von Nonterminal zu 2 Nonterminalen</li> <li> Von Nonterminal zu 1 Terminal</li> </ul> <p> C--&gt;c ist von Nonterminal zu Terminal also kann man es so stehen lassen.</p> <p> Bei den anderen Aufgaben die du gemacht hast waren hier vermutlich auf der rechten Seite vermutlich noch mehrere Terminale oder mehr als zwei Nonterminale wodurch die zusättliche Regel eingeführt wurde.</p> <p> Siehe hierzu Tut 4...hier wird das Vorgehen erklärt.</p> <p> LG, Nico (Tutor) (Alle Angaben ohne Gewähr)</p> KON-AD https://info2.aifb.kit.edu/qa/index.php?qa=7123&qa_1=ableitung-f%C3%BCr-c&show=7125#a7125 Thu, 06 Feb 2020 11:27:45 +0000 Beantwortet: (b): Korrekter Eintrag in Kästchen m=3, erstes b ? https://info2.aifb.kit.edu/qa/index.php?qa=6948&qa_1=b-korrekter-eintrag-in-k%C3%A4stchen-m-3-erstes-b&show=6951#a6951 Hallo,<br /> <br /> ja, der Eintrag ist richtig.<br /> <br /> Um das Kästchen (m=3, 3. Spalte) zu befüllen, betrachten wir paarweise die anderen Kästchen.<br /> <br /> 1) Wir betrachten das Kästchen in de rgleichen Spalte ganz oben (m=1, 3. Spalte) und dazu das Kästchen schräg rechts über dem zu betrachtenden Kästchen (also das Kästchen mit m=2, 4. Spalte). Im einen Kästchen lesen wir (A,F) und im anderen (S, S'). Jetzt schauen wir in der Regelmenge, ob es eine Regel gibt, durch die wir auf eine der Kombinationen AS, AS', FS, FS' kommen. Diese gibt es nicht, also schauen wir die nächsten Kästchen an.<br /> <br /> 2) Jetzt betrachten wir die Kästchen (m=2, 3. Spalte) und (m=1, 5. Spalte). Hier lesen wir im ertsen Kästchen (B), und im zweiten Kästchen (B, E). Jetzt schauen wir wieder in der Regelmenge, ob es eine Regel gibt, durch die wir auf eine der Kombinationen BB oder BE kommen. Diese gibt es nicht.<br /> <br /> Also kommt in das Kästchen (m=3, 3. Spalte) ein &quot;-&quot;.<br /> <br /> Ich hoffe das hilft dit weiter.<br /> <br /> Viele Grüße,<br /> <br /> Tim (Tutor) KON-AD https://info2.aifb.kit.edu/qa/index.php?qa=6948&qa_1=b-korrekter-eintrag-in-k%C3%A4stchen-m-3-erstes-b&show=6951#a6951 Mon, 13 Jan 2020 15:05:50 +0000 A56, Chomsky-Normalfom mit λ? https://info2.aifb.kit.edu/qa/index.php?qa=5286&qa_1=a56-chomsky-normalfom-mit-%CE%BB <p> <span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:14px;">Guten Abend,</span></span></p> <p> <span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:14px;">mir erschließt sich leider die Verwendung des&nbsp;<span style="color: rgb(37, 37, 37);">λ in der Chomsky-NF nicht. Diese ist ja schließlich unter anderem auch so definiert, dass eben jede kontextfreie Grammatik in der Chomsky-NF (und auch Greibach-NF) dargestellt werden kann, jedoch dann das&nbsp;</span><span style="color: rgb(37, 37, 37);">λ fehlt.&nbsp;</span></span></span></p> <p> <span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:14px;"><span style="color: rgb(37, 37, 37);">Wird hier also nicht gegen die&nbsp;</span><span style="color: rgb(37, 37, 37);">λ-Freiheit verstoßen?</span></span></span></p> KON-AD https://info2.aifb.kit.edu/qa/index.php?qa=5286&qa_1=a56-chomsky-normalfom-mit-%CE%BB Fri, 03 Feb 2017 20:45:14 +0000 Beantwortet: Schritt (4) Umbenennung doppelt https://info2.aifb.kit.edu/qa/index.php?qa=4986&qa_1=schritt-4-umbenennung-doppelt&show=4988#a4988 <p> Ja, das wäre absolut auch in Ordnung!</p> <p> Wenn man so einfach sagen könnte, wann das Zusammenfassen zu Problemen führen kann, würde es wahrscheinlich gar nicht mehr zu Problemen führen <img alt="smiley" height="20" src="http://info2.aifb.kit.edu/qa/qa-plugin/wysiwyg-editor/plugins/smiley/images/regular_smile.gif" title="smiley" width="20"> Solange man einen einfachen übersichtlichen Fall wie hier hat, ist es kein Problem, die Variable doppelt zu benutzen, denn man "sieht" ja, dass keine Nebeneffekte entstehen können (also Ableitungen, die man <strong>nicht </strong>haben wollte). Wird es aber komplexer, kann man leicht die Übersicht verlieren, denn die Ableitung durch Grammatiken ist ja hochgradig nichtdeterministisch. Auch bei der Implementierung eines Algorithmus für die CNF würde man normalerweise die sichere Variante wählen, denn zu entscheiden, wann eine Variable mehrfach genutzt werden kann, ist knifflig. (Wahrscheinlich gibt es dafür schon auch Regeln, die man einsehen würde, aber wir behandeln das in der Vorlesung nicht, und daher gilt einfach: Wenn Sie sich zutrauen, den Überblick zu behalten, dann komprimieren Sie die Grammatik, so weit Sie wollen, und wenn nicht, dann bleiben Sie auf der sicheren Seite.)</p> KON-AD https://info2.aifb.kit.edu/qa/index.php?qa=4986&qa_1=schritt-4-umbenennung-doppelt&show=4988#a4988 Tue, 24 Jan 2017 12:51:49 +0000 Beantwortet: (c) Produktion des Testwortes https://info2.aifb.kit.edu/qa/index.php?qa=4836&qa_1=c-produktion-des-testwortes&show=4838#a4838 Hallo,<br /> <br /> wie du vielleicht schon gemerkt hast gibt es oft mehrere richtige Lösungen für Automaten. Das gleiche gilt natürlich auch für Grammatiken. Je nach dem in welcher Form deine Grammatik vorliegen soll, hast du jedoch manchmal mehr und manchmal weniger „Spielraum“.<br /> Bei einer monotonen Grammatik beispielsweise könntest du z.B. statt A --&gt; aa auch die Produktionen A--&gt; BC , B --&gt; a, C --&gt; c verwenden, wodurch du eben dann „mehr Übergänge“ bräuchtest um dein Testwort aa abzuleiten.<br /> Bei der Aufgabe hier soll die Grammatik ja in Chomsky-Normalform vorliegen, hier hast du nicht ganz so viel „Spielraum“, weil die Übergänge, welche erlaubt sind, eigentlich sehr stark vorgeschrieben sind.<br /> <br /> Wichtig ist auch, dass allein die Produktion des Testworts nicht garantiert, dass die Grammatik richtig ist. Es müssen natürlich auch alle weiteren Wörter der Sprache abgedeckt werden und es dürfen auch keine Wörter produziert werden, die nicht Teil der Sprache sind.<br /> <br /> Grüße, Sören (Tutor) KON-AD https://info2.aifb.kit.edu/qa/index.php?qa=4836&qa_1=c-produktion-des-testwortes&show=4838#a4838 Sat, 14 Jan 2017 11:10:09 +0000 Beantwortet: Ausführlichkeit der Lösung https://info2.aifb.kit.edu/qa/index.php?qa=4834&qa_1=ausf%C3%BChrlichkeit-der-l%C3%B6sung&show=4835#a4835 Allgemein gilt, dass Zwischenschritte nicht unbedingt notwendig sind, aber sie sind gut für Sie, weil wir so später bei der Korrektur nachvollziehen können, was Sie getan haben und eventuell noch Punkte vergeben können, obwohl das Endergebnis falsch ist.<br /> <br /> Gerade bei CNF könnte es aber sein, dass in der Aufgabenstellung steht: &quot;Geben Sie alle Zwischenschritte an.&quot; Und dann ist es natürlich verlangt, alle hinzuschreiben. (Wenn sich in einem Schritt keine Veränderung ergibt, dann logischerweise nicht!) KON-AD https://info2.aifb.kit.edu/qa/index.php?qa=4834&qa_1=ausf%C3%BChrlichkeit-der-l%C3%B6sung&show=4835#a4835 Sat, 14 Jan 2017 09:01:24 +0000 Beantwortet: kann ich Schritt "(1) G lambda-frei machen" nicht IMMER ohne neuen Startzustand S' machen? https://info2.aifb.kit.edu/qa/index.php?qa=484&qa_1=schritt-lambda-machen-nicht-immer-neuen-startzustand-machen&show=485#a485 <div class="ilFrmPostContent"> <p> Hallo,</p> <p> diese beiden Produktionsmengen sind nicht äquivalent:</p> <p> <strong>{ S --&gt; SS | [S] | lambda }</strong></p> <p> bzw.</p> <p> <strong>{ S --&gt; SS | [S] | S | [ ] }</strong></p> <p> 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 <strong>S'</strong> einführen, zusammen mit der Regel <strong>S' --&gt; S | lambda</strong>. 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.</p> <p> Viele Grüße</p> <p> Lukas König</p> <div class="ilFrmPostContent"> <p> Nachtrag:</p> <p> Sie haben allerdings Recht damit, dass bei der Nachklausur 2013 die Regel&nbsp;<span><strong>S --&gt; AB&nbsp;</strong>fehlt. Ich habe das korrigiert.</span></p> <p> <span>Viele Grüße</span></p> <p> Lukas König</p> </div> </div> <p> &nbsp;</p> KON-AD https://info2.aifb.kit.edu/qa/index.php?qa=484&qa_1=schritt-lambda-machen-nicht-immer-neuen-startzustand-machen&show=485#a485 Wed, 22 Oct 2014 15:05:07 +0000 Beantwortet: Dieser Aufgabentyp in der Klausur zu erwarten? https://info2.aifb.kit.edu/qa/index.php?qa=481&qa_1=dieser-aufgabentyp-in-der-klausur-zu-erwarten&show=483#a483 Die CYK-Aufgaben in den Klausuren sind viel moderater als diese Aufgabe. Wir wollen ja nur sehen, ob Sie das Prinzip verstanden haben, und nicht testen, ob Sie sich sich für eine halbe Stunde in das Innere eines Computers versetzen und einen stumpfsinnigen Algorithmus durchführen können :-)<br /> <br /> Viele Grüße<br /> <br /> Lukas König und Friederike Pfeiffer-Bohnen KON-AD https://info2.aifb.kit.edu/qa/index.php?qa=481&qa_1=dieser-aufgabentyp-in-der-klausur-zu-erwarten&show=483#a483 Wed, 22 Oct 2014 15:03:19 +0000 Beantwortet: warum ist bei Teil b), m=4 an der Stelle des ersten Cs nur C eingetragen? https://info2.aifb.kit.edu/qa/index.php?qa=479&qa_1=warum-ist-bei-teil-an-der-stelle-des-ersten-cs-nur-eingetragen&show=480#a480 <div class="ilFrmPostContent"> <p> Hallo,</p> <p> du hast Recht, nach den Regeln sollte das eigentlich da stehn. Aber diese Regelung ist eben eine Ausnahmeregelung auch für die Grammatik, deshalb muss man da etwas anders betrachten. Unten in der Grammatik steht auch, dass wir mit S auch immer S' in das Kästchen schreiben müssen. Also identifizieren wir S' mit S und gucken deshalb auch nicht auf die Regel S'-&gt;S sondern quasi für S als auch S' für die Produktion, die S erzeugt.</p> <p> Also anders gesagt, die übergänge von S' werden ignoriert und S' schreiben wir immer du S in das kästchen dazu.</p> <p> Gruß,</p> <p> Adam (Tutor)</p> </div> <div class="ilFrmPostCommands"> &nbsp;</div> KON-AD https://info2.aifb.kit.edu/qa/index.php?qa=479&qa_1=warum-ist-bei-teil-an-der-stelle-des-ersten-cs-nur-eingetragen&show=480#a480 Wed, 22 Oct 2014 15:01:06 +0000 Beantwortet: Verfahren zu Teil c)? https://info2.aifb.kit.edu/qa/index.php?qa=477&qa_1=verfahren-zu-teil-c&show=478#a478 <div class="ilFrmPostContent"> <p> Hallo,</p> <p> ein wirkliches Verfahren gibt es da nicht. Manche Grammatiken machen es einfach, z.B. die rechtslinieare Grammatik. Aber das wirst du wohl oder übel mit "scharfem Hinsehen" lösen müssen.</p> <p> Gruß,</p> <p> Adam (Tutor)</p> </div> <p> &nbsp;</p> KON-AD https://info2.aifb.kit.edu/qa/index.php?qa=477&qa_1=verfahren-zu-teil-c&show=478#a478 Wed, 22 Oct 2014 15:00:02 +0000 Beantwortet: Lösungsweg korrekt? https://info2.aifb.kit.edu/qa/index.php?qa=475&qa_1=l%C3%B6sungsweg-korrekt&show=476#a476 <div class="ilFrmPostContent"> <p> Hallo,</p> <p> ja, das passt so.</p> <p> Viele Grüße</p> <p> Philippe (Tutor)</p> </div> <p> &nbsp;</p> KON-AD https://info2.aifb.kit.edu/qa/index.php?qa=475&qa_1=l%C3%B6sungsweg-korrekt&show=476#a476 Wed, 22 Oct 2014 14:58:55 +0000 Beantwortet: Wenn ein Zustand ein leeres Wort erzeugt kann ich Lamda weglassen? https://info2.aifb.kit.edu/qa/index.php?qa=473&qa_1=wenn-ein-zustand-ein-leeres-wort-erzeugt-kann-lamda-weglassen&show=474#a474 <div class="ilFrmPostContent"> <p> Hallo,</p> <p> schaue dir für diese Frage am besten mal die Lösung der Aufgabe 78 an.</p> <p> Wie du siehst, kannst du das Lambda nicht einfach weg lassen. Du musst in allen Übergangsfunktionen gewährleisten, dass das jeweilige Nonterminalsymbol (in diesem Beispiel das B) einfach wegfallen kann. Dazu fügst du quasi die gleiche rechte Seite jeweils nochmal hinzu, nur dass dabei dann das entsprechende Symbol (hier B) weggelassen wird.</p> <p> Viele Grüße</p> <p> Lukas</p> </div> <p> &nbsp;</p> KON-AD https://info2.aifb.kit.edu/qa/index.php?qa=473&qa_1=wenn-ein-zustand-ein-leeres-wort-erzeugt-kann-lamda-weglassen&show=474#a474 Wed, 22 Oct 2014 14:57:50 +0000 Beantwortet: Produktion des Wortes? https://info2.aifb.kit.edu/qa/index.php?qa=464&qa_1=produktion-des-wortes&show=472#a472 <div class="ilFrmPostContent"> <p> Die Idee ist, sich anzuschauen, aus welchen CNF-Regeln eine Kette x von Terminalen entstanden sein kann. Für eine Teil-Kette x0 der Länge 1 (ganz zu Beginn des Algorithmus) schaut man sich die Regeln an, die auf der rechten Seite genau x0 stehen haben und merkt sich deren linke Seiten, aus denen x0 entstanden sein könnte. Danach schaut man sich an, aus welchen Symbolen diese linken Seiten entstanden sein könnten, wobei man dafür immer zwei Symbole auf einmal betrachten muss, da so der Aufbau der CNF-Regeln ist. So arbeitet man sich zu immer längeren Teilfolgen der Kette, bis man irgendwann weiß, aus welchen Symbolen die gesamte Kette abgeleitet werden kann. Wenn S dabei ist, weiß man, dass man x mit der Grammatik ableiten kann.<br> <br> Genauer will ich das hier nicht beschreiben, da es ja auf den Vorlesungsfolien genau beschrieben ist. Außerdem ist diese <a rel="nofollow" href="https://studium.kit.edu/sites/vab/0x6E6FEF2FA0879E44A5066460813C8557/Vorlesungsunterlagen/%C3%9Cbungen/Anwesenheits%C3%BCbungen/Anwesenheits%C3%BCbungen_CYKAnimation.pptx">Animation</a> hilfreich für das Verständnis. Falls Sie aber noch konkrete Fragen haben, beantworten wir die natürlich gerne.<br> <br> Viele Grüße<br> <br> Lukas König</p> </div> <div class="ilFrmPostCommands"> &nbsp;</div> KON-AD https://info2.aifb.kit.edu/qa/index.php?qa=464&qa_1=produktion-des-wortes&show=472#a472 Wed, 22 Oct 2014 14:55:24 +0000 Beantwortet: warum ergibt eigentlich die leere Menge und S/S' nicht wieder S? https://info2.aifb.kit.edu/qa/index.php?qa=470&qa_1=warum-ergibt-eigentlich-die-leere-menge-und-s-s-nicht-wieder&show=471#a471 Die leere Menge mit irgendetwas kombiniert ergibt immer die leere Menge, denn Sie brauchen in CNF ja immer zwei Symbole von einem Ableitungsschritt zum nächsten, also eines aus der einen Menge und eines aus der anderen.<br /> <br /> Viele Grüße<br /> <br /> Lukas König KON-AD https://info2.aifb.kit.edu/qa/index.php?qa=470&qa_1=warum-ergibt-eigentlich-die-leere-menge-und-s-s-nicht-wieder&show=471#a471 Wed, 22 Oct 2014 14:54:26 +0000 Beantwortet: S durch Produktionen ersetzen? https://info2.aifb.kit.edu/qa/index.php?qa=468&qa_1=s-durch-produktionen-ersetzen&show=469#a469 Hallo,<br /> <br /> der Teil S'-&gt;S ist nicht in Chomsky-Normalform, wird aber benötigt, um zu gewährleisten, dass auch das leere Wort zur Sprache gehört.<br /> Bezüglich des Cocke-Younger-Kasami-Algorithmus gilt, dass Sie diesen auch nur auf den Teil in Chomsky-Normalform (also ohne S'-&gt;S) anwenden. Demnach muss also im letzten Feld S auftauchen. Sie können aber S' auch, wie in der Musterlösung, mitschleppen.<br /> <br /> Viele Grüße<br /> <br /> Friederike Pfeiffer KON-AD https://info2.aifb.kit.edu/qa/index.php?qa=468&qa_1=s-durch-produktionen-ersetzen&show=469#a469 Wed, 22 Oct 2014 14:53:14 +0000 Beantwortet: Fehler in der Tabelle? https://info2.aifb.kit.edu/qa/index.php?qa=466&qa_1=fehler-in-der-tabelle&show=467#a467 Hallo,<br /> <br /> der Zelleninhalt ist eigentlich richtig. Die Terminalsymbolkombinationen, die Sie überprüfen müssen für m=3 und zweites c, sind CA, CG und CC. Da diese aber nicht in der Grammatik vorkommen, ist der entsprechende Zelleninhalt leer.<br /> <br /> Freundliche Grüße<br /> Friederike Pfeiffer KON-AD https://info2.aifb.kit.edu/qa/index.php?qa=466&qa_1=fehler-in-der-tabelle&show=467#a467 Wed, 22 Oct 2014 14:51:26 +0000 Beantwortet: Wieso ist Übergang S->Lambda nötig? https://info2.aifb.kit.edu/qa/index.php?qa=462&qa_1=wieso-ist-%C3%BCbergang-s-lambda-n%C3%B6tig&show=463#a463 Hallo,<br /> <br /> in diesem Fall wäre das auch in Ordnung. Unsere Vorgehensweise ist aber in dem Fall notwendig, wenn der Startzustand auch auf mind. einer rechten Seite vorkommt - wir müssen dann nämlich gewährleisten, dass zwar das leere Wort erzeugt, aber nicht in einem späteren Schritt abgeleitet werden kann.<br /> <br /> Viele Grüße<br /> <br /> Lukas König KON-AD https://info2.aifb.kit.edu/qa/index.php?qa=462&qa_1=wieso-ist-%C3%BCbergang-s-lambda-n%C3%B6tig&show=463#a463 Wed, 22 Oct 2014 14:47:49 +0000