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

1 Pluspunkt 1 Minuspunkt
116 Aufrufe
Muss der Automat nicht so konzipiert sein, dass es nur die vorgegebene Sprache erkennt und sonst keine andere? Bei Uneindeutigkeit könnte man ja sonst beliebig viele Überführungsfunktionen definieren, die sogar eine andere Sprache akzeptieren würde oder gibt es keine solche Restriktion bei den Kellerautomaten?

Ich habe eine andere Lösung für den Automaten, die aber aufgrund falscher Annahmen durch meine Frage oben falsch sein könnte. Würde diese Funktion gelten oder ist nur die der Musterlösung richtig?

Überführungsfunktion:

(s0, λ, k0) -> (sE, k0)
(s0, a, k0) -> (s0, ak0)
(s0, c, k0) -> (s1, ck0)
(s0, a, a) -> (s0, aa)
(s1, c, c) -> (s2, λ)
(s2, c, k0) -> (s2, λ)
(s0, b, a) -> (s2, λ)
(s1, b, a) -> (s2, λ)
(s2, a, a) -> (s2, λ)
(s2, λ, k0) -> (sE, k0)

Gruß Alex
in KEL-AD von uyctv uyctv Info-Genie (21.1k Punkte)  

1 Eine Antwort

0 Pluspunkte 0 Minuspunkte

Hallo,

du hast schon Recht: Jedes Wort, was erzeugt werden kann, ist automatisch Teil der Sprache. Das heißt auch bei ndet KA muss man schauen, dass man nicht zu viele Wörter erkennen kann. Bei der uneindeutigkeit kann es nur zu Sackgassenzuständen kommen, das ist aber kein Problem, solange ich immer einen Weg für jedes Wort meiner Sprache finde.

Bei deiner Überführungsfunktion stimmen leider einige Übergänge nicht bzw. fehlen. Drei Beispiele:

1) Das einzige Wort, das nur aus c's besteht, ist bei dir das Wort cc. Jedoch sollen alle Wörter c^(2r) darstellbar sein.

2) Wenn ich a's am Anfang schreibe, z.B. aaaa, dann kann ich danach nur mit einem b weiter machen und kann kein c schreiben.

3) Der Übergang (s2, c, k0) -> (s2, λ) macht keinen Sinn, du kannst k0 nicht aus dem Keller löschen.

Schau dir das am Besten nochmal an.

Gruß,

Adam (Tutor)

 

von uyctv uyctv Info-Genie (21.1k Punkte)  
0 0
Danke dir Adam,
ja war schon spät wo ich das gemacht habe, habs dann selbst auch gemerkt :)

Wie genau wird es denn dann gefordert? Ich habe nur bei ndet-KA das Problem einzuschätzen, ab wann es "too much" ist. Da man ja potentiell sehr viele Sackgassen Zustände erzeugen kann bewusst oder unbewusst und auch viel mehr Wörter akzeptiert werden als man vielleicht möchte. D.h. allgemein der Regel folgen, dass man das alles ruhig darf, solange jedes Wort der Sprache erkannt wird stimmts?

Durch intelligente Ausnutzung von Zustandswechseln, kann man ja die Akzeptanz von Wörtern durch einen KA gut einschränken, dies is bei ndet nicht unbedingt gefordert, d.h. den ndet-KA so restriktiv wie möglich zu gestalten?

Gruß
0 0
Hallo,

die Erklärung von Adam finde ich sehr passend:

"du hast schon Recht: Jedes Wort, was erzeugt werden kann, ist automatisch Teil der Sprache. Das heißt auch bei ndet KA muss man schauen, dass man nicht zu viele Wörter erkennen kann. Bei der uneindeutigkeit kann es nur zu Sackgassenzuständen kommen, das ist aber kein Problem, solange ich immer einen Weg für jedes Wort meiner Sprache finde. "

Das mit der Intelligenten Ausnutzung von Zustandswechseln ist auch sehr gut. So wie du dein Vorgehen beschreibst, bist du denke ich auf der sicheren Seite.

 

 Grüße Jördis ( Tutorin )
0 0
Deine Lösung ist leider falsch. Schau Dir mal das Testwort aaccba an. (s0,aaccba,k0)-->(s0,accba,ak0)-->(s0,ccba,aak0)--> ??

Nun ist kein Zustand mehr definiert. Es gibt kein Zustand mit (s0,c,a)-->...
...