Loading in 5 sec....

Avoiding DeterminizationPowerPoint Presentation

Avoiding Determinization

- 102 Views
- Uploaded on
- Presentation posted in: General

Avoiding Determinization

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

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.

The end

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

NBWUCWNBW

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

z z z

μ-calculus satisfiability

Implemented!

Complementation

[GSKV03]