Buffl

3. Endliche Automaten und reguläre Ausdrücke

M
by Mathäus

Wodurch unterscheiden sich NIcht-determisnistische endliche Automaten von (determenistischen) endlichen Automaten?

Dieser Text beschreibt verschiedene Arten von "Akzeptoren", also Maschinen, die entscheiden, ob eine bestimmte Eingabe akzeptiert wird oder nicht. Die bekannteste Art solcher Maschinen sind endliche Automaten, aber es gibt auch andere Varianten. Der Text erklärt eine spezielle Variante, nämlich den nicht-deterministischen endlichen Automaten (NFA).

Hier eine vereinfachte Erklärung:

  1. Deterministischer vs. Nicht-deterministischer Automat:

    • Bei einem deterministischen endlichen Automaten (DFA) gibt es für jede Kombination aus einem Zustand (wo sich der Automat gerade befindet) und einem Eingabewert (das aktuelle Zeichen, das gelesen wird) genau einen nächsten Zustand.

    • Bei einem nicht-deterministischen endlichen Automaten (NFA) kann es für die gleiche Kombination von Zustand und Eingabewert mehrere mögliche nächste Zustände geben. Der Automat "entscheidet" sich dann gewissermaßen, welchen Weg er nimmt.

  2. Übergangsrelation statt Übergangsfunktion:

    • In einem NFA wird eine Übergangsrelation anstelle einer Übergangsfunktion verwendet. Das bedeutet, dass für den gleichen Zustand und das gleiche Zeichen verschiedene nächste Zustände möglich sind.

  3. Steckenbleiben und Fehlerzustand:

    • Ein NFA kann auch "steckenbleiben", das heißt, es gibt keine gültigen Übergänge mehr, und der Automat erreicht nie einen Endzustand. In diesem Fall wird die Eingabe nicht akzeptiert.

    • Um einen NFA vollständig zu machen, kann man einen "Fehlerzustand" hinzufügen. Wenn der Automat an einer Stelle steckenbleibt, wechselt er in diesen Fehlerzustand. Von dort aus gibt es keine Möglichkeit, einen akzeptierenden Endzustand zu erreichen.

  4. Unterschied zwischen vollständigen und unvollständigen Automaten:

    • Ein vollständiger Automat hat für jede mögliche Eingabe einen Übergang definiert.

    • Ein unvollständiger Automat hat nicht für jede Eingabe einen Übergang, und wenn er keine passende Regel findet, bleibt er stehen.

Der Text erklärt also, dass man bei nicht-deterministischen Automaten oft auf eine vollständige Definition der Übergänge verzichtet, weil dies den Automaten unnötig kompliziert machen würde, besonders wenn die zusätzlichen Übergänge sowieso nicht dazu führen, dass das Wort akzeptiert wird. Ein unvollständiger Automat kann aber leicht in einen vollständigen überführt werden, indem man einen Fehlerzustand hinzufügt

Author

Mathäus

Information

Last changed