Dies ist eine alte Version des Dokuments!
Mealy-Automaten
Grundlagen und Übergangsgraph
Die sogenannten Mealy-Automaten können in jedem Schritt außer der Änderung des internen Zustands auch eine Ausgabe erzeugen und erlauben damit die Modellierung z.B. von Getränke-, Fahrkarten- oder ähnlichen Automaten, die wir aus unserer Umwelt kennen.
Als Beispiel soll ein Getränkeautomat dienen, der…
- … die Tasten A, C und S hat (für Apfelsaft, Cola und Stop)
- … 1EUR- und 2EUR-Münzen annimmt.
Damit ist sein Eingabealphabet Σ = {c, a, s, 1, 2}. Anders als ein DEA bewirkt bei einem Mealy-Automaten jede Eingabe eine Ausgabe, das Ausgabealphabet Δ = {„Guthaben 1€“, „Guthaben 2€“, „1€“ , „2€“, „Apfelsaftflasche“, „Colaflasche“}
Eine Mealy-Maschine oder ein Mealy-Automat ist durch ein 6-Tupel M = (Q,Σ,∆,δ,λ,q₀)
definiert.
Die verwendeten Symbole haben folgende Bedeutungen:
- Q: endliche Menge der Zustände<br>
- Σ: Eingabealphabet<br>
- ∆: Ausgabealphabet<br>
- δ: totale Überführungsfunktion Q x Σ → Q
- λ: totale Ausgabefunktion Q x Σ → ∆
- q0: Anfangszustand, q0 ∈ Q
Die Maschine erzeugt in jedem Übergang eine Ausgabe.
Die Überführungsfunktion δ und die Ausgabefunktion λ können wie beim DEA auch, in einem Übergangsgrgraphen dargestellt werden. Ein passender Übergangs- oder Transitionsgraph sieht folgendermaßen aus:
Anders als beim DEA muss zu jedem Übergang außer der Eingabe auch die Ausgabe notiert werden, dies geschieht für gewöhnlich durch ein Trennzeichen wie ;
oder /
.
Der Automat befindet sich immer in genau einem der Zustände und beginnt dabei immer im so genannten Startzustand, der mit einem zusätzlichen Pfeil gekennzeichnet wird (hier q0).
Jede Eingabe bewirkt einen Übergang (auch Transition genannt) zu einem anderen Zustand, dargestellt durch einen Pfeil.
Bei Mealy-Automaten gehört zu einem Übergang auch eine Ausgabe.
Vom Startzustand q0
aus wird durch Einwurf von 1€
der Zustand q2
erreicht und die Ausgabe Guthaben: 1,00
erzeugt.
(A1)
Baue den Getränkeautomaten in FLACI auf und teste ihn in der Simulation.
- Erzeuge einen neuen Mealy-Automaten
- Schalte im Reiter
Definition
die Option fürδ und λ als partielle Funktionen
an - Definiere im Reiter
Alphabet
das Eigabe- und das Ausgabealphabet - Überführe den Übergangsgraphen von oben nach FLACI
- Simuliere Eingaben
Welche Funktion hat die Option δ und λ als partielle Funktionen
, was verändert sich wenn man diese Option deaktiviert.
Übergangstabelle
Und wie bei DEAs kann man die Übergangsfunktion δ
und die Ausgabefunktion λ
auch hier als Übergangsmatrix/Übergangstabelle darstellen, anstelle des Übergangsgraphen. Wie bei den DEAs gilt: Im Graph kann man den Fehlerzustand der Übersichtlichkeit wegen weglassen, in der Übergangsmatrix wird dieser stets angegeben.
Eingaben → (Folgezustand / Ausgabe) | |||||
Ausgangszustand | 1€ | 2€ | c | a | s |
---|---|---|---|---|---|
q0 | q2/„Guthaben 1€“ | ||||
q1 | |||||
q2 | |||||
qF | qF |
(A2)
Vervollständige anhand des Übergangsgraphen die Übergangsmatrix
(A3)
Schalte die Option δ und λ als partielle Funktionen
in FLACI aus, ergänze den Automaten in FLACI um den Fehlerzustand und lasse dir die Übergangsmatrix dort anzeigen. Überprüfe so deine Tabelle aus der vorigen Aufgabe.
Übungen
(A4)
Gib eine Eingabe an, die zur Ausgabe Apfelsaftflasche
führt.
(A5)
Gib die Ausgabe an, die zur Eingabe 1€,s
gehört. In welchem Zustand befindet sich der Automat anschließend?
(A6)
Modelliere einen Mealy-Automaten für einen Automaten aus der Schule. Gib die folgenden Informationen an:
- Eingabealphabet, Zustandsmenge, Startzustände und Ausgabealphabet
- Zustandsübergangs- und Ausgabefunktionen als Tabelle
- Zustandsübergangsgraph