Endliche Automaten

Finite Automata

Informatik Klasse 12 14 Aufgaben
InformatikAutomatenFormale SprachenKerncurriculum

Ein endlicher Automat ist das einfachste Maschinenmodell: Zustände, Übergänge, ein Startzustand und akzeptierende Zustände, dargestellt als Zustandsdiagramm. Er verarbeitet ein Wort Zeichen für Zeichen und akzeptiert es oder nicht — so lassen sich Akzeptoren für einfache reguläre Sprachen und Alltagsautomaten (Drehkreuz, Ampel) beschreiben. Die Kerneinsicht gegen die häufige Fehlvorstellung: Der Automat hat KEIN Gedächtnis außer seinem aktuellen Zustand; was er sich „merken" soll, muss in Zuständen codiert sein, weshalb er nicht unbegrenzt zählen kann.

Leicht
Multiple Choice #1 18s â–¶ Testen

Aus welchen Bestandteilen besteht ein endlicher erkennender Automat?

  • â—Ź Zustände, Ăśbergänge mit Eingabezeichen, ein Startzustand und akzeptierende Endzustände
  • â—‹ Variablen, Schleifen und Funktionen
  • â—‹ Tabellen, SchlĂĽssel und Abfragen
Das ist das ganze Modell — bewusst minimal. Jedes gelesene Zeichen löst genau einen Übergang aus; am Wortende entscheidet der erreichte Zustand über Akzeptieren oder Verwerfen.
Wahr / Falsch #2 15s â–¶ Testen

Ein endlicher Automat merkt sich beim Lesen eines Wortes nur, in welchem Zustand er gerade ist — mehr Gedächtnis hat er nicht.

âś“ Wahr
Richtig — der aktuelle Zustand IST das gesamte Gedächtnis. Alles, was der Automat wissen soll, muss in den Zuständen codiert sein.
Multiple Choice #3 18s â–¶ Testen

Ein Automat betritt beim Lesen von abba zwischendurch zweimal einen akzeptierenden Zustand, steht nach dem letzten a aber in einem nicht-akzeptierenden Zustand. Akzeptiert er abba?

  • â—Ź Nein — es zählt nur der Zustand nach dem letzten Zeichen
  • â—‹ Ja — er hat einen akzeptierenden Zustand berĂĽhrt
  • â—‹ Ja — er konnte das ganze Wort ohne Abbruch lesen
Akzeptiert wird ein Wort genau dann, wenn der Automat am WORTENDE in einem akzeptierenden Endzustand steht. Zwischendurch darf er akzeptierende Zustände betreten und wieder verlassen.
LĂĽckentext #4 12s â–¶ Testen

Die Menge aller Wörter, die ein erkennender Automat akzeptiert, heißt die vom Automaten erkannte ___.

âś“ Antwort: Sprache
Automat und Grammatik sind zwei Sichten auf dasselbe Objekt — die Grammatik erzeugt die Sprache, der Automat erkennt sie.
Multiple Choice #5 18s â–¶ Testen

Im Zustandsdiagramm gehen vom Zustand Z0 zwei Pfeile mit demselben Zeichen a ab: einer nach Z1, einer nach Z2. Ist dieser Automat deterministisch?

  • â—Ź Nein — fĂĽr Z0 und a ist der Folgezustand nicht eindeutig festgelegt
  • â—‹ Ja — er hat nur endlich viele Zustände
  • â—‹ Ja — solange er genau einen Endzustand hat
Deterministisch heißt, dass für jeden Zustand und jedes Eingabezeichen GENAU EIN Folgezustand festgelegt ist — der Automat muss nie wählen. Endlich viele Zustände hat jeder endliche Automat; die Zahl der Endzustände ist egal.
Multiple Choice #6 20s â–¶ Testen

Ein Drehkreuz hat die Zustände VERRIEGELT und OFFEN: Münze öffnet, Durchgehen verriegelt wieder. Was ist hier die „Eingabe" im Sinn des Automatenmodells?

  • â—Ź Die Ereignisse MĂĽnze und Durchgehen
  • â—‹ Die Anzahl der wartenden Personen
  • â—‹ Die beiden Zustände selbst
Eingaben sind die Zeichen/Ereignisse, die Übergänge auslösen. Zustände beschreiben, WAS sich der Automat merkt; Eingaben, WAS passiert.
LĂĽckentext #7 12s â–¶ Testen

Im Zustandsdiagramm wird der Automat gezeichnet: Kreise für die Zustände, beschriftete Pfeile für die ___.

✓ Antwort: Übergänge
Jeder Pfeil trägt das Eingabezeichen, das den Wechsel auslöst. Das Diagramm ist ein beschrifteter gerichteter Graph.
Wahr / Falsch #8 15s â–¶ Testen

Derselbe Automat kann bei zweimaligem Lesen desselben Wortes zu unterschiedlichen Ergebnissen kommen, wenn er deterministisch ist.

âś“ Falsch
Falsch — Determinismus heißt gerade, dass der Lauf durch Wort und Startzustand vollständig festgelegt ist. Gleiche Eingabe, gleicher Lauf, gleiches Ergebnis.
Multiple Choice #9 18s â–¶ Testen

FĂĽr welche dieser Aufgaben ist ein endlicher Automat das passende Modell?

  • â—Ź die Steuerung einer Ampel mit den Phasen Rot, Rot-Gelb, GrĂĽn und Gelb
  • â—‹ das Mitzählen beliebig vieler geöffneter Klammern in einem Programmtext
  • â—‹ das Speichern aller Kundendaten eines Online-Shops
Die Ampel ist Zustandsverhalten mit endlich vielen Fällen — genau das Automatenmodell. Unbegrenztes Klammern-Zählen übersteigt jede endliche Zustandsmenge, und Datenspeicherung ist gar kein Zustandsübergangs-Problem.
Mittel
Multiple Choice #1 25s â–¶ Testen

Ein Automat über {0, 1} wechselt bei jeder gelesenen 1 zwischen den Zuständen GERADE und UNGERADE; im Startzustand GERADE liest er 1011. In welchem Zustand endet er?

  • â—Ź UNGERADE — das Wort enthält drei Einsen
  • â—‹ GERADE — das Wort hat vier Zeichen
  • â—‹ Im Startzustand, weil das Wort mit 1 beginnt
Zeichen für Zeichen: 1 → UNGERADE, 0 → bleibt, 1 → GERADE, 1 → UNGERADE. Der Automat zählt die Einsen modulo 2 — genau das, was zwei Zustände speichern können.
Wahr / Falsch #2 20s â–¶ Testen

Ein endlicher Automat kann die Sprache „gleich viele a wie b, in beliebiger Länge" erkennen, wenn man ihm nur genügend Zustände gibt.

âś“ Falsch
Falsch — für unbegrenztes Mitzählen bräuchte er unendlich viele Zustände. Jeder endliche Automat kann nur bis zu einer festen Grenze unterscheiden; genau hier endet die Kraft des Modells.
Multiple Choice #3 25s â–¶ Testen

Ein Automat soll Wörter über {a, b} akzeptieren, die mit a beginnen. Was passiert sinnvollerweise, wenn das erste Zeichen ein b ist?

  • â—Ź Er wechselt in einen Fangzustand, aus dem kein akzeptierender Zustand mehr erreichbar ist
  • â—‹ Er ignoriert das b und wartet auf ein a
  • â—‹ Er bricht mit einer Fehlermeldung ab
Ein Automat liest immer das ganze Wort. „Verwerfen" modelliert man als Fangzustand (Papierkorb-Zustand), der nie mehr verlassen wird.
Multiple Choice #4 25s â–¶ Testen

Ein Automat für PIN-Eingaben: Nach drei falschen Eingaben in Folge wechselt er in GESPERRT. Wie viele „Fehlversuche-Zustände" braucht er dafür mindestens (außer GESPERRT)?

  • â—Ź 3 — fĂĽr null, einen und zwei Fehlversuche
  • â—‹ 1 — er zählt die Fehlversuche in einer Variablen
  • â—‹ Keinen — das erledigt der Endzustand
Ein Automat hat keine Variablen — was er zählen soll, muss er in Zuständen ablegen. Begrenztes Zählen geht so; unbegrenztes nicht.
Multiple Choice #5 25s â–¶ Testen

Welche Sprache erkennt dieser Automat über {a, b}? Start Z0; Z0 —a→ Z1; Z1 —b→ Z1; Z1 ist akzeptierend; alle anderen Übergänge führen in einen Fangzustand.

  • â—Ź Ein a, gefolgt von beliebig vielen b
  • â—‹ Beliebig viele a, dann genau ein b
  • â—‹ Alle Wörter, die ein a enthalten
Vom Start führt nur a weiter; danach hält jedes b den Automaten im akzeptierenden Zustand. Akzeptiert werden a, ab, abb, abbb, …