Population Protocols and Predicates Pierre Ganty IMDEA Software - - PowerPoint PPT Presentation

population protocols and predicates
SMART_READER_LITE
LIVE PREVIEW

Population Protocols and Predicates Pierre Ganty IMDEA Software - - PowerPoint PPT Presentation

Population Protocols and Predicates Pierre Ganty IMDEA Software Institute The computer science debate: Journals vs Conferences Tired Rested Journals Conferences The computer science debate: Journals vs Conferences Tired Rested Journals


slide-1
SLIDE 1

Population Protocols and Predicates

Pierre Ganty IMDEA Software Institute

slide-2
SLIDE 2

The computer science debate: Journals vs Conferences

Tired Rested Journals Conferences

slide-3
SLIDE 3

The computer science debate: Journals vs Conferences

Tired Rested Journals Conferences

slide-4
SLIDE 4

The computer science debate: Journals vs Conferences

Tired Rested Journals Conferences

slide-5
SLIDE 5

The computer science debate: Journals vs Conferences

Tired Rested Journals Conferences

slide-6
SLIDE 6

The computer science debate: Journals vs Conferences

Tired Rested Journals Conferences

slide-7
SLIDE 7

The computer science debate: Journals vs Conferences

Tired Rested Journals Conferences

slide-8
SLIDE 8

The computer science debate: Journals vs Conferences

Tired Rested Journals Conferences

slide-9
SLIDE 9

The computer science debate: Journals vs Conferences

Tired Rested Journals Conferences

  • If two thinking the same debate then they remain the same
  • Rested scientists convince tired ones of anything
  • If two feeling the same debate then the one for conferences

convince the one for journals, and both feel tired afterwards

slide-10
SLIDE 10

The computer science debate: Journals vs Conferences

Tired Rested Journals Conferences

  • If two thinking the same debate then they remain the same
  • Rested scientists convince tired ones of anything
  • If two feeling the same debate then the one for conferences

convince the one for journals, and both feel tired afterwards

slide-11
SLIDE 11

The computer science debate: Journals vs Conferences

Tired Rested Journals Conferences

  • (

, ) → ( , )

  • (

, ) → ( , )

slide-12
SLIDE 12

The computer science debate: Journals vs Conferences

Tired Rested Journals Conferences

  • If two thinking the same debate then they remain the same
  • Rested scientists convince tired ones of anything
  • If two feeling the same debate then the one for conferences

convince the one for journals, and both feel tired afterwards

slide-13
SLIDE 13

The computer science debate: Journals vs Conferences

Tired Rested Journals Conferences

  • (

, ) → ( , )

  • (

, ) → ( , )

slide-14
SLIDE 14

The computer science debate: Journals vs Conferences

Tired Rested Journals Conferences What is the result of endless debates?

slide-15
SLIDE 15

The computer science debate: Journals vs Conferences

Tired Rested Journals Conferences What is the result of endless debates? ¿initial distribution? ¿scheduler policy?

slide-16
SLIDE 16

Initial distribution

Tired Rested Journals Conferences

slide-17
SLIDE 17

Initial distributions & reachability graphs

Take a population of 3 rested computer scientists 3 T R J C

slide-18
SLIDE 18

Initial distributions & reachability graphs

Take a population of 3 rested computer scientists 3 T R J C 3 T R J C 1 2 2 1 3

slide-19
SLIDE 19

Initial distributions & reachability graphs

Take a population of 3 rested computer scientists 3 T R J C 3 T R J C 1 2 2 1 3

slide-20
SLIDE 20

PP define infinitely many graphs

x y T R J C x + y = 3 x + y = 4 x + y = 5

slide-21
SLIDE 21

Tired Rested Journals Conferences What is the result of endless debates? initial distributions ¿scheduler policy?

  • (

, ) → ( , )

  • (

, ) → ( , )

. . .

slide-22
SLIDE 22

Scheduler policy: fair

“if C appears infinitely often in a fair execution, then every step enabled at C is taken infinitely often in the execution”

slide-23
SLIDE 23

Scheduler policy: fair

T R J C 1 2 2 1 1 1 1 1 2 1 1 1 “if C appears infinitely often in a fair execution, then every step enabled at C is taken infinitely often in the execution”

slide-24
SLIDE 24

Scheduler policy: fair

T R J C 1 2 2 1 1 1 1 1 2 1 1 1 “if C appears infinitely often in a fair execution, then every step enabled at C is taken infinitely often in the execution”

slide-25
SLIDE 25

Scheduler policy: fair

T R J C 1 2 2 1 1 1 1 1 2 1 1 1 “if C appears infinitely often in a fair execution, then every step enabled at C is taken infinitely often in the execution”

slide-26
SLIDE 26

Scheduler policy: fair

T R J C 1 2 2 1 1 1 1 1 2 1 1 1 “if C appears infinitely often in a fair execution, then every step enabled at C is taken infinitely often in the execution”

  • infinite executions end up in Strongly Connected Components
  • fair executions end up in a bottom SCC visiting every state
slide-27
SLIDE 27

If for each initial distribution

  • 1. the agents reach a stable consensus
  • 2. the outcome only depends on the initial distribution

then PP maps initial distributions onto consensus values Under a fair scheduler

slide-28
SLIDE 28

If for each initial distribution

  • 1. the agents reach a stable consensus
  • 2. the outcome only depends on the initial distribution

then PP maps initial distributions onto consensus values J or C Under a fair scheduler

slide-29
SLIDE 29

If for each initial distribution

  • 1. the agents reach a stable consensus
  • 2. the outcome only depends on the initial distribution

then PP maps initial distributions onto consensus values True or False ϕ(x, y) → {True, False} Under a fair scheduler

slide-30
SLIDE 30

Does my PP compute a predicate? Does my PP compute this predicate? What predicate does my PP compute? ( , ) → ( , )

. . .

( , ) → ( , ) False True x y

slide-31
SLIDE 31

Does my PP compute a predicate?

  • 1. the agents reach a stable consensus under a fair scheduler
  • broken when, in a reachable bottom SCC ,
  • broken when, in a reachable bottom SCC ,
  • 2. the outcome only depends on the initial distribution
  • broken when, two bottom SCC are such that

. . . . . . . . . . . . . . . . . . . . .

slide-32
SLIDE 32

. . . . . . . . . . . . . . . . . . c0 is initial c1, c2 belongs to bottom SCC ∧ c1( ) > 0∧ c2( ) > 0 c1, c2 are reachable from c0 1.a 2. 1.b Equivalently, there exist configurations c0, c1, c2 such that PP does not compute a predicate iff either condition holds: . . .

slide-33
SLIDE 33

Decision procedure

c0 is initial c1, c2 belongs to bottom SCC∧ c1( ) > 0∧ c2( ) > 0 c1, c2 are reachable from c0

slide-34
SLIDE 34

Decision procedure

c0 is initial c1, c2 belongs to bottom SCC∧ c1( ) > 0∧ c2( ) > 0 c1, c2 are reachable from c0

slide-35
SLIDE 35

Decision procedure

c0 is initial c1, c2 belongs to bottom SCC∧ c1( ) > 0∧ c2( ) > 0 c1, c2 are reachable from c0

slide-36
SLIDE 36

Decision procedure

c0 is initial c1, c2 belongs to bottom SCC∧ c1( ) > 0∧ c2( ) > 0 c1, c2 are reachable from c0

slide-37
SLIDE 37

Population Protocols Petri nets State Place Configuration Marking ( , ) → ( , ) PP PN with infinitely many initial markings

slide-38
SLIDE 38

Petrification of the debating scientists

RJ RC TJ TC 2 2

slide-39
SLIDE 39

c0 is initial c1, c2 belongs to bottom SCC∧ c1( ) > 0∧ c2( ) > 0 c1, c2 are reachable from c0 in N, the Petrified PP

slide-40
SLIDE 40

c0 is initial c1, c2 belongs to bottom SCC∧ c1( ) > 0∧ c2( ) > 0 c1, c2 are reachable from c0 in N, the Petrified PP ⇒ = = ⇒ c0 c1 c2 N N

slide-41
SLIDE 41

c0 is initial c1, c2 belongs to bottom SCC∧ c1( ) > 0∧ c2( ) > 0 c1, c2 are reachable from c0 in N, the Petrified PP A(C0, C′

0)

def

= InitN(C0) ∧ InitN(C′

0) ∧ C0 = C′

B(C1, C2)

def

= ΩN(C1) ∧ ΩN(C2) ∧ C1( ) > 0 ∧ C2( ) > 0 Check reachability from A to B in N N ⇒ = = ⇒ c0 c1 c2 N N

slide-42
SLIDE 42

How to compute Ω?

m m′ The reachability relation is not Presburger definable

slide-43
SLIDE 43

How to compute Ω?

But, the mutual reachability relation is effectively Presburger m m′ The reachability relation is not Presburger definable that is, a Presburger formula MR(m, m′) is computable

slide-44
SLIDE 44

Finally

ΩN(C)

def

= ∀C′, C′′ : (MRN(C, C′) ∧ C′→C′′) ⇒ MRN(C, C′′) A(C0, C′

0)

def

= InitN(C0) ∧ InitN(C′

0) ∧ C0 = C′

B(C1, C2)

def

= ΩN(C1) ∧ ΩN(C2) ∧ C1( ) > 0 ∧ C2( ) > 0 Check reachability from A to B in N N

slide-45
SLIDE 45

Finally

ΩN(C)

def

= ∀C′, C′′ : (MRN(C, C′) ∧ C′→C′′) ⇒ MRN(C, C′′) A(C0, C′

0)

def

= InitN(C0) ∧ InitN(C′

0) ∧ C0 = C′

B(C1, C2)

def

= ΩN(C1) ∧ ΩN(C2) ∧ C1( ) > 0 ∧ C2( ) > 0 Check reachability from A to B in N N C C′

slide-46
SLIDE 46

Finally

ΩN(C)

def

= ∀C′, C′′ : (MRN(C, C′) ∧ C′→C′′) ⇒ MRN(C, C′′) A(C0, C′

0)

def

= InitN(C0) ∧ InitN(C′

0) ∧ C0 = C′

B(C1, C2)

def

= ΩN(C1) ∧ ΩN(C2) ∧ C1( ) > 0 ∧ C2( ) > 0 Check reachability from A to B in N N C C′ C′′

slide-47
SLIDE 47

Finally

ΩN(C)

def

= ∀C′, C′′ : (MRN(C, C′) ∧ C′→C′′) ⇒ MRN(C, C′′) A(C0, C′

0)

def

= InitN(C0) ∧ InitN(C′

0) ∧ C0 = C′

B(C1, C2)

def

= ΩN(C1) ∧ ΩN(C2) ∧ C1( ) > 0 ∧ C2( ) > 0 Check reachability from A to B in N N C C′ C′′

slide-48
SLIDE 48

Does my PP compute this predicate? What predicate does my PP compute?

slide-49
SLIDE 49

What predicate can PPs compute?

PP compute exactly the Presburger predicates [Angluin et al.,’04]

slide-50
SLIDE 50

What predicate can PPs compute?

PP compute exactly the Presburger predicates [Angluin et al.,’04] Not less than Presburger is “easy”: treshold, ≡m, ∧, ∨, ¬ Not more Presburger is “involved”

slide-51
SLIDE 51

Does my PP compute this (Presburger) predicate? What (Presburger) predicate does my PP compute?

slide-52
SLIDE 52

Does my PP compute this (Presburger) predicate? What (Presburger) predicate does my PP compute? effectively computable decidable

slide-53
SLIDE 53

Does my PP compute (Presburger) predicate Π?

slide-54
SLIDE 54

Does my PP compute (Presburger) predicate Π?

It does not compute Π when:

  • for a valuation v1, . . . , vn such that Π(v1, . . . , vn) =

InitN(C0) reaches C1( ) > 0 ∧ ΩN(C1) where C0(xi) =

  • vi

if 1 ≤ i ≤ n elsewhere

slide-55
SLIDE 55

Does my PP compute (Presburger) predicate Π?

It does not compute Π when:

  • for a valuation v1, . . . , vn such that Π(v1, . . . , vn) =

InitN(C0) reaches C1( ) > 0 ∧ ΩN(C1) where C0(xi) =

  • vi

if 1 ≤ i ≤ n elsewhere OR

  • for a valuation v1, . . . , vn such that Π(v1, . . . , vn) =

InitN(C0) reaches C1( ) > 0 ∧ ΩN(C1) where C0(xi) =

  • vi

if 1 ≤ i ≤ n elsewhere

slide-56
SLIDE 56

“Does my PP compute a predicate?” is PN-reachability hard

slide-57
SLIDE 57

“Does my PP compute a predicate?” is PN-reachability hard

Does p0 ∈ Reach(N, M) for some M s.t. M(p0 ∪ P) = 0? p0 ∈ P / ∈ P / ∈ P ∈ P ∈ P / ∈ P N “looks like” a PP: transitions have 1 or 2 input/output arcs p0 is “write only”: no transition consumes from p0

slide-58
SLIDE 58

PN-reachability hardness (con’td)

PP states = {places of N} ∪ {Budget} ∪ {zombie}

slide-59
SLIDE 59

PN-reachability hardness (con’td)

PP states = {places of N} ∪ {Budget} ∪ {zombie} (p1, p2) − → (p′

1, p′ 2)

(p, Budget) − → (p′

1, p′ 2)

(p1, p2) − → (p′, Budget) (p, Budget) − → (p′, Budget) p1 p2 p′

2

p′

1

p1 p2 p′

2

p′

1

p p′ p′ p PP transitions:

slide-60
SLIDE 60

From PN reachability to “does my PP compute a predicate?”

p0 Budget

  • p0 ∈ Reach(N, M) for some marking M

. . .

zombie

places of N

slide-61
SLIDE 61

From PN reachability to “does my PP compute a predicate?”

p0 Budget

  • p0 ∈ Reach(N, M) for some marking M

. . .

zombie

places of N

slide-62
SLIDE 62

From PN reachability to “does my PP compute a predicate?”

p0 Budget

  • p0 ∈ Reach(N, M) for some marking M

. . .

zombie

places of N

slide-63
SLIDE 63

From PN reachability to “does my PP compute a predicate?”

p0 Budget

  • p0 ∈ Reach(N, M) for some marking M

. . .

  • p0 ∈ Reach(N, M) for no marking M

p0

. . .

zombie zombie Budget

places of N

slide-64
SLIDE 64

From PN reachability to “does my PP compute a predicate?”

p0 Budget

  • p0 ∈ Reach(N, M) for some marking M

. . .

p0

. . . . . .

  • p0 ∈ Reach(N, M) for no marking M

p0

. . .

zombie zombie zombie Budget Budget

places of N

slide-65
SLIDE 65

From PN reachability to “does my PP compute a predicate?”

p0 Budget

  • p0 ∈ Reach(N, M) for some marking M

. . .

p0

. . . . . .

(p0, X) − → (p0, zombie) ∀X ∈ places of N (zombie, Y ) − → (zombie, zombie) ∀Y

  • p0 ∈ Reach(N, M) for no marking M

p0

. . .

zombie zombie zombie Budget Budget

places of N

slide-66
SLIDE 66

From general PN-reachability to ”our” PN-reachability

Does M ∈ Reach(N, M0)?

slide-67
SLIDE 67

From general PN-reachability to ”our” PN-reachability

Does M ∈ Reach(N, M0)? Does M ∈ Reach(N0, M0) from some M with M(ˆ p) = 0?

slide-68
SLIDE 68

From general PN-reachability to ”our” PN-reachability

Does M ∈ Reach(N, M0)? Does M ∈ Reach(N0, M0) from some M with M(ˆ p) = 0? Does M ∈ Reach(N1, M0 + ℓ) for some M s.t. M(ˆ p) = 0 and M(Paux) = 0 and where N1 is PP like?

slide-69
SLIDE 69

p1 p2 p3 p4 p5 t 2 p1 p2 ℓ p3 p4 p5

slide-70
SLIDE 70

From general PN-reachability to ”our” PN-reachability

Does M ∈ Reach(N, M0)? Does M ∈ Reach(N0, M0) from some M with M(ˆ p) = 0? Does M ∈ Reach(N1, M0 + ℓ) for some M s.t. M(ˆ p) = 0 and M(Paux) = 0 and where N1 is PP like?

slide-71
SLIDE 71

From general PN-reachability to ”our” PN-reachability

Does M ∈ Reach(N, M0)? Does M ∈ Reach(N0, M0) from some M with M(ˆ p) = 0? Does M ∈ Reach(N1, M0 + ℓ) for some M s.t. M(ˆ p) = 0 and M(Paux) = 0 and where N1 is PP like? Does M ∈ Reach(N2, p0) for a M s.t. M({ˆ p, p0} ∪ Paux)=0?

slide-72
SLIDE 72

From general PN-reachability to ”our” PN-reachability

Does M ∈ Reach(N, M0)? Does M ∈ Reach(N0, M0) from some M with M(ˆ p) = 0? Does M ∈ Reach(N1, M0 + ℓ) for some M s.t. M(ˆ p) = 0 and M(Paux) = 0 and where N1 is PP like? Does M ∈ Reach(N2, p0) for a M s.t. M({ˆ p, p0} ∪ Paux)=0? Does p0 ∈ Reach(N3, M) for a M s.t. M({ˆ p, p0} ∪ Paux)=0?

slide-73
SLIDE 73

Population Protocols

Theoretical model with reasonable motivations Does my PP compute a predicate? Does my PP compute this predicate? What predicate does my PP compute?

Credits: Javier Esparza , Rupak Majumdar , Jerome Leroux

  • distributed computations among sensor nodes
  • “soups” of chemical molecules
  • people in social networks
  • . . .