Informatik

Automat in der Informatik einfach erklärt

Automat in der Informatik einfach erklärt
Automat in der Informatik einfach erklärt
Für Quiz, Lückentext, Lernkarten und Fortschritt ist JavaScript nötig. Alle Inhalte und Lösungen bleiben direkt lesbar.

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.

Deine Lernziele

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

Definition

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:

  1. den aktuellen Zustand,
  2. die Eingabe,
  3. 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.

Merke

Die Eingabe kommt von außen. Der Zustand liegt im Automaten. Eine Übergangsregel verbindet beides mit dem Folgezustand.

Teste dich
Frage 1 von 2LeichtWas ist beim Computerbeispiel der Zustand?
Lösung: Der Computer ist gerade „an“. — Ein Zustand beschreibt die aktuelle Situation. „Herunterfahren“ ist die Eingabe, und der Wechsel nach „aus“ ist der Übergang.
Frage 2 von 2LeichtWelche Aussage über Ausgaben stimmt?
Lösung: Ein Automat kann Zustände wechseln, ohne eine sichtbare Ausgabe zu erzeugen. — Ausgaben sind sichtbare Reaktionen. Zustandswechsel können auch ohne Ausgabe stattfinden.
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.

Zustand1 Euro2 EuroGeld zurückGetränk nehmen
012nicht definiertnicht definiert
12nicht definiert0nicht definiert
2nicht definiertnicht definiert00
Beispiel

Eingabefolge: 1 Euro, 1 Euro, Getränk nehmen

  1. Der Automat startet in Zustand 0.
  2. Die erste Münze führt von 0 nach 1.
  3. Die zweite Münze führt von 1 nach 2.
  4. „Getränk nehmen“ führt von 2 zurück nach 0.

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.

Teste dich
Frage 1 von 2MittelWelche Zustandsfolge entsteht bei „1 Euro, Geld zurück“?
Lösung: 0 → 1 → 0 — Lies für jede Eingabe genau ein Tabellenfeld: 0 wird durch „1 Euro“ zu 1, anschließend führt „Geld zurück“ zu 0.
Frage 2 von 2MittelWas bedeutet „nicht definiert“ in der Tabelle?
Lösung: Für diese Kombination ist keine Übergangsregel angegeben. — Ein fehlender Übergang ist keine unsichtbare Schleife. Bei einem partiellen Automaten kann die Verarbeitung an dieser Stelle nicht fortgesetzt werden.
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.

Definition

DFA

Ein DFA wird durch fünf Bestandteile beschrieben: A = (Q, Σ, δ, q0, F).

  • Q ist die endliche Menge der Zustände.
  • Σ ist das endliche Eingabealphabet.
  • δ ist die Übergangsfunktion.
  • q0 ist der Startzustand.
  • F ist 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.

Gut zu wissen

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}
ZustandBZ
01nicht definiert
111
Beispiel

Wort: BZB

Die Zustandsfolge ist 0 → 1 → 1 → 1:

  1. Das erste B führt von 0 nach 1.
  2. Z lässt den Automaten in 1.
  3. Das letzte B lässt ihn ebenfalls in 1.

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.

Lückentext

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.

Lösungen: Lücke 1: Startzustand; Lücke 2: Alphabet; Lücke 3: Zustand. Der Startzustand legt den Beginn fest. Das Alphabet enthält die möglichen Eingabezeichen. Akzeptiert wird nur, wenn der zuletzt erreichte Zustand zur Menge der akzeptierenden Zustände gehört.
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 B sein.
  • Danach dürfen beliebig viele B und Z folgen.
  • Das leere Wort ε wird nicht akzeptiert, weil der Startzustand 0 nicht akzeptierend ist.

Die Sprache besteht also genau aus den nichtleeren Wörtern über {B, Z}, die mit B beginnen.

Definition

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:

  1. Jeder fehlende Übergang führt nach f.
  2. In f führt jedes weitere Zeichen wieder nach f.

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.

Merke

Erst nach dem letzten Eingabezeichen wird geprüft: Liegt der erreichte Zustand in F? Ein zwischenzeitlich besuchter akzeptierender Zustand reicht nicht aus.

Teste dich
Frage 1 von 3LeichtWas ist die Sprache eines Akzeptors?
Lösung: Die Menge aller Wörter, die er akzeptiert. — Eine formale Sprache ist hier eine Menge vollständiger Wörter über dem Eingabealphabet.
Frage 2 von 3MittelWelches Wort akzeptiert der Bezeichnerautomat?
Lösung: BZZB — Jedes akzeptierte Wort muss mit B beginnen. Danach sind sowohl B als auch Z erlaubt.
Frage 3 von 3SchwerWarum bleibt die Sprache nach dem Ergänzen des Fehlerzustands gleich?
Lösung: Zuvor fehlende Übergänge enden nun dauerhaft in einem nichtakzeptierenden Zustand. — Die Vervollständigung macht das Steckenbleiben ausdrücklich: Ein einmal erreichter Fehlerzustand wird nicht mehr verlassen und ist nicht akzeptierend.
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.

Merke

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

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.

Teste dich
Frage 1 von 3LeichtWelche Aussage beschreibt einen NFA richtig?
Lösung: Für dieselbe Eingabe können aus einem Zustand mehrere Folgezustände möglich sein. — Auch ein NFA ist endlich. Nichtdeterministisch sind nur seine Wahlmöglichkeiten bei Übergängen.
Frage 2 von 3MittelZwei Läufe eines NFA verarbeiten dasselbe Wort vollständig. Einer endet akzeptierend, der andere nicht. Was gilt?
Lösung: Der NFA akzeptiert das Wort. — Ein NFA akzeptiert genau dann, wenn mindestens ein möglicher vollständiger Lauf akzeptierend endet.
Frage 3 von 3MittelWoran erkennst du einen Moore-Automaten?
Lösung: Seine Ausgaben sind Zuständen zugeordnet. — Moore-Ausgaben gehören zu Zuständen; Mealy-Ausgaben hängen von Übergängen beziehungsweise Zustand und Eingabe ab.
Karteikasten
Karteikasten

Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.

Alles auf einen Blick
Mindmap
  • 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
Teste dich
Frage 1 von 3LeichtWann akzeptiert ein endlicher Akzeptor ein Wort?
Lösung: Wenn er nach dem letzten Zeichen in einem akzeptierenden Zustand steht. — Verfolge die gesamte Eingabe und prüfe erst dann, ob der Endzustand zur Menge F gehört.
Frage 2 von 3MittelDer Bezeichnerautomat verarbeitet BBZ. Welche Aussage stimmt?
Lösung: Er endet in Zustand 1 und akzeptiert das Wort. — Nach dem ersten B befindet sich der Automat in 1. Dort führen sowohl B als auch Z wieder nach 1.
Frage 3 von 3SchwerAus Zustand q führt für Eingabe a bereits ein Pfeil nach r. Ein zweiter Pfeil mit derselben Eingabe soll nach s führen. Was folgt, wenn r und s verschieden sind?
Lösung: Das Modell ist in dieser Form nicht deterministisch. — Zwei verschiedene Folgezustände für dasselbe Paar aus Zustand und Eingabe sind bei einem DFA nicht erlaubt, bei einem NFA dagegen möglich.

Wenn du alle drei Fragen begründen kannst, kannst du Automatenregeln lesen, Eingaben verfolgen und die wichtigsten Automatenarten voneinander abgrenzen.

Passend dazu