# Zweikellerautomat

Der Begriff Zweikellerautomat (TPDA – engl. Two-stack Push Down Automaton) steht in der Theoretischen Informatik für ein besonderes Automatenmodell. Er hat insbesondere für eine einheitliche Darstellung von Automaten-Charakterisierungen der Sprachenklassen der Chomsky-Hierarchie und anderen Klassen eine besondere Bedeutung erlangt.
So lassen sich die klassischen Begriffe Turingmaschine, Linear beschränkter Automat, Kellerautomat und Endlicher Automat mit speziellen Einschränkungen einheitlich darstellen.
Darüber hinaus gestattet er die Charakterisierung der von Elias Dahlhaus und Manfred Warmuth eingeführten Klasse der wachsend kontextsensitiven Sprachen.
In der Literatur werden zwei verschiedene Modelle betrachtet:
* Der Zweikellerautomat liest von einem Extra-Eingabeband und kann dabei zwei Kellerspeicher zum Speichern und Lesen nutzen. Als Abkürzung wird hier meist 2-PDA verwendet.
* Der Zweikellerautomat bekommt seine Eingabe direkt im Keller: Das erste Zeichen steht dabei oben. Dieses Modell ist das jüngere Modell. Als Abkürzung wird hier meist TPDA (engl. Two-PushDown-Automaton) verwendet.
In beiden Fällen ergibt sich, dass der Zweikellerautomat ohne weitere Einschränkung bereits Turing-mächtig ist. Im ersten Fall ist vor allem der Automat mit Realzeiteingabe untersucht worden. Diese Eingabe entspricht dem normalen Kellerautomaten, der nur einen Keller benutzt. Im zweiten Fall wurden verschiedene Einschränkungen definiert, mit denen sich einheitlich verschiedene Sprachklassen charakterisieren lassen.
So werden hier beschränkte und schrumpfende Zweikellerautomaten betrachtet. Weiterhin verbietet man das Schreiben im Eingabekeller, das führt zum normalen Kellerautomaten. Das Verbot des Schreibens in beiden Kellern führt schließlich zum endlichen Automaten.

## Definition

Ein Zweikellerautomat ist ein nichtdeterministischer Automat, der während seiner Arbeit auf zwei Kellerspeicher zugreifen kann und seine Eingabe in einem der beiden Kellerspeicher erhält. Mathematisch wird ein solcher Automat $M$ beschrieben durch ein Siebentupel $M=(Q,\Sigma ,\Gamma ,q_{0},\bot ,F,\delta )$. Im Einzelnen bezeichnet dabei
* $Q$ eine endliche Menge: die Zustandsmenge
* $\Sigma$ ein (endliches) Alphabet, das Eingabealphabet
* $\Gamma$ ein weiteres endliches Alphabet, das Arbeitsalphabet: $\Sigma \subset \Gamma$ und $\Gamma \cap Q=\emptyset$
* $q_{0}$ den Startzustand mit $q_{0}\in Q$
* $F$ die Endzustände mit $F\subseteq Q$
* $\delta$ die totale Abbildung von $Q\times \Gamma \times \Gamma$ in die endlichen Teilmengen von $Q\times \Gamma ^{*}\times \Gamma ^{*}$. Wenn die Menge $\delta (q,A,B)$ stets höchstens einelementig ist, heißt der TPDA deterministisch; hier hat sich die Abkürzung DTPDA eingebürgert.
Jede Situation einer Berechnung eines TPDA wird durch seine Konfiguration vollständig beschrieben: Eine Konfiguration kann als Wort über dem Alphabet $Q\cup \Gamma$ beschrieben werden; in diesem Fall ist es üblich, die Konfigurationen mit dem folgenden regulären Ausdruck zu beschreiben:
* $\Gamma ^{*}Q\Gamma ^{*}$
Hierbei steht der erste Teil des Wortes vor dem Zustandssymbol für den linken Keller und der zweite für den rechten Keller. So liest der Automat im linken Keller von rechts nach links und im rechten von links nach rechts. (Das Zustandssymbol zwischen den beiden Kellerinhalten mag hier intuitiv als Lese-Schreibkopf interpretiert werden.) Daher wird in der Startkonfiguration im linken Keller die Eingabe rückwärts notiert:
* $\bot w_{n}\dotso w_{1}q\bot$ ist somit die Startkonfiguration.
Die Überführungsfunktion wird jetzt in folgender Weise angewandt:
* Wenn $\gamma _{0}AqB\gamma _{1}$ die aktuelle Konfiguration des TPDA ist und $\delta (q,A,B)=\{(q_{1},\alpha _{1},\beta _{1}),(q_{2},\alpha _{2},\beta _{2}),\dotsc ,(q_{m},\alpha _{m},\beta _{m})\}$ gilt, dann stellt für jedes $i\in \{1,2,\dotsc ,m\}$ die Konfiguration $\gamma _{0}\alpha _{i}q_{i}\beta _{i}\gamma _{1}$ eine mögliche Nachfolgekonfiguration von $\gamma _{0}AqB\gamma _{1}$ dar.
Eine Eingabewort $w\in \Sigma ^{*}$ wird von einem TPDA akzeptiert, wenn es eine Folge von Konfigurationen gibt, die durch wiederholtes Anwenden der Überführungsfunktion gebildet wird, mit der Eigenschaft: die letzte Konfiguration besteht nur noch aus einem Zeichen, dieses Zeichen ist ein Endzustand aus $F$.
Es wird gelegentlich auch gestattet, dass die Keller nicht leer sein müssen. Das TPDA-Modell ist hier ausreichend robust.
Für die Einschränkungen, die üblicherweise betrachtet werden, wird der Begriff der Bewertungsfunktion benötigt: Eine Bewertungsfunktion ist ein Monoid-Homomorphismus vom freien Monoid über $\Gamma \cup Q$ in die natürlichen Zahlen (mit 0):
    $h\colon ((\Gamma \cup Q)^{*},\circ )\rightarrow (\mathbb {N} ,+)$,
    $h(\varepsilon )=0$
    für alle Wörter $v,w\in (\Gamma \cup Q)^{*}$ gilt: $h(v)+h(w)=h(v\circ w)$.
Hier bezeichnet $\varepsilon$ das leere Wort und $\circ$ die Konkatenation.
* Ein TPDA $M=(Q,\Sigma ,\Gamma ,q_{0},\bot ,F,\delta )$ heißt schrumpfend, wenn es eine Bewertung $h$ gibt, so dass für die Überführungsfunktion $\delta$ gilt: Wenn $(q',\alpha ,\beta )\in \delta (q,A,B)$ dann ist $h(q'\circ \alpha \circ \beta )<h(q\circ A\circ B)$.
* Ein TPDA $M=(Q,\Sigma ,\Gamma ,q_{0},\bot ,F,\delta )$ heißt beschränkt, wenn es eine Bewertung $h$ gibt, so dass für die Überführungsfunktion $\delta$ gilt: Wenn $(q',\alpha ,\beta )\in \delta (q,A,B)$ dann ist $h(q'\circ \alpha \circ \beta )\leq h(q\circ A\circ B)$.

## Charakterisierungen

* Die rekursiv aufzählbaren Sprachen werden vom Modell TPDA charakterisiert.
* Die rekursiv aufzählbaren Sprachen werden vom Modell DTPDA charakterisiert.
* Die kontextsensitiven Sprachen werden von beschränkten TPDA charakterisiert.
* Die deterministisch kontextsensitiven Sprachen werden von beschränkten DTPDA charakterisiert.
* Die wachsend kontextsensitiven Sprachen werden von schrumpfenden TPDA charakterisiert.
* Die Church-Rosser-Sprachen werden von schrumpfenden DTPDA charakterisiert.
* Die kontextfreien Sprachen werden von TPDA charakterisiert, die nur im rechten Keller schreiben dürfen.
* Die deterministisch kontextfreien Sprachen werden von DTPDA charakterisiert, die nur im rechten Keller schreiben dürfen.
* Die regulären Sprachen werden von TPDA charakterisiert, die in ihren Kellern nicht schreiben dürfen.
* Die regulären Sprachen werden von DTPDA charakterisiert, die in ihren Kellern nicht schreiben dürfen.

## Ausblicke

Wenn wir in dem Modell weitere Keller hinzunehmen, so ergibt sich für den schrumpfenden Fall, dass er die nichtdeterministischen Quasi-Realzeit-Sprachen ($\mathbf {Q}$) akzeptiert.