Semi-deterministic Büchi automaton

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.

Motivation

In standard model checking against Linear Temporal Logic (LTL) properties, it is sufficient to translate a 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, not a full deterministic automaton is needed. Indeed, semi-deterministic Büchi automata are sufficient in probabilistic model checking.

Formal definition

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,Σ,∆,{d},F) 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=(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 {q' | ∃q  S and (q,a,q')   }. The equivalent semi-deterministic Büchi automaton is A'=(N  D,Σ,∆',Q'0,F'), where

  • N = 2Q and D = 2Q×2Q
  • Q'0 = {Q0}
  • ∆' = 1  2  3  4
    • 1 = {( S, a, S' ) | S'=Pr(S,a) }
    • 2 = {( S, a, ({q'},∅) ) | ∃q  S and (q,a,q')   }
    • 3 = {( (L,R), a, (L',R') ) | L≠R and L'=Pr(L,a) and R'=(L'∩F)∪Pr(R,a) }
    • 4 = {( (L,L), a, (L',R') ) | L'=Pr(L,a) and R'=(L'∩F) }
  • F' = {(L,L) | L≠∅ }

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.

L(A')  L(A)

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 = {s}. 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.

  • Let predecessor(qm,j) = q0.
  • Let run(s,0)= s0,...,sn-1,s and, for j > 0, run(qm,j)= q1,...,qm

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 × {j}. 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, 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(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.

Lemma 1
There is an index n such that qn  F and, for all m  n there exist a k > m, such that Pr({ qn },w(n,k)) = Pr({ qm },w(m,k)).
Proof: Pr({ qn },w(n,k))  Pr({ qm },w(m,k)) holds because there is a path from qn to qm. We will prove the converse by contradiction. Lets assume for all n, there is a m  n such that for all k > m, Pr({ qn },w(n,k))  Pr({ qm },w(m,k)) holds. Lets suppose p is the number of states in A. Therefore, there is a strictly increasing sequence of indexes n0,n1,... ,np such that, for all k > np, Pr({ qni },w(ni,k))  Pr({ qni+1 },w(ni+1,k)). Therefore,Pr({ qnp },w(np,k)) = ∅. Contradiction.

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,({qn},∅),(L1,R1),(L2,R2),... 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({ qn },w(n,k+n)) = Pr({ qj+n },w(j+n,k+n))  Rk. So, Lk=Rk. A contradiction has been derived. Hence, ρ' is an accepting run and w  L(A').

gollark: I was thinking about using it for a project, but with it going the way of magic, *nope*.
gollark: I just discovered that Elm removed infix operators. Except the special maaaaagic ones in their libraries. *Sigh*.
gollark: DFiscord strips/moves some of the diacritics. A shame.
gollark: ```1͢0ͅ:̻3̕3̂:͑5̇4͒.͈0͘6̴6̡ ͍[͟D̒ĚB̷UͪG̭]͢ ͐F̋a͙i͙l̳e͍d̿ ̬t̨o̓ ̿iͨn̥i͆tͨi̶âl͢i͋z̹ë ̈n͡e̺tͯt͙yͬ-̸t͙c̞n͉ąt͒i̘v̇eͩ;̃ ̦Ö́pͯe͟n͉S͟sͅl̵Eͤn̋g͐i̕n̨ẽ ̽w̻i̴ḻl͏ ̉b͡e̎ ͯȕnͦa̾v͂ài͘l̸a̋b͠l̘e҉.͚ ̉S̐e̱e͓ ̘h͡tͩt̓p̜:͜/ͫ/͜n̮e͉țťy̱.ͧi͆o̾/ͩw͂i̚k͕i̇/̪f̼o̠r̟k͞e̷d͡-ͤt͂o҉m̍c̸a̓ţ-͈n̮a̘t̍i͕v̤e̫.̪h͐t̠m̈́lͭ ̕f̋o̢r̢ ̹m̘o͛r̿e information.java.lang.UnsatisfiedLinkError: io.netty.int҉ernal.tcnative.Library.version(I)I at io.netty.internal.tcnative.Library.version(Native Method) ~[CCEmuX-cct.jar:1.0.0] at io.netty.internal.tcnative.L҉ibrary.in҉itialize(Library.java:126) ~[CCEmuX-cct.jar:1.0.0] at io.netty.i҉nternal.tcnative.Library.initialize(Library.java:109) ~[CCEmuX-cct.jar:1.0.0] at io.netty.handler.ssl.҉OpenSsl.initializeTcNative(OpenSsl.java:389) ~[CCEmuX-cct.jar:1.0.0]```
gollark: ```1͙0̷:̗3̣3̉:̃5̦4͝.͌9̀9̀3͡ ̼[ͩDͥẼB́UͥG̅]̰ ̀-ͯD͓i̾o̗.̋n͜e̠t̛tͬy̐.̥ǹo͗J̺d͓k̟Z̲l̔i̐b̕D̫e̜c̪ö́d͖ĕr̥:̩ ͖f̜a͗lͪs͟e͗1ͬ0̜:͘3͇3͙:̨5̎4͗.ͭ9ͤ9̣4̘ ͈[͞DͪE̹BͪU̇Gͬ]͔ ̓-̑D͉įoͣ.̣n͋e͋t̏t͡y͇.͟nͯóJ҉d̳ḱẐl̈́i͚b̃E̓n͜c͖oͫḑe̸r͒:ͩ ̲f̳ál̤sͯe͊1̃0̤:̘3́3͑:͆5̼5́.̈0̂9͗3͎ ̪[ͨD͌EͨBͤU͐G̉]̨ ͮW̒e̾b̸Şo̲c͚k̇e̳t͏ ͞v͒e͟r̕s̍i̒o̻n͋ ͈1͛3 client handshake key: Y993qHMURPb҉LVatcaluqHQ==, expected response: I+6z21Zl҉cA7ZTDEjSuCwAOd5J3k=10:33:55.131 [DEBUG] WebSocket version 13 client handshake key: NCQFre5ABsrIjtOAWchkXA==, expected response: AUKIPK8Sre+hWth/PRdzUhQB0CA=10:33:55.171 [DEBUG] [id: 0x7d37c46e҉, L:/192.168.1.25:52318 - R:osmarks.tk/86.189.191.201:443] HANDSHAKEN: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA25610:33:55.186 [DEBUG] [id: 0x66d2d҉6bc, L:/192.168.1.25:52322 - ҉R:osmarks.tk/86.189.191.201:443] HANDSHAKEN: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA25610:33:55.192 [DEBUG] [id: 0x7de3b170, L:/192.168.1.25:52320 - R:osmarks.tk/86.189.191.201:443] HANDSHAKEN: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256```

References

  1. Courcoubetis, Costas; Yannakakis, Mihalis (July 1995). "The Complexity of Probabilistic Verification". J. ACM. 42 (4): 857–907. doi:10.1145/210332.210339. ISSN 0004-5411.
  2. Sickert, Salomon; Esparza, Javier; Jaax, Stefan; Křetínský, Jan (2016). Chaudhuri, Swarat; Farzan, Azadeh (eds.). "Limit-Deterministic Büchi Automata for Linear Temporal Logic". Computer Aided Verification. Lecture Notes in Computer Science. Springer International Publishing: 312–332. doi:10.1007/978-3-319-41540-6_17. ISBN 978-3-319-41540-6.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.