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

Kategorien

0 Pluspunkte 1 Minuspunkt
49 Aufrufe

Wäre folgende Lösung (mit Kellernutzung) richtig?

 

(s0, λ, k0) --> (se, k0)

(s0, b, k0) --> (s0, bk0)

(s0, b, b) --> (s0, λ)

(s0, a, k0) --> (s0, ak0)

(s0, a, a) --> (s1, λ)

(s1, b, k0) --> (se, k0)

 
in KEL-AF von utdbu utdbu Tutor(in) (107k Punkte)  

1 Eine Antwort

0 Pluspunkte 0 Minuspunkte
Die Idee ist hier richtig, jedoch stimmen bei Ihnen einige Zustandsübergänge nicht. Ich gehe davon aus, dass bei Ihnen se Endzustand ist? Durch den lambda-Übergang machen Sie Ihren Automaten im übrigen nicht-deterministisch. Sie lesen zwei b's und bleiben dann in s0 und der Keller ist leer. Dann könnten Sie auch von hier direkt in se wechseln, was Sie aber nicht dürfen, da das Wort auf aab enden soll. Demnach müssen Sie hier irgendwo den Zustand wechslen, um nicht über den lambda-Übergang in den Endzustand zu gelangen (so wie Sie das auch mit den a's machen). Der Rest sieht aber gut aus.

Viele Grüße
Friederike Pfeiffer
von utdbu utdbu Tutor(in) (107k Punkte)  
0 0
Hallo,


Ist es richtig, dass hier mindestens ein Zustand hinzugefügt werden muss, um zu gewährleisten, dass das akzeptierte Wort auf aab endet?

Spontan hätte ich folgende Lösung angegeben. Sieht zwar etwas komplizierter aus, aber müsste doch stimmen oder?

(s0, λ, k0) --> (se, k0)

(s0, a, ko) --> (s2, ak0)

(s0, b, k0) --> (s1, bk0)

(s1, b, b)  --> (s1, λ)

(s1, b, k0) --> (s1, bk0)

(s1, a, k0)  --> (s2, ak0)

(s2, a, a)   --> (s3, λ)

(s3, b, k0)  --> (se, k0)

Die Zustände sind hier so gewählt, dass für je ein "Abschnitt" im Wort, ein neuer Zustand eingeführt wird. Unter Abschnitt verstehe ich eine charakteristische Unterteilung des Worts, also in diesem Bsp. in die Teile (bb)* | aa | b

Fährt man mit dieser Vorgehensweise immer gut, auch wenn sie z.T. Zustände erfordert, die eigentlich nicht nötig sind?

Danke und Gruß
0 0
Hallo,

durch den Nichtdeterminismus machst du dir das Leben ein wenig schwer, so kann es bei deinem KA passieren, dass das leere Wort akzeptiert wird. Die Wörter sollen allerdings alle auf aab enden. Wenn du aber den ersten Übergang weglässt, dann müsste der Rest stimmen.

Viele Grüße,

Vivian (Tutor)
...