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

Alternativvorschlag

0 Punkte
88 Aufrufe
Hallo,

zu dem geforderten KA hätte ich folgende Alternative. Unsicher bin ich mir beim letzten Lambda-Übergang, wobei ein unabgearbeitetes Wort ja eh nicht akzeptiert wird, egal ob sich der KA im Endzustand befindet oder nicht.

http://www.xwizard.de:8080/Wizz?template=ID-22153

Vielen Dank!
Gefragt 27, Jan 2017 in 2010-H-01 von uneqc uneqc Lernwillige(r) (310 Punkte)  

Eine Antwort

0 Punkte
Hallo uneqc,

Ich habe mir deinen Kellerautomaten mal angeschaut und bin auf folgende Punkte gestoßen:

- In der Aufgabenstellung steht, dass m,n,o,p > 0 sind. Das bedeutet, dass jeder Buchstabe (a,b,c,d) auch mindestens einmal vorkommt. In deinem KA wäre es aufgrund des zweiten Übergangs (s0,b,k) auch möglich, kein a zu haben.

- Zum Lambda-Übergang: Auch hier findest du die Antwort auf deine Frage in der Aufgabenstellung. Es wird hier nach einem deterministischen KA gefragt. Durch den Lambda-Übergang machst du deinen Automaten jedoch zu einem nicht-deterministischen (Zwei mögliche Übergänge für Zustand s4 bei oberstem Kellerzeichen c).

- Das Kellerstartzeichen ko kannst du dir anschaulich wie den "Boden" deines Kellers vorstellen, der immer dann gelesen wird, wenn der Keller leer ist. Du kannst daher nicht einfach dein oberstes Kellerzeichen c durch k ersetzen, wie du es hier im letzten Übergang gemacht hast. Sonst wäre es dann ja möglich, mehrere Kellerstartzeichen zu haben. Du kannst auch nicht durch das Schreiben von k den kompletten Kellerinhalt auf einmal löschen.

Vielleicht markierst du dir solche Informationen in der Angabe direkt beim Durchlesen der Aufgabe, damit du dann beim Lösen an alles denkst.

Ich hoffe ich konnte dir weiterhelfen!

Viele Grüße

Monika (Tutorin)
Beantwortet 27, Jan 2017 von ueegv ueegv Tutor(in) (101,440 Punkte)  
Hallo,
vielen Dank schon einmal für die Antwort.
Punkt 1 ist mir klar, das ist natürlich Schwachsinn.
zu Punkt 2 & 3: ich hatte hier das c falsch geschrieben, eigentlich sollte es ein k sein, also so: http://www.xwizard.de:8080/Wizz?template=ID-22155 dann müsste es ja bis auf Punkt 1 stimmen oder?
Ah okay, jetzt verstehe ich was du meinst. :)
Leider ist das dann trotzdem noch nicht ganz richtig. Nach deiner Definition würde beispielsweise das Wort abccccd auch akzeptiert werden. Nach Abarbeitung von abcccc stehen genau noch cc (und k) im Keller und wir befinden uns in Zustand s3. Nun lesen wir ein d ein bei oberstem Kellerzeichen c und gehen damit in Zustand s4 über, welchen du als Endzustand definiert hast. Damit hätten wir unser Wort abgearbeitet und befinden uns in einem Endzustand, per Definition wird dieses Wort also von dem KA akzeptiert.
Um das kurz zusammenzufassen: Der KA muss sich genau dann in einem Endzustand befinden, wenn das bis dahin eingelesene Wort akzeptiert wird.
...