Büchi Automaton
   HOME

TheInfoList



OR:

In
computer science Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to Applied science, practical discipli ...
and
automata theory Automata theory is the study of abstract machines and automata, as well as the computational problems that can be solved using them. It is a theory in theoretical computer science. The word ''automata'' comes from the Greek word αὐτόματο ...
, 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 In the theory of computation, a branch of theoretical computer science, a deterministic finite automaton (DFA)—also known as deterministic finite acceptor (DFA), deterministic finite-state machine (DFSM), or deterministic finite-state automa ...
and
nondeterministic finite automata In automata theory, a finite-state machine is called a deterministic finite automaton (DFA), if * each of its transitions is ''uniquely'' determined by its source state and input symbol, and * reading an input symbol is required for each state tr ...
to infinite inputs. Each are types of ω-automata. Büchi automata recognize the ω-regular languages, the infinite word version of
regular language In theoretical computer science and formal language theory, a regular language (also called a rational language) is a formal language that can be defined by a regular expression, in the strict sense in theoretical computer science (as opposed to ...
s. They are named after the Swiss mathematician
Julius Richard Büchi Julius Richard Büchi (1924–1984) was a Swiss logician and mathematician. He received his Dr. sc. nat. in 1950 at ETH Zurich under the supervision of Paul Bernays and Ferdinand Gonseth. Shortly afterwards he went to Purdue University in Laf ...
, who invented them in 1962. Büchi automata are often used in
model checking In computer science, model checking or property checking is a method for checking whether a finite-state model of a system meets a given specification (also known as correctness). This is typically associated with hardware or software systems ...
as an automata-theoretic version of a formula in linear temporal logic.


Formal definition

Formally, a deterministic Büchi automaton is a tuple ''A'' = (''Q'',Σ,δ,''q''0,F) that consists of the following components: * ''Q'' is a
finite set In mathematics, particularly set theory, a finite set is a set that has a finite number of elements. Informally, a finite set is a set which one could in principle count and finish counting. For example, :\ is a finite set with five elements. Th ...
. The elements of ''Q'' are called the ''states'' of ''A''. * Σ is a finite set called the ''alphabet'' of ''A''. * δ: ''Q'' × Σ → ''Q'' is a function, called the ''transition function'' of ''A''. * ''q''0 is an element of ''Q'', called the ''initial state'' of ''A''. * F⊆''Q'' is the ''acceptance condition''. ''A'' accepts exactly those runs in which at least one of the infinitely often occurring states is in F. In a (non-deterministic) Büchi automaton, the transition function δ is replaced with a transition relation Δ that returns a set of states, and the single initial state ''q''0 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 In automata theory, a branch of theoretical computer science, an ω-automaton (or stream automaton) is a variation of finite automata that runs on infinite, rather than finite, strings as input. Since ω-automata do not stop, they have a variety o ...
.


Closure properties

The set of Büchi automata is
closed under In mathematics, a subset of a given set is closed under an operation of the larger set if performing that operation on members of the subset always produces a member of that subset. For example, the natural numbers are closed under addition, but n ...
the following operations. Let \scriptstyle A=(Q_A,\Sigma,\Delta_A,I_A,_A) and \scriptstyle B=(Q_B,\Sigma,\Delta_B,I_B,_B) be Büchi automata and \scriptstyle C=(Q_C,\Sigma,\Delta_C,I_C,_C) be a
finite automaton A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number o ...
. * Union: ''There is a Büchi automaton that recognizes the language \scriptstyle L(A)\cup L(B).'' : Proof: If we assume, '' w.l.o.g.'', \scriptstyle Q_A\cap Q_B is empty then \scriptstyle L(A)\cup L(B) is recognized by the Büchi automaton \scriptstyle (Q_A\cup Q_B, \Sigma, \Delta_A\cup \Delta_B, I_A\cup I_B, _A\cup _B). * Intersection: ''There is a Büchi automaton that recognizes the language \scriptstyle L(A)\cap L(B).'' : Proof: The Büchi automaton \scriptstyle A'=(Q',\Sigma,\Delta',I',F') recognizes \scriptstyle L(A)\cap L(B), where :* \scriptstyle Q' = Q_A \times Q_B \times \ :* \scriptstyle \Delta' = \Delta_1 \cup \Delta_2 :** \scriptstyle \Delta_1 = \ :** \scriptstyle \Delta_2 = \ :* \scriptstyle I' = I_A \times I_B \times \ :* \scriptstyle F' = \ : By construction, \scriptstyle r'=(q_A^0,q_B^0,i^0),(q_A^1,q_B^1,i^1),\dots is a run of automaton A' on input word ''w'' if \scriptstyle r_A=q_A^0,q_A^1,\dots is run of A on ''w'' and \scriptstyle r_B=q_B^0,q_B^1,\dots is run of B on ''w''. \scriptstyle r_A is accepting and \scriptstyle r_B is accepting if r' is concatenation of an infinite series of finite segments of 1-states (states with third component 1) and 2-states (states with third component 2) alternatively. There is such a series of segments of r' if r' is accepted by A'. * Concatenation: ''There is a Büchi automaton that recognizes the language \scriptstyle L(C) \cdot L(A).'' : Proof: If we assume, ''w.l.o.g.'', \scriptstyle Q_C\cap Q_A is empty then the Büchi automaton \scriptstyle A'=(Q_C\cup Q_A,\Sigma,\Delta',I',F_A) recognizes \scriptstyle L(C)\cdot L(A), where :* \scriptstyle \Delta' = \Delta_A \cup \Delta_C \cup \ :* \scriptstyle \textI_C\cap F_C\textI' = I_C\textI' = I_C \cup I_A * ω-closure: ''If \scriptstyle L(C) does not contain the empty word then there is a Büchi automaton that recognizes the language \scriptstyle L(C)^\omega.'' : Proof: The Büchi automaton that recognizes \scriptstyle L(C)^\omega is constructed in two stages. First, we construct a finite automaton A' such that A' also recognizes \scriptstyle L(C) but there are no incoming transitions to initial states of A'. So, \scriptstyle A'=(Q_C \cup \,\Sigma,\Delta',\,F_C), where \scriptstyle \Delta' = \Delta_C \cup \. Note that \scriptstyle L(C)=L(A') because \scriptstyle L(C) does not contain the empty string. Second, we will construct the Büchi automaton A" that recognize \scriptstyle L(C)^\omega by adding a loop back to the initial state of A'. So, \scriptstyle A''=(Q_C \cup \,\Sigma,\Delta'',\,\), where \scriptstyle \Delta'' = \Delta' \cup \. * Complementation:''There is a Büchi automaton that recognizes the language \scriptstyle \Sigma^\omega/L(A).'' : Proof: The proof is presented
here Here is an adverb that means "in, on, or at this place". It may also refer to: Software * Here Technologies, a mapping company * Here WeGo (formerly Here Maps), a mobile app and map website by Here Technologies, Here Television * Here TV (form ...
.


Recognizable languages

Büchi automata recognize the
ω-regular language The ω-regular languages are a class of ω-languages that generalize the definition of regular languages to infinite words. Formal definition An ω-language ''L'' is ω-regular if it has the form * ''A''ω where ''A'' is a regular language n ...
s. 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 , 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 with final state set ''F''. ''A'' accepts . So, ''A'' will visit some state in ''F'' after reading some finite prefix of , say after the th letter. ''A'' also accepts the ω-word 0^10^\omega. Therefore, for some , after the prefix 0^10^ the automaton will visit some state in ''F''. Continuing with this construction the ω-word 0^10^10^\dots is generated which causes A to visit some state in ''F'' infinitely often and the word is not in Contradiction. The class of languages recognizable by deterministic Büchi automata is characterized by the following lemma. : Lemma: ''An ω-language is recognizable by a deterministic Büchi automaton if it is the limit language of some
regular language In theoretical computer science and formal language theory, a regular language (also called a rational language) is a formal language that can be defined by a regular expression, in the strict sense in theoretical computer science (as opposed to ...
.'' : Proof: Any deterministic Büchi automaton can be viewed as a deterministic finite automaton and vice versa, since both types of automaton are defined as 5-tuple of the same components, only the interpretation of acceptance condition is different. We will show that is the limit language of . An ω-word is accepted by if it will force to visit final states infinitely often. Thus, infinitely many finite prefixes of this ω-word will be accepted by . Hence, is a limit language of .


Algorithms

Model checking In computer science, model checking or property checking is a method for checking whether a finite-state model of a system meets a given specification (also known as correctness). This is typically associated with hardware or software systems ...
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 In automata theory, a Muller automaton is a type of an ω-automaton. The acceptance condition separates a Muller automaton from other ω-automata. The Muller automaton is defined using a Muller acceptance condition, i.e. the set of all states visi ...
or deterministic
Rabin automaton Rabin is a Hebrew surname. It originates from the Hebrew word ''rav'' meaning Rabbi, or from the name of the specific Rabbi Abin. The most well known bearer of the name was Yitzhak Rabin, prime minister of Israel and Nobel Peace prize Laureate. ...
.. ; 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: # Consider the automaton as a
directed graph In mathematics, and more specifically in graph theory, a directed graph (or digraph) is a graph that is made up of a set of vertices connected by directed edges, often called arcs. Definition In formal terms, a directed graph is an ordered pa ...
and decompose it into
strongly connected component In the mathematical theory of directed graphs, a graph is said to be strongly connected if every vertex is reachable from every other vertex. The strongly connected components of an arbitrary directed graph form a partition into subgraphs that a ...
s (SCCs). # Run a search (e.g., the
depth-first search Depth-first search (DFS) is an algorithm for traversing or searching tree or graph data structures. The algorithm starts at the root node (selecting some arbitrary node as the root node in the case of a graph) and explores as far as possible alon ...
) to find which SCCs are reachable from the initial state. # 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 Minimisation or minimization may refer to: * Minimisation (psychology), downplaying the significance of an event or emotion * Minimisation (clinical trials) * Minimisation (code) or Minification, removing unnecessary characters from source code * ...
also correctly minimizes a Büchi automaton. The algorithm does not guarantee minimum Büchi automaton . However, the algorithms for
minimizing deterministic finite automaton In automata theory (a branch of theoretical computer science), DFA minimization is the task of transforming a given deterministic finite automaton (DFA) into an equivalent DFA that has a minimum number of states. Here, two DFAs are called equival ...
does not work for deterministic Büchi automaton.


Variants

*
Co-Büchi automaton In automata theory, a co-Büchi automaton is a variant of Büchi automaton. The only difference is the accepting condition: a Co-Büchi automaton accepts an infinite word w if there exists a run, such that all the states occurring infinitely often ...
*
Weak Büchi automaton In computer science and automata theory, a Weak Büchi automaton is a formalism which represents a set of infinite words. A Weak Büchi automaton is a modification of Büchi automaton such that for all pair of states q and q' belonging to the same ...
*
Semi-deterministic Büchi automaton In automata theory, a semi-deterministic Büchi automaton (also known as Büchi automaton deterministic in the limit, or limit-deterministic Büchi automaton) is a special type of Büchi automaton. In such an automaton, the set of states can be p ...
*
Generalized Büchi automaton In automata theory, a generalized Büchi automaton is a variant of a Büchi automaton. The difference with the Büchi automaton is the accepting condition, which is determined by a set of sets of states. A run is accepted by the automaton if it vis ...


Transforming from other models of description to non-deterministic Büchi automata


From generalized Büchi automata (GBA)

: Multiple sets of states in acceptance condition can be translated into one set of states by an automata construction, which is known as "counting construction". Let's say ''A'' = (Q,Σ,∆,q0,) is a GBA, where F1,...,Fn are sets of accepting states then the equivalent Büchi automaton is ''A = (Q', Σ, ∆',q'0,F'), where :* Q' = Q × :* q'0 = ( q0,1 ) :* ∆' =  :* F'=F1×


From Linear temporal logic formula

: A translation from a Linear temporal logic formula to a generalized Büchi automaton is given
here Here is an adverb that means "in, on, or at this place". It may also refer to: Software * Here Technologies, a mapping company * Here WeGo (formerly Here Maps), a mobile app and map website by Here Technologies, Here Television * Here TV (form ...
. And, a translation from a generalized Büchi automaton to a Büchi automaton is presented above.


From Muller automata

: A given Muller automaton can be transformed into an equivalent Büchi automaton with the following automata construction. Let's suppose ''A'' = (Q,Σ,∆,Q0,) is a Muller automaton, where F0,...,Fn are sets of accepting states. An equivalent Büchi automaton is ''A = (Q', Σ, ∆',Q0,F'), where :* Q' = Q ∪  ni=0  × Fi × 2Fi :* ∆'= ∆ ∪ ∆1 ∪ ∆2, where :** ∆1 = :** ∆2= :* F'=ni=0  × Fi ×  : ''A' '' keeps original set of states from ''A'' and adds extra states on them. The Büchi automaton ''A' '' simulates the Muller automaton ''A'' as follows: At the beginning of the input word, the execution of ''A follows the execution of ''A'', since initial states are same and ∆' contains ∆. At some non-deterministically chosen position in the input word, ''A' '' decides of jump into newly added states via a transition in ∆1. Then, the transitions in ∆2 try to visit all the states of ''Fi'' and keep growing ''R''. Once ''R'' becomes equal to ''Fi'' then it is reset to the empty set and ∆2 try to visit all the states of ''Fi'' states again and again. So, if the states ''R''=''Fi'' are visited infinitely often then ''A' '' accepts corresponding input and so does ''A''. This construction closely follows the first part of the proof of McNaughton's Theorem.


From Kripke structures

: Let the given
Kripke structure : ''This article describes Kripke structures as used in model checking. For a more general description, see Kripke semantics''. A Kripke structure is a variation of the transition system, originally proposed by Saul Kripke, used in model checking ...
be defined by where ''Q'' is the set of states, is the set of initial states, ''R'' is a relation between two states also interpreted as an edge, ''L'' is the label for the state and ''AP'' are the set of atomic propositions that form ''L''. : The Büchi automaton will have the following characteristics: :: Q_\text = Q \cup \ :: \Sigma = 2^ :: I =\ :: F = Q \cup \ :: \delta = q \overrightarrow p if belongs to ''R'' and ''L''(''p'') = ''a'' : and init \overrightarrow ''q'' if ''q'' belongs to and . : Note however that there is a difference in the interpretation between Kripke structures and Büchi automata. While the former explicitly names every state variable's polarity for every state, the latter just declares the current set of variables holding or not holding true. It says absolutely nothing about the other variables that could be present in the model.


References

* *


External links

* * {{DEFAULTSORT:Buchi automaton Model checking Finite automata