Büchi-Automat

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Der Büchi-Automat (nach dem Schweizer Mathematiker Julius Richard Büchi) ist eine spezielle Form des ω-Automaten. Dieser Automatentyp kann benutzt werden, um sowohl Sprachen über unendliche Wörter als auch über unendliche Bäume zu erkennen.

Büchi-Automaten zur Worterkennung[Bearbeiten]

Nichtdeterministischer Büchi-Automat zur Worterkennung[Bearbeiten]

Ein nichtdeterministischer Büchi-Automat (NBA) ist ein 5-Tupel A=\left(Q,\Sigma,\Delta,I,F\right) wobei gilt:

  • Q ist eine endliche Menge von Zuständen, die Zustandsmenge
  • \Sigma ist eine endliche Menge von Symbolen, das Eingabealphabet
  • \Delta ist die Übergangsrelation mit \Delta \subseteq Q \times \Sigma \times Q
  • I ist eine endliche Menge von Zuständen mit I \subseteq Q, die Startzustandsmenge
  • F ist eine endliche Menge von Zuständen mit F \subseteq Q, die Endzustandsmenge

Deterministischer Büchi-Automat zur Worterkennung[Bearbeiten]

Ein deterministischer Büchi-Automat (DBA) ist ein 5-Tupel A=\left(Q,\Sigma,\delta,q_0,F\right) wobei gilt:

  • Q ist eine endliche Menge von Zuständen, die Zustandsmenge
  • \Sigma ist eine endliche Menge von Symbolen, das Eingabealphabet
  • \delta ist die Übergangsfunktion mit \delta: Q \times \Sigma \rightarrow Q
  • q_0 ist der Startzustand mit q_0 \in Q
  • F ist eine endliche Menge von Zuständen mit F \subseteq Q, die Endzustandsmenge

Deterministische Büchi-Automaten sind nicht unter Komplementbildung abgeschlossen.

Die Möglichkeit der Potenzmengenkonstruktion, d.h. der Algorithmus, um aus einem nichtdeterministischen einen deterministischen Automaten zu machen, ist auf Büchi-Automaten nicht anwendbar. Die Menge der durch deterministische Büchi-Automaten erkennbaren Sprachen ist echt kleiner als die Menge der durch nichtdeterministische Büchi-Automaten erkennbaren Sprachen.

Zum Beispiel gibt es keinen deterministischen Büchi-Automaten über \Sigma^{\omega}=\left\{a,b\right\}^{\omega}, der die Sprache \{w \in \Sigma^\omega \mid w=\Sigma^*b^\omega \} erkennt, also die Sprache aller ω-Wörter, die nur endlich viele a enthalten.

Ein nichtdeterministischer Büchi-Automat kann dagegen angegeben werden.

nichtdeterministischer Büchi-Automat für die Sprache aller ω-Wörter, die nur endlich viele a enthalten

Akzeptanzverhalten[Bearbeiten]

Ein unendliches Wort  w=a_1a_2a_3 \ldots wird vom (nichtdeterministischen) Büchi-Automaten  A akzeptiert genau dann, wenn für den zugehörigen (unendlichen) Pfad  q_0\quad \begin{smallmatrix}a_1 \\ \rightarrow \\ A\end{smallmatrix}\quad q_1 \quad\begin{smallmatrix}a_2 \\ \rightarrow \\ A\end{smallmatrix}\quad q_2\quad \begin{smallmatrix}a_3 \\ \rightarrow \\ A\end{smallmatrix}\quad q_3 \quad\ldots gilt

  •  q_0 \in I
  •  (q_i, a_{i+1}, q_{i+1}) \in \Delta für alle  i
  • es gibt unendlich viele  i mit  q_i \in F

Weniger formal bedeutet das: Wird ein Endzustand unendlich oft durchlaufen, dann akzeptiert der Büchi-Automat das Eingabewort.

Die von einem Büchi-Automaten  A akzeptierte ω-Sprache (Menge unendlicher Wörter) ist  L_{\omega}(A)=\{w \in \Sigma^{\omega} \mid w \text{ wird von } A \text{ akzeptiert}\} .

Diese ω-Sprache heißt dann büchi-erkennbar.

Jede büchi-erkennbare ω-Sprache kann durch  \cup_{i=1}^m U_i V_i^{\omega} dargestellt werden, wobei  U_i und  V_i reguläre Sprachen für alle  i sind. Auf Grund diesen engen Zusammenhangs zu regulären Sprachen werden büchi-erkennbare ω-Sprachen auch als ω-reguläre Sprachen bezeichnet.

Damit ist der nichtdeterministische Büchi-Automat äquivalent zum Muller-Automaten, Rabin-Automaten, Streett-Automaten und zum Parity-Automaten.

Büchi-Automaten zur Baumerkennung[Bearbeiten]

Die Abkürzung BBA (englisch BTA) bezeichnet einen nichtdeterministischen Büchi-Automaten zur Baumerkennung; deterministische Büchi-Baumautomaten werden in der Regel nicht betrachtet.

Als Eingabe dient ein unendlicher, gewurzelter Baum, dessen Knoten mit Symbolen aus dem Eingabealphabet \Sigma beschriftet sind und bei dem jeder Knoten den Ausgangsgrad k hat.

Der Aufbau des Büchi-Automaten zur Baumerkennung entspricht dem des NBA, wobei jedoch die Übergangsrelation eine andere Form hat:

\Delta \subseteq Q \times \Sigma \times Q^k.

Ein Lauf eines Büchi-Baumautomaten A auf einem Eingabebaum t ist ein Baum \rho, der die gleichen Eigenschaften wie t hat, bei dem die Knoten jedoch nicht mit Eingabesymbolen, sondern mit Zuständen beschriftet sind. Die Wurzel von \rho ist mit einem Startzustand versehen, die restlichen Beschriftungen erfolgen gemäß der Übergangsrelation.

Akzeptanzverhalten[Bearbeiten]

Ein unendlicher Baum t wird von einem Büchi-Baumautomaten A akzeptiert genau dann, wenn für einen Lauf \rho von A auf t gilt: Auf jedem unendlichen Pfad in \rho kommen unendlich viele Endzustände vor.

Die durch einen Büchi-Baumautomaten akzeptierten Bäume bilden eine büchi-erkennbare Baumsprache. Die Klasse der büchi-erkennbaren Baumsprachen ist unter Vereinigung abgeschlossen. Unter Komplement ist sie hingegen nicht abgeschlossen, wie sich mit einer Variante des Pumping-Lemmas zeigen lässt.

Jeder Büchi-Baumautomat lässt sich in einen äquivalenten Muller-Baumautomaten (MBA) umwandeln. Da die Klasse der muller-erkennbaren Baumsprachen unter Komplement abgeschlossen ist, sind Büchi-Baumautomaten schwächer als MBAs und als Paritätsbaumautomaten, welche äquivalent zu MBAs sind.

Co-Büchi-Automaten[Bearbeiten]

Ein (deterministischer) Co-Büchi-Automat ist ein 5-Tupel A=\left(Q,\Sigma,\delta,q_0,F\right) und unterscheidet sich von einem deterministischen Büchi-Automaten nur durch das Akzeptanzverhalten. Während ein Büchi-Automat ein Wort akzeptiert, wenn immer wieder ein Endzustand besucht wird, so akzeptiert ein Co-Büchi-Automat ein Wort nur, wenn ab einem gewissen Punkt nur noch Endzustände besucht werden.

Schreibt man dies etwas formaler auf, so sieht man, dass der Existenzquantor und der Allquantor vertauscht werden. Ein unendliches Wort  w=a_1a_2a_3 \ldots wird vom (deterministischen) Büchi-Automaten bzw. Co-Büchi-Automaten A=\left(Q,\Sigma,\delta,q_0,F\right) akzeptiert genau dann, wenn für den zugehörigen eindeutigen Pfad q_0\rightarrow q_1\rightarrow q_2\rightarrow q_3 \ldots gilt

  • \forall i\exists j\geq i mit q_j\in F (Büchi-Automat)
  • \exists i\forall j\geq i mit q_j\in F (Co-Büchi-Automat)

Literatur[Bearbeiten]

  • Wolfgang Thomas, Automata on infinite objects, in Van Leeuwen, Ed., Handbook of Theoretical Computer Science, pp. 133-164, Elsevier, 1990.