Vom Kellerplan zum Automaten
Einen Kellerautomaten entwirfst du vom Keller her: Erst festlegen, was gespeichert wird — dann ergeben sich die Übergänge fast von selbst.
- Merken:Was muss der Automat über den gelesenen Anfang wissen — und wie viel davon?
- Kellerplan:Welche Eingabe legt welches Zeichen ab, welche entfernt eines?
- Phasen:je Abschnitt des Worts ein Zustand, z. B. „a lesen“, „b lesen“, „fertig“.
- Übergänge:je Zustand jedes mögliche oberste Kellerzeichen mit jedem Eingabezeichen durchgehen.
- Abschluss:
(#,ε):#in einen Endzustand prüft „Keller wieder leer“. - Testen:Wörter aus L, Randfälle wie ε und Wörter knapp daneben.
| Zustand | oben | gelesen | Übergang | Idee |
|---|---|---|---|---|
| z0 | # | a | (#,a):AA# → z1 | je a zwei A ablegen |
| z1 | A | a | (A,a):AAA | A zurück, zwei A dazu |
| z1 | A | b | (A,b):ε → z2 | erstes b: ein A weg, b-Phase |
| z2 | A | b | (A,b):ε | je b ein A weg |
| z2 | # | ε | (#,ε):# → z3 | Keller leer: fertig |
Drei Entwürfe sollen \(L=\{w\in\{a,b\}^*\mid w \text{ enthält gleich viele a wie b}\}\) erkennen. Wähle zwei davon, lege ihre Kellerhöhen übereinander und decke den Lauf mit ▶ Zeichen für Zeichen auf. Wechsle das Wort, bis du bei jedem fehlerhaften Entwurf ein falsch behandeltes Wort gefunden hast.
Halte fest: Der richtige Entwurf speichert den Überschuss — lauter A, wenn mehr a gelesen wurden, lauter B bei mehr b. Seine Kellerhöhe folgt genau der gestrichelten Soll-Kurve. Wer nur eine Richtung zählt, bleibt stecken; wer den Endzustand ohne (#,ε):# erreicht, akzeptiert zu viel.
Die Mitte raten
Manchmal weiß der Automat nicht, wann er von „ablegen“ auf „vergleichen“ umschalten muss. Dann darf er raten.
- \(w^R\):das Wort w rückwärts, z. B. \((\texttt{abb})^R=\texttt{bba}\).
- Mit Mittelmarke:\(\{w\,c\,w^R\}\) — das c zeigt den Wechsel an; jeder Schritt ist eindeutig.
- Ohne Marke:\(\{w\,w^R\}\) — die ε-Übergänge
(A,ε):Aund(B,ε):Braten die Mitte. - Raten erlaubt:Ein NKA akzeptiert, wenn eine Rate-Möglichkeit im Endzustand endet; falsch geratene Läufe bleiben stecken.
- Grenze:\(\{a^nb^nc^n\}\) verlangt zwei Vergleiche mit derselben Anzahl — dafür reicht ein Keller nicht.
Herleitung:
Kellerautomaten entwickeln: Kellerplan festlegen (was wird abgelegt, was entfernt) → je Phase ein Zustand → Übergänge (X,e):W für jedes benötigte Paar aus oberstem Kellerzeichen und Eingabe → mit (#,ε):# in den Endzustand. Ist ein Wechsel im Wort nicht markiert, rät ein ε-Übergang ihn (NKA).
Allgemeine Hinweise
Jedes oberste Zeichen bedenken
Fehlt (#,b):B#, bleibt der Automat bei ba sofort stecken. Gehe je Zustand alle Paare aus Kellerzeichen und Eingabe durch.
Endzustand erst nach der Prüfung
Führt der Weg ohne (#,ε):# in den Endzustand, werden auch Wörter mit Rest im Keller akzeptiert.
Mit Randfällen testen
Teste ε, Wörter aus einem Zeichen, die falsche Reihenfolge und ein Zeichen zu viel — dort stecken die meisten Entwurfsfehler.
