1 / 51

Avoiding Determinization

Avoiding Determinization. Orna Kupferman Hebrew University. Joint work with Moshe Vardi. A single run on every input. NO!. Multiple runs on every input. perhaps. Deterministic (automaton, Turing machine, person…). Success: happily ever after in the unique future.

mwillson
Download Presentation

Avoiding Determinization

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AvoidingDeterminization Orna Kupferman Hebrew University Joint work with Moshe Vardi

  2. A single run on every input. NO! Multiple runs on every input. perhaps Deterministic (automaton, Turing machine, person…) Success: happily ever after in the unique future. Nondeterministic (automaton, Turing machine, person…) Success: happily ever after in at least one future.

  3. A very convenient definition of success… Risk is for free. Goals are achieved in a more succinct way. perhaps Success: happily ever after in at least one future.

  4. {N,D,A,U} x {F,B,R,P} x {W,T} NFW: nondeterministic automata on finite words. DBW: deterministic Büchi word automata. APT: alternating parity tree automata. NFW are exponentially more succinct than DFW

  5. 0, 1 n . . . 0 0, 1 0, 1 0, 1 v1 u 1 v2 n 0 NFW are exponentially more succinct than DFW Ln = (0+1)*.0.(0+1)n NFW: O(n) states DFW: O(2n) states

  6. NFW and DFW: reachability  NLOGSPACE, linear time Sometimes, nondeterminism causes no problems. Nonemptiness check: L(A) ≠ Ø ? Membership check, projection,…

  7. 1 0 1 0 L(A) = (0+1)*.1 comp(L(A)) = ε+ (0+1)*.0 Sometimes, nondeterminism is problematic. 1. Complementation: L(A’) = comp(L(A)) DFW: dualize the acceptance condition.

  8. Sometimes, nondeterminism is problematic. 1. Complementation: L(A’) = comp(L(A)) DFW: dualize the acceptance condition. 1 0 1 0 L(A) = (0+1)*.1 comp(L(A)) = ε+ (0+1)*.0

  9. 1 0,1 L(A) = (0+1)*.1 comp(L(A)) = ε+ (0+1)*.0 Sometimes, nondeterminism is problematic. 1. Complementation: L(A’) = comp(L(A)) NFW: dualize the acceptance condition?

  10. NFW: dualize the acceptance condition? 1 0,1 L(A) = (0+1)*.1 wL(A): exists an accepting run. wL(A): all runs are rejecting. dualization: exists a rejecting run. comp(L(A)) = ε+ (0+1)*.0 Sometimes, nondeterminism is problematic. 1. Complementation: L(A’) = comp(L(A)) L(A’) = (0+1)*

  11. q0 a q1 q3 c a q0 a c a c c q1 c c Sometimes, nondeterminism is problematic. 2. Running A on a tree. Tree automata: Word automata: M(q0,a)={q1,q2} Tree automata: M(q0,a)={q1,q3, q2,q1}

  12. Sometimes, nondeterminism is problematic. 2. Running A on a tree. Given: an NFW A. Wanted: an NFT Atthat accepts all trees all of whose paths are accepted by A. Mt(q,a) = M(q,a) x M(q,a) M(q0,a)={q1,q2} Mt(q0,a)={q1,q1, q1,q2, q2,q1, q2,q2} Run A on each of the paths of the tree…

  13. Sometimes, nondeterminism is problematic. 2. Running A on a tree. 0, 1 0 0, 1 0, 1 0, 1 n L(A) = (0+1)*.0.(0+1)n . . . A: whenever you read 0, guess whether the input ends after exactly n letters. At: whenever you read 0, guess whether all the paths in the subtree end after exactly n letters.

  14. Sometimes, nondeterminism is problematic. 2. Running A on a tree. 0, 1 ● 0 ● 0, 1 0, 1 0, 1 n L(A) = (0+1)*.0.(0+1)n . . . A: whenever you read 0, guess whether the input ends after exactly n letters. At: whenever you read 0, guess whether all the paths in the subtree end after exactly n letters. Mt(●,0)={●,●, ●,●, ●,●, ●,●}

  15. 0 0 accepts: rejects: 1 1 1 0 0 1 0 0 0 0 1 0 0 1 Sometimes, nondeterminism is problematic. 2. Running A on a tree. 0, 1 ● 0 ● 0, 1 0, 1 0, 1 n L(A) = (0+1)*.0.(0+1)n . . . A: whenever you read 0, guess whether the input ends after exactly n letters. Mt(●,0)={●,●, ●,●, ●,●, ●,●} n=2: ● ● ● ● ● ●

  16. Sometimes, nondeterminism is problematic. 2. Running A on a tree. • Applications in • Decidability of CTL*, μ-calculus,… [SE84, EJ91,…] • Solving games with ω-regular goals. [Tho95] • LTL realizability and synthesis. [RP89]

  17. #2 problem (automata on infinite words): determinization is awfully complicated. How to solve complementation, decidability, games, synthesis,…? DETERMINIZE! #1 problem: exponential blow-up. legitimate (matching lower bounds).

  18. 0,1 1 1 Subset construction: 1 s q {s} {s,q} 0 1 0 Automata on infinite words Büchi acceptance: visit α infinitely often L(A) = (0+1)*.1ω There is no DBW for L(A) [Lan69]. Safra’s determinization construction 1988: NBW(n)  DRW(2O(n log n), O(n))

  19. No useful implementation Safra’s construction: - First optimal construction! - Beautiful! Each state of A’ is anordered tree in whicheach node is labeledbya subset of thestates of A suchthat the labelof a node is Very Complicated!!! MONA: implementation of a nonelementary algorithm Model checking: tools! A success story!! Synthesis: no tools, no story.

  20. Avoid determinization!!! Weare Universality is the answer!!! We need Synthesis afraid of Safra

  21. 1 0 0,1 0,1 Multiple runs on every input. perhaps Universal (automaton, Turing machine, person…) Success: happily ever after in all futures. When viewed as an NFW, L(A) = (0+1)* When viewed as a UFW, L(A) = (0+10)* every 1 is followed by 0

  22. 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 • Talk outline: • Indeed sufficiently strong. • Much simpler! Promising practical applications. • You name it (please do)

  23. Finite words: NFWDFWDFW NFWUFWDFW 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 α Complementation

  24. No implementation co-determinization, Streett, LAR, … Complementation Given an NBW A, construct a complementary NBW. Current procedure: • Construct a DRW equivalent to A. • Dualize the DRW. • Translate the result to an NBW.

  25. co-Buchi acceptance: visit α only finitely often Easy: dualize both the transitions and the acceptance condition and get a UCW for the comlementary language. Easy: analyze ranks in accepting runs of UCW. Implemented! z z z z z z Complementation Given an NBW A, construct a complementary NBW. Our procedure: [GSKV03] • NBW  complementary UCW. • UCW  NBW.

  26. 0,1 0,1 1 1 0 s1 s2 s3 NBW: L(A) = (0+1)*.1ω finitely many 0s Example:

  27. 0,1 0,1 1 1 0 s1 s2 s3 UCW: L(A) = (1*0)ω infinitely many 0s

  28. 0,1 0,1 1 1 0 s1 s2 s3 s1 0 1 0 s1 L(A) = (1*0)ω s1 s2 s1 s3 a ranking function f:V  {0,…,2n} 1 1 1 s1 s2 s3 s1 s2 s3 s1 s2 s3 0 s1 s3 0

  29. 0,1 0,1 1 1 0 s1 s2 s3 s1 3 0 1 0 s1 3 L(A) = (1*0)ω s1 3 s2 2 s1 s3 1 3 a ranking function f:V  {0,…,2n} 1 1 1 s1 3 s2 s3 2 1 s1 s2 s3 3 2 1 s1 s2 s3 The state space of the NBW: subset construction + ranks for the states in the subset 3 2 1 0 s1 3 s3 1 0

  30. z z z μ-calculus satisfiability Complementation

  31. No implementation determinization of an NPW that accepts good paths of the run tree. parity games… [Jur00] μ-calculus satisfiability Is there a tree satisfying Ψ? Current procedure: • Construct an APT AΨthat accepts all trees satisfying Ψ [EJ91,KVW00]. • APT  NPT. • Check emptiness of the NPT.

  32. Being implemented! Easy, “empiness equivalent” UCT, similar to the translation on NPW to NBW. z z z z z z UCT  “emptiness equivalent’’ NBT Ranks… μ-calculus satisfiability Is there a tree satisfying Ψ? Our procedure: • Construct an APT AΨthat accepts all trees satisfying Ψ [EJ91,KVW00]. • APT  UCT. • Check emptiness of the UCT.

  33. z z z z z z Complementation μ-calculus satisfiability Synthesis

  34. Synthesis Given an LTL formula Ψ over I and O, construct a finite-state strategy f: (2I)*  2Othat generates only computations that satisfyΨ. Open system:interacts with an environment! o0 o1=f(i0) i0 o2=f(i0,i1) i1 o3=f(i0,i1,i2) i2 (f())  (i0,f(i0))  (i1,f(i0,i1))  (i2,f(i0,i1,i2))  …

  35. No implementation Rabin emptiness… [PR88,KV98] Synthesis Is Ψ realizable? Current procedure [PR88]: • Construct a DRW AΨthat accepts all computations satisfying Ψ. • Run AΨ on the I-exhaustive tree. • Check emptiness of the NRT.

  36. Being implemented! z z z z z z z z z Easy, running a universal automaton on a tree is sound and complete. Synthesis Is Ψ realizable? Our procedure: • Construct an NBW A~Ψthat accepts all computations satisfying ~Ψ [VW94]. • Run the dual UCW on the I-exhaustive tree. • Check emptiness of the UCT.

  37. The magic: UCW  NBW UCT  NBT Based on an analysis of accepting runs of co-Büchi 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.

  38. s1 3 k is bounded by the width of the run DAG. s1 3 s1 3 s2 2 s1 s3 1 3 s1 3 s2 s3 2 1 s1 s2 s3 2 3 1 s1 s2 s3 1 3 2 3 s1 s3 1 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. k • 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!)n2n3n(n+1)/n! states. We still need Safra!

  39. In practice: [GSKV03] • Incremental search for k. • Symbolic implementation. The magic: UCW  NBW UCT  NBT Based on an analysis of accepting runs of co-Büchi 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.

  40. z z z universality • To sum up: • Many applications use determinization. • The complexity of Safra’s determinization prevents implementations. • Universality can replace determinization and results in much simpler and friendlier procedures.

  41. The end

  42. 1 0 s1 s2 s3 0,1 0,1 s1 0 1 1 . . . s1 s1 s2 s2

  43. s1 0 1 0 s1 s1 s1 s2 s2 s1 s1 s3 s3 0 1 0 s3 s1 s3 s3 1 0 s1 s2 s3 0,1 0,1

  44. Finite words: NFWDFWDFW NFWUFWDFW Infinite words: NBWDRWNBW NBWUCWNBW co-Büchi acceptance: visit α only finitely often Complementation

  45. NBWUCWNBW

  46. wA: exists a run that visits α infinitely often. wA: all runs visit α only finitely often. NBWUCWNBW Easy: dualize both branching mode and acceptance condition. O(1)

  47. NBWUCWNBW [KV97]

  48. 0,1 0,1 1 UCWNBW 1 0 s1 s2 s3 NBW: L(A) = (0+1)*.1ω

  49. 0,1 0,1 UCWNBW 1 1 0 s1 s2 s3 UCW: L(A) = (1*0)ω

  50. 0,1 0,1 UCWNBW 1 1 0 s1 s2 s3 s1 0 1 0 s1 L(A) = (1*0)ω s1 s2 a ranking function f:V  {0,…,2n} s1 s3 1 1 1 s1 s2 s3 s1 s2 s3 The state space of the NBW: subset construction + ranks for the states in the subset s1 s2 s3 0 s1 s3 0

More Related