The Algorithmics of Probabilistic Automata Weak Bisimulation

Post on 23-Feb-2016

58 views 0 download

Tags:

description

The Algorithmics of Probabilistic Automata Weak Bisimulation. Andrea Turrini Saarland University based on a joint work with Holger Hermanns. Probabilistic Automata ( PA ). s. coin. coin. f. u. retry. flip. flip. flip. 8/16. 8/16. 12/16. 4/16. t f. t u. h f. h u. n. sms. - PowerPoint PPT Presentation

transcript

The Algorithmicsof

Probabilistic AutomataWeak Bisimulation

Andrea TurriniSaarland University

based on a joint work with

Holger Hermanns

Andrea TurriniSaarland University

Probabilistic Automata (PA)s

u

hf tf hu ntu

flip flip flip retry

coin

4/16 8/16 8/16 12/16

beepu beepf flashf flashu

sms

coin

f

vibrate

sms sms sms sms

Andrea TurriniSaarland University

Probabilistic Automata (PA)

PA = (Q, q0, E, H, D)Transition relation D Q (E ) (Q)

Internal (hidden) actions

External actions: E H =

Initial state: q0 Q

States

H Disc

Andrea TurriniSaarland University

Weak bisimulation

p 1-p

Weak bisimulation between A1 and A2

Equiv. Rel. R Q QQ = Q1 Q2, such that+

bbb

s0

s1 s2 t1

t3s3 s4

r

m

s, t, a,

s

t

R R

a

a

C Q/R . m (C) = r (C)

m R r [JL91]

t t

m r

Andrea TurriniSaarland University

Usual decision procedure

Bisimulation(A1, A2)

W := {Q1 Q2}

(C, a) := FindSplit(W)

while C do W := Refine(W, a, C)

(C, a) := FindSplit(W)

return W

+

FindSplit(W)

for each (s, a, ) D1 D2

for each t [s]W

if there does not exist such that t and W return ([s]W, a)

return (, a)

a r rmr

m

NN

N

N = max (| D1 D2 |, | Q1 Q2 |)+ +

+

Andrea TurriniSaarland University

Weak transition

{beep: 5/16, flash: 7/16, vibrate: 4/16} {beep: 2/16, flash: 2/16, vibrate: 12/16}

s

u

hf tf hu ntu

flip flip flip retry

coin

4/16 8/16 8/16 12/16

beepu beepf flashf flashu

coin

f

vibrate

sms sms sms sms sms

Andrea TurriniSaarland University

How many weak transitions?

C00: bbbbbC01: bbbbtC02: bbbtb

C30: ttttbC31: ttttt

t t t t t

t t t t t

Andrea TurriniSaarland University

Weak transition as Flow

{beep: 5/16, flash: 7/16, vibrate: 4/16}

s

u

hf tf hu ntu

flip flip flip retry

coin

4/16 8/16 8/16 12/16

beepu beepf flashf flashu

coin

f

vibrate

sms sms sms sms sms

Andrea TurriniSaarland University

Weak transition vs. Flow Problems

u

hf tf hu ntu

flip flip flip retry

coin

4/16 8/16 8/16 12/16

beepu beepf flashf flashu

coin

f

vibrate

{beep: 0/16, flash: 16/16, vibrate: 0/16}

16/16

16/16 16/16 16/16 16/16 16/16

16/16 16/16

16/16

sms sms sms sms sms

Andrea TurriniSaarland University

Flow as Linear Programming Problem

f0 = 1f9 + f12 = 5/16f10 + f11 = 7/16f13 = 4/16

s

u

hf tf hu ntu

8/16

beepu vibratebeepf flashf flashu

f

8/16 12/16 4/16

0 ≤ fi ≤ ci (< )f0 + f8 = f1 + f4

f1 = f2 + f3 f2 = f9

f3 = f10

f4 = f5 + f6 + f7 f5 = f8 + f11 f6 = f12 f7 = f13

f1 f4

f0

f2 f3 f5 f6 f7f8

f9 f10 f11 f12 f13

min S fi

under constraints

{beep: 5/16, flash: 7/16, vibrate: 4/16}f2 = 8/16(f2 + f3)f3 = 8/16(f2 + f3)f5 = 12/16(f5 + f6)f6 = 4/16(f5 + f6)

beep

flash

vibrate

Complexity:#variables O(|Q||D|)

#constraints O(|Q||D|)

Polynomial!s

1

8/16 8/16

4/16 4/16

4/16 4/16

4/16

4/161/16

1/16

3/16

3/16

0

Andrea TurriniSaarland University

Usual decision procedure

Bisimulation(A1, A2)

W := {Q1 Q2}

(C, a) := FindSplit(W)

while C do W := Refine(W, a, C)

(C, a) := FindSplit(W)

return W

+

FindSplit(W)

for each (s, a, m) D1 D2

for each t [s]W

if there does not exist r such that t r and m W r

return ([s]W, a)

return (, a)

a

N

N

N

N = max (| D1 D2 |, | Q1 Q2 |)+ +

+

Polynomial

Polynomial!

Andrea TurriniSaarland University

From bisimulation to minimal automaton

A = (Q, q0, E, H, D)

QA = (W, [q0]W, E, H, DW)

mA = (W, [q0]W, E, H, DW)

Quotienting

Transition reduction

zeroconf-nt: |Q| = 670, |D| = 827

zeroconf-nt: |W| = 41, |DW| = 55

zeroconf-nt: |W| = 41, |DW| = 52

Andrea TurriniSaarland University

Adding costs to PAc

h0 h1 hn-1 hnp1-p

tr …p

1-p

tr

p1-p

tr

ds 1 1

r2 r2 r2 r2

Overall cost: 1 + nr2/p + 1

p1-p

tr

C(csh0) = 1 x 1C(h0trh1) = r2 x pC(h0trh0trh1) = (r2 + r2) x (1-p) x pC(h0trh0trh0trh1) = (r2 + r2 + r2) x (1-p) x (1-p) x pC((h0tr)ih1) = (i + 1) x r2 x (1-p)i x p

r2 / p

Andrea TurriniSaarland University

Adding costs to PAc

h0 h1 hn-1 hnp1-p

tr …p

1-p

tr

p1-p

tr

ds 1 1

r2 r2 r2 r2

Minimum cost equals optimal LP solution

p1-p

tr

c

h0 h1 hn-1 hnp1-p

…p

1-pp

1-p

1

1r2 r2 r2 r2

p1-p

r2r2r2r2

c

1

1

1

1

(1-p) / p

1

(1-p) / p

1

(1-p) / p

1

(1-p) / p1

0

0

Polynomial!

Andrea TurriniSaarland University

Nondeterminism and Cost PA

2 + 89/p cost 2 + 100/p

c

h0 h1 h3 h4p1-p

t5 h2 p1-p

t5

p1-p

t5

ds 1 1

52 52 52 52

p1-p

t5

q1 q3 q4p1-p

t4 q2 p1-p

t4

p1-p

t4

42 42 42

q5p1-p

t4

42

o o00 o

0o

0

Andrea TurriniSaarland University

Comparing Cost PA

2 + 89/p

2 + 80/pw

k0 k1 k3 k4p1-p

t4 k2 p1-p

t4

p1-p

t4

ds 1 1

42 42 42 42

p1-p

t4 k5p1-p

t4

42

c

h0 h1 h3 h4p1-p

t5 h2 p1-p

t5

p1-p

t5

ds 1 1

52 52 52 52

p1-p

t5

q1 q3 q4p1-p

t4 q2 p1-p

t4

p1-p

t4

42 42 42

q5p1-p

t4

42

o o00

o0

o0

Andrea TurriniSaarland University

Minor Cost Weak Bisimulation

Andrea TurriniSaarland University

Comparing Cost PA

2 + 89/p

2 + 80/pw

k0 k1 k3 k4p1-p

t4 k2 p1-p

t4

p1-p

t4

ds 1 1

42 42 42 42

p1-p

t4 k5p1-p

t4

42

c

h0 h1 h3 h4p1-p

t5 h2 p1-p

t5

p1-p

t5

ds 1 1

52 52 52 52

p1-p

t5

q1 q3 q4p1-p

t4 q2 p1-p

t4

p1-p

t4

42 42 42

q5p1-p

t4

42

o o00

o0

o0

Andrea TurriniSaarland University

Conclusion• Weak transitions as LP problems• Polynomial decision procedure for PA

weak probabilistic bisimulation• Minimal automaton• Cost decorated PA• Prototypical implementation

• Extensions of LP approach– Specific weak transitions, hyper-transitions,

restricted transitions, equivalence matching, …– MDP multi-objective reachability– Interval multi-objective reachability– Multi-objective reachability in interval models

• Base for other models: Markov Automata

Andrea TurriniSaarland University

Decision procedure in practice