Deterministischer endlicher Automat

Deterministischer endlicher Automat

Ein deterministischer endlicher Automat (DEA, engl.: deterministic finite state machine oder deterministic finite automaton (DFA)) ist ein endlicher Automat, der unter Eingabe eines Zeichens seines Eingabealphabetes (den möglichen Eingaben) von einem Zustand, in dem er sich befindet, in einen eindeutig bestimmten Folgezustand wechselt. Er unterscheidet sich darin von nichtdeterministischen endlichen Automaten, deren Zustandswechsel sich nicht deterministisch ereignen müssen.

Inhaltsverzeichnis

Definition

Automat

Formal kann ein DEA \mathcal{A} als 5-Tupel \left( Q, \Sigma, \delta, q_0, F \right) definiert werden. Hierbei gilt Folgendes:

  • Q ist die Zustandsmenge, eine endliche Menge von Zuständen. Weitere oft verwendete Symbole für Q sind Z oder S.
  • Σ ist das endliche Eingabealphabet, also die Menge erlaubter Eingaben.
  • \delta : Q \times \Sigma \rightarrow Q ist die Übergangsfunktion (oder Transitionsfunktion). Sie ordnet jedem Paar bestehend aus einem Zustand q und einem Eingabesymbol a den Nachfolgezustand p zu.
  • q_0 \in Q ist der Startzustand.
  • F \subseteq Q ist die Menge der akzeptierenden Zustände, die sogenannten Finalzustände. Eine anderes übliches Symbol anstatt F ist A.

Verhalten

Befindet sich der Automat in einem Zustand q und liest das Eingabesymbol a, wechselt er in einen neuen Zustand, der durch die Übergangsfunktion vorgegeben ist, also in den Zustand δ(q,a).

Hat der Automat noch kein Eingabesymbol gelesen, befindet er sich im Startzustand q0. Erhält der Automat als Eingabe eine Folge von Eingabesymbolen, in der theoretischen Informatik Wort genannt, liest er von links nach rechts ein Symbol nach dem anderen und wechselt gemäß der Übergangsfunktion den Zustand. Befindet sich der Automat nach dem Lesen des letzten Eingabesymbols in einem akzeptierenden Zustand q_f\in F, akzeptiert er die Eingabe. Man sagt dann, dass sich das Eingabewort in der Menge der Wörter befindet, die vom Automaten akzeptiert werden (kurz: die vom Automaten akzeptierte Sprache).

Verworfene Eingaben

Endet der Automat nach dem Lesen eines Eingabewortes in einem nicht-akzeptierenden Zustand, gilt die Eingabe als verworfen. Wenn die Frage, ob die Eingabe verworfen oder akzeptiert wird, sich nicht erst mit dem letzten Eingabesymbol klärt, befindet sich ein minimaler Automat vorzeitig in einem Zustand, den er nicht mehr verlässt.

Alternativ kann man die Übergangsfunktion als partielle Funktion definieren, sodass nicht von jedem Zustand aus für jedes Eingabesymbol ein Nachfolgezustand existieren muss. Das Eingabewort gilt somit auch dann als verworfen, wenn beim Lesen der Eingabe ein Übergang nicht möglich ist.

Sprache eines DEA

Die Menge aller vom DEA A akzeptierten Wörter wird als Sprache von A bezeichnet; formal \mathcal{L}(A). Die Menge aller Sprachen, die von irgendeinem DEA akzeptiert werden, sind die Klasse der regulären Sprachen.

Nichtdeterministische endliche Automaten (NEAs), DEAs und Typ-3-Grammatiken (in der Chomsky-Hierarchie) beschreiben die gleiche Sprachklasse. NEAs lassen sich mittels Potenzmengenkonstruktion in äquivalente DEAs wandeln.

Beispiel

Ein deterministischer endlicher Automat, der einfache Abläufe eines Getränkeautomaten nachbildet, kann aus den Zuständen Q = {q0,q1,q2} bestehen, welche folgende Zustände des Getränkeautomaten beschreiben: „Getränkeautomat wartet auf Münzeinwurf“, „Getränkeautomat wartet auf Getränkewahl“ und „Getränk wird ausgeschenkt“.

Gültige Eingabesymbole könnten durch die Menge Σ = {Muenze,Getraenk,Abbruch,Entnahme} das Einwerfen einer Münze, die Wahl eines Getränks, das Abbrechen der Getränkewahl und die Entnahme eines Getränks beschreiben.

Ein Automat mit den Übergängen

  • δ(q0,Muenze) = q1,
  • δ(q1,Getraenk) = q2,
  • δ(q2,Entnahme) = q0 und
  • δ(q1,Abbruch) = q0

beschreibt dann, dass zunächst mit einer Münze bezahlt wird, anschließend ein Getränk gewählt wird, welches entnommen werden muss, bevor wieder von vorne begonnen werden kann. Hat man die Münze eingeworfen, aber noch kein Getränk ausgewählt, kann man auch noch abbrechen.

Verlangt man für die Übergänge eine totale Funktion, muss unter anderem auch ein Zustand angegeben werden, in den der Automat bei Abbruch wechselt, wenn ein Getränk bereits gewählt aber noch nicht entnommen wurde.

Minimierung

Zu jedem DEA existiert ein (bis auf die Benennung der Zustände) eindeutiger minimaler Automat, der dieselbe Sprache akzeptiert.

Da die Zustände des Minimalautomaten den Äquivalenzklassen der vom endlichen Automaten M akzeptierten Sprache unter der Nerode-Relation entsprechen, spricht man auch vom Äquivalenzklassenautomat:

u \sim_{L(M)} v \Longleftrightarrow (\forall w \in \Sigma^{*} : uw \in L(M) \Leftrightarrow vw \in L(M))

Sei M = (Q,Σ,δ,q0,F) ein deterministischer endlicher Automat. Dann ist N = (Q',Σ,δ',q0',F') mit

  • Q' = \Big\{[w]_{L(M)}  \mid w \in \Sigma^*\Big\}
  • ~q'_0 = [\epsilon]_{L(M)}
  • ~\delta'([u]_{L(M)} ,a)=[ua]_{L(M)}
  • F' = \Big\{[u]_{L(M)}  \mid u \in L(M)\Big\}

der Äquivalenzklassenautomat zu M.

Die Minimierung eines deterministischen Automaten kann algorithmisch durch fortwährende Verfeinerung der Äquivalenzklassen gelöst werden. Man beginnt mit den Zustandsmengen F und QF. Für jeden Buchstaben aus dem Alphabet wird nun jede Zustandsmenge dahingehend aufgeteilt, dass die Überführungsfunktion die Zustände jeder neuen Menge den Buchstaben in eine jeweils eindeutige Menge abbildet. Dies wird so oft wiederholt bis sich keine Änderung mehr ergibt.

Es besteht außerdem die Möglichkeit, minimale deterministische endliche Automaten inkrementell aufzubauen. Inkrementell bedeutet hier, dass die zu akzeptierenden Worte einzeln dem Automaten hinzugefügt werden. Nach jedem Einfügen eines solchen Wortes ist der deterministische endliche Automat minimal. Dieses Verfahren ist vor allem dann erfolgversprechend, wenn die Worte häufig gemeinsame Prä- und Suffixe teilen, dies ist z.B. bei Worten aus natürlichen Sprachen der Fall.

Siehe auch

Literatur

  • John E. Hopcroft, Jeffrey D. Ullman: Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie. 2. Auflage. Pearson Studium, Reading 2002, ISBN 3-8273-7020-5
  • Gottfried Vossen, Kurt Ulrich Witt, Grundkurs Theoretische Informatik 3.Auflage, ISBN 3-528-23147-5
  • Peter Sander, Wolffried Stucky, Rudolf Herschel: Automaten, Sprachen, Berechenbarkeit. Teubner, Stuttgart 1992, ISBN 3-519-02937-5
  • Uwe Schöning: Ideen der Informatik, Grundlegende Modelle und Konzepte. Oldenbourg, München 2006, ISBN 3-486-57833-2
  • Jan Daciuk, Bruce W. Watson, Richard E. Watson, Ul. G. Narutowicza: Incremental Construction of Minimal Acyclic Finite State Automata and Transducers, 1998.

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Deterministischer endlicher automat — Ein deterministischer endlicher Automat (DEA, engl.: DFA=deterministic finite automaton) ist ein endlicher Automat, der unter Eingabe eines Zeichens seines Eingabealphabetes (mögliche Eingaben) von einem Zustand, in dem er sich befindet, in einen …   Deutsch Wikipedia

  • Nicht-deterministischer endlicher Automat — Ein nichtdeterministischer endlicher Automat (NEA, engl: NFA=nondeterministic finite automaton) ist ein endlicher Automat, bei dem es für den Zustandsübergang mehrere Möglichkeiten gibt. Formal kann ein NEA als 5 Tupel definiert werden. Hierbei… …   Deutsch Wikipedia

  • Endlicher Automat — Abb. 1: Beispiel eines EA der eine Tür beschreibt Ein endlicher Automat (EA, auch Zustandsmaschine, englisch finite state machine (FSM)) ist ein Modell eines Verhaltens, bestehend aus Zuständen, Zustandsübergängen und Aktionen. Ein Automat heißt… …   Deutsch Wikipedia

  • Automat (Informatik) — Ein Automat oder eine abstrakte Maschine ist in der Informatik das Modell eines digitalen, zeitdiskreten Rechners. Ob es möglich oder sinnvoll ist, eine solche Maschine tatsächlich zu bauen, ist dabei zunächst unerheblich. Die Vereinfachung der… …   Deutsch Wikipedia

  • Moore Automat — Ein Moore Automat (benannt nach dem Mathematiker Edward F. Moore (1925 2003)) ist ein endlicher Automat, welcher deterministisch oder nichtdeterministisch sein kann. Im Gegensatz zum Mealy Automaten hängt seine Ausgabe ausschließlich von seinem… …   Deutsch Wikipedia

  • Mealy Automat — Ein Mealy Automat ist ein endlicher Automat, dessen Ausgabe (im Gegensatz zu einem Moore Automat) von seinem Zustand und seiner Eingabe abhängt. Anschaulich bedeutet das, dass jeder Kante im Zustandsdiagramm ein Ausgabewert zugeordnet wird. Der… …   Deutsch Wikipedia

  • Moore-Automat — Ein Moore Automat (benannt nach dem Mathematiker Edward F. Moore (1925 2003)) ist ein endlicher Automat, welcher deterministisch oder nichtdeterministisch sein kann. Im Gegensatz zum Mealy Automaten hängt seine Ausgabe ausschließlich von seinem… …   Deutsch Wikipedia

  • Mealy-Automat — Ein Mealy Automat ist ein endlicher Automat, dessen Ausgabe (im Gegensatz zu einem Moore Automaten) von seinem Zustand und seiner Eingabe abhängt. Anschaulich bedeutet das, dass jeder Kante im Zustandsdiagramm ein Ausgabewert zugeordnet wird. Der …   Deutsch Wikipedia

  • Abstrakter Automat — Ein Automat oder eine abstrakte Maschine ist in der Informatik das Modell eines digitalen, zeitdiskreten Rechners. Ob es möglich oder sinnvoll ist, eine solche Maschine tatsächlich zu bauen, ist dabei zunächst unerheblich. Die Vereinfachung der… …   Deutsch Wikipedia

  • Keller Automat — Ein Kellerautomat (KA, auch PDA für englisch pushdown automaton; auch Stackmaschine) ist ein Automat im Sinne der Theoretischen Informatik. Es handelt sich also um ein rein theoretisches Konstrukt, das verwendet wird, um gewisse Eigenschaften von …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”