Zurück zur Übersicht

Begriff

Pushdown Automaton (PDA)

Computer Science Theory S4
2 Quellen 0 Lernpfade 1 Backlink enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Ein Endlicher Automat (wie ein Drehkreuz oder Cola-Automat) hat kein Gedächtnis. Er weiß nur "Zustand: Offen". Er weiß nicht, wie oft Münzen eingeworfen wurden. Ein Kellerautomat (Pushdown Automaton) hat einen Stack (Speicher). Er kann Münzen auf den Stapel legen (Push) und wegnehmen (Pop). Damit kann er zählen und Klammern prüfen. (( )): 2x Push, 2x Pop -> Stack leer -> Korrekt. ((): 2x Push, 1x Pop -> Stack nicht leer -> Fehler.

Merksatz: Ein theoretisches Maschinenmodell, das einen endlichen Automaten um einen unendlich großen Stapelspeicher (Stack) erweitert und genau die Klasse der kontextfreien Sprachen (Typ 2) erkennen kann.


Quick-Check

  1. Warum "Keller"?
    Deutsches Wort für Stack ("Kellerspeicher"). Man wirft Kohlen in den Keller und holt die letzten zuerst wieder raus (LIFO).
  2. HTML?
    HTML ist nicht ganz kontextfrei (wegen open tag must match close tag string). Ein reiner PDA kann nicht prüfen, ob <a>...</b> falsch ist (er speichert nur "Da war ein Tag", nicht den String "a"). Echte Parser speichern Symbol-Tabellen.
  3. Unendlicher Stack?
    Theoretisch ja. Praktisch hast du 8MB Stack Size. Wenn der PDA zu tief geht -> StackOverflowError.