quancol . ........ . . . ... ... ... ... ... ... ... - - PowerPoint PPT Presentation

quan col
SMART_READER_LITE
LIVE PREVIEW

quancol . ........ . . . ... ... ... ... ... ... ... - - PowerPoint PPT Presentation

quancol . ........ . . . ... ... ... ... ... ... ... www.quanticol.eu Population Modelling Vashti Galpin Laboratory for Foundations of Computer Science University of Edinburgh Open Problems in Concurrency Theory Bertinoro 21


slide-1
SLIDE 1

quancol . ........ . . . ... ... ... ... ... ... ...

www.quanticol.eu

Population Modelling

Vashti Galpin Laboratory for Foundations of Computer Science University of Edinburgh Open Problems in Concurrency Theory Bertinoro 21 June 2014

OPCT, June 2014 1 / 29

slide-2
SLIDE 2

Modelling collective adaptive systems quantitatively

OPCT, June 2014 2 / 29

slide-3
SLIDE 3

Motivation

application area: collective adaptive systems (CAS) smart transport – buses, bike sharing smart grid – electricty generation and consumption we want model to quantitative behaviour of these systems and

be able to characterise their performance

we take a population-based approach where there are a large

number of identical processes

many processes leads to well-known problem of state space

explosion

mitigate this problem with approximation techniques focus in this talk on a general process algebra approach to

modelling populations, moving beyond application to biology

OPCT, June 2014 3 / 29

slide-4
SLIDE 4

Quantitative modelling

Modelling

P

Language semantic

a

mapping Mathematical

Sa

Representation analysis

aj

technique Result

Raj

OPCT, June 2014 4 / 29

slide-5
SLIDE 5

Modelling with PEPA

PEPA [Hillston, 1996] two-level grammar, constant definition, C def

= S S ::= (a, r).S | S + S P ::= S | P ⊲

L P

multi-way synchronisation (CSP-style)

  • perational semantics define labelled multi-transition system

P1

(a,r)

− − − → P2

labelled continuous-time Markov chain (CTMC) what happens when there are many sequential processes? assume n sequential constants: C1, . . . , Cn each constant has a maximum of m states: S1,1, . . . , S1,m CTMC has a maximum of nm states OPCT, June 2014 5 / 29

slide-6
SLIDE 6

Modelling with PEPA

Modelling

P C1 ⊲

L . . . ⊲

L Cn

Language semantic

CTMC

mapping Mathematical

SCTMC ( S1,j1 , . . . , Sn,jn )

Representation analysis

steady state

technique Result

RCTMC ( p1 , . . . . . . . . . , pnm )

OPCT, June 2014 6 / 29

slide-7
SLIDE 7

Quotienting by bisimilarity

what if many of the sequential processes are the same? consider the states (S1,1, S1,1, S1,2, S4,j4, . . . , Sn,jn) (S1,2, S1,1, S1,1, S4,j4, . . . , Sn,jn) both have the same numbers of S1,1 and S1,2 numeric vector representation (#S1,1, #S1,2 . . . #S1,m; . . . . . . ; #Sn′,1, #Sn′,2, . . . #Sn′,m) n′ is number of different types of sequential constants introduces functional rates stochastically bisimilar smaller state space? p is the maximum count of any state Si,j CTMC has a maximum of (n′ × m)p+1 states OPCT, June 2014 7 / 29

slide-8
SLIDE 8

Using numeric vector representation

Modelling

P C1[x1] ⊲

L . . . ⊲

L Cn′[xn′]

Language semantic

CTMC

mapping Mathematical

SCTMC (#S1,1, . . . ; . . . #Sn′,m)

Representation analysis

steady state

technique Result

RCTMC ( p1 , . . . . . . , p(n′×m)p+1 )

OPCT, June 2014 8 / 29

slide-9
SLIDE 9

Fluid/mean-field approximation

numeric vector representation can still result in a large number

  • f states so use a fluid approximation [Hillston, 2005]

treat subpopulation counts as real rather than integral and

express change over time as ordinary differential equations (ODEs) giving one equation for each sequential state: n′ × m

seldom obtain ODEs with analytical solutions but numerical

ODE solution is generally fast

ODE behaviour can approximate CTMC behaviour well if

sufficient numbers (together with some other conditions as shown by Kurtz)

OPCT, June 2014 9 / 29

slide-10
SLIDE 10

Fluid/mean-field approximation

Modelling

P

Language semantic

CTMC ODE

mapping Mathematical

SCTMC TODE

Representation analysis

steady state steady state

technique Result

RCTMC ≈ RODE

OPCT, June 2014 10 / 29

slide-11
SLIDE 11

Languages for modelling populations

extensions to PEPA: multiple states per entity Grouped PEPA [Hayden, Stefanek and Bradley, 2012] Fluid process algebra [Tschaikowski and Tribastone, 2014] biological: single state and count per species Bio-PEPA [Ciocchetta and Hillston, 2009] Bio-PEPA with compartments [Ciocchetta and Guerriero, 2009] epidemiological: single state and count per subpopulation variant of Bio-PEPA with locations

[Ciocchetta and Hillston, 2010]

OPCT, June 2014 11 / 29

slide-12
SLIDE 12

A stochastic population process algebra

stochastic and deterministic semantics aim to be general but elementary each entity has a single state and a count is there a suitable equivalence? compression bisimulation [Galpin and Hillston, 2011] start more concretely and then consider more generality syntax from epidemiological modelling but different semantics OPCT, June 2014 12 / 29

slide-13
SLIDE 13

A stochastic population process algebra

subpopulation description

C

def

= (β1, (κ1, λ1)) ⊙ C + . . . + (βmC , (κmC , λmC )) ⊙ C

actions: βi are distinct in and out stoichiometries: κi, λi ∈ N composition of subpopulations

P

def

= C1(n1,0) ⊲

. . . ⊲

∗ Cp(np,0)

subpopulations: Cj are distinct, initial quantities: nj,0 ∈ N minimum and maximum size: MC and NC for each C range of a subpopulation is NC − MC + 1 use C (n) to distinguish subpopulations with different ranges P(n) defines a composition whose minimum range is n OPCT, June 2014 13 / 29

slide-14
SLIDE 14

Operational semantics

C(n)

α,{(C,n)}

− − − − − − →c C(n − κk + λk) C

def

=

nC

  • k=1

(βk, (κk, λk)) ⊙ C α ∈ {β1, . . . , βnC } κk ≤ n ≤ NC − λk

OPCT, June 2014 14 / 29

slide-15
SLIDE 15

Operational semantics (continued)

P

α,W

− − − →c P′ P ⊲

∗ Q α,W

− − − →c P′ ⊲

∗ Q

Q

α,W ′

− − − →c Q

α,W

− − − →c Q′ P ⊲

∗ Q α,W

− − − →c P′ ⊲

∗ Q

P

  • α,W ′

− − − →c P

α,W1

− − − →c P′ Q

α,W2

− − − →c Q′ P ⊲

∗ Q α,W1∪W2

− − − − − − →c P′ ⊲

∗ Q′

OPCT, June 2014 15 / 29

slide-16
SLIDE 16

Operational semantics (continued)

P

α,W

− − − →c P′ P

α,fα(W )

− − − − − →s P′

fα : (C → N) → R≥0 where C is the set of subpopulations fα may make reference to MC and NC Markov chain semantics are given by

α,r

− − →s

ODE semantics can be derived from C1(n1,0) ⊲

∗ . . . ⊲

∗ Cp(np,0)

hybrid semantics by mapping to stochastic HYPE [Galpin 2014] dynamic switching between stochastic and deterministic

semantics for each action depending on subpopulation size or rate

OPCT, June 2014 16 / 29

slide-17
SLIDE 17

Example

A

def

= (α1, (1, 0)) ⊙ A + (α2, (0, 1)) ⊙ A + (α3, (2, 0)) ⊙ A B

def

= (α3, (0, 1)) ⊙ B C

def

= (α1, (0, 1)) ⊙ C + (α2, (1, 0)) ⊙ C

OPCT, June 2014 17 / 29

slide-18
SLIDE 18

Example

A

def

= (α1, (1, 0)) ⊙ A + (α2, (0, 1)) ⊙ A + (α3, (2, 0)) ⊙ A B

def

= (α3, (0, 1)) ⊙ B C

def

= (α1, (0, 1)) ⊙ C + (α2, (1, 0)) ⊙ C

OPCT, June 2014 17 / 29

slide-19
SLIDE 19

Example

A

def

= (α1, (1, 0)) ⊙ A + (α2, (0, 1)) ⊙ A + (α3, (2, 0)) ⊙ A B

def

= (α3, (0, 1)) ⊙ B C

def

= (α1, (0, 1)) ⊙ C + (α2, (1, 0)) ⊙ C

OPCT, June 2014 17 / 29

slide-20
SLIDE 20

Example

A

def

= (α1, (1, 0)) ⊙ A + (α2, (0, 1)) ⊙ A + (α3, (2, 0)) ⊙ A B

def

= (α3, (0, 1)) ⊙ B C

def

= (α1, (0, 1)) ⊙ C + (α2, (1, 0)) ⊙ C

OPCT, June 2014 17 / 29

slide-21
SLIDE 21

Example

A

def

= (α1, (1, 0)) ⊙ A + (α2, (0, 1)) ⊙ A + (α3, (2, 0)) ⊙ A B

def

= (α3, (0, 1)) ⊙ B C

def

= (α1, (0, 1)) ⊙ C + (α2, (1, 0)) ⊙ C

consider A(5) ⊲

∗ B(0) ⊲

∗ C(0) and A(7) ⊲

∗ B(0) ⊲

∗ C(0)

express as labelled transition systems in numerical vector

representation (nA, nB, nC)

OPCT, June 2014 17 / 29

slide-22
SLIDE 22

Example (continued)

(5,0,0) (4,0,1) (3,0,2) (2,0,3) (1,0,4) (0,0,5) (3,1,0) (2,1,1) (1,1,2) (0,1,3) (1,2,0) (0,2,1) α1 α1 α1 α1 α1 α1 α1 α1 α1 α2 α2 α2 α2 α2 α2 α2 α2 α2 α3 α3 α3 α3 α3 α3

OPCT, June 2014 18 / 29

slide-23
SLIDE 23

Example (continued)

(5,0,0) (4,0,1) (3,0,2) (2,0,3) (1,0,4) (0,0,5) (3,1,0) (2,1,1) (1,1,2) (0,1,3) (1,2,0) (0,2,1) α1 α1 α1 α1 α1 α1 α1 α1 α1 α2 α2 α2 α2 α2 α2 α2 α2 α2 α3 α3 α3 α3 α3 α3 (7,0,0) (6,0,1) (5,0,2) (4,0,3) (3,0,4) (2,0,5) (1,0,6) (0,0,7) (5,1,0) (4,1,1) (3,1,2) (2,1,3) (1,1,4) (0,1,5) (3,2,0) (2,2,1) (1,2,2) (0,2,3) (1,3,0) (0,3,1) α1 α1 α1 α1 α1 α1 α1 α1 α1 α1 α1 α1 α1 α1 α1 α1 α2 α2 α2 α2 α2 α2 α2 α2 α2 α2 α2 α2 α2 α2 α2 α2 α3 α3 α3 α3 α3 α3 α3 α3 α3 α3 α3 α3

OPCT, June 2014 18 / 29

slide-24
SLIDE 24

Example (continued)

(5,0,0) (4,0,1) (3,0,2) (2,0,3) (1,0,4) (0,0,5) (3,1,0) (2,1,1) (1,1,2) (0,1,3) (1,2,0) (0,2,1) α1 α1 α1 α1 α1 α1 α1 α1 α1 α2 α2 α2 α2 α2 α2 α2 α2 α2 α3 α3 α3 α3 α3 α3

what is the equivalence that will identify these two models?

(7,0,0) (6,0,1) (5,0,2) (4,0,3) (3,0,4) (2,0,5) (1,0,6) (0,0,7) (5,1,0) (4,1,1) (3,1,2) (2,1,3) (1,1,4) (0,1,5) (3,2,0) (2,2,1) (1,2,2) (0,2,3) (1,3,0) (0,3,1) α1 α1 α1 α1 α1 α1 α1 α1 α1 α1 α1 α1 α1 α1 α1 α1 α2 α2 α2 α2 α2 α2 α2 α2 α2 α2 α2 α2 α2 α2 α2 α2 α3 α3 α3 α3 α3 α3 α3 α3 α3 α3 α3 α3

OPCT, June 2014 18 / 29

slide-25
SLIDE 25

Single subpopulation

B def

= (α, (3, 0)) ⊙ B + (β, (0, 4)) ⊙ B + (γ, (0, 1)) ⊙ B B(16) B(21) 15 20

OPCT, June 2014 19 / 29

slide-26
SLIDE 26

Single subpopulation

B def

= (α, (3, 0)) ⊙ B + (β, (0, 4)) ⊙ B + (γ, (0, 1)) ⊙ B B(16) B(21) 15 20

OPCT, June 2014 19 / 29

slide-27
SLIDE 27

Single subpopulation

B def

= (α, (3, 0)) ⊙ B + (β, (0, 4)) ⊙ B + (γ, (0, 1)) ⊙ B B(16) B(21) 15 20 3 11 3 16 α, β, γ α, β, γ

  • OPCT, June 2014

19 / 29

slide-28
SLIDE 28

Single subpopulation

B def

= (α, (3, 0)) ⊙ B + (β, (0, 4)) ⊙ B + (γ, (0, 1)) ⊙ B B(16) B(21) 15 20 3 11 3 16 α, β, γ α, β, γ β, γ β, γ

  • OPCT, June 2014

19 / 29

slide-29
SLIDE 29

Single subpopulation

B def

= (α, (3, 0)) ⊙ B + (β, (0, 4)) ⊙ B + (γ, (0, 1)) ⊙ B B(16) B(21) 15 20 3 11 3 16 α, β, γ α, β, γ β, γ β, γ α α

  • OPCT, June 2014

19 / 29

slide-30
SLIDE 30

Single subpopulation

B def

= (α, (3, 0)) ⊙ B + (β, (0, 4)) ⊙ B + (γ, (0, 1)) ⊙ B B(16) B(21) 15 20 3 11 3 16 α, β, γ α, β, γ β, γ β, γ α α α, γ α, γ

  • OPCT, June 2014

19 / 29

slide-31
SLIDE 31

Single subpopulation

B def

= (α, (3, 0)) ⊙ B + (β, (0, 4)) ⊙ B + (γ, (0, 1)) ⊙ B B(16) B(21) α, β, γ α, β, γ β, γ β, γ α α α, γ α, γ

  • OPCT, June 2014

19 / 29

slide-32
SLIDE 32

Single subpopulation

B def

= (α, (3, 0)) ⊙ B + (β, (0, 4)) ⊙ B + (γ, (0, 1)) ⊙ B B(16) B(21) α, β, γ α, β, γ β, γ β, γ α α α, γ α, γ

  • ?

OPCT, June 2014 19 / 29

slide-33
SLIDE 33

Single subpopulation

B def

= (α, (3, 0)) ⊙ B + (β, (0, 4)) ⊙ B + (γ, (0, 1)) ⊙ B B(16) B(21) α, β, γ α, β, γ β, γ β, γ α α α, γ α, γ

OPCT, June 2014 19 / 29

slide-34
SLIDE 34

Compression bisimilarity

(P, Q) ∈ H if they have same actions, define labelled transition system over equivalence classes of H

[P]

α

֒ − → [Q] if P

(α,v)

− − − →c Q

compression bisimilarity, P ≏ Q if [P] ∼ [Q], namely whenever

  • 1. [P]

α

֒ − → [P′], then [Q]

α

֒ − → [Q′] and [P′] ∼ [Q′]

  • 2. [Q]

α

֒ − → [Q′], then [P]

α

֒ − → [P′] and [P′] ∼ [Q′]

results are given in terms of ranges OPCT, June 2014 20 / 29

slide-35
SLIDE 35

Results

to show the full behaviour of a system P(n), n must be greater

than the sum of

the maximum out-stoichiometry, the maximum in-stoichiometry, and the maximum in- or out-stoichiometry C (n) ≏ C (m) if n and m are large enough P(n) ≏ P(m) if n and m are large enough together with a

technical condition required for stoichiometries larger than 1

≏ is a congruence for ⊲

if technical condition holds

OPCT, June 2014 21 / 29

slide-36
SLIDE 36

Example (revisited)

(5,0,0) (4,0,1) (3,0,2) (2,0,3) (1,0,4) (0,0,5) (3,1,0) (2,1,1) (1,1,2) (0,1,3) (1,2,0) (0,2,1) α1 α1 α1 α1 α1 α1 α1 α1 α1 α2 α2 α2 α2 α2 α2 α2 α2 α2 α3 α3 α3 α3 α3 α3

OPCT, June 2014 22 / 29

slide-37
SLIDE 37

Example (revisited)

(5,0,0) (4,0,1) (3,0,2) (2,0,3) (1,0,4) (0,0,5) (3,1,0) (2,1,1) (1,1,2) (0,1,3) (1,2,0) (0,2,1) α1 α1 α1 α1 α1 α1 α1 α1 α1 α2 α2 α2 α2 α2 α2 α2 α2 α2 α3 α3 α3 α3 α3 α3 (6,0,0) (5,0,1) (4,0,2) (3,0,3) (2,0,4) (1,0,5) (0,0,6) (4,1,0) (3,1,1) (2,1,2) (1,1,3) (0,1,4) (2,2,0) (1,2,1) (0,2,2) (0,3,0) α1 α1 α1 α1 α1 α1 α1 α1 α1 α1 α1 α1 α2 α2 α2 α2 α2 α2 α2 α2 α2 α2 α2 α2 α3 α3 α3 α3 α3 α3 α3 α3 α3

OPCT, June 2014 22 / 29

slide-38
SLIDE 38

Example (revisited)

(5,0,0) (4,0,1) (3,0,2) (2,0,3) (1,0,4) (0,0,5) (3,1,0) (2,1,1) (1,1,2) (0,1,3) (1,2,0) (0,2,1) α1 α1 α1 α1 α1 α1 α1 α1 α1 α2 α2 α2 α2 α2 α2 α2 α2 α2 α3 α3 α3 α3 α3 α3

these are not compression bisimilar

(6,0,0) (5,0,1) (4,0,2) (3,0,3) (2,0,4) (1,0,5) (0,0,6) (4,1,0) (3,1,1) (2,1,2) (1,1,3) (0,1,4) (2,2,0) (1,2,1) (0,2,2) (0,3,0) α1 α1 α1 α1 α1 α1 α1 α1 α1 α1 α1 α1 α2 α2 α2 α2 α2 α2 α2 α2 α2 α2 α2 α2 α3 α3 α3 α3 α3 α3 α3 α3 α3

OPCT, June 2014 22 / 29

slide-39
SLIDE 39

Open problems

hypothesis: if T is the lcm for all stoichiometric coefficients,

n = m + cT for c ∈ N and n, m large enough, then Pn ≏ Pm can this be proved?

OPCT, June 2014 23 / 29

slide-40
SLIDE 40

Open problems

hypothesis: if T is the lcm for all stoichiometric coefficients,

n = m + cT for c ∈ N and n, m large enough, then Pn ≏ Pm can this be proved?

can compression bisimulation be extended to an (approximate)

quantitative equivalence?

OPCT, June 2014 23 / 29

slide-41
SLIDE 41

Open problems

hypothesis: if T is the lcm for all stoichiometric coefficients,

n = m + cT for c ∈ N and n, m large enough, then Pn ≏ Pm can this be proved?

can compression bisimulation be extended to an (approximate)

quantitative equivalence?

are there other operators of interest? can two subpopulations, C and D, be combined? define a new operator C ⊞ D must the actions of C and D be disjoint? can a single subpopulation have repeated actions? OPCT, June 2014 23 / 29

slide-42
SLIDE 42

Open problems (continued)

how can the notion of a stochastic population process algebra

be made more general?

what are the important aspects? can these be expressed by parameterising functions? choice of functions instantiates population process algebra provide meta-results with respect to these functions not as general as a SOS format OPCT, June 2014 24 / 29

slide-43
SLIDE 43

More generally

C(n)

α,νC

α(n)

− − − − − →c C(µC

α(n))

C

def

=

nC

  • k=1

βk ⊙ C α ∈ {β1, . . . , βnC } µC

α(n) and νC α (n) are defined

stoichiometric information and conditions no longer appear in

the prefix but are embedded in the definition of the function µC

α

  • nly local information about C can be used in µC

α and νC α

OPCT, June 2014 25 / 29

slide-44
SLIDE 44

More generally (continued)

P

α,S

− − →c P′ P ⊲

∗ Q α,S

− − →c P′ ⊲

∗ Q

Q

α,S′

− − →c Q

α,S

− − →c Q′ P ⊲

∗ Q α,S

− − →c P′ ⊲

∗ Q

P

  • α,S′

− − →c P

α,S1

− − →c P′ Q

α,S2

− − →c Q′ P ⊲

∗ Q α,ρα(S1,S2)

− − − − − − − →c P′ ⊲

∗ Q′

if ρα(S1, S2) is defined

OPCT, June 2014 26 / 29

slide-45
SLIDE 45

More generally (continued)

P

α,S

− − →c P′ P

α,fα(S)

− − − − →s P′

fα : S → R≥0 Markov chain semantics are given by

α,r

− − →s

ODEs can be derived from C1(n1,0) ⊲

∗ . . . ⊲

∗ Cp(np,0)

unspecified functions: νC

α , µC α, ρα, fα

what are sensible choices in the context of population modelling? OPCT, June 2014 27 / 29

slide-46
SLIDE 46

Open problems (continued)

how can modelling of space in the context of smart transport

and smart grids be combined with population modelling?

OPCT, June 2014 28 / 29

slide-47
SLIDE 47

Open problems (continued)

how can modelling of space in the context of smart transport

and smart grids be combined with population modelling?

OPCT, June 2014 28 / 29

slide-48
SLIDE 48

Thank you

OPCT, June 2014 29 / 29