Moore-Automat

Ein Moore-Automat ist ein endlicher Automat, dessen Ausgabe ausschließlich von seinem Zustand abhängt. Beim Erreichen eines Zustandes wird eine Ausgabe erzeugt, welche unabhängig vom Übergang in diesen Zustand ist. Moore-Automaten können deterministisch oder nichtdeterministisch sein. Sie sind nach dem Mathematiker Edward F. Moore (1925–2003) benannt.

Formale Definition

Der Moore-Automat kann als 7-Tupel definiert werden:

  1. ist eine endliche Menge von Zuständen .
  2. ist das Eingabealphabet.
  3. ist das Ausgabealphabet.
  4. ist die Übergangsfunktion
  5. definiert die Ausgabefunktion:
  6. ist der Startzustand.
  7. ist eine (endliche) Menge möglicher akzeptierender Zustände (= Endzustandsmenge). Wenn der Automat nach Lesen des Eingabewortes in einem Zustand aus hält, so gehört zur Sprache .

Wenn die reguläre Sprache des Automaten uninteressant ist, kann auch weggelassen werden. Dann wird der Automat als 6-Tupel definiert.

Die Anzahl der Zustände eines Moore-Automaten ist nicht kleiner als die Anzahl der Zustände des entsprechenden Mealy-Automaten.

Digitaltechnik

Moore-Automat in der Digitaltechnik

Eine Realisierung des Moore-Automaten ist mittels Digitaltechnik möglich. Hierfür sind zwei Schaltnetze und ein getakteter Speicherblock erforderlich. Neben den auf einer Leiterplatte verdrahteten Logikbausteinen erfolgt die Umsetzung häufig mittels programmierbarer Logik und Anwendung einer Hardwarebeschreibungssprache.

Die Verarbeitung mit Logikschaltkreisen erfordert die Umwandlung des Ein- und Ausgabealphabets in einen Binärcode analog der nachfolgenden Tabelle.

Codierung
Eingabealphabete0e1e2
x010
y001
Zustandsmenged0d1d2
q0110
q1101
Ausgabealphabeta0a1
a01
b10

Beschreibung eines Automaten

Gegeben sei ein durch ein 6-Tupel definierter, deterministischer endlicher Automat mit

,

,

und .

Die Übergangsfunktion sowie die Ausgabefunktion können durch einen Graphen bzw. eine Automatentafel dargestellt werden.

Beschreibung eines Automaten
(Übergang)↘             (Ausgabe)
q0
q1
q2--
q3-
Darstellung von und durch GraphenDarstellung von und durch Automatentafel

Sowohl dem Graphen als auch der Tabelle lassen sich nun Informationen wie die folgende entnehmen:

Wenn der Automat sich im Zustand befindet und von dort aus das Zeichen oder das Zeichen einliest, geht der Automat in den Zustand über. Beim Erreichen des Zustandes erfolgt die Ausgabe .

Medwedew-Automat

Grafik eines Medwedew-Automaten

Der Medwedew-Automat ist eine Sonderform des Moore-Automaten, bei dem die Zustände direkt die Ausgabe bilden, es also kein Ausgangsnetzwerk gibt. Somit ist jeder Medwedew-Automat ein Moore-Automat, aber nicht andersherum. Der Name geht auf Ju. T. Medwedew zurück, der einer Übersetzung von Automata Studies ins Russische einen eigenen Artikel anhängte.

Vorteile

  • Die Ausgabe ist schneller.
  • Die Taktflanke der Flipflops kann kleiner gestellt werden.

Überführung in einen Mealy-Automaten

Die Ausgabe eines Mealy-Automaten ist von seinem Zustand und seiner Eingabe abhängig. Jeder Moore-Automat lässt sich sehr leicht in einen äquivalenten Mealy-Automaten überführen. Dazu muss lediglich das Ausgabesymbol des Eingangszustandes mit auf die Transition (Zustandsübergang) geschrieben werden. Betrachten wir dazu das obige Beispiel, dann sieht die Überführung folgendermaßen aus:

Siehe auch

Literatur

  • Gottfried Vossen, Kurt-Ulrich Witt: Grundkurs theoretische Informatik. Eine anwendungsbezogene Einführung. Vieweg+Teubner, Wiesbaden 2011, ISBN 978-3-8348-1537-8 (eingeschränkte Vorschau in der Google-Buchsuche).

Auf dieser Seite verwendete Medien

MooreMachineExample.svg
Autor/Urheber: Stiegenaufgang, based on NikolausMayer's work, Lizenz: CC BY-SA 4.0
Beispiel eines Moore-Automaten
Moore to Mealy.png
Autor/Urheber: NikolausMayer, Lizenz: CC BY-SA 3.0
Example Moore-Automaton-to-Mealy-Automaton-Conversion made to replace the older (hand drawn) version in the article de.wikipedia.or/wiki/Moore-Automat
Medwedew-Automat.png
Autor/Urheber: Benedikt.Demharter, Lizenz: CC BY-SA 4.0
Drawing of a medwedew automation