Informatik · Klasse 7–10 · aktualisiert
Endlicher Automat: Aufbau, Ablauf und Entwurf
Du lernst, wie ein endlicher Automat Zustände wechselt, Wörter akzeptiert oder verwirft und wie du einen Cola-Automaten an neue Regeln anpasst.
0 von 12 Aufgaben gelöst
Kurz gesagt
Ein endlicher Automat ist ein Modell mit Zuständen, Eingaben und Übergängen. Er startet im Startzustand und liest ein Wort Zeichen für Zeichen. Er akzeptiert es, wenn er nach dem letzten Zeichen in einem Endzustand steht. Alle akzeptierten Wörter bilden seine Sprache.
Ein Getränkeautomat wartet erst auf eine Münze. Nach der Münze wartet er auf deine Wahl. Er „weiß“ also, in welcher Lage er gerade ist. Genau das beschreibt ein endlicher Automat. Hier lernst du, wie er arbeitet und wie du ihn ändern kannst.
Deine Lernziele
Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Mela das Ziel für dich ab.
4 Abschnitte
Ein endlicher Automat ist ein Modell eines Verhaltens. Er besteht aus Zuständen, Zustandsübergängen und Aktionen (Aktionen brauchst du hier nicht weiter). „Endlich“ heißt: Die Menge der Zustände, die er annehmen kann, ist endlich. Wechselt er bei einer Eingabe immer in einen eindeutig bestimmten Folgezustand, heißt er deterministisch.
Die Bausteine: Ein Zustand sagt, in welcher Lage der Automat gerade ist. Er kann Information über die Vergangenheit enthalten, weil der Automat ihn auf seinem bisherigen Weg erreicht hat. Eine Eingabe ist ein erlaubtes Zeichen. Ein Übergang bringt den Automaten vom aktuellen Zustand in einen neuen. Dazu kommt es, wenn die angegebene Eingabe vorliegt. Der Startzustand ist der Zustand, in dem der Automat steht, bevor er etwas gelesen hat. Die Endzustände sind die akzeptierenden Zustände. Der nächste Zustand hängt vom aktuellen Zustand und von der Eingabe ab.
Ein Beispiel ist der Cola-Automat. Eine Flasche kostet 50 cent. Er nimmt Münzen zu 10, 20 und 50 cent an. Zur Vereinfachung gilt: Es muss genau bezahlt werden, es wird nur der Geldeinwurf für einen Bezahlvorgang betrachtet, und es gibt keinen Abbruch. Die Zustände sind die schon bezahlten Beträge: 0, 10, 20, 30, 40 und 50 cent. Die Eingaben sind die Münzen. Ein Übergang ist zum Beispiel: Zustand 30 cent, Einwurf 10 cent, neuer Zustand 40 cent. Der Startzustand ist 0 cent. Hier gibt es nur einen Endzustand, 50 cent. Es können aber auch mehrere Endzustände sein.
Ein zweites Beispiel ist ein einfacher Getränkeautomat mit drei Zuständen: q0 (wartet auf Münzeinwurf), q1 (wartet auf Getränkewahl) und q2 (Getränk wird ausgeschenkt). Seine Eingaben sind Münze, Getränk, Abbruch und Entnahme. Die Übergänge: Mit „Münze“ geht es von q0 nach q1. Mit „Getränk“ geht es von q1 nach q2. Mit „Entnahme“ geht es von q2 nach q0. Mit „Abbruch“ geht es von q1 nach q0. Hat man die Münze eingeworfen, aber noch kein Getränk gewählt, kann man also noch abbrechen.
Im Zustandsübergangsdiagramm stellen Kreise die Zustände dar, mit dem Namen im Kreis. Pfeile zwischen den Kreisen stellen die Übergänge dar. Auf jedem Pfeil steht, welche Bedingung den Übergang ermöglicht.
Definition
Endlicher Automat
Ein endlicher Automat ist ein Modell eines Verhaltens aus Zuständen, Zustandsübergängen und Aktionen. Die Menge seiner möglichen Zustände ist endlich.
Beispiel: Verkaufsautomat, stark vereinfacht
- 1Zustände: w = warten auf Bezahlung, a = Bezahlung ausgeführt (warten auf Warenauswahl), r = Ware ausgegeben (warten auf Warenentnahme)
- 2Eingaben: p = bezahlen, s = Ware auswählen, t = Ware entnehmen, c = Kauf abbrechen
- 3w + p → a · a + s → r
- 4a + c → w · r + t → w
Merke: Ein Automat hat Zustände, Eingaben und Übergänge. Er beginnt im Startzustand. Akzeptierend sind nur die Endzustände.
Teste dich
Eine Folge von Eingaben heißt Wort. Beim Cola-Automaten ist ein Wort eine Folge von Münzen, zum Beispiel 10 20 20. Der Automat liest das Wort von links nach rechts, ein Zeichen nach dem anderen. Vor dem ersten Zeichen steht er im Startzustand. Bei jedem Zeichen wechselt er den Zustand nach seinen Übergängen.
Beim Cola-Automaten rechnest du dafür: neuer Betrag = alter Betrag + Münze. Nach dem Lesen des letzten Zeichens schaust du, wo der Automat steht. Ist das ein Endzustand, akzeptiert er das Wort. Ist es kein Endzustand, gilt das Wort als verworfen.
Beispiel für ein verworfenes Wort beim Cola-Automaten: 10 10. Der Weg ist 0 → 10 → 20 cent. Der Zustand 20 cent ist kein Endzustand, also wird das Wort verworfen. Ein Automat kann während der Verarbeitung einen Endzustand durchlaufen, ohne dort stoppen zu müssen. Entscheidend ist der Zustand nach dem letzten Zeichen.
Beispiel: Cola-Automat (Preis 50 cent): das Wort 10 20 20
- 1Start: 0 cent
- 2Lies 10: 0 + 10 → Zustand 10 cent
- 3Lies 20: 10 + 20 → Zustand 30 cent
- 4Lies 20: 30 + 20 → Zustand 50 cent
- 5Das Wort ist zu Ende. 50 cent ist der Endzustand, also wird das Wort akzeptiert.
Merke: Es zählt der Zustand nach dem letzten Zeichen. Ein Endzustand unterwegs reicht für das Akzeptieren nicht.
Teste dich
Die Wörter, die ein Automat akzeptiert, bilden zusammen seine Sprache. Eine Sprache ist also eine Menge von Wörtern. Nicht jede Münzfolge gehört zur Sprache, sondern nur die, die der Automat akzeptiert.
Um die Sprache in Worten zu beschreiben, fragst du: Welche Wörter führen vom Startzustand in einen Endzustand? Beim Cola-Automaten (Preis 50 cent, Münzen 10, 20 und 50 cent, genaue Zahlung, kein Abbruch) sind das alle Münzfolgen, die zusammen genau 50 cent ergeben. Es gibt neun solche Wörter.
Die Reihenfolge der Münzen gehört zum Wort. 10 10 10 20 und 20 10 10 10 sind deshalb zwei verschiedene Wörter der Sprache. Ein Wort wie 10 10 10 gehört nicht dazu: Es endet bei 30 cent.
Definition
Sprache eines Automaten
Die Sprache eines Automaten ist die Menge aller Wörter, die er akzeptiert.
| Münzen | Wörter der Sprache | Anzahl |
|---|---|---|
| ein 50er | 50 | 1 |
| fünf 10er | 10 10 10 10 10 | 1 |
| drei 10er, ein 20er | 10 10 10 20 · 10 10 20 10 · 10 20 10 10 · 20 10 10 10 | 4 |
| ein 10er, zwei 20er | 10 20 20 · 20 10 20 · 20 20 10 | 3 |
Teste dich
Einen Automaten anzupassen heißt: Du überlegst, was die neue Regel an den Bausteinen ändert. Beim Cola-Automaten sind die Zustände die schon bezahlten Beträge. Der Start ist 0 cent. Der Endzustand ist der Betrag, der dem Preis entspricht. Ein Übergang rechnet alter Betrag plus Münze. Die Anpassungen hier sind ausgedachte Übungen, die nur dieses Prinzip anwenden.
Du gehst so vor: Erstens hältst du die Annahmen fest, zum Beispiel genaue Zahlung und kein Abbruch. Zweitens schreibst du die möglichen Beträge als Zustände auf. Drittens legst du den Endzustand fest. Viertens zeichnest du für jede erlaubte Münze die Pfeile. Pfeile, die über den Preis hinausführen, gibt es bei genauer Zahlung nicht.
Ändert sich der Preis, ändern sich der Endzustand und die Menge der Zustände. Werden Münzen gestrichen, fallen deren Pfeile weg. Ändert sich eine Annahme, ändert sich der Automat ebenfalls. Offene Fragen sind zum Beispiel: Was passiert, wenn Überbezahlung erlaubt ist? Was, wenn höchstens drei Münzen angenommen werden?
Auch beim Getränkeautomaten kann eine Regel fehlen. Soll es zu jedem Zustand und jeder Eingabe einen Übergang geben, brauchst du auch einen Zustand für den Abbruch, nachdem ein Getränk schon gewählt, aber noch nicht entnommen wurde.
Beispiel: Ausgedachtes Beispiel: Preis 50 cent, aber nur 10er und 50er
- 1Annahmen: genau bezahlen, kein Abbruch
- 2Zustände bleiben 0, 10, 20, 30, 40 und 50 cent. Start: 0 cent, Endzustand: 50 cent
- 3Pfeile für 10: 0 → 10, 10 → 20, 20 → 30, 30 → 40, 40 → 50
- 4Pfeil für 50: nur 0 → 50
- 5Pfeile für 20 gibt es nicht mehr
- 6Sprache: 10 10 10 10 10 und 50
Merke: Beim Cola-Automaten mit genauer Zahlung und ohne Abbruch bestimmt der Preis den Endzustand. Die erlaubten Münzen bestimmen die Pfeile.
Teste dich
Alles auf einen Blick
Endlicher Automat
Bausteine
Zustände, Eingaben und Übergänge, dazu ein Startzustand und Endzustände
Ablauf
Der Automat liest ein Wort von links nach rechts und wechselt bei jedem Zeichen den Zustand
Akzeptieren
Es zählt der Zustand nach dem letzten Zeichen; im Endzustand wird akzeptiert, sonst verworfen
Sprache
die Menge aller Wörter, die der Automat akzeptiert
Anpassen
Beim Cola-Automaten mit genauer Zahlung und ohne Abbruch bestimmt der Preis den Endzustand
Musteraufgabe · Schritt für Schritt
Ausgedachtes Beispiel: Preis 60 cent statt 50 cent
- 1Annahmen: Münzen 10, 20 und 50 cent, genau bezahlen, kein Abbruch
- 2Zustände: 0, 10, 20, 30, 40, 50 und 60 cent (sieben Zustände)
- 3Startzustand: 0 cent. Endzustand: 60 cent
- 4Pfeile für 10: 0 → 10, 10 → 20, 20 → 30, 30 → 40, 40 → 50, 50 → 60
- 5Pfeile für 20: 0 → 20, 10 → 30, 20 → 40, 30 → 50, 40 → 60
- 6Pfeile für 50: 0 → 50, 10 → 60. Von 50 mit 20 gäbe es 70 cent: Diesen Pfeil gibt es nicht
- 7Probe: Wort 20 20 20 führt 0 → 20 → 40 → 60 und wird akzeptiert
Fehler finden
Prüfe die Aussagen zum Getränkeautomaten mit q0, q1 und q2 In einer Zeile steckt ein Fehler. Tippe sie an.
Fehler in Zeile 4Hier wurde der aktuelle Zustand verwechselt. „Entnahme“ gilt im Zustand q2, wenn das Getränk ausgeschenkt wird. Richtig: Mit „Entnahme“ wechselt der Automat von q2 nach q0.
Lückentext
Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.
Ein Automat liest ein Wort von . Er akzeptiert das Wort, wenn er nach dem Zeichen in einem Endzustand steht. Beim Cola-Automaten mit Preis 50 cent ist der Startzustand .
Karteikasten
Erst selbst überlegen, dann umdrehen.
Übung mit Feedback