Avoiding
This presentation is the property of its rightful owner.
Sponsored Links
1 / 51

Avoiding Determinization PowerPoint PPT Presentation


  • 92 Views
  • Uploaded on
  • Presentation posted in: General

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.

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


Avoiding determinization

AvoidingDeterminization

Orna Kupferman

Hebrew University

Joint work with Moshe Vardi


Avoiding determinization

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.


Avoiding determinization

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.


Avoiding determinization

{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


Avoiding determinization

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


Avoiding determinization

NFW and DFW: reachability  NLOGSPACE, linear time

Sometimes, nondeterminism causes no problems.

Nonemptiness check:

L(A) ≠ Ø ?

Membership check, projection,…


Avoiding determinization

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.


Avoiding determinization

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


Avoiding determinization

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?


Avoiding determinization

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


Avoiding determinization

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


Avoiding determinization

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…


Avoiding determinization

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.


Avoiding determinization

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)={●,●, ●,●, ●,●, ●,●}


Avoiding determinization

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:


Avoiding determinization

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]


Avoiding determinization

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


Avoiding determinization

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


Avoiding determinization

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.


Avoiding determinization

Avoid determinization!!!

Weare

Universality

is the

answer!!!

We need

Synthesis

afraid of Safra


Avoiding determinization

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


Avoiding determinization

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)


Avoiding determinization

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


Avoiding determinization

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.


Avoiding determinization

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.


Avoiding determinization

0,1

0,1

1

1

0

s1

s2

s3

NBW:

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

finitely many 0s

Example:


Avoiding determinization

0,1

0,1

1

1

0

s1

s2

s3

UCW:

L(A) = (1*0)ω

infinitely many 0s


Avoiding determinization

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


Avoiding determinization

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


Avoiding determinization

z z z

μ-calculus satisfiability

Complementation


Avoiding determinization

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.


Avoiding determinization

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.


Avoiding determinization

z z z

z z z

Complementation

μ-calculus satisfiability

Synthesis


Avoiding determinization

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


Avoiding determinization

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.


Avoiding determinization

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.


Avoiding determinization

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.


Avoiding determinization

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!


Avoiding determinization

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


Avoiding determinization

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.


Avoiding determinization

The end


Avoiding determinization

1

0

s1

s2

s3

0,1

0,1

s1

0

1

1

.

.

.

s1

s1

s2

s2


Avoiding determinization

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


Avoiding determinization

Finite words:

NFWDFWDFW

NFWUFWDFW

Infinite words:

NBWDRWNBW

NBWUCWNBW

co-Büchi acceptance:

visit α only

finitely often

Complementation


Avoiding determinization

NBWUCWNBW


Avoiding determinization

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)


Avoiding determinization

NBWUCWNBW

[KV97]


Avoiding determinization

0,1

0,1

1

UCWNBW

1

0

s1

s2

s3

NBW:

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


Avoiding determinization

0,1

0,1

UCWNBW

1

1

0

s1

s2

s3

UCW:

L(A) = (1*0)ω


Avoiding determinization

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


Avoiding determinization

z z z

μ-calculus satisfiability

Implemented!

Complementation

[GSKV03]


  • Login