Kellerautomat Theoretische Informatik?

2 Antworten

Das Kelleralphabet besteht aus Symbolen, die im Keller abgelegt werden können. Ein Wort über diesem Alphabet entspricht einer endlichen Kombination dieser Symbole.

Ein Beispiel. Sagen wir, du möchtest folgende Sprache erkennen:

a^n(bc)^2n

Dabei sei:

E = {a, b, c}; dein Eingabealphabet

K = {b, c}; dein Kelleralphabet

Und du hast folgende Deltafunktion:

delta(z0, a, {b, c, epsilon}) => (z0, bc); //Zu beachten: das b liegt oben im Keller. Je nach Konvention muss es evtl. cb statt bc lauten.

delta(z0, b, b) => (z0, epsilon);

delta(z0, b, c) => (z_error, epsilon);

delta(z0, b, epsilon) => (z_error, epsilon);

delta(z0, c, b) => (z0_error, epsilon);

delta(z0, c, c) => (z_end, epsilon);

delta(z0, c, epsilon) => (z_error, epsilon);

wertw 
Fragesteller
 23.01.2022, 11:36

Danke, aber wie muss ich hier die delta-Funktion verstehen. Bsp. 2: man ist im Zustand z0 liest ein b und schreibt ein b auf den Stack. Dann kommt man dadurch in den Zustand z0 und was soll jetzt das epsilon?

1
Destranix  23.01.2022, 12:16
@wertw
man ist im Zustand z0 liest ein b und schreibt ein b auf den Stack.

Man liest einen Zustand zo, eine Eingabe b und ein Kellersymbol b ein. Dann kommt man in den Zustand z0 und legt ein oder mehrere Kellersymbole in den Keller/auf den Stack.

Das Epsilon heißt, das kein Kellersymbol in den Keller gelegt wird. Epsilon ist das leere Wort.

Soweit verstanden?

0
wertw 
Fragesteller
 23.01.2022, 17:53
@Destranix

Was ich gerade nicht verstehe ist das Kellersymbol: Man liest ein b in den Keller aber man legt nichts auf den Stack. Das ist gerade der Punkt der mich verwirrt

1
Destranix  23.01.2022, 17:56
@wertw

Der Keller ist der Stack. Ist nur der übersetze Term für dasselbe.

Man liest das, was im Keller/auf dem Stack ganz oben ist und legt dann keine, eines oder mehrere Zeichen oben in den Keller/auf den Stack.

0
wertw 
Fragesteller
 24.01.2022, 12:14
@Destranix

Ok das hilft mir weiter. In meinem Kurs haben wir aber solche Arten von Übergängen noch nicht angeschaut. Bei uns läuft es so ab: Man liest ein Zeichen aus dem Eingabealphabet und setzt oder nimmt ein Kellerzeichen auf/vom Stack. Wir lesen also nicht davor noch zusätzlich ein Zeichen aus dem Kelleralphabet. Oder ist das das Gleiche?

1
Destranix  24.01.2022, 14:15
@wertw

Könnte schon sein, dass das eine andere Form des Kellerautomatens darstellt. Könnte ich aber nicht beurteilen, ohne die genaue Definition zu kennen. Ab besten fragst du denjenigen, der für den Kurs zuständig ist danach.

0

Was ist ein Kellerautomat?