Automat in der Informatik einfach erklärt
Ein Automat ist ein Modell für ein System, das nach festen Regeln auf Eingaben reagiert. Seine Reaktion hängt von der Eingabe und seinem aktuellen Zustand ab. Ein endlicher Automat besitzt nur endlich viele Zustände.
Auf dieser Seite lernst du zuerst die Grundidee kennen. Danach verfolgst du Eingabefolgen, prüfst die Akzeptanz von Wörtern und unterscheidest deterministische, nichtdeterministische und ausgabeerzeugende Automaten.
Hake ab, was du schon kannst — und komm am Ende hierher zurück!
Wie reagiert ein Automat auf eine Eingabe?
Stell dir einen Computer mit den Zuständen an und aus vor. Im Zustand „aus“ führt die Eingabe „hochfahren“ zum Zustand „an“. Im Zustand „an“ führt „herunterfahren“ zurück zu „aus“.
Zustand
Ein Zustand beschreibt, in welcher Situation sich das modellierte System gerade befindet. Er fasst alle Informationen zusammen, die für die nächste Reaktion wichtig sind.
Eine Eingabe ist ein Zeichen oder Ereignis, auf das der Automat reagieren kann. Der Wechsel vom aktuellen zum nächsten Zustand heißt Übergang oder Transition.
Für einen einzelnen Schritt brauchst du daher drei Angaben:
- den aktuellen Zustand,
- die Eingabe,
- die Regel für den Folgezustand.
Eine Ausgabe ist davon zu unterscheiden: Sie ist eine sichtbare Reaktion wie „Getränk ausgeben“. Nicht jeder Automat erzeugt Ausgaben. Ein reiner Akzeptor entscheidet nur, ob eine vollständige Eingabefolge gültig ist.
Die Eingabe kommt von außen. Der Zustand liegt im Automaten. Eine Übergangsregel verbindet beides mit dem Folgezustand.
Wie liest du Diagramme und Übergangstabellen?
In einem Zustandsdiagramm werden Zustände als Kreise und Übergänge als beschriftete Pfeile dargestellt. Ein Pfeil ohne vorherigen Zustand markiert den Startzustand. Bei einem Akzeptor werden akzeptierende Zustände doppelt umrandet.
Eine Übergangstabelle enthält dieselben Regeln in anderer Form. Die Zeile nennt den aktuellen Zustand, die Spalte die Eingabe und das Tabellenfeld den Folgezustand.
Betrachte einen vereinfachten Getränkeautomaten. Die Zustände 0, 1 und 2 geben das vorhandene Guthaben in Euro an.
| Zustand | 1 Euro | 2 Euro | Geld zurück | Getränk nehmen |
|---|---|---|---|---|
0 | 1 | 2 | nicht definiert | nicht definiert |
1 | 2 | nicht definiert | 0 | nicht definiert |
2 | nicht definiert | nicht definiert | 0 | 0 |
Eingabefolge: 1 Euro, 1 Euro, Getränk nehmen
- Der Automat startet in Zustand
0. - Die erste Münze führt von
0nach1. - Die zweite Münze führt von
1nach2. - „Getränk nehmen“ führt von
2zurück nach0.
Die Zustandsfolge lautet also 0 → 1 → 2 → 0. Der Automat hat die vollständige Bedienfolge verarbeitet und steht wieder im Grundzustand.
Aufgabe: Vom Tisch zum Diagramm
Zeichne für die drei Zustände 0, 1 und 2 je einen Kreis. Ergänze alle Übergänge der Eingabefolge „2 Euro, Geld zurück“.
Lösung
Der Startpfeil zeigt auf Zustand 0. Ein mit „2 Euro“ beschrifteter Pfeil führt von 0 nach 2. Ein zweiter Pfeil führt mit „Geld zurück“ von 2 nach 0. Damit stellst du dieselben Regeln wie in der Tabelle dar.
Woraus besteht ein deterministischer endlicher Automat?
Ein deterministischer endlicher Automat, kurz DFA, befindet sich während einer Berechnung immer in genau einem Zustand. Für einen Zustand und ein Eingabezeichen gibt es höchstens einen möglichen Folgezustand.
DFA
Ein DFA wird durch fünf Bestandteile beschrieben: A = (Q, Σ, δ, q0, F).
Qist die endliche Menge der Zustände.Σist das endliche Eingabealphabet.δist die Übergangsfunktion.q0ist der Startzustand.Fist die Menge der akzeptierenden Zustände.
Das Alphabet Σ enthält alle erlaubten Eingabezeichen. Ein Wort ist eine endliche Folge solcher Zeichen. Σ* bezeichnet die Menge aller Wörter über dem Alphabet, einschließlich des leeren Wortes ε.
Manche Definitionen verlangen, dass δ für jede Kombination aus Zustand und Zeichen einen Folgezustand liefert. Dann ist der DFA vollständig. Andere Darstellungen erlauben fehlende Übergänge und nennen den Automaten partiell.
Auf dieser Seite gilt: Ein vollständiger DFA besitzt für jedes Paar aus Zustand und Eingabe genau einen Übergang. Einen partiellen DFA kannst du durch einen Fehlerzustand vervollständigen.
Betrachte nun einen Akzeptor für vereinfachte Bezeichner. B steht für Buchstabe, Z für Ziffer.
- Zustände:
Q = {0, 1} - Startzustand:
0 - akzeptierende Zustände:
F = {1}
| Zustand | B | Z |
|---|---|---|
0 | 1 | nicht definiert |
1 | 1 | 1 |
Wort: BZB
Die Zustandsfolge ist 0 → 1 → 1 → 1:
- Das erste
Bführt von0nach1. Zlässt den Automaten in1.- Das letzte
Blässt ihn ebenfalls in1.
Nach dem letzten Zeichen steht der Automat im akzeptierenden Zustand 1. Deshalb akzeptiert er BZB.
Beim Wort ZBB fehlt dagegen schon für das erste Z ein Übergang aus Zustand 0. Der partielle Automat kann das Wort nicht weiterverarbeiten und akzeptiert es nicht.
Wähle in jeder Lücke die passende Form und prüfe anschließend deine Antworten.
Ein DFA startet im . Er liest nacheinander Zeichen aus dem . Nach dem letzten Zeichen entscheidet der erreichte über die Akzeptanz.
Wann akzeptiert ein Automat ein Wort?
Ein Akzeptor verarbeitet das Wort vollständig. Er akzeptiert es genau dann, wenn der danach erreichte Zustand in F liegt. Die Menge aller akzeptierten Wörter heißt die Sprache des Automaten.
Beim Bezeichnerautomaten ist das Muster leicht zu erkennen:
- Das erste Zeichen muss
Bsein. - Danach dürfen beliebig viele
BundZfolgen. - Das leere Wort
εwird nicht akzeptiert, weil der Startzustand0nicht akzeptierend ist.
Die Sprache besteht also genau aus den nichtleeren Wörtern über {B, Z}, die mit B beginnen.
Erweiterte Übergangsfunktion
Die gewöhnliche Übergangsfunktion verarbeitet ein Zeichen. Die erweiterte Übergangsfunktion verarbeitet ein ganzes Wort, indem sie die Übergangsregel Zeichen für Zeichen wiederholt. Beim leeren Wort bleibt der Zustand unverändert.
Was geschieht bei einem fehlenden Übergang?
Ein partieller DFA lässt manche Übergänge offen. Zur Vervollständigung ergänzt du einen nichtakzeptierenden Fehlerzustand f:
- Jeder fehlende Übergang führt nach
f. - In
fführt jedes weitere Zeichen wieder nachf.
Beim Wort ZBB lautet die Zustandsfolge des vervollständigten Bezeichnerautomaten daher 0 → f → f → f. Das Wort bleibt abgelehnt. Der Fehlerzustand verändert also nicht die erkannte Sprache; er macht nur alle Übergänge ausdrücklich sichtbar.
Erst nach dem letzten Eingabezeichen wird geprüft: Liegt der erreichte Zustand in F? Ein zwischenzeitlich besuchter akzeptierender Zustand reicht nicht aus.
Was unterscheidet NFA, Mealy und Moore?
Beim DFA gibt es für Zustand und Zeichen höchstens einen Folgezustand. Ein nichtdeterministischer endlicher Automat, kurz NFA, kann dagegen mehrere, einen oder keinen Folgezustand zulassen.
Für ein Eingabewort können dadurch mehrere mögliche Läufe entstehen. Der NFA akzeptiert das Wort, wenn mindestens ein vollständiger Lauf in einem akzeptierenden Zustand endet. Ein abgelehnter Lauf genügt nicht zur Ablehnung, solange ein anderer Lauf akzeptiert.
Manche NFAs besitzen zusätzlich ε-Übergänge. Sie wechseln den Zustand, ohne ein Zeichen der Eingabe zu verbrauchen. Solche Übergänge erleichtern Konstruktionen, machen NFAs aber nicht mächtiger als DFAs: Beide erkennen genau die regulären Sprachen.
Nichtdeterministisch bedeutet „mehrere Möglichkeiten“, nicht „zufällig“. Ein NFA weist seinen Übergängen keine Wahrscheinlichkeiten zu.
Akzeptoren und Automaten mit Ausgabe
Ein Akzeptor beantwortet nach der vollständigen Eingabe eine Ja-nein-Frage: Wird das Wort akzeptiert?
Automaten mit Ausgabe erzeugen dagegen während ihrer Arbeit sichtbare Ergebnisse:
- Beim Mealy-Automaten hängt die Ausgabe vom aktuellen Zustand und der Eingabe beziehungsweise vom ausgeführten Übergang ab.
- Beim Moore-Automaten ist die Ausgabe einem Zustand zugeordnet.
Ein Getränkeautomat kann denselben Zustandswechsel mit einer Ausgabe verbinden. Beim Übergang nach „Getränk nehmen“ kann er „Getränk“ ausgeben. In einem Mealy-Modell steht diese Ausgabe am Übergang. In einem Moore-Modell gehört sie zu einem eigens dafür vorgesehenen Ausgabezustand.
Karteikasten
Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.
Alles auf einen Blick
- Automat
- Zustand und Eingabe bestimmen den Übergang
- Akzeptor entscheidet über vollständige Wörter
- DFA besitzt eindeutige Übergänge
- NFA kann mehrere Läufe besitzen
- Mealy und Moore erzeugen Ausgaben
Ein Automat reduziert ein System auf Zustände, Eingaben und Übergangsregeln. Bei Akzeptoren kommt die Entscheidung über vollständige Wörter hinzu. Übergangstabellen helfen dir, jeden Schritt nachvollziehbar zu prüfen.
Abschluss-Check
Wenn du alle drei Fragen begründen kannst, kannst du Automatenregeln lesen, Eingaben verfolgen und die wichtigsten Automatenarten voneinander abgrenzen.
Mit Google fortfahren