Title: Avoiding Determinization
1Avoiding Determinization
Orna Kupferman Hebrew University
Joint work with Moshe Vardi
2Deterministic (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.
3A 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.
4NFW are exponentially more succinct than DFW
5NFW are exponentially more succinct than DFW
Ln (01).0.(01)n
NFW O(n) states
DFW O(2n) states
6Sometimes, nondeterminism causes no problems.
Nonemptiness check L(A) ? Ø ?
Membership check, projection,
7Sometimes, nondeterminism is problematic.
1. Complementation L(A) comp(L(A))
DFW dualize the acceptance condition.
8Sometimes, nondeterminism is problematic.
1. Complementation L(A) comp(L(A))
DFW dualize the acceptance condition.
1
0
1
0
L(A) (01).1
comp(L(A)) e (01).0
9Sometimes, nondeterminism is problematic.
1. Complementation L(A) comp(L(A))
NFW dualize the acceptance condition?
10Sometimes, nondeterminism is problematic.
1. Complementation L(A) comp(L(A))
L(A) (01)
11Sometimes, 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?
12Sometimes, nondeterminism is problematic.
2. Running A on a tree.
Given an NFW A.
Wanted an NFT At that 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
13Sometimes, nondeterminism is problematic.
2. Running A on a tree.
0, 1
0, 1
0, 1
0, 1
0
n
L(A) (01).0.(01)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.
14Sometimes, nondeterminism is problematic.
2. Running A on a tree.
0, 1
0, 1
0, 1
0, 1
0
?
?
n
L(A) (01).0.(01)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)??,??, ??,??, ??,??, ??,??
15Sometimes, nondeterminism is problematic.
2. Running A on a tree.
0, 1
0, 1
0, 1
0, 1
0
?
?
n
L(A) (01).0.(01)n
. . .
A whenever you read 0, guess whether the input
ends after exactly n letters.
Mt(?,0)??,??, ??,??, ??,??, ??,??
?
n2
?
?
?
?
?
16Sometimes, 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
17How to solve complementation, decidability,
games, synthesis,?
DETERMINIZE!
1 problem exponential blow-up.
legitimate (matching lower bounds).
18Automata on infinite words
Büchi acceptance visit a infinitely often
L(A) (01).1?
There is no DBW for L(A) Lan69.
Safras determinization construction 1988 NBW(n)
? DRW(2O(n log n), O(n))
19Safras 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!
Very Complicated!!!
MONA implementation of a nonelementary algorithm
Model checking tools! A success
story!! Synthesis no tools, no story.
20Avoid determinization!!!
Weare
Universality is the answer!!!
We need Synthesis
afraid of Safra
21Universal (automaton, Turing machine, person)
Success happily ever after in all futures.
When viewed as an NFW, L(A) (01)
When viewed as a UFW, L(A)
(010)
every 1 is followed by 0
22Universal 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.
23Complementation
24Complementation
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.
25Complementation
Given an NBW A, construct a complementary NBW.
Our procedure
GSKV03
- NBW ? complementary UCW.
- UCW ? NBW.
26Example
271
1
0
s1
s2
s3
UCW
L(A) (10)? infinitely many 0s
28s1
0 1 0
s1
L(A) (10)?
s1
s2
s1
s3
a ranking function fV ? 0,,2n
1 1 1
s3
s1
s2
s2
s3
s1
s2
s3
s1
0
s1
s3
0
29s1
3
0 1 0
s1
3
L(A) (10)?
s1
s2
2
3
s1
s3
1
3
a ranking function fV ? 0,,2n
1 1 1
s3
s1
s2
3
1
2
s2
s3
s1
1
2
3
s2
The state space of the NBW subset construction
ranks for the states in the subset
s3
s1
1
2
3
0
s1
s3
3
1
0
30z z z
Complementation
31µ-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µ-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.
33Complementation
µ-calculus satisfiability
Synthesis
34Synthesis
Given an LTL formula ? over I and O, construct a
finite-state strategy f (2I) ? 2O that
generates only computations that satisfy ?.
Open system interacts with an environment!
o0
o1f(i0)
i0
o2f(i0,i1)
i1
o3f(i0,i1,i2)
i2
(f(?)) ? (i0,f(i0)) ? (i1,f(i0,i1)) ?
(i2,f(i0,i1,i2)) ?
35Synthesis
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.
36Synthesis
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.
37The 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.
38A 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(n1)/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- To sum up
- Many applications use determinization.
- The complexity of Safras determinization
prevents implementations. - Universality can replace determinization and
results in much simpler and friendlier procedures.
41The end
421
0
s1
s2
s3
0,1
0,1
s1
0 1 1 . . .
s1
s1
s2
s2
431
0
s1
s2
s3
0,1
0,1
44Complementation
45 NBW UCW NBW
46 NBW UCW NBW
Easy dualize both branching mode and acceptance
condition. O(1)
47 NBW UCW NBW
KV97
48(No Transcript)
491
1
0
s1
s2
s3
UCW
L(A) (10)?
501
1
0
s1
s2
s3
s1
0 1 0
L(A) (10)?
s1
s1
s2
a ranking function fV ? 0,,2n
s1
s3
1 1 1
s3
s1
s2
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
51z z z
Complementation
GSKV03