In automata theory, a semi-deterministic Büchi automaton (also known as Büchi automaton deterministic in the limit,[1] or limit-deterministic Büchi automaton[2]) is a special type of Büchi automaton. In such an automaton, the set of states can be partitioned into two subsets: one subset forms a deterministic automaton and also contains all the accepting states.
For every Büchi automaton, a semi-deterministic Büchi automaton can be constructed such that both recognize the same ω-language. But, a deterministic Büchi automaton may not exist for the same ω-language.
In standard model checking against linear temporal logic (LTL) properties, it is sufficient to translate an LTL formula into a non-deterministic Büchi automaton. But, in probabilistic model checking, LTL formulae are typically translated into deterministic Rabin automata (DRA), as for instance in the PRISM tool. However, a fully deterministic automaton is not needed. Indeed, semi-deterministic Büchi automata are sufficient in probabilistic model checking.
A Büchi automaton (Q,Σ,∆,Q0,F) is called semi-deterministic if Q is the union of two disjoint subsets N and D such that F ⊆ D and, for every d ∈ D, automaton (D,Σ,∆,,F) is deterministic.
Any given Büchi automaton can be transformed into a semi-deterministic Büchi automaton that recognizes the same language, using following construction.
Suppose A=(Q,Σ,∆,Q0,F) is a Büchi automaton. Let Pr be a projection function which takes a set of states S and a symbol a ∈ Σ and returns set of states . The equivalent semi-deterministic Büchi automaton is A=(N ∪ D,Σ,∆',Q'0,F'), where
Note the structure of states and transitions of A′. States of A′ are partitioned into N and D. An N-state is defined as an element of the power set of states of A. A D-state is defined as a pair of elements of power set of states of A. The transition relation of A' is the union of four parts: ∆1, ∆2, ∆3, and ∆4. The ∆1-transitions only take A' from a N-state to a N-state. Only the ∆2-transitions can take A' from an N-state to a D-state. Note that only the ∆2-transitions can cause non-determinism in A' . The ∆3 and ∆4-transitions take A' from a D-state to a D-state. By construction, A' is a semi-deterministic Büchi automaton. The proof of L(A')=L(A) follows.
For an ω-word w=a1,a2,... , let w(i,j) be the finite segment ai+1,...,aj-1,aj of w.
Proof: Let w ∈ L(A'). The initial state of A' is an N-state and all the accepting states in F' are D-states. Therefore, any accepting run of A' must follow ∆1 for finitely many transitions at start, then take a transition in ∆2 to move into D-states, and then take ∆3 and ∆4 transitions for ever. Let ρ' = S0,...,Sn-1,(L0,R0),(L1,R1),... be such accepting run of A' on w.
By definition of ∆2, L0 must be a singleton set. Let L0 = . Due to definitions of ∆1 and ∆2, there exist a run prefix s0,...,sn-1,s of A on word w(0,n) such that sj ∈ Sj. Since ρ' is an accepting run of A' , some states in F' are visited infinitely often. Therefore, there exist a strictly increasing and infinite sequence of indexes i0,i1,... such that i0=0 and, for each j > 0, Lij=Rij and Lij≠∅. For all j > 0, let m = ij-ij-1. Due to definitions of ∆3 and ∆4, for every qm ∈ Lij, there exist a state q0 ∈ Lij-1 and a run segment q0,...,qm of A on the word segment w(n+ij-1,n+ij) such that, for some 0 < k ≤ m, qk ∈ F. We can organize the run segments collected so for via following definitions.
Now the above run segments will be put together to make an infinite accepting run of A. Consider a tree whose set of nodes is ∪j≥0 Lij × . The root is (s,0) and parent of a node (q,j) is (predecessor(q,j), j-1).This tree is infinite, finitely branching, and fully connected. Therefore, by Kőnig's lemma, there exists an infinite path (q0,0),(q1,1),(q2,2),... in the tree. Therefore, following is an accepting run of A
run(q0,0)⋅run(q1,1)⋅run(q2,2)⋅...Hence, by infinite pigeonhole principle, w is accepted by A.
Proof: The definition of projection function Pr can be extended such that in the second argument it can accept a finite word. For some set of states S, finite word w, and symbol a, let Pr(S,aw) = Pr(Pr(S,a),w) and Pr(S,ε) = S. Let w ∈ L(A) and ρ=q0,q1,... be an accepting run of A on w. First, we will prove following useful lemma.