300 likes | 400 Views
Process Algebra (2IF45) Analysing Probabilistic systems. Dr. Suzana Andova. Probabilistic LTS. Basic ingredients of a PLTS: states non-detereministic states set N probabilistic states set P transitions action transitions labelled with actions and t P
E N D
Process Algebra (2IF45)Analysing Probabilistic systems Dr. Suzana Andova
Probabilistic LTS • Basic ingredients of a PLTS: • states • non-detereministic states set N • probabilistic states set P • transitions • action transitions labelled with actions and t P • probabilistic transitions labelled with probabilities and t N • For a probabilistic state s, • = 1 a s t s t s t Process Algebra (2IF45)
Composing PLTSs 1/6 1/6 1/3 1/3 1/2 1/3 1/2 2/3 || = c c b d a b d a e d b a c 1 1 1 1 1 1 1 c a b c d b d a 1/6 1/3 1/3 1/2 1/3 1/2 2/3 1/6 + = d c b a b c d a b d a c Process Algebra (2IF45)
Strong Probabilistic bisimulation on PLTSs 1 2/3 1/3 1 2 3 a b a b a b b 4 5 6 7 8 1 1 1 1 2/3 1 1 1/3 9 10 12 11 13 c c c c c c c c Process Algebra (2IF45)
Chatting Philosophers example (partially) • A chatting philosopher is a person dedicated to two activities: thinking and chatting. A philosopher uses his phone for chatting. He can decide to pick up the phone with probability pi, or stay thinking with probability 1-pi. Once he starts chatting, he end the call with probability ro, or keep chatting with probability 1-ro. • There is a switch which allocates connection to a philosopher, and also deallocating a connection. Our switcher is capable of handling only one connection at time. • We consider a system of two philosophers and one switcher • First, we compute Phil1 || Phil2, where Phili = Thinki Process Algebra (2IF45)
Analysing PLTSs – main ingredients x n p k s 0 The set of all paths in x starting in p?! What can we measure on x? Do we need schedulers for it? Process Algebra (2IF45)
Example 1 (cont.) Property1: A path has a trace c*a Property2: A path has a trace c*b Property3: A path has a trace (cc)*a Property4: A path has a trace (cc)*b Property5: A path reaches a deadlock state Process Algebra (2IF45)
Example 1 (cont.) x Property1: A path has a trace c*a n p 1/3 1/6 1/2 p k s s c b a 0 p 1/3 1/6 k s 1/2 k s s 0 c b a 0 p . . . Process Algebra (2IF45)
Example 1 (cont.) x Property1: A path has a trace c*a n p 1/3 1/6 1/2 p k s s c b a 0 p 1/3 1/6 k s 1/2 k s s 0 c b a 0 p . . . Prob(SetPaths1) = ? Process Algebra (2IF45)
Example 1 (cont.) x Property1: A path has a trace c*a n p 1/3 1/6 1/2 p k s s c b a 0 p 1/3 1/6 k s 1/2 k s s 0 c b a 0 p . . . Prob(SetPaths1) = 1/3 + 1/6x1/3 + (1/6)^2x1/3 + …. = k0 1/3x(1/6)^k = (1/3)/ (1-1/6) = 2/5 Process Algebra (2IF45)
Example 1 (cont.) x Property2: A path has a trace c*b n p 1/3 1/6 1/2 p k s s c b a 0 p 1/3 1/6 k s 1/2 k s s 0 c b a 0 p . . . Process Algebra (2IF45)
Example 1 (cont.) x Property2: A path has a trace c*b n p 1/3 1/6 1/2 p k s s c b a 0 p 1/3 1/6 k s 1/2 k s s 0 c b a 0 p . . . Prob(SetPaths2) = ? Process Algebra (2IF45)
Example 1 (cont.) x Property3: A path has a trace (cc)*a or (cc)*b p n 1/3 1/6 1/2 k s s c b a p 0 p 1/3 1/6 1/2 k s k s s c b a 0 0 p 1/3 1/6 1/2 k s s c b a 0 p . . . Process Algebra (2IF45)
Example 1 (cont.) x Property3: A path has a trace (cc)*a or (cc)*b p n 1/3 1/6 1/2 k s s c b a p 0 p 1/3 1/6 1/2 k s k s s c b a 0 0 p 1/3 1/6 1/2 k s s c b a 0 Prob(SetPaths3) = ? p . . . Process Algebra (2IF45)
Example 2 y n p 1/3 1/6 1/2 k s s a c p b 0 b p 1/3 1/6 1/2 k s k k s s a c b 0 0 p b . . . The set of all paths in y starting in p? What can we measure on y? Do we need schedulers for it? Process Algebra (2IF45)
Example 2 (cont.) Property1: A path has a trace c*a? First select a scheduler, then compute this set, and its probability 1.1. Scheduler 1.2. Scheduler 1 1.3. Scheduler 2 Process Algebra (2IF45)
Example 2 (cont.) – scheduler y n p 1/3 1/6 1/2 k s n a c p 0 p 1/3 1/6 1/2 k s k k s n c 0 0 p b . . . Computation tree CTy(p, ) Process Algebra (2IF45)
Example 2 (cont.) – scheduler Property1: A path has a trace c*a y n p 1/3 1/6 1/2 k s n a c p 0 p 1/3 1/6 1/2 k s k k s n c 0 0 p b . . Prob(p, trace = c*a) = 12/35 How? Process Algebra (2IF45)
Example 2 (cont.) – scheduler 1 y n p 1/3 1/6 1/2 k s s a c p b 0 p 1/3 1/6 1/2 k s k k s s a c b 0 0 p . . . Computation tree CTy(p, 1) Process Algebra (2IF45)
Example 2 (cont.) – scheduler 1 Property1: A path has a trace c*a y n p 1/3 1/6 1/2 k s s a c p b 0 p 1/3 1/6 1/2 k s k k s s a c b 0 0 p . . . Prob1(p, trace = c*a) = 2/5 How? Can we do better? Process Algebra (2IF45)
Towards probabilistic branching bisimulation • We consider again hiding of internal behaviour • Again in the style of branching bisimulation, which is: • congruence • easy to axiomatize • rather intuitive • preserve properties Process Algebra (2IF45)
Towards probabilistic branching bisimulation Recall Branching bisimulation on LTss t s a t’ s’ a t’’ t s s’ Process Algebra (2IF45)
Towards probabilistic branching bisimulation Recall Branching bisimulation on LTss Recall Strong Probabilistic bisimulation on PLTss t s t s a a a t’ t’ s’ s’ a s 1 t 2 1 t’’ 2 C2 (eq. class ) C1 (eq. class ) t s s’ Process Algebra (2IF45)
Towards probabilistic branching bisimulation Recall Branching bisimulation on LTss Recall Strong Probabilistic bisimulation on PLTss t s t s Combining them into Probabilistic Branching Bisimulation a a a t’ t’ s’ s’ a s 1 t 2 1 t’’ 2 C2 (eq. class ) C1 (eq. class ) t s s’ Process Algebra (2IF45)
Missing ingredients: • We need a notion of for action transitions, just like in BB on LTSs • We need to compute probability to go to next eq. class from a probabilistic state, just like in PSB on PLTSs. • 3. And something more… Process Algebra (2IF45)
Missing ingredients p u 1 n 1 s q 1 a m 0 Relate probabilistic and non-deter. states! r 1 k a 0 Process Algebra (2IF45)
Missing ingredients: • We need a notion of for action transitions, just like in BB on LTSs • OK! Our unobservable paths are now: • p0 n1 p1 n2… pk • or p0 n1 p1 n2… nk • We need to compute probability to go to next eq. class from a probabilistic state, just like in PSB on PLTSs. • But also for non-dterministic states. • 1 if n C • Prob(n, C) = • 0 if n C Process Algebra (2IF45)
Probabilistic Branching Bisimulation • Definition : An equivalence relation R ⊆ S × S is a probabilistic branching bisimulationiff for every (s, t) ∈ R the following two conditions hold: • if s –-> s′ for a ∈ A or a= , then there exist states t0, . . . , tn, t′ such that • t = t0 -------> t1 ------> … tn–-> t’ • and (s, ti) ∈ R for all 0 ≤ i ≤ n, and (s′, t′) ∈ R, • (ii) for all equivalence classes of states M ∈ S/R, Prob(s,M) = Prob(t,M). • States s and t are branching bisimilar, denoted by s ∼pbb t, if (s, t) ∈ R for • some branching bisimulation relation R. a or or a Process Algebra (2IF45)
Examples: Probabilistic Branching Bisimulation Distributed page (part 2) Process Algebra (2IF45)