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

Wann ist ein KA (nicht-)deterministisch?

–1 Punkt
65 Aufrufe
Verstehe ich das richtig, dass sich der Nichtdeterminismus dadurch auszeichnet, dass ich aus einem Zustand zwei voneinander verschiedene Zustände erreichen kann?
 
zB in der Musterlösung:
 
$$(s_0,a,k_0) \rightarrow (s_0,ak_0)\\(s_0,\lambda,k_0) \rightarrow (s_e,k_0)$$
 
$s_0 \neq s_e$
Gefragt 6, Nov 2014 in Band I, Kapitel 5 von Lukas König Dozent (10,065,100 Punkte)  

2 Antworten

+1 Punkt
 
Beste Antwort
In gewisser Weise ja. Nichdeterminismus bedeutet, dass es eine (oder mehrere) Kombination von aktuellem Zustand, nächstem Zeichen der Eingabe und aktuellem Kellerinhalt gibt, für die mehr als ein Übergang definiert ist.
 
In deinem Beispiel: wenn man in $s_0$ ist, das nächste Zeichen ist $a$ und der Keller ist leer, dann gibt es zwei passende Übergänge: das $a$ einlesen und in $s_0$ bleiben sowie $\lambda$ einlesen (d.h. das $a$ später einlesen) und nach $s_e$ gehen.
 
Ich weiß nicht genau was du mit "aus einem Zustand" gemeint hast, daher zur Sicherheit: das hier ist deterministisch:
 
$$(s_0, a, k_0) \rightarrow (s_0, ak_0)\\(s_0, b, k_0) \rightarrow (s_1, bk_0)$$
 
obwohl ich je nach Eingabe aus $s_0$ entweder nach $s_0$ oder $s_1$ gelangen kann.
 
Dagegen habe ich bei
 
$$(s_0, a, k_0) \rightarrow(s_0, ak_0) \\ (s_0, a, k_0) \rightarrow (s_0, bk_0)$$
 
ebenfalls zwei Möglichkeiten (=> nichtdeterministisch), obwohl man bei beiden Möglichkeiten in den selben Zustand wechselt.
 
Gruß,
 
Tobias (Tutor)
Beantwortet 6, Nov 2014 von Lukas König Dozent (10,065,100 Punkte)  
+1 Punkt
Dies ist so nicht richtig.
 
Sobald die Übergangsfunktion folgende Eigenschaft besitzt, ist der Kellerautomat nichtdeterministisch:
 
Es stehen mehrer Möglichkeiten zur Auswahl bei einem Zustand, gelesenem Zeichen, und Kellersymbol:
 
$$(s_0,a,k_0) \rightarrow \\ (s_0,a,k_0) \rightarrow$$
 
Mehrdeutigkeiten dürfen also beim deterministischen Kellerautomaten nicht auftauchen.
 
Oder der Automat kann in einem bestimmten Zustand und bestimmten Kellersymbol $\lambda$ und noch andere Sybole lesen:
 
$$(s_0,a,k_0) \rightarrow \\ (s_0,\lambda,k_0) \rightarrow$$
 
Natürlich kann die Übergangsfunktion auch beide Eigenschaften gleichzeitig besitzen.
 
Die genaue mathematische Definition habe ich Dir mal angehängt.
 
Viele Grüße,
 
Christoph (Tutor)
 
Beantwortet 6, Nov 2014 von Lukas König Dozent (10,065,100 Punkte)  
Dein Dateianhang ist die Definition für den Determinismus oder Nicht-Determinismus?
Entschuldige, dass ich das nicht mehr ergänzt habe. Die Definition ist für einen deterministischen Kellerautomaten.
Viele Grüße
Christoph (Tutor)
D.h., wenn ich das richtig verstehe, darf es bei einem deterministischen KA bei gegebenem Zustand und oberstem Kellerzeichen höchstens eine Überführung geben? Erläutert am obigen Bsp:
$$(s_0,a,k_0) \rightarrow \\ (s_0,\lambda,k0) \rightarrow$$
Für gegebenem Zustand s_0 und oberstem Kellerzeichen k_0 gibt es zwei Überführungen,was größer als 1 ist und damit ist der KA NichtDeterministisch.
Fast richtig. "bei gegebenem Zustand und oberstem Kellerzeichen" darf es in einem deterministischen KA auch mehrere Überführungen geben, wenn man anhand dem eingelesenen Zeichen eindeutig feststellen kann, welche Überführung "passt". Siehe dazu auch mein Beispiel von oben:
$$(s_0, a, k_0) \rightarrow (s_0, ak_0) \\ (s_0, b, k_0) \rightarrow (s_1, bk_0)$$
$\lambda$ ist ein Sonderfall, da anstelle des nächsten Zeichens immer auch $\lambda$ (=nichts) eingelesen werden kann. Deshalb "passen", wenn beispielsweise das nächste Zeichen $a$ ist und man die beiden Überführungen
$$(s_0, a, k_0) \rightarrow (s_0, ak_0) \\ (s_0, \lambda, k_0) \rightarrow (s_1, bk_0)$$
hat, beide Überführungen.
Gruß
Tobias (Tutor)
...