Académique Documents
Professionnel Documents
Culture Documents
In computer science and automata theory, a Bchi automaton is a type of -automaton, which extends a nite
automaton to innite inputs. It accepts an innite input
sequence i there exists a run of the automaton that visits (at least) one of the nal states innitely often. Bchi
automata recognize the omega-regular languages, the innite word version of regular languages. It is named after the Swiss mathematician Julius Richard Bchi who
invented this kind of automaton in 1962.[1]
Proof:
The
Bchi
A'=(Q',,',I',F') recognizes
where
Formal denition
Q' = QA QB {1,2}
' = 1 2
1 = {( (qA,qB,1), a, (q'A,q'B,i) ) |
(qA,a,q'A)A and (qB,a,q'B)B and
if qAFA then i=2 else i=1 }
2 = {( (qA,qB,2), a, (q'A,q'B,i) ) |
(qA,a,q'A)A and (qB,a,q'B)B and
if qBFB then i=1 else i=2 }
I' = IA IB {1}
F' = { (qA,qB,2) | qBFB }
By
construction,
r'=(qA0 ,qB0 ,i0 ),(qA1 ,qB1 ,i1 ),... is a run of automaton A' on input word w i rA=qA0 ,qA1 ,...
is run of A on w and rB=qB0 ,qB1 ,... is run of
B on w. rA is accepting and rB is accepting
i r' is concatenation of an innite series of
nite 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' i r' is accepted by A'.
automaton
L(A)L(B),
Closure properties
4
if ICFC is empty then I' = IC otherwise I' =
IC IA
-closure: If L(C) does not contain empty word then
there is a Bchi automaton that recognizes the language L(C) .
Proof: The Bchi automaton that recognizes
L(C) is constructed in two stages. First, we
construct a nite automaton A' such that A'
also recognizes L(C) but there are no incoming
transitions to initial states of A'. So, A'=(QC
{q },,',{q },FC), where ' = C {
(q ,a,q') | qIC. (q,a,q')C}. Note that
L(C)=L(A') because L(C) does not contain the
empty string. Second, we will construct the
Bchi automaton A that recognize L(C) by
adding a loop back to the initial state of A'. So,
A"=(QC {q },,",{q },{q }), where
" = ' { (q,a,q ) | q'FC. (q,a,q')'}.
ular, there is no deterministic Bchi automaton that recognizes the language (0+1)*0 (Any word that has an innite sux consisting of only 0s). We can demonstrate
it by contradiction that no such deterministic Bchi automaton exists. Let us suppose A is a deterministic Bchi
automaton that recognize (0+1)*0 with nal state set
F. A accepts 0 . So, A will visit some state in F after
reading some nite prex of 0 , say after the i0 th letter.
A also accepts the -word 0i0 10 . Therefore, for some
i1 , after the prex 0i0 10i1 the automaton will visit some
state in F. Continuing with this construction the -word
0i0 10i1 10i2 ... is generated which causes A to visit some
state in F innitely often and the word is not in (0+1)*0 .
Contradiction.
The class of languages recognizable by deterministic
Bchi automata is characterized by the following lemma.
Lemma: An -language is recognizable by a
deterministic Bchi automaton i it is the limit
language of some regular language.
ALGORITHMS
Recognizable languages
Bchi automata recognize the -regular languages. Using the denition of -regular language and the above
closure properties of Bchi automata, it can be easily
shown that a Bchi automaton can be constructed such
that it recognizes any given -regular language. For
converse, see construction of a -regular language for a
Bchi automaton.
4 Algorithms
Model checking of nite state systems can often be translated into various operations on Bchi automata. In adDeterministic versus non-deterministic Bchi automatadition to the closure operations presented above, the following are some useful operations for the applications of
Bchi automata.
0
q
0
0
Determinization
Since deterministic Bchi automata are strictly less expressive than non-deterministic automata, there can not
be an algorithm for determinization of Bchi automata.
But, McNaughtons Theorem and Safras construction
provide algorithms that can translate a Bchi automaton
into a deterministic Muller automaton or deterministic
Rabin automaton.
1
A non-deterministic bchi automaton that recognizes (0+1)*0
Emptiness checking
The language recognized by a Bchi automaton is nonThe class of deterministic Bchi automata does not suf- empty if and only if there is a nal state that is both reachce to encompass all omega-regular languages. In partic- able from the initial state, and lies on a cycle.
3
' = { ( (q,i), a, (q',j) ) | (q,a,q') and if q
F then j=((i+1) mod n) else j=i }
F'=F1 {1}
1. Consider the automaton as a directed graph and decompose it into strongly connected components.
From Linear temporal logic formula A translation
from a Linear temporal logic formula to a gen2. Run a search (e.g., the depth-rst search) to nd
eralized Bchi automaton is given here. And, a
which components are reachable from the initial
translation from a generalized Bchi automaton to
state.
a Bchi automaton is presented above.
3. Check whether there is a non-trivial strongly connected component that is both reachable and con- From Muller automata A given Muller automaton can
tains a nal state.
be transformed into an equivalent Bchi automaton with following automata construction. Lets suppose A = (Q,,,Q0 ,{F0 ,...,F }) is a Muller automaton, where F0 ,...,F are sets of accepting states. An
equivalent Bchi automaton is A' = (Q', , ',Q0 ,F'),
where
The algorithm for minimizing nondeterministic nite automaton also correctly minimizes a Bchi automaton.
The algorithm does not guarantee minimum Bchi automaton. However, the algorithms for minimizing deterministic nite automaton does not work for deterministic
Bchi automaton.
Variants
Co-Bchi automaton
Weak Bchi automaton
Semi-deterministic Bchi automaton
Generalized Bchi automaton
Transforming
from
other
models of description to nondeterministic Bchi automata
Q' = Q {1,...,n}
q'0 = ( q0 ,1 )
Q' = Q n {i} F 2F
'= 1 2 , where
1 ={ ( q, a, (i,q',) ) | (q, a, q') and
q' F }
2 ={ ( (i,q,R), a, (i,q',R') ) | (q,a,q')
and q,q' F and if R=F then R'= otherwise R'=R{q} }
F'=n {i} F {F}
A' keeps original set of states from A and adds
extra states on them. The Bchi 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 innitely often then A' accepts corresponding input and
so does A. This construction closely follows the
rst part of the proof of McNaughtons Theorem.
8
Qnal = Q {init}
= 2AP
I = {init}
F = Q {init}
= q
a p if (q, p) belongs to R and
L(p) = a
and init
a q if q belongs to I and L(q) = a.
Note however that there is a dierence in the
interpretation between Kripke structures and
Bchi automata. While the former explicitly
names every state variables 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
Finite-state Automata on Innite Inputs.
Vardi, Moshe Y. An automata-theoretic approach to linear temporal logic.
CiteSeerX:
10.1.1.125.8126.
EXTERNAL LINKS
9.1
Text
9.2
Images
9.3
Content license