Download presentation
Presentation is loading. Please wait.
Published byKayla MacKenzie Modified over 10 years ago
1
Avoiding Determinization Orna Kupferman Hebrew University Joint work with Moshe Vardi
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.
3
A very convenient definition of success… Risk is for free. Goals are achieved in a more succinct way. perhap s
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 Büchi word automata. APT: alternating parity tree automata.
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
6
Sometimes, nondeterminizm causes no problems. Nonemptiness check: L(A) Ø ? Membership check, projection,… NFW and DFW: reachability NLOGSPACE, linear time
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
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
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
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.
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
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.
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.
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
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,…]
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.
17
Automata on infinite words 0,1 1 1 sq L(A) = (0+1)*.1 ω Büchi 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))
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!!!
19
We are afraid of Safra
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
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.
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 α
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]
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
25
Example: 0,1 1 1 s1s1 s2s2 L(A) = (0+1)*.1 ω finitely many 0s 0,1 0 s3s3 NBW:
26
L(A) = (1*0) ω infinitely many 0s UCW: 0,1 1 1 s1s1 s2s2 0 s3s3
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
28
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} The state space of the NBW: subset construction + ranks for the states in the subset s3s3 s1s1 s3s3 s1s1 1 1 1 1 1 2 2 2 2 3 3 3 3 3 3 3 3
29
Complementation μ-calculus satisfiability
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]
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]
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…
33
Complementation μ-calculus satisfiability Synthesis
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 )) …
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]
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]
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
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.
39
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. In practice: [GSKV03] -Incremental search for k. -Symbolic implementation.
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
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.