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

2 Pluspunkte 0 Minuspunkte
157 Aufrufe
Hallo,

ich habe eine Frage zu dieser Aufgabe (Nr. 42 a) aber auch zu den Kellerautomaten allgemein:

Zu dieser Aufgabe: Nach meinem Verständis besteht die Sprache die hier abgebildet werden soll auch aus dem Leeren Wort. Müsste dann nicht auch ein Übergang (s0, Lambda, k0) --> (e0, k0)  definiert werden ? In der Automatendeklaration wird zwar auch s0 als Endzustand aufgeführt, müsst nicht jedoch (im Hinblick auf determinismus) dazu ein Übergang spezifiizier werden ?

Noch eine allgemeine Frage: Manchmal "arbeitet" der Keller-Automat zunächst im Zustand s0 (s0 kein Endzustand) meherere Iterationen manchmal wird aber auch direkt in der ersten Deklaration in einen Zustand s1 überführt und in dem dann Schleifen "gedreht". Für mich stellt es jedoch keinen Unterschied dar, ob ich den Zustand s0 gleich sinnvoll nutze oder zuerst in s1 überführe und dann dort arbeite. Nach welchen kriterien wird diese rein Formale Überführung [ z.B. (s0, a, k0) --> (s1, a) ; (s1, a, a) --> (s1, aa) anstatt (s0, a, ko) --> (s0,a); (s0,a,a) --> (s0,a) ] durchgeführt oder ist dies willkürlich ? Es ist immer noch eindeutig entscheidbar bei welchen Kombinationen von s,a,k der Zustand in einen eindeutigen Folgezustand gewechstelt wird.

 

Vielen Dank :)
in KEL-AE von uudji uudji Lernwillige(r) (380 Punkte)  

1 Eine Antwort

1 Pluspunkt 0 Minuspunkte

Hey uudji,

du hast richtig erkannt, dass das leere Wort akzeptiert werden muss. Da s0 ein Endzustand ist und der Automat kein Wort abzuarbeiten hat, wird das leere Wort auch wirklich akzeptiert.
Eine Überführung muss nicht definiert werden, der Automat in der Musterlösung ist deterministisch (siehe Definition des KA auf Folie 4 Kapitel 3 der Vorlesung).

Zu deiner allgemeinen Frage: Das kommt natürlich ganz auf die Sprache an, ob ein Zustandswechsel nach dem ersten Zeichen notwendig ist. Falls dieser nicht notwendig sein sollte, spielt es keine Rolle ob in s0 mehrere Iterationen durchgeführt werden oder nach dem ersten Zeichen der Zustand gewechselt wird. Der Automat würde die gleiche Sprache akzeptieren und es wäre eine, wie du sagtest, "formale Überführung".
In dieser Aufgabe ist dies jedoch NICHT so. Angenommen deine genannte Überführung (s0, a, ko) → (s0,a) würde zur Zustandsüberführungsfunktion des Automaten gehören, dann wüde der Automat das Wort a akzeptieren, da s0 ein Endzustand ist. Dabei ist a kein Wort der Sprache.
Du merkst, der Grund liegt hier in der Akzeptanz des leeren Wortes: Der Automat springt nach dem Einlesen des ersten Zeichens in den Zustand s1, da dieser kein Endzustand ist  um das Wort (das nun gewiss aus mindestens einem Zeichen besteht) auf die Erfüllung der Bedingungen zu überprüfen.

Viele Grüße
Ashvin

von uxdiu uxdiu Tutor(in) (102k Punkte)  
Bearbeitet von uxdiu uxdiu
...