Easy Coding
  Forum Wiki Tagging Projekte Karte RSS
» Start
» All Recent Changes
» Wiki Suche
» Wiki Hilfe

Coder How To's

Algorithmen Informationen

edit SideBar

Neue Wiki Eintrage finden Sie unter easy-coding.de/wiki.

Konstruktion eines Kellerautomaten

In diesem Kochrezept bilden wir einen Kellerautomaten? für die Sprache: L = {anbm | m < n}.

Beginnen wir mit einem Beispiel für 3 typische Anwendungen.
Der ursprüngliche Kellerautomat sieht so aus:

Anwendung 1: Lies a1, Pop k0, neuer Zustand ist s1, Push a1 (anstelle k0) ergibt folgende neue Konfiguration.
δ (s0,a1, k0) = (s1,a1)

Anwendung 2: Lies nichts!, Pop k0, neuer Zustand ist s1, Push k0
δ (s0,ε, k0) = (s1, k0)

Anwendung 3: Lies a1, Pop k0, neuer Zustand ist s1, Push a1k0
δ (s0,a1, k0) = (s1,a1k0)

Wir verwenden hier die ausführliche Schreibweise. Die Kurzschreibweise wäre ein Tupel? aus Ausgangszustand, einzulesendem Wort und dem aktuellem Kellerband.

Wir beginnen mit:

δ (S0,a,k0)=(S1,k0)

Zuerst lesen wir alle "a" in den Keller

δ (S0,a,k0)=(S1,ak0)
δ (S0,a,a)=(S1,aa)

Dann löschen wir die b's aus der Eingabe gegen die a's aus dem Keller

δ (S1,b,a)=(S2,ε)
δ (S1,b,a)=(S2,ε)

Zusammengesetzt sieht es dann so aus:

δ (S0,a,k0)=(S1,k0)
δ (S0,a,k0)=(S1,ak0)
δ (S0,a,a)=(S1,aa)
δ (S1,b,a)=(S2,ε)
δ (S1,b,a)=(S2,ε)
Zuletzt geändert am 01.07.2007 22:02 Uhr
  Impressum