Minimalautomat

Ein Minimalautomat oder minimierter Automat (englisch minimal finite automaton oder minimal deterministic finite automaton, DFA) ist in der theoretischen Informatik ein endlicher Automat mit minimaler Zustandsanzahl, der genau dieselbe Sprache akzeptiert wie ein anderer DFA. Man erhält ihn durch Minimierung eines DFA, also das Entfernen äquivalenter Zustände.[1]

Definition

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

Sei ein deterministischer endlicher Automat. Dann ist mit[3]

der Äquivalenzklassenautomat zu .

Herstellung

Die Minimierung eines deterministischen Automaten kann algorithmisch durch fortwährende Verfeinerung der Äquivalenzklassen gelöst werden. Man beginnt mit den Zustandsmengen und . 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

Einzelnachweise

  1. Konstruktion eines deterministischen endlichen Automaten. Abgerufen am 23. Juni 2025.
  2. Konstruktion eines deterministischen endlichen Automaten. Abgerufen am 23. Juni 2025.
  3. Konstruktion eines deterministischen endlichen Automaten. Abgerufen am 23. Juni 2025.