Büchi automaton


In computer science and automata theory, a deterministic Büchi automaton is a theoretical machine which either accepts or rejects infinite inputs. Such a machine has a set of states and a transition function, which determines which state the machine should move to from its current state when it reads the next input character. Some states are accepting states and one state is the start state. The machine accepts an input if and only if it will pass through an accepting state infinitely many times as it reads the input.
A non-deterministic Büchi automaton, later referred to just as a Büchi automaton, has a transition function which may have multiple outputs, leading to many possible paths for the same input; it accepts an infinite input if and only if some possible path is accepting. Deterministic and non-deterministic Büchi automata generalize deterministic finite automata and nondeterministic finite automaton to infinite inputs. Each are types of ω-automata. Büchi automata recognize the ω-regular languages, the infinite word version of regular languages. They are named after the Swiss mathematician Julius Richard Büchi, who invented them in 1962.
Büchi automata are often used in model checking as an automata-theoretic version of a formula in linear temporal logic.

Formal definition

Formally, a deterministic Büchi automaton is a tuple A = that consists of the following components:
In a Büchi automaton, the transition function δ is replaced with a transition relation Δ that returns a set of states, and the single initial state q0 is replaced by a set I of initial states. Generally, the term Büchi automaton without qualifier refers to non-deterministic Büchi automata.
For more comprehensive formalism see also ω-automaton.

Closure properties

The set of Büchi automata is closed under the following operations.
Let A= and B= be Büchi automata and C= be a finite automaton.
Büchi automata recognize the ω-regular languages. Using the definition of ω-regular language and the above closure properties of Büchi automata, it can be easily shown that a Büchi automaton can be constructed such that it recognizes any given ω-regular language. For converse, see construction of a ω-regular language for a Büchi automaton.
; Deterministic versus non-deterministic Büchi automata
The class of deterministic Büchi automata does not suffice to encompass all omega-regular languages. In particular, there is no deterministic Büchi automaton that recognizes the language *0ω, which contains exactly words in which 1 occurs only finitely many times. We can demonstrate it by contradiction that no such deterministic Büchi automaton exists. Let us suppose A is a deterministic Büchi automaton that recognizes *0ω with final state set F. A accepts 0ω. So, A will visit some state in F after reading some finite prefix of 0ω, say after the i0th letter. A also accepts the ω-word 0i010ω. Therefore, for some i1, after the prefix 0i010i1 the automaton will visit some state in F. Continuing with this construction the ω-word 0i010i110i2... is generated which causes A to visit some state in F infinitely often and the word is not in *0ω. Contradiction.
The class of languages recognizable by deterministic Büchi automata is characterized by the following lemma.

Algorithms

of finite state systems can often be translated into various operations on Büchi automata.
In addition to the closure operations presented above,
the following are some useful operations for the applications of Büchi automata.
; Determinization
Since deterministic Büchi automata are strictly less expressive than non-deterministic automata, there can not be an algorithm for determinization of Büchi automata.
But, McNaughton's Theorem and Safra's construction provide algorithms that can translate a Büchi automaton into a deterministic Muller automaton or deterministic Rabin automaton.
; Emptiness checking
The language recognized by a Büchi automaton is non-empty if and only if there is a final state that is both reachable from the initial state, and lies on a cycle.
An effective algorithm that can check emptiness of a Büchi automaton:
  1. Consider the automaton as a directed graph and decompose it into strongly connected components.
  2. Run a search to find which SCCs are reachable from the initial state.
  3. Check whether there is a non-trivial SCC that is reachable and contains a final state.
Each of the steps of this algorithm can be done in time linear in the automaton size, hence the algorithm is clearly optimal.
; Minimization
The algorithm for minimizing nondeterministic finite automaton also correctly minimizes a Büchi automaton.
The algorithm does not guarantee minimum Büchi automaton.
However, the algorithms for minimizing deterministic finite automaton does not work for deterministic Büchi automaton.

Variants

; From generalized Büchi automata
; From Linear temporal logic formula
; From Muller automata
; From Kripke structures