Qualifikationsphase

Q3.2 · Endliche Automaten

Zustände, Übergänge und Eingabewörter als Modell zustandsbasierter Systeme

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.

Orientierung
Vom Alltagssystem zum Automatenmodell
Warum Zustände nötig sind und was beim Modellieren zählt
Modellidee
Darstellungen
Leitidee

Ein 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.

Darstellungskonventionen
Darstellungskonventionen endlicher Automaten
So liest du ein Zustandsdiagramm Schritt für Schritt

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.

Notation

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.

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.

Zustand z0 z0

Startzustand

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.

Startzustand z0 z0

Endzustand

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.

Endzustand z1 z1

Übergang

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.

Uebergang mit Eingabesymbol 1 1

Schleife

Eine Schleife ist ein selbstreferenzieller Übergang. Beim angegebenen Eingabesymbol bleibt der Automat im selben Zustand. Schleifen modellieren Wiederholungen ohne Zustandswechsel.

Schleife mit Eingabesymbol 0 0

Kantenlabel / Eingabesymbol

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.

Kantenlabel mit mehreren Eingabesymbolen 0,1

Zustandsdiagramm und Übergangstabelle

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.

Diagramm und Tabelle als gleichwertige Darstellung 1 0 z 0 1 z0 z0 z1 z1 z1 z0

akzeptiert / verworfen

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.

Mini-Trace fuer akzeptiert und verworfen 101: z0 → z1 → z1 → z0 Ergebnis: akzeptiert 10: z0 → z1 → z1 Ergebnis: verworfen
Darstellungen
Zustandsdiagramme lesen und Übergangsfunktionen darstellen
Diagramm und δ-Tabelle als zwei gleichwertige Repräsentationen

Beispielgebundene Auswertung

Die Lerngrafik verbindet Zustandsdiagramm und Übergangstabelle für denselben Automaten. Fachlich bedeutet das: beide Darstellungen beschreiben exakt dieselbe Übergangsfunktion δ.

Zustandsdiagramm und Übergangstabelle desselben DEA
Was sieht man? Dieselbe Automatenlogik als Zustandsdiagramm und als Tabelle. Welcher Begriff? Übergangsfunktion δ. Was lernt man? Beide Darstellungen sind fachlich gleichwertig und ineinander übersetzbar.
DEA
Der deterministische endliche Automat als Akzeptor
Eingabewörter lesen, Zustände wechseln, Sprache 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.

Beispiel: gerade Anzahl von 1en

Am 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.

DEA zur Erkennung einer geraden Anzahl von 1en
Was sieht man? Zwei Zustände für gerade und ungerade Anzahl gelesener 1en. Welcher Begriff? Zustandsbedeutung im DEA. Was lernt man? Die Parität wird vollständig durch den aktuellen Zustand gespeichert.
Formale Beschreibung

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.

Wortprüfung und Sprache 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).

Beispielwörter

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 Σ.

Trace des Eingabewortes 101 im DEA
Was sieht man? Eine konkrete Zustandsfolge beim Lesen eines Eingabewortes. Welcher Begriff? Trace als Ausführungsspur eines Automaten. Was lernt man? Der Endzustand entscheidet direkt über Zugehörigkeit zu L(A).
Transduktor
Akzeptor oder Transduktor?
Warum manche Automaten Ausgaben erzeugen statt nur zu entscheiden

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.

Akzeptor
Transduktor / Mealy-Automat

Beispielidee: Zahlenschloss

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.

Übergangsbeschriftung im Mealy-Modell

Ü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.

Reduzierte formale Beschreibung

M = (Q, Σ, Ω, δ, λ, q0)

Damit erweitert der Mealy-Automat den endlichen Automaten nicht um zusätzlichen Speicher, sondern um eine Ausgabefunktion.

Merksatz

  • Ein Akzeptor beantwortet die Frage: Gehört dieses Eingabewort zur Sprache?
  • Ein Mealy-Automat erzeugt Ausgaben auf Übergängen: Was soll das System als Reaktion tun?
  • Ein Transduktor ist keine weitere Stufe der Sprachklassifikation, sondern ein Automatenmodell mit Ausgabe.

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.

Reguläre Sprachen
Reguläre Muster, reguläre Sprachen und Grenzen
Was endliche Automaten gut können und wo ihre Modellgrenzen liegen

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.

Gut modellierbar

Endliche Automaten erkennen feste Muster und endliche Zustandslogik, etwa „gerade Anzahl von 1“, „endet auf ab“ oder „enthält 010“.

Grenzen des Modells

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.

NEA
Vertiefung: Nichtdeterminismus und Potenzmengenkonstruktion
NEA-Idee verstehen und in DEA-Zustandsmengen übersetzen

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?

Potenzmengenkonstruktion (Idee)

Ein Zustand des äquivalenten DEA merkt sich nicht einen einzelnen NEA-Zustand, sondern eine Menge möglicher NEA-Zustände.

  1. Mögliche NEA-Zustände werden gesammelt; jede solche Menge bildet einen DEA-Zustand.
  2. Für jedes Eingabesymbol werden alle erreichbaren Folgezustände gesammelt.
  3. Jede neue Zustandsmenge wird als neuer DEA-Zustand aufgenommen.
  4. Akzeptierend ist jede Menge, die mindestens einen akzeptierenden NEA-Zustand enthält.

Didaktischer Merksatz: NEA sind oft kompakter in der Beschreibung, erkennen aber keine größere Sprachklasse als DEA. Beide Modelle erkennen reguläre Sprachen.

Werkzeug: Automaten-/Formalsprachen-Werkzeug (Automat, Wortprüfung, Trace)

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.

Merksätze

Ausblick

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?