TU Wien:Formale Modellierung VU (Salzer)/Kapitel Endliche Automaten

Aus VoWi
Zur Navigation springen Zur Suche springen

Endliche Automaten besitzen nur endliche viele Zustände. Eingaben steuern in welchen Folgezustand vom Momentanzustand übergegangen wird.

Notation[Bearbeiten | Quelltext bearbeiten]

Formale Sprachen[Bearbeiten | Quelltext bearbeiten]

  • ... Alphabet, d.h., endliche, nicht-leere Menge atomarer Symbole
  • ... Wort über , (endliche) Folge von Zeichen aus dem Alphabet
  • ... Leerwort
  • ... Menge aller nicht-leeren endlichen Wörter über
  • ... Menge aller endlichen Wörter über (inklusive Leerwort)
  • ... Verkettung zweier Wörter
  • ... formale Sprache über
  • ... Menge aller Sprachen über

bildet ein Monoid.

Endliche Automaten[Bearbeiten | Quelltext bearbeiten]

  • die erweiterte Übergangsfunktion
  • die von A akzeptierte Sprache

Klassifikation[Bearbeiten | Quelltext bearbeiten]

deterministisch
Der Momentanzustand und die nächste Eingabe bestimmen eindeutig den Folgezustand.
nichtdeterministisch
Es gibt Zustände, die bei manchen Eingaben mehrere mögliche Folgezustände besitzen.

Klassischer endlicher Automat[Bearbeiten | Quelltext bearbeiten]

  • nur Eingaben (bzw. nur Ausgaben)
  • Anfangs- und Endzustände
  • verarbeitet endliche Symbolfolgen

  • ... Zustände
  • ... Eingabealphabet
  • ... Übergangsfunktion/-relation,
  • ... Anfangszustand
  • ... Endzustände
deterministisch (DEA)
nichtdeterministisch (NEA)

Transducer[Bearbeiten | Quelltext bearbeiten]

Wie endlicher Automat, aber mit Ein- und Ausgaben.

  • ... Ausgabealphabet
  • ... Anfangszustände

Mealy- und Moore-Automaten sind deterministisch und verarbeiten in der Regel unendliche Symbolfolgen.

  • ... Ausgabefunktion
Mealy-Automaten
(Ausgaben sind mit Übergängen verknüpft)
Erweiterte Ausgabefunktion
Übersetzungsfunktion
Moore-Automaten
(Ausgaben sind mit Zuständen verknüpft)

Büchi-Automaten[Bearbeiten | Quelltext bearbeiten]

Wie endlicher Automat, verarbeitet aber unendliche Symbolfolgen.

Modellierung[Bearbeiten | Quelltext bearbeiten]

graphische Spezifikation
Zustände sind Knoten, Übergänge sind Kanten, Ein- und Ausgaben sind Beschriftungen von Knoten und Kanten.
tabellarisch Spezifikation
Zu jedem Zustand und Eingabesymbol gibt es einen Eintrag mit zugehöriger Ausgabe und den Folgezuständen.
Vorgangsweise
  1. Was sind die Zustände des Systems? Wieviele sind notwendig? Zustandsbezeichnungen?
  2. Startzustand? Endzustände?
  3. Was sind die Aktionen/Eingaben, die zu Zustandsübergängen führen? Bezeichnung?
  4. Was sind die Aktionen/Ausgaben, die bei Zustandsübergängen stattfinden? Bezeichnung?
  5. Lege für jeden Zustand und jede Eingabe die Folgezustände und die Ausgaben fest.

Determinisierung[Bearbeiten | Quelltext bearbeiten]