Zustand
Ein Zustand beschreibt eine mögliche Situation, in der sich der Automat befinden kann. Er fasst die relevante Information für den nächsten Schritt zusammen. Im Zustandsdiagramm wird er als Kreis mit Zustandsnamen dargestellt.
Q3.1 hat formale Sprachen als Mengen zulässiger Wörter über einem Alphabet eingeführt und mit Grammatiken erzeugend beschrieben. Q3.2 wechselt nun die Perspektive: Ein endlicher Automat liest ein Eingabewort und entscheidet, ob es zu einer solchen Sprache gehört.
Endliche Automaten beschreiben Systeme, die auf Eingaben reagieren und dabei zwischen endlich vielen Zuständen wechseln. Sie eignen sich, um einfache technische und digitale Abläufe zu modellieren: Parkscheinautomaten, Kaffeemaschinen, Fahrkartenautomaten, Tokenisierung in Compilern oder Eingabeprüfungen.
In diesem Kapitel lernst du, Automaten durch Zustandsdiagramme und Übergangstabellen darzustellen, Eingabewörter zu prüfen, Akzeptoren und Transduktoren zu unterscheiden und die Grenzen endlicher Automaten zu erkennen. Q3.3 erweitert diese Sicht anschließend um Kellerautomaten für geschachtelte und kontextfreie Strukturen.
L(A) des AutomatenEin endlicher Automat merkt sich nicht die ganze Vergangenheit, sondern nur seinen aktuellen Zustand.
Reale Automaten wirken von außen oft wie Blackboxes: Eine Eingabe wird gemacht, im Inneren geschieht Verarbeitung, und am Ende erscheint eine Ausgabe oder Reaktion. Diese EVA-Sicht ist als Einstieg hilfreich, reicht aber für die Modellierung noch nicht aus. Das Automatenmodell macht sichtbar, welche inneren Zustände für diese Verarbeitung unterschieden werden müssen.
Beim Schritt vom realen System zum mathematischen Modell werden Material, Bauweise und Oberflächendesign ausgeblendet. Beibehalten werden nur Zustände, Eingaben, Übergänge und die Start-/Endzustandsidee. Zustände speichern dabei genau die Information über bisherige Eingaben, die für den nächsten Schritt relevant ist.
Beispielhaft kann eine Laborstation mit Zugangscode modelliert werden: Die Regeln liegen zuerst in Alltagssprache vor, müssen dann aber in Eingaben, Zustände, Übergänge und Endzustände übersetzt werden. Modellieren heißt hier: äußere Details weglassen und die fachlich relevante Zustands- und Übergangslogik behalten.
Die Beispiele der Seite haben unterschiedliche Rollen: Der Zugangscode verbindet Q3.1 mit der Sprache L(A), die gerade Anzahl von 1en zeigt Zustandsbedeutung im Minimalmodell, das Zahlenschloss markiert den Wechsel zum Transduktor, reguläre Muster zeigen Ausdrucksstärke und Grenzen, und der NEA vertieft die Idee mehrerer möglicher Wege.
Die folgenden Konventionen dienen als Leseschlüssel. So kannst du Zustandsdiagramme und Übergangstabellen systematisch lesen, bevor komplexere Beispiele folgen.
Aus Sicht formaler Sprachen liest der Automat ein Eingabewort Zeichen für Zeichen; die Übergangsfunktion legt fest, wie das bisher Gelesene im aktuellen Zustand zusammengefasst wird.
Zustände wirken dabei als begrenztes Gedächtnis: Bei einem Zugangscode muss der Automat nicht das ganze Eingabewort speichern, sondern nur relevanten Fortschritt wie Kennbuchstabe schon gelesen, Anzahl gelesener Binärziffern, letztes Zeichen 0 und ob ein Fehlerzustand erreicht wurde.
Wir verwenden die Notation A = (Z, Σ, δ, z0, E) mit Zustandsmenge Z, Eingabealphabet Σ, Übergangsfunktion δ, Startzustand z0 und Endzustandsmenge E. In anderen Quellen stehen oft Q, q0 und F für dieselben Rollen.
Ein Zustand beschreibt eine mögliche Situation, in der sich der Automat befinden kann. Er fasst die relevante Information für den nächsten Schritt zusammen. Im Zustandsdiagramm wird er als Kreis mit Zustandsnamen dargestellt.
Der Startzustand ist der Zustand, in dem die Verarbeitung eines Eingabewortes beginnt. Zu Beginn jeder Verarbeitung steht der Automat genau in diesem Zustand. Er wird durch einen eingehenden Startpfeil markiert.
Ein Endzustand zeigt an, dass ein Eingabewort nach vollständiger Verarbeitung akzeptiert wird. Entscheidend ist der erreichte Zustand nach dem letzten Zeichen. Endzustände werden im Zustandsdiagramm als Doppelkreis dargestellt.
Ein Übergang beschreibt, wie der Automat beim Lesen eines Eingabesymbols von einem Zustand in einen anderen wechselt. Er ist gerichtet und hat daher eine feste Richtung. Die Pfeilspitze zeigt auf den Folgezustand.
Eine Schleife ist ein selbstreferenzieller Übergang. Beim angegebenen Eingabesymbol bleibt der Automat im selben Zustand. Schleifen modellieren Wiederholungen ohne Zustandswechsel.
Das Label eines Übergangs gibt an, bei welchem Eingabesymbol der Übergang ausgeführt wird. Es ist damit Teil der Übergangsfunktion. Mehrere Symbole können gebündelt werden, zum Beispiel 0,1.
Ein Automat kann als Zustandsdiagramm oder als Übergangstabelle dargestellt werden. Beide Darstellungen beschreiben dieselbe Übergangsfunktion δ. In der Tabelle gilt: Zeile = aktueller Zustand, Spalte = Eingabesymbol, Zelle = Folgezustand.
Ein Eingabewort wird akzeptiert, wenn nach dem Lesen aller Zeichen ein Endzustand erreicht wird. Endet die Verarbeitung in einem Nicht-Endzustand, wird das Eingabewort verworfen. Maßgeblich ist der Endzustand nach dem letzten Symbol.
Die Lerngrafik verbindet Zustandsdiagramm und Übergangstabelle für denselben Automaten. Fachlich bedeutet das: beide Darstellungen beschreiben exakt dieselbe Übergangsfunktion δ.
δ mit Eingabesymbol und Folgezustand.δ. Was lernt man? Beide Darstellungen sind fachlich gleichwertig und ineinander übersetzbar.L(A) charakterisieren
Ein deterministischer endlicher Automat ist ein Akzeptor: Er erkennt eine formale Sprache, indem er ein Eingabewort Zeichen für Zeichen liest und am Ende über akzeptiert oder verworfen entscheidet. Deterministisch bedeutet: Zu jeder Kombination aus Zustand und Eingabesymbol gibt es genau einen Folgezustand.
Damit entsteht die erkennende Sicht auf Q3.1: Dort wurden zulässige Wörter mit Grammatikregeln erzeugt; hier entscheidet ein Automat für ein gegebenes Eingabewort, ob es zu seiner Sprache L(A) gehört.
1enAm gezeigten Automaten bedeutet z0: bisher wurde eine gerade Anzahl von 1en gelesen. z1 bedeutet entsprechend: bisher wurde eine ungerade Anzahl von 1en gelesen. Der aktuelle Zustand ist hier das begrenzte Gedächtnis des Automaten.
1 wechselt zwischen z0 und z1 (Parität kippt).0 lässt den Automaten im aktuellen Zustand (Parität bleibt).z0 ist Endzustand: akzeptiert werden genau Eingabewörter mit gerader Anzahl von 1en.1en. Welcher Begriff? Zustandsbedeutung im DEA. Was lernt man? Die Parität wird vollständig durch den aktuellen Zustand gespeichert.A = (Z, Σ, δ, z0, E)
Die Funktion δ legt fest, welcher Folgezustand beim Lesen eines Eingabesymbols erreicht wird. Kurzvergleich: Die Bezeichnungen Q/q0/F aus anderen Quellen bezeichnen dieselben Rollen.
L(A)Ein Eingabewort ist ein Wort über dem Eingabealphabet Σ, also eine endliche Folge von Symbolen aus Σ. Der Trace zeigt die Zustandsfolge beim Lesen. Akzeptanz wird erst nach vollständiger Verarbeitung des Eingabeworts entschieden.
Beispiel Zugangscode: Σ = {A, B, 0, 1}. Eingabewörter über diesem Alphabet können gültig oder ungültig sein. Gültig sind hier genau die Eingabewörter, die mit A oder B beginnen, dann mindestens zwei Binärziffern enthalten, mit 1 enden und keine Teilfolge 00 besitzen. Diese gültigen Eingabewörter bilden die Sprache L(A).
L(A): Menge aller Eingabewörter, die A akzeptiert.(z, a) ist δ(z, a) definiert; sonst ergänzt man oft einen Fehlerzustand.A101 und B011 sind gültige Eingabewörter; A001 wird wegen 00 verworfen, B10 ist zu kurz, und C101 ist wegen C kein Wort über Σ.
L(A).Bis hier stand die Sprachfrage im Mittelpunkt: Gehört dieses Eingabewort zur Sprache L(A)? DEA, NEA und Akzeptoren gehören zu dieser Sprachentscheidung: Am Ende wird akzeptiert oder verworfen. Mit dem Transduktor wechseln wir nicht nur die Darstellung, sondern das Modellziel. Ein Mealy-Automat modelliert, welche Ausgabe oder Reaktion ein System während der Verarbeitung erzeugt.
L(A)Ein Zahlenschloss liest Ziffern nacheinander. Der Zustand speichert dabei nicht die ganze Eingabefolge, sondern nur, wie weit die richtige Ziffernfolge bereits erkannt wurde. Ist zum Beispiel die erste passende Ziffer gelesen, kann der nächste Zustand bedeuten: „erste Stelle stimmt“.
Der Mealy-Gedanke liegt in der Reaktion auf jeden Verarbeitungsschritt: Eine passende Eingabe wie 4 im richtigen Zustand kann die Ausgabe I erzeugen, also das erste Lämpchen einschalten. Eine falsche Eingabe kann eine Fehlermeldung oder Rücksetzung ausgeben. Nach der vollständigen richtigen Eingabe kann als Ausgabe „Tür öffnen“ entstehen. Entscheidend ist damit nicht nur, wo der Automat landet, sondern welche Ausgaben auf dem Weg erzeugt werden.
Übergänge werden oft als Eingabe/Ausgabe beschriftet. x/y bedeutet: Bei Eingabe x wird der Übergang ausgeführt und die Ausgabe y erzeugt. Links vom Schrägstrich steht also das Eingabezeichen, rechts vom Schrägstrich das Ausgabezeichen. Beim Zahlenschloss könnte 4/I bedeuten: Eingabe 4, Ausgabe I für das erste Lämpchen.
M = (Q, Σ, Ω, δ, λ, q0)
Damit erweitert der Mealy-Automat den endlichen Automaten nicht um zusätzlichen Speicher, sondern um eine Ausgabefunktion.
Q3.3 verfolgt anschließend eine andere Erweiterungsrichtung: Kellerautomaten ergänzen endliche Automaten um zusätzlichen Speicher durch einen Stack. Kurz gesagt: Mealy bedeutet endlicher Automat plus Ausgabe; Kellerautomat bedeutet endlicher Automat plus Stack.
Q3.1 hat gezeigt: Eine reguläre Grammatik erzeugt eine reguläre Sprache. Q3.2 ergänzt die erkennende Seite: Ein endlicher Automat erkennt eine reguläre Sprache. Reguläre Ausdrücke, reguläre Grammatiken und endliche Automaten beschreiben damit dieselbe Sprachklasse.
Formale Sprachen sind dabei Mengen von Wörtern über einem Alphabet, also Teilmengen von Σ*. Ein endlicher Automat wählt daraus genau die Eingabewörter aus, die nach vollständiger Verarbeitung akzeptiert werden.
Endliche Automaten erkennen feste Muster und endliche Zustandslogik, etwa „gerade Anzahl von 1“, „endet auf ab“ oder „enthält 010“.
Endliche Automaten haben nur endlich viele Zustände. Unbeschränktes Zählen und beliebige Verschachtelung sind deshalb nicht allgemein möglich, z. B. bei a^n b^n oder beliebig tief geschachtelten Klammern.
Damit ist der Anschluss klar: Q3.2 fragt, wie ein Automat Eingabewörter einer Sprache erkennt. Q3.3 zeigt anschließend mit Kellerautomaten, wie ein zusätzlicher Speicher für kontextfreie und geschachtelte Strukturen genutzt wird.
Der DEA ist streng eindeutig: Zu Zustand und Eingabesymbol gibt es genau einen Folgezustand. Ein NEA lockert genau diese Stelle. Zu einem Zustand und Eingabesymbol kann es mehrere mögliche Folgezustände geben, manchmal zusätzlich ε-Übergänge ohne gelesenes Eingabesymbol.
Beim Lesen eines Eingabewortes entsteht deshalb nicht nur ein einzelner Weg, sondern eine Menge möglicher Pfade. Die Akzeptanzfrage lautet nicht mehr: Welcher eine Weg entsteht? Sondern: Gibt es mindestens einen Pfad, der nach vollständiger Verarbeitung in einem Endzustand endet?
ε-Übergang: Zustandswechsel ohne Verbrauch eines Eingabesymbols.Ein Zustand des äquivalenten DEA merkt sich nicht einen einzelnen NEA-Zustand, sondern eine Menge möglicher NEA-Zustände.
Didaktischer Merksatz: NEA sind oft kompakter in der Beschreibung, erkennen aber keine größere Sprachklasse als DEA. Beide Modelle erkennen reguläre Sprachen.
Für Konstruktion, Validierung und Wortprüfung steht ein eigenes Automaten-Werkzeug zur Verfügung. Die Oberfläche nutzt die Glossar-Notation A = (Z, Σ, δ, z0, E).
Das Werkzeug verbindet die Sprachidee aus Q3.1 mit dem Automatenmodell aus Q3.2: Du beschreibst eine Sprache, baust einen Akzeptor und prüfst im Trace, welche Eingabewörter erkannt werden.
Σ testenL(A) beobachtenΣ.L(A) eines Automaten ist die Menge aller akzeptierten Eingabewörter.δ.Q3.2 zeigt, wie endliche Automaten reguläre Sprachen erkennen und wie Mealy-Automaten Ausgaben modellieren. Q3.3 erweitert diesen Lernweg mit dem Kellerautomaten in eine andere Richtung: Zusätzlich zum Zustand gibt es dann einen Stack als Speicher für kontextfreie und geschachtelte Strukturen.
Darauf aufbauend folgt in Q3.4 die Turingmaschine als allgemeineres Berechnungsmodell. Der rote Faden bleibt derselbe: Welche Sprache oder Berechnung kann ein Modell mit seinen verfügbaren Speichermitteln beschreiben?