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

Schöne Ferien!
 

 

ausführlicheres Material / detaillierte Erklärung zu nKA

–1 Punkt
154 Aufrufe

Hallo,

trotz mehrmaligem Durchdenken und Nachrechnen kann ich die Lösung dieser Aufgabe schlichtweg nicht nachvollziehen.

Nichtdeterministische Kellerautomaten wurden in den Tutorien gar nicht und in der Vorlesung nur sehr kurz und oberflächlich angesprochen. In den Übungspools gibt es wenn ich mich nicht täusche nur eine einzige - mir ebenso unverständliche - Aufgabe dazu.

Gibt es zu nichtdeterministischen Kellerautomaten ausführlicheres Material oder könnte jemand konkret zu dieser Aufgabe die Lösung detailliert erläutern?

Danke!

 

Gefragt 23, Sep 2015 in 2014-H-04 von uafjv uafjv Tutor(in) (167,990 Punkte)  

Eine Antwort

0 Punkte

Hallo,

geeignetes Material suche ich gleich raus, erstmal zur Frage: 

Zum einen, für eine wirklich detaillierte Ausführung rate ich dir nächste Woche in dein Tutorium zu gehen, da wird eine Fragestunde stattfinden. Ansonsten gilt hier, das ein NDET KA notwendig ist, da nur dieser in der Lage ist, Wendestellen in Wörtern zu raten. Im Tutorium gab es hierzu die Frage mit den Palindromen (w=uu'), die auch nur von NDET KA erkannt werden können. w=u$u', also mit Trennzeichen, kann auch von einem DET KA erkannt werden. 

Im vorliegenden Beispiel gibt es keine Trennzeichen, daher der NDET KA (die Leerzeichen gehören nicht zum Wort).

Die Stellen, an denen der Automat NDET ist, sind leicht zu finden, es sind Zeile 2 und 3. Hier kann der Automat wählen, in welchen Zustand gewechselt wird. Dieses "eine Wahl haben" macht einen Automaten NDET. 

Ansonsten ist der Automat relativ einfach. 

Die drei Möglichkeiten in Zeile 2 sind:

  • \((s_1, 00)\): Wendestelle noch nicht erreicht, 0 in Keller schreiben
  • \((s_2, \lambda)\): Wendestelle erreicht, 2. Teilwort ist 2n lang (daher Zeichen jetzt nicht löschen)

Die fast gleiche Wahl hast du jetzt in Zeile 3 nochmal:

  • \((s_2, \lambda)\) : Wendestelle erreicht, 2. Teilwort n lang
  • \((s_4,0)\) : Wendestelle erreicht, 2. Teilwort 2n lang
  • Die Möglichkeit ein zeichen in den Keller zu schreiben entfällt, da eine 1 gelesen wird und diese nie zum 1. Teilwort gehört.
Interessant ist dann noch der Wechsel zwischen s3 und s4, dieser wird gemacht, damit nur jedes 2. Zeichen mit einem Eingabezeichen gelöscht wird (2. Teilwort soll ja doppelt so lang sein). 
 
So, ich hoffe, dass hilft schonmal weiter, ansonsten kannst du gerne etwas detailliertere Fragen stellen ;)
 
Viele Grüße,
Julian (Tutor)
Beantwortet 23, Sep 2015 von uafjv uafjv Tutor(in) (167,990 Punkte)  
Zustandsübergang
...