zusammenfassungen/Writerside/topics/04/Theoretische Informatik/03_GrundlagenEndlicherAutomaten.md
David Schirrmeister 72000ea9bf update
2025-04-22 16:33:51 +02:00

2.7 KiB

Grundlagen endlicher Automaten

Definition

Deterministischer endlicher Automat (DEA)

  • 5-Tupel
    • A=(Σ,Q,q_s,Q_a, δ)
      • Σ: endliches Eingabealphabet
      • Q: endliche Menge von Zuständen
      • q_s ∈ Q: Startzustand
      • Q_a ⊆ Q: akzeptierte Zustände
      • δ: Q x Σ → Q: Übergangsfunktion

Graphdarstellung G_A

  • Graphknoten: Q
    • Startzustand: Knoten mit eingehender Kante ohne Quelle
    • akzeptierter Zustand: Knoten mit Doppelkreis
  • gelabelte Kanten: Zustandsübergänge
    • Kante von q nach q' mit Label a ↔ δ(q,a) = q'

Beispiel einfacher endlicher Automat

  • A=(Σ,Q,q_s,Q_a, δ)
    • Σ=\{0,1\}
    • Q=\{q_1,q_2,q_3\}
    • q_s=q_1
    • Q_a=\{q_3\}
    • δ:
      • Zustand δ(.,0) δ(.,1)
        q_1 q_1 q_2
        q_2 q_1 q_3
        q_3 q_3 q_3
  • Graphdarstellung
    • image_740.png

Sprache eines Automaten

Sei A=( Σ,Q,q_s,Q_a, δ) ein DEA. Die fortgesetzte Übergangsfunktion δ^*: Q x Σ^* →Q ist definiert durch

δ^*(q, ∈):=q und

δ^*(q,wx):= δ( δ^*(q,w),x) für w ∈ Σ^* und x ∈ Σ

↑ ~induktive Definition

Sei $A= ( Σ,Q, q_s, Q_A, δ) ein DEA.

(a) Wir sagen A akzeptiert w ∈ Σ^*, wenn δ^*(q_s,w) ∈ Q_A

(b) Die von A akzeptierte Sprache ist L(A) := \{w ∈ Σ^* \space| \space A\space akzeptiert \space w\}

Unvollständige Automaten

Ein unvollständiger deterministischer Automat A=( Σ, Q,Q_s, Q_A, δ) ist wie ein normaler DEA
mit folgenden Änderungen:

(a) Die Übergangsfunktion δ darf partiell sein

(b) Ist während einer Berechnung der nächste Zustand nicht definiert → Eingabe verwerfen

Beispiel unvollständiger Automat:

image_741.png

Nichtdeterministischer endlicher Automat (NEA)

Nichtdeterminismus

  • Erlauben pro Zustand/Zeichen-Paar mehrere Folgezustände
    • die wiederum selbst wieder mehrere Folgezustände haben können
    • Eine Eingabe, mehrere Berechnungspfade
  • Eingabe wird akzeptiert, wenn
    • Berechnungspfad existiert, der in akzeptierendem Zustand endet

Definition NEA

  • 5-Tupel
    • A=(Σ,Q,q_s,Q_a, δ)
      • Σ: endliches Eingabealphabet
      • Q: endliche Menge von Zuständen
      • q_s ∈ Q: Startzustand
      • Q_a ⊆ Q: akzeptierte Zustände
      • δ: Q x Σ → P(Q): Übergangsfunktion
  • jede einzelne Berechnung wie beim DEA
    • starte in q_s
    • lies nächstes Zeichen
    • berechne Folgezustand mit δ
    • wechsle in Folgezustand
      • ist akzeptierend? → :)
      • sonst → verwerfe

Beispiel NEA

image_742.png