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