510 likes | 524 Views
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.
E N D
AvoidingDeterminization 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. Nondeterministic (automaton, Turing machine, person…) Success: happily ever after in at least one future.
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.
{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
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
NFW and DFW: reachability NLOGSPACE, linear time Sometimes, nondeterminism causes no problems. Nonemptiness check: L(A) ≠ Ø ? Membership check, projection,…
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.
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
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?
NFW: dualize the acceptance condition? 1 0,1 L(A) = (0+1)*.1 wL(A): exists an accepting run. wL(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)*
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}
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…
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.
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)={●,●, ●,●, ●,●, ●,●}
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: ● ● ● ● ● ●
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]
#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).
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))
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.
Avoid determinization!!! Weare Universality is the answer!!! We need Synthesis afraid of Safra
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
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)
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
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.
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.
0,1 0,1 1 1 0 s1 s2 s3 NBW: L(A) = (0+1)*.1ω finitely many 0s Example:
0,1 0,1 1 1 0 s1 s2 s3 UCW: L(A) = (1*0)ω infinitely many 0s
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
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
z z z μ-calculus satisfiability Complementation
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.
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.
z z z z z z Complementation μ-calculus satisfiability Synthesis
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)) …
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.
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.
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.
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!
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.
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.
1 0 s1 s2 s3 0,1 0,1 s1 0 1 1 . . . s1 s1 s2 s2
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
Finite words: NFWDFWDFW NFWUFWDFW Infinite words: NBWDRWNBW NBWUCWNBW co-Büchi acceptance: visit α only finitely often Complementation
wA: exists a run that visits α infinitely often. wA: all runs visit α only finitely often. NBWUCWNBW Easy: dualize both branching mode and acceptance condition. O(1)
NBWUCWNBW [KV97]
0,1 0,1 1 UCWNBW 1 0 s1 s2 s3 NBW: L(A) = (0+1)*.1ω
0,1 0,1 UCWNBW 1 1 0 s1 s2 s3 UCW: L(A) = (1*0)ω
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