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

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

Mar 27, 2015

Download

Documents

Kayla MacKenzie
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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