Von der zustandsbasierten Modellierung zum allgemeinen Automatenmodell

Mit den drei Lampen-Szenarien haben Sie informatische Problemsituationen kennengelernt, die man unterschiedlich modellieren konnte. Im zweiten und dritten Szenario konnten Sie erkennen, dass die Ausgabe nicht mehr nur von der Eingabe abhängt, sondern auch vom inneren Zustand des Informatiksystems. Deshalb musste dort die zustandsbasierte Modellierung mithilfe eines Übergangsgraphen gewählt werden.

Abbildung 1 veranschaulicht die gewählte Modellierung zum zweiten Szenario an einem Beispiel. Dort wurde als erste Eingabe der rote Knopf gedrückt („r“). Da der Anfangszustand z0 ist wird von diesem aus der Folgezustand generiert. Dieser stellt bei Eingabe von „r“ den Zustand z1 dar. Aus der letzten Unterrichtseinheit wissen wir, dass bei Erreichen des Zustands z1 nur die zweite Lampe leuchtet. Somit erfolgt die Ausgabe „100“.



Abb. 1: Verhaltensweise des Informatiksystems zum zweiten Szenario bei Drücken des roten Buttons zu Beginn.

Informatiksysteme, die Eingaben schrittweise verarbeiten und dessen innere Funktionsweise auf der zustandsbasierten Modellierung beruhen, nennt man auch endliche Automaten. Aus der Abbildung 1 und des Settings eines Lampen-Szenarios lassen sich folgende Bestandteile eines endlichen Automaten abstrahieren:

Definition: Allgemeines Modell eines endlichen Automaten

Ein endlicher Automat, der ein interaktives Informatiksystem modelliert besitzt unabhängig von seiner konkreten Umsetzung folgende Eigenschaften:

  • Eingabemedium

    • z.B. ein Band das alle Eingaben enthält. Bei einer konkreten Interaktion mit einem Informatiksystem lässt das Eingabemedium üblicherweise nur eine Eingabe zu.

  • Ausgabemedium

    • z.B. ein Band das einzelne Ausgaben erfasst. Eine einzelne Eingabe führt zu einer Ausgabe auf dem Band bzw. zu einer Ausgabe auf dem Ausgabemedium.

  • Zentraleinheit (mit Anzeige der inneren Zustände)

    • verarbeitet die Eingaben und ist für die Steuerung des Automaten sowie die Speicherung der Zustände verantwortlich.

  • Lesekopf

    • dient zum Lesen der aktuellen Eingabe für die Zentraleinheit.

  • Schreibkopf

    • dient zum Schreiben der generierten Ausgabe auf dem Ausgabeband.



Visualisierung am Beispiel des zweiten Lampen Szenarios:



Transduktoren – Endliche Automaten mit Ausgabe

Ein Beispiel für endliche Automaten sind sogenannte Transduktoren. Bei diesen werden für jede Eingabe nicht nur ein Folgezustand definiert, sondern auch eine Ausgabe generiert. Aus diesem Grund werden Transduktoren auch endliche Automaten mit Ausgabe genannt. Um diese vollständig zu beschreiben benötigt es ein Eingabealphabet, das alle Eingaben enthält, die möglich sind und auf das Eingabeband geschrieben werden dürfen. Darüber hinaus muss auch das Ausgabealphabet festgelegt werden. Für die Beschreibung des inneren Verhaltens des Systems können Übergangsgraphen oder Übergangstabellen angefertigt werden. Aus diesem lassen sich die Zustandsmenge und die Übergangsfunktion ableiten. Darüber hinaus wird ein Startzustand festgelegt, der im Übergangsgraphen gekennzeichnet wird.

Abb. 2: Eine einfache Schaltung als Mealy-Automat:


Abb. 3: Eine einfache Schaltung als Moore-Automat:


Um neben dem inneren Verhalten der Zustände ebenfalls die Ausgabe darstellen zu können, werden die Ausgaben im Übergangsgraphen notiert. Hierin unterscheiden sich verschiedenen Transduktoren: während bei Mealy-Automaten die Ausgaben direkt an den Pfeilen notiert werden (siehe Abb. 2), werden bei Moore-Automaten die Ausgaben an einem Zustand notiert (siehe Abb. 3). Dies führt dazu, dass die Übergangsgraphen je nach Wahl des Transduktors unterschiedlich aussehen können. Zudem hängt die Ausgabe bei einem Moore-Automaten nur vom Zustand ab und bei einem Mealy-Automaten vom aktuellen Zustand und der Eingabe. Trotz der Unterschiede lassen sich die beiden Transduktoren ineinander transformieren und sind somit gleichwertig. Die formale Definitionen der Transduktoren lauten folgendermaßen:

Definition: Transduktoren - Mealy-Automat & Moore-Automat

Ein Mealy-Automat M = (E, A, Z, δ, λ, z0) ist ein deterministischer, endlicher Automat mit Ausgabe. Es gilt:

  • E ist das Eingabealphabet, das mindestens ein Element enthält, 
  • A ist das Ausgabealphabet, das mindestens ein Element enthält,
  • Z ist die Zustandsmenge, die mindestens ein Element enthält, 
  • δ: E x Z → Z ist die Zustandsübergangsfunktion, welche jedem Eingabe-Zustands-Paar (e, z) einen eindeutigen Folgezustand aus der Zustandsmenge Z zuordnet,
  • λ: E x Z → A ist die Ausgabefunktion, welche jedem Eingabe-Zustands-Paar (e, z) ein eindeutiges Ausgabezeichen aus dem Ausgabealphabet A zuordnet,
  • z0 ist der Startzustand, der aus der Zustandsmenge stammen muss.
 

Ein Moore-Automat M = (E, A, Z, δ, λ, z0) lässt sich analog definieren. Einziger Unterschied ist die Definition der Ausgabefunktion λ. Diese ordnet jedem Zustand z ein eindeutiges Ausgabezeichen a aus dem Ausgabealphabet A zu (kurz: λ: Z → A).

Die Übergangsfunktion und die Ausgabefunktion können zusammen als Übergangsgraph (siehe Abb. 2 u. Abb. 3) oder Übergangstabelle angegeben werden. Auch eine separate Angabe in Form einer Tabelle ist möglich.


Beispiel:

Eine einfache Schaltung, wie in Abb. 2 u. 3 dargestellt, lässt sich als Mealy-Automat und als Moore-Automat darstellen:

Mealy-Automat

Der Mealy-Automat zur Schaltung ist definiert als 5-Tupel M= (E, A, Z, δ, λ, z0).
Es gilt:

= {schalterDrücken}
= {An, Aus}
= {z0, z1}
z= z0

Mögliche Visualisierungen der Ausgabefunktion λ und der Übergangsfunktion δ:

Übergangsgraph:


Übergangstabelle:



Tabellen zur Ausgabe- und Zustandsübergangsfunktion:

Zustandsübergangstabelle zur Übergangsfunktion δ:



Ausgabetabelle zur Ausgabefunktion λ:


Moore-Automat

Der Moore-Automat zur Schaltung ist definiert als 5-Tupel M= (E, A, Z, δ, λ, z0).
Es gilt:

= {schalterDrücken}
= {An, Aus}
= {z0, z1}
z= z0

Mögliche Visualisierungen der Ausgabefunktion λ und der Übergangsfunktion δ:

Übergangsgraph:



Übergangstabelle:



Tabellen zur Ausgabe- und Zustandsübergangsfunktion:

Zustandsübergangstabelle zur Übergangsfunktion δ:



Ausgabetabelle zur Ausgabefunktion λ: