Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Deterministische Kellerautomaten und das Wortproblem

Ähnliche Präsentationen


Präsentation zum Thema: "Deterministische Kellerautomaten und das Wortproblem"—  Präsentation transkript:

1 Deterministische Kellerautomaten und das Wortproblem
Wie verarbeiten deterministische Kellertautomaten ihre Eingaben ... sei K der wie folgt definierte deterministische Kellerautomat (z0,0,$,z1,0) (z1,1,0,z2,1) (z1,0,0,z3,0) (z2,1,1,z2,1) (z3,!,0,z4,0) (z2,0,1,z*,1) (z4,!,0,z3,0) jede Zeichenkette w wird von K auf genaue eine Art verarbeitet bspw. gilt w = wird ... w = 00 wird ... w = 1000 wird ...

2 Deterministische Kellerautomaten und das Wortproblem
Wie verarbeiten deterministische Kellertautomaten ihre Eingaben ... sei K der wie folgt definierte deterministische Kellerautomat (z0,0,$,z1,0) (z1,1,0,z2,1) (z1,0,0,z3,0) (z2,1,1,z2,1) (z3,!,0,z4,0) (z2,0,1,z*,1) (z4,!,0,z3,0) jede Zeichenkette w wird von K auf genaue eine Art verarbeitet bspw. gilt w = wird vollständig verarbeitet und K erreicht z* w = 00 wird nicht vollständig verarbeitet und K „geht in eine Endlosschleife“ w = 1000 wird nicht vollständig verarbeitet und K bleibt in z0

3 Deterministische Kellerautomaten und das Wortproblem
Anmerkungen um mit Hilfe von K das Wortproblem für die Sprache L(K) zu lösen, muss man man einen Algorithmus angegeben, mit dem man für jede Zeichenkette w entscheiden kann, ob der Fall eintritt, dass K das Wort w vollständig verarbeitet und z* erreicht hat (/* dann gehört w zur Sprache L(K) */) dieser Fall nicht eintritt (/* dann gehört w nicht zur Sprache L(K) */) ... das geht für deterministische Kellerautomaten einfach

4 Deterministische Kellerautomaten und das Wortproblem
der anhand von K definierte Lösungsalgorithmus für das Wortproblem Eingabe: eine Zeichenkette w konf: = (z0,w,$) n := |w|, i := 1 und flag := 0 while ( i ≤ 3*n && flag = 0 ) do falls K in der Situation konf keine Transition anwenden kann, setze flag := 2 sonst bestimme die Nachfolgekonfiguration konf‘ von konf und teste, ob konf‘ eine akzeptierende Konfiguration ist (d.h. K hat w vollständig verarbeitet und z* erreicht) falls ja, setze flag := 1 falls nein, setze konf‘ := konf und i := i+1 falls flag = 1 gilt, gib „w gehört zu L(K)“ aus falls flag ≠ 1 gilt, gib „w gehört nicht zu L(K)“ aus


Herunterladen ppt "Deterministische Kellerautomaten und das Wortproblem"

Ähnliche Präsentationen


Google-Anzeigen