population protocols and predicates
play

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


  1. Population Protocols and Predicates Pierre Ganty IMDEA Software Institute

  2. The computer science debate: Journals vs Conferences Tired Rested Journals Conferences

  3. The computer science debate: Journals vs Conferences Tired Rested Journals Conferences

  4. The computer science debate: Journals vs Conferences Tired Rested Journals Conferences

  5. The computer science debate: Journals vs Conferences Tired Rested Journals Conferences

  6. The computer science debate: Journals vs Conferences Tired Rested Journals Conferences

  7. The computer science debate: Journals vs Conferences Tired Rested Journals Conferences

  8. The computer science debate: Journals vs Conferences Tired Rested Journals Conferences

  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

  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

  11. The computer science debate: Journals vs Conferences Tired Rested Journals Conferences • ( , ) �→ ( , ) • ( , ) �→ ( , )

  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

  13. The computer science debate: Journals vs Conferences Tired Rested Journals Conferences • ( , ) �→ ( , ) • ( , ) �→ ( , )

  14. The computer science debate: Journals vs Conferences Tired Rested Journals Conferences What is the result of endless debates?

  15. The computer science debate: Journals vs Conferences Tired Rested Journals Conferences ¿initial distribution? ¿scheduler policy? What is the result of endless debates?

  16. Initial distribution Tired Rested 0 Journals 0 Conferences

  17. Initial distributions & reachability graphs Take a population of 3 rested computer scientists T R 0 0 J 3 0 C

  18. Initial distributions & reachability graphs Take a population of 3 rested computer scientists T R T R 0 0 0 0 0 0 0 1 2 3 J J 2 1 0 3 3 0 0 0 0 0 C C

  19. Initial distributions & reachability graphs Take a population of 3 rested computer scientists T R T R 0 0 0 0 0 0 0 1 2 3 J J 2 1 0 3 3 0 0 0 0 0 C C

  20. PP define infinitely many graphs T R x 0 J y 0 C x + y = 3 x + y = 4 x + y = 5

  21. Tired Rested Journals Conferences • ( , ) �→ ( , ) • ( , ) �→ ( , ) . . . � initial distributions � ¿scheduler policy? What is the result of endless debates?

  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”

  23. 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” T R 1 1 2 1 0 1 0 0 J 2 1 1 2 0 0 0 0 C 1 0 1 1

  24. 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” T R 1 1 2 1 0 1 0 0 J 2 1 1 2 0 0 0 0 C 1 0 1 1

  25. 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” T R 1 1 2 1 0 1 0 0 J 2 1 1 2 0 0 0 0 C 1 0 1 1

  26. 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” T R 1 1 2 1 0 1 0 0 J 2 1 1 2 0 0 0 0 C 1 0 1 1 • infinite executions end up in Strongly Connected Components • fair executions end up in a bottom SCC visiting every state

  27. Under a fair scheduler 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

  28. Under a fair scheduler If for each initial distribution 1. the agents reach a stable consensus 2. the outcome only depends on the initial distribution then J or C PP maps initial distributions onto consensus values

  29. Under a fair scheduler If for each initial distribution 1. the agents reach a stable consensus 2. the outcome only depends on the initial distribution then True or False PP maps initial distributions onto consensus values ϕ ( x, y ) �→ { True , False }

  30. ( , ) �→ ( , ) x False 0 . . . y 0 True ( , ) �→ ( , ) Does my PP compute a predicate? Does my PP compute this predicate? What predicate does my PP compute?

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

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

  33. Decision procedure c 0 is initial c 1 , c 2 belongs to bottom SCC ∧ c 1 ( ) > 0 ∧ c 2 ( ) > 0 c 1 , c 2 are reachable from c 0

  34. Decision procedure c 0 is initial c 1 , c 2 belongs to bottom SCC ∧ c 1 ( ) > 0 ∧ c 2 ( ) > 0 c 1 , c 2 are reachable from c 0

  35. Decision procedure c 0 is initial c 1 , c 2 belongs to bottom SCC ∧ c 1 ( ) > 0 ∧ c 2 ( ) > 0 c 1 , c 2 are reachable from c 0

  36. Decision procedure c 0 is initial c 1 , c 2 belongs to bottom SCC ∧ c 1 ( ) > 0 ∧ c 2 ( ) > 0 c 1 , c 2 are reachable from c 0

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

  38. Petrification of the debating scientists RJ RC 2 TJ TC 2

  39. c 0 is initial c 1 , c 2 belongs to bottom SCC ∧ c 1 ( ) > 0 ∧ c 2 ( ) > 0 c 1 , c 2 are reachable from c 0 in N , the Petrified PP

  40. c 0 is initial c 1 , c 2 belongs to bottom SCC ∧ c 1 ( ) > 0 ∧ c 2 ( ) > 0 c 1 , c 2 are reachable from c 0 in N , the Petrified PP N N c 0 = = ⇒ ⇒ c 1 c 2

  41. c 0 is initial c 1 , c 2 belongs to bottom SCC ∧ c 1 ( ) > 0 ∧ c 2 ( ) > 0 c 1 , c 2 are reachable from c 0 in N , the Petrified PP N N c 0 = = ⇒ ⇒ c 1 c 2 def A ( C 0 , C ′ 0 ) = Init N ( C 0 ) ∧ Init N ( C ′ 0 ) ∧ C 0 = C ′ 0 def B ( C 1 , C 2 ) = Ω N ( C 1 ) ∧ Ω N ( C 2 ) ∧ C 1 ( ) > 0 ∧ C 2 ( ) > 0 Check reachability from A to B in N N

  42. How to compute Ω ? m ′ m The reachability relation is not Presburger definable

  43. How to compute Ω ? m ′ m The reachability relation is not Presburger definable But, the mutual reachability relation is effectively Presburger that is, a Presburger formula MR ( m, m ′ ) is computable

  44. Finally def A ( C 0 , C ′ 0 ) = Init N ( C 0 ) ∧ Init N ( C ′ 0 ) ∧ C 0 = C ′ 0 def B ( C 1 , C 2 ) = Ω N ( C 1 ) ∧ Ω N ( C 2 ) ∧ C 1 ( ) > 0 ∧ C 2 ( ) > 0 Check reachability from A to B in N N = ∀ C ′ , C ′′ : ( MR N ( C, C ′ ) ∧ C ′ → C ′′ ) ⇒ MR N ( C, C ′′ ) def Ω N ( C )

  45. Finally def A ( C 0 , C ′ 0 ) = Init N ( C 0 ) ∧ Init N ( C ′ 0 ) ∧ C 0 = C ′ 0 def B ( C 1 , C 2 ) = Ω N ( C 1 ) ∧ Ω N ( C 2 ) ∧ C 1 ( ) > 0 ∧ C 2 ( ) > 0 Check reachability from A to B in N N = ∀ C ′ , C ′′ : ( MR N ( C, C ′ ) ∧ C ′ → C ′′ ) ⇒ MR N ( C, C ′′ ) def Ω N ( C ) C ′ C

  46. Finally def A ( C 0 , C ′ 0 ) = Init N ( C 0 ) ∧ Init N ( C ′ 0 ) ∧ C 0 = C ′ 0 def B ( C 1 , C 2 ) = Ω N ( C 1 ) ∧ Ω N ( C 2 ) ∧ C 1 ( ) > 0 ∧ C 2 ( ) > 0 Check reachability from A to B in N N = ∀ C ′ , C ′′ : ( MR N ( C, C ′ ) ∧ C ′ → C ′′ ) ⇒ MR N ( C, C ′′ ) def Ω N ( C ) C ′ C ′′ C

  47. Finally def A ( C 0 , C ′ 0 ) = Init N ( C 0 ) ∧ Init N ( C ′ 0 ) ∧ C 0 = C ′ 0 def B ( C 1 , C 2 ) = Ω N ( C 1 ) ∧ Ω N ( C 2 ) ∧ C 1 ( ) > 0 ∧ C 2 ( ) > 0 Check reachability from A to B in N N = ∀ C ′ , C ′′ : ( MR N ( C, C ′ ) ∧ C ′ → C ′′ ) ⇒ MR N ( C, C ′′ ) def Ω N ( C ) C ′ C ′′ C

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

  49. What predicate can PPs compute? PP compute exactly the Presburger predicates [Angluin et al.,’04]

Recommend


More recommend