Zustandsübergangstabelle - State-transition table

In der Automatentheorie und sequentiellen Logik ist eine Zustandsübergangstabelle eine Tabelle, die zeigt, in welchen Zustand (oder Zustände im Fall eines nichtdeterministischen endlichen Automaten ) sich ein endlicher Automat basierend auf dem aktuellen Zustand und anderen Eingaben bewegt. Es ist im Wesentlichen eine Wahrheitstabelle, in der die Eingaben den aktuellen Zustand zusammen mit anderen Eingaben enthalten und die Ausgaben den nächsten Zustand zusammen mit anderen Ausgaben umfassen.

Eine Zustandsübergangstabelle ist eine von vielen Möglichkeiten, einen endlichen Automaten zu spezifizieren. Andere Möglichkeiten umfassen ein Zustandsdiagramm .

Gängige Formen

Eine Dimension

Zustandsübergangstabellen sind manchmal eindimensionale Tabellen, auch Merkmalstabellen genannt . Sie ähneln eher Wahrheitstafeln als ihrer zweidimensionalen Form. Die einzelne Dimension zeigt Eingänge, aktuelle Zustände, nächste Zustände und (optional) Ausgänge an, die den Zustandsübergängen zugeordnet sind.

Zustandsübergangstabelle
(S: Zustand, I: Eingang, O: Ausgang)
Eingang Aktuellen Zustand Nächstes Bundesland Ausgabe
ich 1 S 1 S ich O x
ich 2 S 1 S j Oh ja
ich nein S 1 S k O z
ich 1 S 2 S ich′ O x′
ich 2 S 2 S j′ Oh ja
ich nein S 2 S k′ O z′
ich 1 S m S ich″ O x″
ich 2 S m S j″ Oh ja
ich nein S m S k″ O z″

Zwei Dimensionen

Zustandsübergangstabellen sind typischerweise zweidimensionale Tabellen. Es gibt zwei gängige Möglichkeiten, sie anzuordnen.

In erster Linie zeigt eine der Dimensionen aktuelle Zustände an, während die andere Eingaben anzeigt. Die Zeilen-/Spalten-Schnittpunkte zeigen nächste Zustände und (optional) Ausgaben an, die den Zustandsübergängen zugeordnet sind.

Zustandsübergangstabelle
(S: Zustand, I: Eingang, O: Ausgang)
Eingang
Aktuellen Zustand
ich 1 ich 2 ich nein
S 1 S i /O x S j /O y S k /O z
S 2 S i′ /O x′ S j′ /O y′ S k′ /O z′
S m S i″ /O x″ S j″ /O z″ S k″ /O z″

Zweitens zeigt eine der Dimensionen aktuelle Zustände an, während die andere die nächsten Zustände anzeigt. Die Zeilen-/Spalten-Schnittpunkte zeigen Eingänge und (optional) Ausgänge an, die den Zustandsübergängen zugeordnet sind.

Zustandsübergangstabelle
(S: Zustand, I: Eingang, O: Ausgang, —: illegal)
Nächstes Bundesland
Aktuellen Zustand
S 1 S 2 S m
S 1 Ich i / O x
S 2 ich j / O ja
S m I k /O z

Andere Formen

Gleichzeitige Übergänge in mehreren endlichen Automaten können in einer effektiven n-dimensionalen Zustandsübergangstabelle gezeigt werden, in der Zeilenpaare (Sätze von) aktuellen Zuständen auf nächste Zustände abbilden. Dies ist eine Alternative zur Darstellung der Kommunikation zwischen separaten, voneinander abhängigen endlichen Automaten.

Im anderen Extrem wurden für jeden der Übergänge innerhalb eines einzigen endlichen Automaten separate Tabellen verwendet: "UND/ODER-Tabellen" ähneln unvollständigen Entscheidungstabellen, bei denen die Entscheidung für die vorhandenen Regeln implizit die Aktivierung von der dazugehörige Übergang.

Beispiel

Ein Beispiel für eine Zustandsübergangstabelle zusammen mit dem entsprechenden Zustandsdiagramm für einen endlichen Automaten ist unten aufgeführt:

Zustandsübergangstabelle
Eingang
Aktuellen Zustand
0 1
S 1 S 2 S 1
S 2 S 1 S 2
Zustandsdiagramm
FSM-Zustandsdiagramm

In der Zustandsübergangstabelle werden alle möglichen Eingaben zum endlichen Automaten über die Spalten der Tabelle aufgezählt, während alle möglichen Zustände über die Zeilen hinweg aufgezählt werden. Befindet sich die Maschine im Zustand S 1 (erste Zeile) und erhält eine Eingabe von 1 (zweite Spalte), bleibt die Maschine im Zustand S 1 . Befindet sich die Maschine nun im Zustand S 1 und erhält eine Eingabe von 0 (erste Spalte), geht die Maschine in den Zustand S 2 über .
Ersteres ist im Zustandsdiagramm durch den mit 1 gekennzeichneten Pfeil von S 1 nach S 1 gekennzeichnet, letzteres durch den mit 0 gekennzeichneten Pfeil von S 1 nach S 2. Dieser Vorgang lässt sich statistisch beschreiben mit Markov-Ketten .

Bei einem nichtdeterministischen endlichen Automaten kann eine Eingabe dazu führen, dass sich der Automat in mehr als einem Zustand befindet, daher sein Nicht-Determinismus . Dies wird in einer Zustandsübergangstabelle durch die Menge aller Zielzustände gekennzeichnet, die in geschweifte Klammern {} eingeschlossen sind. Ein Beispiel für eine Zustandsübergangstabelle zusammen mit dem entsprechenden Zustandsdiagramm für einen nichtdeterministischen endlichen Automaten ist unten angegeben:

Zustandsübergangstabelle
Eingang
Aktuellen Zustand
0 1
S 1 S 2 S 1
S 2 {S 1 , S 2 } S 2
Zustandsdiagramm
NFSM-Zustandsdiagramm

Befindet sich die Maschine im Zustand S 2 und erhält eine Eingabe von 0, befindet sich die Maschine gleichzeitig in zwei Zuständen, den Zuständen S 1 und S 2 .

Transformationen vom/zum Zustandsdiagramm

Es ist möglich, ein Zustandsdiagramm aus einer Zustandsübergangstabelle zu zeichnen . Nachfolgend finden Sie eine Abfolge von einfach zu befolgenden Schritten:

  1. Zeichnen Sie die Kreise, um die angegebenen Zustände darzustellen.
  2. Scannen Sie für jeden der Zustände die entsprechende Zeile und zeichnen Sie einen Pfeil zu dem/den Zielzustand(en). Es kann mehrere Pfeile für ein Eingabezeichen geben, wenn der endliche Automat nicht deterministisch ist.
  3. Legen Sie einen Zustand als Startzustand fest . Der Startzustand ist in der formalen Definition eines endlichen Automaten angegeben.
  4. Legen Sie einen oder mehrere Zustände als Annahmezustand fest . Dies ist auch in der formalen Definition eines endlichen Automaten gegeben.

Siehe auch

Verweise

Weiterlesen

  • Michael Sipser: Einführung in die Rechentheorie . PWS Publishing Co., Boston 1997 ISBN  0-534-94728-X