Benutzer-Werkzeuge

Webseiten-Werkzeuge


se:automatentheorie

**Dies ist eine alte Version des Dokuments!**

Automatentheorie

Einleitung

  • Einordung "Automatentheorie"
    • Formalisierung reaktiver Systeme (diskrete Systeme)
    • diskrete Systeme (Automatentheorie) ∈ kontinuierliche Systeme ∈ technische Kybernetik ∈ Kybernetik (Wissenschaft von der Funktion komplexer Systeme)
  • Funktion endlicher Automaten: Eingaben → (innere) Zustände → Ausgaben
  • Klassifizierung
    • Endliche erkennende Automaten
      • am weitesten reduzierte Automaten
      • keine Äußerungen nach außen
    • nächste Stufe: minimale Reaktion (binär, z.B. Lampe an/aus)
  • Eingaben: Zeichenfolgen über Alphabet X = { x1, x2, …, xn }
    • werden akzeptiert, wenn Automat im Endzustand ist
  • Ausgaben: Zeichenfolgen über Alphabet Y = { y1, y2, …, yn }
  • Zustände (states): unterscheidbare Stadien der Verarbeitung von Eingaben
    • Zustandsmenge S = { s1, s2, …, sn }
    • Partizipien weisen auf Zustände hin: "Taste gedrückt" etc.

Deterministische endliche Automaten (DEA)

  • Definition: A = (X, S, s0, δ, F)
    • X: Eingabealphabet
    • S: Zustandsmenge
    • s0: Anfangszustand
    • δ: Zustandsübergangsfunktion
      • S x X → S
      • δ(si, xj) → sk (Folgezustand zu si)
        * δ<sup>*</sup>: Fortsetzung der Zustandsübergangsfunktion auf Wörter ∈ X<sup>*</sup>
          * δ<sup>*</sup>(s<sub>0</sub>, w) ∈ S | w = x<sub>1</sub>, x<sub>2</sub>, ..., x<sub>n</sub>, x<sub>i</sub> ∈ X
          * δ<sup>*</sup>(s, ε) = s | s ∈ S, ε leeres Wort
          * δ<sup>*</sup>(s, x<sub>i</sub>) = δ(s, x<sub>i</sub>) | x<sub>i</sub> ∈ X, **ein** Zeichen
          * δ<sup>*</sup>(s, x) = δ<sup>*</sup>(s, x<sub>1</sub>x<sub>2</sub>...x<sub>n</sub>) = δ<sup>*</sup>(δ(s, x<sub>1</sub>), x<sub>2</sub>x<sub>3</sub>...x<sub>n</sub>) 

        * Im DEA gibt es für jeden Zustand für jedes Eingabezeichen eine Transition in seinen Folgezustand!

Sprache eines DEA

  • L(A) := { w ∈ X</sup> | δ*(s0, w) ∈ F} (Menge aller Wörter, die vom Anfangszustand in einen Endzustand führen) * durch endliche Automaten akzeptierbar/definierbar, falls es einen DEA gibt, der sie akzeptiert ===== Nicht-deterministische endliche Automaten (NEA) ===== * Definition: A = (X, S, S0, δ, F) * X: Eingabealphabet * S: Zustandsmenge * S0: Menge der Anfangszustände, S0 ⊆ S * δ: Zustandsübergangsfunktion * S x X → P(S), zu einem Eingabesymbol ist in einem definierten Zustand eine Menge von Folgezuständen möglich * δ(si, xj) → Sk (Folgezustände zu si, leere Menge, ein oder mehrere Zustände)
    ==== Überprüfung, ob NEA und DEA äquivalent ==== - Konstruiere zu gegebenem DEA einen äquivalenten NEA (direkt erfüllt, da jeder DEA schon ein NEA ist) - Konstruiere zu gegebenem NEA einen äquivalenten DEA (akzeptiert die selbe Sprache) * A = (X, S, S0, δ, F) → Ad = (X, Sd, s0d, δd, Fd) * Sd := P(S) (alle möglichen Teilmengen von S) * s0d := S0 (Menge der Anfangszustände des NEA ist ein Element von P(S)) * δ(Q, x) := Uq ∈ Qδ(q, x) * Fd := { Q ∈ Sd | Q ∩ F ≠ ∅} ===== Pumping-Lemma ===== * Sei L regulär über X: ∃ n ∈ N, sodass ∀ x ∈ L mit |x| ≥ n: x = uvw (uvw = Teilwörter, u = Weg in den Zyklus, v = Zyklus, w = Weg aus dem Zyklus) * Bedingung: |uv| ≤ n, |v| ≥ 1, n muss mindestens die Anzahl der Zustände sein * ⇒ uviw ∈ L ∀ i ∈ N (vi: v wird i-mal vervielfältigt) ===== ToDo ===== * Skript Herold lesen
se/automatentheorie.1228140629.txt.gz · Zuletzt geändert: 2014-04-05 11:42 (Externe Bearbeitung)