Muller-Automat

Den Muller-Automat bezeichnet in der Automatentheorie ein 1963 von David E. Muller vorgestelltes Konzept eines ω-Automaten. Dieser Typ – deterministisch wie nichtdeterministisch – hat die gleiche Ausdrucksstärke wie nichtdeterministische Büchi-Automaten. Im Gegensatz dazu wird die Menge der unendlich oft besuchten Zustände genau festgelegt, was präzisere Aussagen zum Akzeptanzverhalten zulässt.

Muller-Automat zur Worterkennung

Ein nicht-deterministischer Muller-Automat hat die Form A = ( Q , Σ , q 0 , Δ , F ) {\displaystyle A=(Q,\Sigma ,q_{0},\Delta ,{\mathcal {F}})} . Hierbei gilt:

  • Q {\displaystyle Q} ist die Menge der Zustände, q 0 Q {\displaystyle q_{0}\in Q} ist der Startzustand
  • Δ Q × Σ × Q {\displaystyle \Delta \subseteq Q\times \Sigma \times Q} ist die Transitionsrelation
  • F 2 Q {\displaystyle {\mathcal {F}}\subseteq 2^{Q}} ist die Tafel, d. h. F = { F 1 , , F k } {\displaystyle {\mathcal {F}}=\lbrace F_{1},\dots ,F_{k}\rbrace } für bestimmte Mengen F 1 , , F k Q {\displaystyle F_{1},\dots ,F_{k}\subseteq Q}

Für deterministische Automaten ist die Transitionsrelation eine Funktion δ : Q × Σ Q {\displaystyle \delta \colon Q\times \Sigma \to Q} , hat also eindeutige Bilder und der Automat damit eindeutige Läufe.

Die Muller-akzeptierbaren ω-Sprachen sind die booleschen Kombinationen der deterministisch-Büchi-erkennbaren ω-Sprachen. Jeder deterministische Büchi-Automat kann als Muller-Automat ausgedrückt werden. Die Klasse der Muller-erkennbaren ω-Sprachen ist also unter booleschen Operationen abgeschlossen. Um zu einem Muller-Automaten einen (nichtdeterministischen) Büchi-Automaten zu konstruieren, lässt man den Büchi-Automaten raten, welches F i F {\displaystyle F_{i}\in {\mathcal {F}}} die richtige Menge ist, die unendlich oft durchlaufen werden muss, und von wann an die Durchläufe beginnen müssen.

Akzeptanzverhalten

Ein Lauf ρ {\displaystyle \rho } ist erfolgreich, wenn Inf ( ρ ) F {\displaystyle \operatorname {Inf} (\rho )\in F} , wobei Inf ( ρ ) = { q Q q  erscheint unendlich oft in  ρ } {\displaystyle \operatorname {Inf} (\rho )=\lbrace q\in Q\mid q{\text{ erscheint unendlich oft in }}\rho \rbrace } . Dies nennt man die Muller-Akzeptierung.

A {\displaystyle A} akzeptiert ein Wort α {\displaystyle \alpha } , wenn ein Lauf von A {\displaystyle A} auf α {\displaystyle \alpha } erfolgreich ist.

Die Muller-Bedingung lautet: Inf ( ρ ) = F i {\displaystyle \operatorname {Inf} (\rho )=F_{i}} für ein i = 1 , , k {\displaystyle i=1,\dots ,k}

Es muss zur Akzeptierung also eine bestimmte Menge F i {\displaystyle F_{i}} aus der Tafel F {\displaystyle {\mathcal {F}}} unendlich oft komplett durchlaufen werden.

Muller-Automat zur Baumerkennung

Ein Muller-Baumautomat hat das Format A = ( Q , Σ , q 0 , Δ , F ) {\displaystyle A=(Q,\Sigma ,q_{0},\Delta ,{\mathcal {F}})} , wobei Δ Q × Σ × Q × Q {\displaystyle \Delta \subseteq Q\times \Sigma \times Q\times Q} und F {\displaystyle {\mathcal {F}}} eine Menge von Teilmengen von Q {\displaystyle Q} ist.

Ein Muller-Baumautomat akzeptiert einen Baum t {\displaystyle t} , wenn es einen Lauf ρ {\displaystyle \rho } von A {\displaystyle A} auf t {\displaystyle t} gibt, so dass auf jedem Pfad von ρ {\displaystyle \rho } die Menge M {\displaystyle M} der unendlich oft vorkommenden Zustände ein Element von F {\displaystyle F} ist.

Literatur

  • Wolfgang Thomas: Automata on Infinite Objects. In: Jan van Leeuwen (Hrsg.): Handbook of Theoretical Computer Science. Band B: Formal Models and Semantics. Elsevier Science Publishers u. a., Amsterdam u. a. 1990, ISBN 0-444-88074-7, S. 133–164.