Semi-deterministic Büchi automaton
In automata theory, a semi-deterministic Büchi automaton 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.
Motivation
In standard model checking against linear temporal logic 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, 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.Formal definition
A Büchi automaton 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 is deterministic.Transformation from a Büchi automaton
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= 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'=, where
- N = 2Q and D = 2Q×2Q
- Q'0 =
- ∆' = ∆1 ∪ ∆2 ∪ ∆3 ∪ ∆4
- * ∆1 =
- * ∆2 =
- * ∆3 =
- * ∆4 =
- F' =
For an ω-word w=a1,a2,..., let w be the finite segment ai+1,...,aj-1,aj of w.
L(A') ⊆ L(A)
Proof: Let w ∈ L. 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,,,... 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 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 such that, for some 0 < k ≤ m, qk ∈ F. We can organize the run segments collected so for via following definitions.
- Let predecessor = q0.
- Let run= s0,...,sn-1,s and, for j > 0, run= q1,...,qm
This tree is infinite, finitely branching, and fully connected. Therefore, by Kőnig's lemma, there exists an infinite path,,,... in the tree. Therefore, following is an accepting run of A
Hence, by, w is accepted by A.
L(A) ⊆ L(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 = Pr and Pr = S. Let w ∈ L and ρ=q0,q1,... be an accepting run of A on w. First, we will prove following useful lemma.;Lemma 1
In any run, A' can only once make a non-deterministic choice that is when it chooses to take a Δ2 transition and rest of the execution of A' is deterministic. Let n be such that it satisfies lemma 1. We make A' to take Δ2 transition at nth step. So, we define a run ρ'=S0,...,Sn-1,,,,... of A' on word w. We will show that ρ' is an accepting run. Li ≠ ∅ because there is an infinite run of A passing through qn. So, we are only left to show that Li=Ri occurs infinitely often. Suppose contrary then there exists an index m such that, for all i ≥ m, Li≠Ri. Let j > m such that qj+n ∈ F therefore qj+n ∈ Rj. By lemma 1, there exist k > j such that Lk = Pr = Pr ⊆ Rk. So, Lk=Rk.
A contradiction has been derived. Hence, ρ' is an accepting run and w ∈ L.