Kellerautomat

Aus SibiWiki
Version vom 22. November 2017, 17:38 Uhr von Akaibel (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Kategorie:endliche Automaten Kategorie:Informatik-Q2 Kategorie:Informatik-Abitur Kategorie:Informatik Ein Kellerautomat ist ein Deterministi…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen


Ein Kellerautomat ist ein Deterministischer Endlicher Automat (DEA), der um einen Speicher (genannt Keller) in Form eines Stack erweitert wurde.

In dem Keller kann der Kellerautomat Zeichen, die im sogenannten Kelleralphabet definiert sind, speichern und sie später nach dem Last-In-First-Out-Prinzip wieder abrufen.

Zweck des Kellerautomaten

Deterministische Endliche Automaten können nur sehr begrenzte Sprachen überprüfen, vor allem deswegen, weil sie nicht "zählen" können. Deswegen ist z.B. die Sprache L = {anbn} mit einem DEA nicht darstellbar.

Ein Kellerautomat kann diese Sprache darstellen!

Beispiel

Der folgende Kellerautomat überprüft die Sprache L = {anbn}

TODO: Bild einfügen

Formale Definition des Kellerautomaten

Der Kellerautomat ist ein 7-Tupel (Q, A, K, d, q0, #, F)

Dabei ist:

  • Q: endliche Menge von Zuständen = {q0, ..., qn}
  • A: Das endliche Eingabealphabet
  • K: das endliche Kelleralphabet
  • d: die Übergangsfunktion:
    Sie berechnet aus einem Zustand, einem Eingabezeichen und einem Kellerzeichen
    einen Nachfolgezustand und eine Kelleroperation
  • q0ist der Startzustand.
  • # ist das Anfangssymbol im Keller
  • F ist die Menge der akzeptierenden Endzustände.

Zusammenhang zu formalen Sprachen

  • Der deterministische Kellerautomat erkennt genau die deterministisch-kontextfreien Sprachen.
  • Der nichtdeterministische Kellerautomat erkennt genau die kontextfreien Sprachen.