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 minimierung sprachen nichtdeterministisch huffman chomsky-normalform fehler-in-aufgabe anwesenheitsübung rechtslinear heimübung flip-flop cocke-younger-kasami-algorithmus kontextsensitive-grammatik kontextfreie-grammatik fehlererkennbarkeit huffman-kodierung hauptklausur vorlesungsfolien kontextfreie-sprache polynomialzeitreduktion faq gleitkommazahl fehlerkorrigierbarkeit rechtslineare-grammatik dateiorganisation cache darstellung-klausur nachklausur xwizard adressierungsarten lambda mealy endliche-automaten konjunktive-normalform pipelining zustände saalübung leeres-wort 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 pumping-lemma klausureinsicht disjunktive-normalform info-ii bussysteme rechnerarchitektur abzählbarkeit komplexitätsklassen ableitungsbaum vorlesungsaufzeichnung round-robin entscheidbarkeit minimierung-endlicher-automaten chomsky-klassen von-neumann-rechner binärzahl entscheidbar programmiersprachen aufzählbarkeit stern-symbol automaten schaltnetze-und-schaltwerke nukit-fragen bewertung zugriffsarten umformung adressierung mengen binär-subtrahieren

Kategorien

0 Pluspunkte 0 Minuspunkte
90 Aufrufe

 

Hallo,

in der Musterlösung zu Aufgabe 46 aus dem Übungsbuch 1 ist ein Kellerautomat ohne Kellernutzung angeben. Es steht der Hinweis dabei, dass ein Alternative mit Kellernutzung weniger Zustände benötigen würden. Wäre folgender Ansatz ein richtige Alternative?

(s0,a,k0) => (s1,ak0) // Wort beginnt mit a

(s0,b,k0) => (s0,bk0) // Wort kann mit beliebig viele zweier Paaren an b's beginnen

(s0,b,b) => (s0, Lambda) // matchen von 2 b's 

(s1,a,a) => (s1,aa)

(s1,b,a) => (se,k0) // Ist es möglich den Keller der bisher aus "aak0" besteht sofort                                       durch "k0" zu ersetzten? Abbruchkriterium des Wortes ist ja                                         wegen aab am Ende erfüllt

 

Danke und LG

 

in KEL-AF von uipmv uipmv Lernwillige(r) (1.2k Punkte)  

1 Eine Antwort

0 Pluspunkte 0 Minuspunkte
Hallo,

Streng genommen muss der Keller bei uns nicht leer sein, damit das Wort erkannt wird. Laut Definition ist es ausreichend, wenn das Wort abgearbeitet ist und wir in einem Endzustand sind.
Es macht jedoch oft Sinn mit einem leeren Keller zu enden, da wir hier Informationen „speichern“. Um z.B. zu garantieren, dass genau zwei a’s eingelesen wurden, schreiben wir diese wenn sie vor kommen in den Keller und bauen unsere Übergänge so auf, dass wir diese nur genau zweimal rauslöschen können (Nicht mehr und nicht weniger).
In deinem Beispiel fehlt dieser Mechanismus und der Kellerautomat würde z.B. auch das Wort aaaab akzeptieren (das nicht Teil der Sprache ist).

(so,aaaab,ko) -> (s1,aaab,ak0) -> (s1,aab,aak0) -> (s1,ab,aaak0) -> (s1,b,aaaak0) -> (se,lambda,aaaak0)

Im Folgenden findest du ein Beispiel, das den Keller verwenden würde und funktioniert:

Endzustand F = {se}

(s0, b, k0) -> (s0, bk0)
(s0, b, b) -> (s0, Lambda)
(s0, a, k0) -> (s0, ak0)
(s0, a, a ) -> (s2, Lambda)
(s2, b, k0) -> (se, k0)

Die ersten beiden Übergänge stellen sicher, dass nur eine gerade Anzahl an b’s eingelesen werden kann und durch den Wechsel in s2 (im 4.Übergang), nachdem das zweite a eingelesen wird ist sichergestellt, dass im Anschluss nur noch genau ein b kommen kann. Dies ist die einzige Möglichkeit ausgehend von s2 in den Endzustand zu kommen.

Viele Grüße,

Sören (Tutor)
von updrr updrr Eins-Komma-Null-Anwärter(in) (4.7k Punkte)  
0 0
Hallo,
Wäre es hier ebenfalls richtig den im Tutorium benutzten Alg. zu benutzen und dann auch mit Nonterminalen im Keller zu arbeiten?
Viele Grüße
0 0
Ja, der Algorithmus kann immer angewendet werden, solange nach einem nichtdeterministischen Kellerautomaten gefragt wird. Für die Generierung eines deterministisschen Kellerautomaten kann der Algorithmus nicht verwendet werden.

Viele Grüße,

Sören (Tutor)
...