avoiding determinization orna kupferman hebrew university joint work with moshe vardi

40
Avoiding Determinization Orna Kupferman Hebrew University Joint work with Moshe Vardi

Upload: kayla-mackenzie

Post on 27-Mar-2015

217 views

Category:

Documents


2 download

TRANSCRIPT

  • Slide 1

Avoiding Determinization Orna Kupferman Hebrew University Joint work with Moshe Vardi Slide 2 Deterministic (automaton, Turing machine, person) NO! A single run on every input. Success: happily ever after in the unique future. Nondeterministic (automaton, Turing machine, person) Multiple runs on every input. perhap s Success: happily ever after in at least one future. Slide 3 A very convenient definition of success Risk is for free. Goals are achieved in a more succinct way. perhap s Slide 4 NFW are exponentially more succinct than DFW {N,D,A,U} x {F,B,R,P} x {W,T} NFW: nondeterministic automata on finite words. DBW: deterministic Bchi word automata. APT: alternating parity tree automata. Slide 5 NFW are exponentially more succinct than DFW Ln = (0+1)*.0.(0+1) n NFW: O(n) states n 0, 1 0... DFW: O(2 n ) states u v1v1 v2v2 0 1 n Slide 6 Sometimes, nondeterminizm causes no problems. Nonemptiness check: L(A) ? Membership check, projection, NFW and DFW: reachability NLOGSPACE, linear time Slide 7 Sometimes, nondeterminism is problematic. 1. Complementation: L(A) = comp(L(A)) DFW: dualize the acceptance condition. 0 1 1 0 L(A) = (0+1)*.1 comp(L(A)) = + (0+1)*.0 Slide 8 Sometimes, nondeterminism is problematic. 1. Complementation: L(A) = comp(L(A)) DFW: dualize the acceptance condition. 0 1 1 0 L(A) = (0+1)*.1 comp(L(A)) = + (0+1)*.0 Slide 9 Sometimes, nondeterminism is problematic. 1. Complementation: L(A) = comp(L(A)) NFW: dualize the acceptance condition? 0,1 1 L(A) = (0+1)*.1 comp(L(A)) = + (0+1)*.0 Slide 10 Sometimes, nondeterminism is problematic. 1. Complementation: L(A) = comp(L(A)) NFW: dualize the acceptance condition? L(A) = (0+1)*.1 comp(L(A)) = + (0+1)*.0 0,1 1 L(A) = (0+1)* w L(A): exists an accepting run. w L(A): all runs are rejecting. dualization: exists a rejecting run. Slide 11 Tree automata: Word automata: M(q 0,a)={q 1,q 2 } Tree automata: M(q 0,a)={ q 1,q 3, q 2, q 1 } a cc c a ca q0q0 q1q1 q3q3 Sometimes, nondeterminism is problematic. 2. Running A on a tree. a c c q0q0 q1q1 Slide 12 Sometimes, nondeterminism is problematic. 2. Running A on a tree. Given: an NFW A. Wanted: an NFT A t that accepts all trees all of whose paths are accepted by A. Example: A accepts all words ending with a. A t accepts all trees all of whose paths are labeled by words ending with a. Slide 13 Sometimes, nondeterminism is problematic. 2. Running A on a tree. M(q 0,a)={q 1,q 2 } M t (q 0,a)={ q 1,q 1, q 1, q 2, q 2,q 1, q 2,q 2 } Given: an NFW A. Solution: M t (q,a) = M(q,a) x M(q,a) Run A on each of the paths of the tree Wanted: an NFT A t that accepts all trees all of whose paths are accepted by A. Slide 14 M(q 0,a)={q 1,q 2 } M t (q 0,a)={ q 1,q 1, q 1, q 2, q 2,q 1, q 2,q 2 } Does not work! The same guess should work for all paths in the same subtree. Sometimes, nondeterminism is problematic. 2. Running A on a tree. a q0q0 Slide 15 This is a real pity! 2. Running A on a tree. Applications in 1.Decidability of CTL*, -calculus, [SE84, EJ91,] 2.Solving games with -regular goals. [Tho95] 3.LTL realizability and synthesis. [RP89] 1. Complementation. Applications in 1.Verification (language inclusion) [VW86] 2.Specification [Wol83,] Slide 16 How to solve complementation, decidability, games, synthesis,? DETERMINIZE! #1 problem: exponential blow-up. legitimate (matching lower bounds). #2 problem (automata on infinite words): determinization is awfully complicated. Slide 17 Automata on infinite words 0,1 1 1 sq L(A) = (0+1)*.1 Bchi acceptance: visit infinitely often 0 1 1 0 {s}{s,q} Subset construction: There is no DBW for L(A) [Lan69]. Safras determinization construction 1988: NBW(n) DRW(2 O(n log n), O(n)) Slide 18 Safras construction: - First optimal construction! Each state of A is an ordered tree in which each node is labeled by a subset of the states of A such that the label of a node is - Beautiful! MONA: implementation of a nonelementary algorithm Model checking: tools! A success story!! Synthesis: no tools, no story. Very Complicated!!! Slide 19 We are afraid of Safra Slide 20 Universal (automaton, Turing machine, person) Multiple runs on every input. perhap s Success: happily ever after in all futures. When viewed as a UFW, L(A) = When viewed as an NFW, L(A) = (0+1)* (0+10)* every 1 is followed by 0 0,1 10 Slide 21 Universal automata are sufficiently strong to serve as intermediate automata in many applications in which deterministic automata are traditionally used as intermediate automata. -Complementation constructions -Decision procedures -Synthesis - You name it (please do) Talk outline: 1.Indeed sufficiently strong. 2.Much simpler! Promising practical applications. Slide 22 Complementation NFW DFW DFW NFW UFW DFW Finite words: dualize both the branching mode and the set of accepting states subset construction a state S Q: all states the universal automaton may visit. S is accepting iff S Slide 23 Complementation Given an NBW A, construct a complementary NBW. 1.Construct a DRW equivalent to A. 2.Dualize the DRW. 3.Translate the result to an NBW. Current procedure: co-determinization, Streett, LAR, [STW05] Slide 24 Complementation 1.NBW complementary UCW. 2.UCW NBW. Our procedure: Easy: dualize both the transitions and the acceptance condition and get a UCW for the comlementary language. Given an NBW A, construct a complementary NBW. Easy: analyze ranks in accepting runs of UCW. [GSKV03] co-Buchi acceptance: visit only finitely often Slide 25 Example: 0,1 1 1 s1s1 s2s2 L(A) = (0+1)*.1 finitely many 0s 0,1 0 s3s3 NBW: Slide 26 L(A) = (1*0) infinitely many 0s UCW: 0,1 1 1 s1s1 s2s2 0 s3s3 Slide 27 s2s2 s2s2 L(A) = (1*0) 0,1 1 1 s1s1 s2s2 0 s3s3 s1s1 s1s1 010010 s3s3 s1s1 s2s2 s1s1 s3s3 111111 s1s1 s2s2 0 s1s1 s3s3 0 a ranking function f:V {0,,2n} s3s3 s1s1 s3s3 s1s1 Slide 28 Complementation -calculus satisfiability Slide 30 Is there a tree satisfying ? 1.Construct an APT A that accepts all trees satisfying [EJ91,KVW00]. 2.APT NPT. 3.Check emptiness of the NPT. Current procedure: determinization of an NPW that accepts good paths of the run tree. parity games [Jur00] Slide 31 -calculus satisfiability Is there a tree satisfying ? 1.Construct an APT A that accepts all trees satisfying [EJ91,KVW00]. 2.APT NPT. 3.Check emptiness of the NPT. Current procedure: determinization of an NPW that accepts good paths of the run tree. parity games [Jur00] Slide 32 -calculus satisfiability Is there a tree satisfying ? 1.Construct an APT A that accepts all trees satisfying [EJ91,KVW00]. 2.APT UCT. 3.Check emptiness of the UCT. Our procedure: Easy, empiness equivalent UCT, similar to the translation of NPW to NBW. UCT emptiness equivalent NBT Ranks Slide 33 Complementation -calculus satisfiability Synthesis Slide 34 Given an LTL formula over I and O, construct a finite-state strategy f: (2 I )* 2 O that generates only computations that satisfy . Open system: interacts with an environment! o0o0 o 1 =f(i 0 ) o 2 =f(i 0,i 1 ) o 3 =f(i 0,i 1,i 2 )i2i2 i1i1 i0i0 (f( )) (i 0,f(i 0 )) (i 1,f(i 0,i 1 )) (i 2,f(i 0,i 1,i 2 )) Slide 35 Synthesis Is realizable? 1.Construct a DRW A that accepts all computations satisfying . 2.Run A on the I-exhaustive tree. 3.Check emptiness of the NRT. Current procedure [PR88]: Rabin emptiness [PR88,KV98] Slide 36 Synthesis Is realizable? 1.Construct an NBW A ~ that accepts all computations satisfying ~ [VW94]. 2.Run the dual UCW on the I-exhaustive tree. 3.Check emptiness of the UCT. Our procedure: Easy, running a universal automaton on a tree is sound and complete. [JB06] Slide 37 The magic: UCW NBW UCT NBT Based on an analysis of accepting runs of co-Bchi automata A run is accepting iff the vertices of its run DAG can get ranks in {0,,k} so that ranks along paths decrease and odd ranks appear only finitely often. The NBW/NBT: guesses a ranking, checks decrease, checks infinitely many visits to even ranks. Slide 38 A run is accepting iff the vertices of its run DAG can get ranks in {0,,k} so that ranks along paths decrease and odd ranks appear only finitely often. s2s2 s2s2 s1s1 s1s1 s3s3 s1s1 s2s2 s1s1 s3s3 s1s1 s2s2 s1s1 s3s3 s3s3 s1s1 s3s3 s1s1 1 1 1 1 1 2 2 2 2 3 3 3 3 3 3 3 3 Width of the run DAG : -For UCW: bounded by n. -For UCT: ??? If the UCT accepts some tree, it also accepts a tree generated by a transducer with k=2n 2n+1 states. k We still need Safra! k is bounded by the width of the run DAG. Slide 39 The magic: UCW NBW UCT NBT Based on an analysis of accepting runs of co-Bchi automata A run is accepting iff the vertices of its run DAG can get ranks in {0,,k} so that ranks along paths decrease and odd ranks appear only finitely often. The NBW/NBT: guesses a ranking, checks decrease, checks infinitely many visits to even ranks. In practice: [GSKV03] -Incremental search for k. -Symbolic implementation. Slide 40 To sum up: 1.Many applications use determinization. 2.The complexity of Safras determinization prevents implementations. 3.Universality can replace determinization and results in much simpler and friendlier procedures. universality