1 / 51

# Avoiding Determinization - PowerPoint PPT Presentation

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.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' Avoiding Determinization' - zonta

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

AvoidingDeterminization

Orna Kupferman

Hebrew University

Joint work with Moshe Vardi

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.

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

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,…

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.

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

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

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)*

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}

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…

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.

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

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:

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).

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))

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.

Weare

Universality

is the

We need

Synthesis

afraid of Safra

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)

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

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

1

1

0

s1

s2

s3

NBW:

L(A) = (0+1)*.1ω

finitely many 0s

Example:

0,1

1

1

0

s1

s2

s3

UCW:

L(A) = (1*0)ω

infinitely many 0s

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

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

μ-calculus satisfiability

Complementation

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.

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

Complementation

μ-calculus satisfiability

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))  …

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.

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.

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.

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.

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

NFWDFWDFW

NFWUFWDFW

Infinite words:

NBWDRWNBW

NBWUCWNBW

co-Büchi acceptance:

visit α only

finitely often

Complementation

NBWUCWNBW

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)

NBWUCWNBW

[KV97]

0,1

1

UCWNBW

1

0

s1

s2

s3

NBW:

L(A) = (0+1)*.1ω

0,1

UCWNBW

1

1

0

s1

s2

s3

UCW:

L(A) = (1*0)ω

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

μ-calculus satisfiability

Implemented!

Complementation

[GSKV03]