Molecular Computation An Algorithmic Approach Rati Gelashvili - - PowerPoint PPT Presentation

molecular computation
SMART_READER_LITE
LIVE PREVIEW

Molecular Computation An Algorithmic Approach Rati Gelashvili - - PowerPoint PPT Presentation

Molecular Computation An Algorithmic Approach Rati Gelashvili Joint work with Dan Alistarh (ETH), David Eisenstat (Google), James Aspnes (Yale), Milan Vojnovic (MSR), Ron Rivest (MIT) Distributed Systems Ingredients:


slide-1
SLIDE 1

Molecular Computation 


An Algorithmic Approach

Rati Gelashvili


Joint work with 
 Dan Alistarh (ETH), David Eisenstat (Google), 
 James Aspnes (Yale), Milan Vojnovic (MSR), Ron Rivest (MIT)

slide-2
SLIDE 2

Distributed Systems

Ingredients:

slide-3
SLIDE 3

Distributed Systems

Ingredients:

  • Nodes
slide-4
SLIDE 4

Distributed Systems

Ingredients:

  • Nodes
  • Communication
slide-5
SLIDE 5

Distributed Systems

Ingredients:

  • Nodes
  • Communication
  • Computation
slide-6
SLIDE 6

Computational Model


Population Protocols [AADFP’04]

slide-7
SLIDE 7

Computational Model


Population Protocols [AADFP’04]

  • Nodes are simple, identical agents
  • Each node is the same finite state automaton
  • For example: a molecule

slide-8
SLIDE 8

Computational Model


Population Protocols [AADFP’04]

  • Nodes are simple, identical agents
  • Each node is the same finite state automaton
  • For example: a molecule

  • Interactions are pairwise, and follow a fair scheduler
  • Usually considered uniform random
  • Nodes update their state following interactions

slide-9
SLIDE 9

Computational Model


Population Protocols [AADFP’04]

  • Nodes are simple, identical agents
  • Each node is the same finite state automaton
  • For example: a molecule

  • Interactions are pairwise, and follow a fair scheduler
  • Usually considered uniform random
  • Nodes update their state following interactions

  • Computation is performed collectively
  • The system should converge to configurations 


satisfying meaningful predicates

  • No “fixed” decision time
slide-10
SLIDE 10

Computational Model


Population Protocols [AADFP’04]

  • Nodes are simple, identical agents
  • Each node is the same finite state automaton
  • For example: a molecule

  • Interactions are pairwise, and follow a fair scheduler
  • Usually considered uniform random
  • Nodes update their state following interactions

  • Computation is performed collectively
  • The system should converge to configurations 


satisfying meaningful predicates

  • No “fixed” decision time
  • A.k.a. Chemical Reaction Networks
slide-11
SLIDE 11

Complexity

  • 1. Time
  • Round = a single pair interacts
  • Chosen uniformly at random
  • Parallel convergence time
  • #rounds to convergence / # nodes
  • Alternative continuous-time definition exists
slide-12
SLIDE 12

Complexity

  • 1. Time
  • Round = a single pair interacts
  • Chosen uniformly at random
  • Parallel convergence time
  • #rounds to convergence / # nodes
  • Alternative continuous-time definition exists
  • 2. Space
  • Number of distinct states per automaton
  • Alternatively, #memory bits to encode state
slide-13
SLIDE 13

More Precisely: Communication

Courtesy of the Microsoft Research Biological Computation Group

slide-14
SLIDE 14

More Precisely: Communication

Courtesy of the Microsoft Research Biological Computation Group

slide-15
SLIDE 15

More Precisely: Communication

Courtesy of the Microsoft Research Biological Computation Group

slide-16
SLIDE 16

What can we compute?

We can perform interactions of the type:

A B C D

slide-17
SLIDE 17

What can we compute?

We can perform interactions of the type: Example: the OR function

  • Initial states: 0 or 1
  • Final state:
  • If there exists a 1, then all 1.
  • Otherwise, all 0
  • Protocol:

A B C D

slide-18
SLIDE 18

What can we compute?

We can perform interactions of the type: Example: the OR function

  • Initial states: 0 or 1
  • Final state:
  • If there exists a 1, then all 1.
  • Otherwise, all 0
  • Protocol:

A B C D

slide-19
SLIDE 19

What can we compute?

We can perform interactions of the type: Example: the OR function

  • Initial states: 0 or 1
  • Final state:
  • If there exists a 1, then all 1.
  • Otherwise, all 0
  • Protocol:

1 1 1 1 A B C D

slide-20
SLIDE 20

What can we compute?

We can perform interactions of the type: Example: the OR function

  • Initial states: 0 or 1
  • Final state:
  • If there exists a 1, then all 1.
  • Otherwise, all 0
  • Protocol:

1 1 1 1 1 1 1 A B C D

slide-21
SLIDE 21

What can we compute?

We can perform interactions of the type: Example: the OR function

  • Initial states: 0 or 1
  • Final state:
  • If there exists a 1, then all 1.
  • Otherwise, all 0
  • Protocol:

1 1 1 1 1 1 1 1 1 1 A B C D

slide-22
SLIDE 22

The Majority Function

Majority (“Consensus”)

  • Initial states A, B
  • Output:
  • A if #A > #B initially.
  • B, otherwise.
slide-23
SLIDE 23

The Majority Function

Majority (“Consensus”)

  • Initial states A, B
  • Output:
  • A if #A > #B initially.
  • B, otherwise.
  • Fundamental task
  • Complexity: [AAE08] & [DV12]; [PVV09] & [MNRS14]
  • Natural computation: 


the cell cycle switch implements approximate majority [CC12]

  • Implementation in DNA: [CDS+13, Nature Nanotechnology]
slide-24
SLIDE 24

Solving Majority

4-State Exact Majority [PVV09] [MNRS14]

  • Protocol:

A B

eA eB

slide-25
SLIDE 25

Solving Majority

4-State Exact Majority [PVV09] [MNRS14]

  • Protocol:

A B

eA eB

A B

eA eB

slide-26
SLIDE 26

Solving Majority

4-State Exact Majority [PVV09] [MNRS14]

  • Protocol:

A B

eA eB

A B

eA eB

A

eB eA

A

slide-27
SLIDE 27

Solving Majority

4-State Exact Majority [PVV09] [MNRS14]

  • Protocol:

A B

eA eB

A B

eA eB

A

eB eA

A B

eA eB

B

slide-28
SLIDE 28

Solving Majority

4-State Exact Majority [PVV09] [MNRS14]

  • Protocol:

A B

eA eB

A B

eA eB

A

eB eA

A B

eA eB

B

slide-29
SLIDE 29

Solving Majority

4-State Exact Majority [PVV09] [MNRS14]

  • Protocol:

A B

eA eB

A B

eA eB

A

eB eA

A B

eA eB

B

Discrepancy/margin: 
 ε = |#A - #B| / n Can be as small as ε = O(1 / n).

slide-30
SLIDE 30

Solving Majority

4-State Exact Majority [PVV09] [MNRS14]

  • Protocol:

A B

eA eB

A B

eA eB

A

eB eA

A B

eA eB

B

Theorem: Given n nodes and discrepancy ε, the running time of 4EM is O( (log n) / ε ).

Discrepancy/margin: 
 ε = |#A - #B| / n Can be as small as ε = O(1 / n).

slide-31
SLIDE 31

Solving Majority

4-State Exact Majority [PVV09] [MNRS14]

  • Protocol:

A B

eA eB

A B

eA eB

A

eB eA

A B

eA eB

B

Theorem: Given n nodes and discrepancy ε, the running time of 4EM is O( (log n) / ε ).

Can be ϴ( n log n ) if ε = constant / n.

Discrepancy/margin: 
 ε = |#A - #B| / n Can be as small as ε = O(1 / n).

slide-32
SLIDE 32

Solving Majority Approximately

  • 3-state Approximate Majority [AAE08] [DV12]

A B C

slide-33
SLIDE 33

Solving Majority Approximately

  • 3-state Approximate Majority [AAE08] [DV12]
  • The protocol:

A B C

slide-34
SLIDE 34

Solving Majority Approximately

  • 3-state Approximate Majority [AAE08] [DV12]
  • The protocol:

A B C A B C C

slide-35
SLIDE 35

Solving Majority Approximately

  • 3-state Approximate Majority [AAE08] [DV12]
  • The protocol:

A B C B B C B A B C C

slide-36
SLIDE 36

Solving Majority Approximately

  • 3-state Approximate Majority [AAE08] [DV12]
  • The protocol:

A B C B B C B A A C A A B C C

slide-37
SLIDE 37

Solving Majority Approximately

  • 3-state Approximate Majority [AAE08] [DV12]
  • The protocol:
  • Execution:

A B C B B C B A A C A A B C C

slide-38
SLIDE 38

Solving Majority Approximately

  • 3-state Approximate Majority [AAE08] [DV12]
  • The protocol:
  • Execution:

A B C B B C B A A C A A B C C

slide-39
SLIDE 39

Solving Majority Approximately

  • 3-state Approximate Majority [AAE08] [DV12]
  • The protocol:
  • Execution:

A B C B B C B A A C A A B C C

slide-40
SLIDE 40

Solving Majority Approximately

  • 3-state Approximate Majority [AAE08] [DV12]
  • The protocol:
  • Execution:

A B C B B C B A A C A

Theorem: Given n nodes and discrepancy ε > log n/√n, 
 the running time of 3AM is O( polylog n ), 
 and the protocol is correct with high probability.

A B C C

slide-41
SLIDE 41

Solving Majority Approximately

  • 3-state Approximate Majority [AAE08] [DV12]
  • The protocol:
  • Execution:

A B C B B C B A A C A

Theorem: Given n nodes and discrepancy ε > log n/√n, 
 the running time of 3AM is O( polylog n ), 
 and the protocol is correct with high probability.

Error probability can be as high as constant for lower discrepancy.

A B C C

slide-42
SLIDE 42

The Status

Algorithm Reliability Speed

The Four-State Protocol

Exact Slow 


(super-linear) The Three-State Protocol

Flaky

(Up to Constant Error)

Fast


(poly-logarithmic)

slide-43
SLIDE 43

Average&Conquer

Algorithm Reliability Speed

The Four-State Protocol

Exact Slow 


(super-linear) The Three-State Protocol

Flaky

(Up to Constant Error)

Fast


(poly-logarithmic) Average&Conquer [PODC 2015]

Exact Fast


(poly-logarithmic)

slide-44
SLIDE 44

Average&Conquer

Algorithm Reliability Speed

The Four-State Protocol

Exact Slow 


(super-linear) The Three-State Protocol

Flaky

(Up to Constant Error)

Fast


(poly-logarithmic) Average&Conquer [PODC 2015]

Exact Fast


(poly-logarithmic) (Super-Constant State Space)


slide-45
SLIDE 45

The Plan

  • Population Protocols
  • The Majority Problem
  • 4EM
  • 3AM
  • Average-and-Conquer (AVC)
  • Quantized AVC
  • Impossibility Results
  • Open Questions
  • Leader Election Problem
slide-46
SLIDE 46
  • Each state corresponds to a value (“confidence level”)
  • Strong states (non-negative value):
  • Positive -> A
  • Negative -> B
  • Weak: value +/- 0
  • All nodes start with absolute value m > 0
  • +m if A
  • -m if B
  • Two interaction types:
  • Averaging: strong (non-zero) nodes average out their values
  • Conquer: strong (non-zero) nodes bring weak nodes to “their side”
  • Output:
  • If positive or +0, then A
  • If negative or -0, then B

Simplified AVC: Main Ideas

+m

  • m
slide-47
SLIDE 47

AVC in Action

+m

  • m

+m - 1

  • m + 1

… …

+2 +1

  • 2
  • 1

Initially: +m or –m, odd integers Strong states: non-zero absolute value. Weak states: value zero (+/-).

+0

slide-48
SLIDE 48

AVC in Action

+m

  • m

+m - 1

  • m + 1

… …

+2 +1

  • 2
  • 1

Initially: +m or –m, odd integers Strong states: non-zero absolute value. Weak states: value zero (+/-). Averaging:

  • Whenever two strong nodes meet, they average values

+0

slide-49
SLIDE 49

AVC in Action

+m

  • m

+m - 1

  • m + 1

… …

+2 +1

  • 2
  • 1

Initially: +m or –m, odd integers Strong states: non-zero absolute value. Weak states: value zero (+/-). Averaging:

  • Whenever two strong nodes meet, they average values

+0

slide-50
SLIDE 50

AVC in Action

+m

  • m

+m - 1

  • m + 1

… …

+2 +1

  • 2
  • 1

Initially: +m or –m, odd integers Strong states: non-zero absolute value. Weak states: value zero (+/-). Averaging:

  • Whenever two strong nodes meet, they average values

+0

slide-51
SLIDE 51

AVC in Action

+m

  • m

+m - 1

  • m + 1

… …

+2 +1

  • 2
  • 1

Initially: +m or –m, odd integers Strong states: non-zero absolute value. Weak states: value zero (+/-). Averaging:

  • Whenever two strong nodes meet, they average values

+0

slide-52
SLIDE 52

AVC in Action

+m

  • m

+m - 1

  • m + 1

… …

+2 +1

  • 2
  • 1

Initially: +m or –m, odd integers Strong states: non-zero absolute value. Weak states: value zero (+/-). Averaging:

  • Whenever two strong nodes meet, they average values

+0

slide-53
SLIDE 53

AVC in Action

+m

  • m

+m - 1

  • m + 1

… …

+2 +1

  • 2
  • 1

Initially: +m or –m, odd integers Strong states: non-zero absolute value. Weak states: value zero (+/-). Averaging:

  • Whenever two strong nodes meet, they average values

+0

slide-54
SLIDE 54

AVC in Action

+m

  • m

+m - 1

  • m + 1

… …

+2 +1

  • 2
  • 1

Initially: +m or –m, odd integers Strong states: non-zero absolute value. Weak states: value zero (+/-). Averaging:

  • Whenever two strong nodes meet, they average values

+0

slide-55
SLIDE 55

AVC in Action

+m

  • m

+m - 1

  • m + 1

… …

+2 +1

  • 2
  • 1

+0

Initially: +m or –m, odd integers Strong states: non-zero absolute value. Weak states: value zero (+/-). Averaging:

  • Whenever two strong nodes meet, they average values
slide-56
SLIDE 56

AVC in Action

+m

  • m

+m - 1

  • m + 1

… …

+2 +1

  • 2
  • 1

+0

Initially: +m or –m, odd integers Strong states: non-zero absolute value. Weak states: value zero (+/-). Averaging:

  • Whenever two strong nodes meet, they average values
slide-57
SLIDE 57

AVC in Action

+m

  • m

+m - 1

  • m + 1

… …

+2 +1

  • 2
  • 1

+0

Initially: +m or –m, odd integers Strong states: non-zero absolute value. Weak states: value zero (+/-). Averaging:

  • Whenever two strong nodes meet, they average values
slide-58
SLIDE 58

AVC in Action

+m

  • m

+m - 1

  • m + 1

… …

+2 +1

  • 2
  • 1

+0

Initially: +m or –m, odd integers Strong states: non-zero absolute value. Weak states: value zero (+/-). Averaging:

  • Whenever two strong nodes meet, they average values

Conquer:

  • Strong nodes sway weak nodes towards their decision.
slide-59
SLIDE 59

AVC in Action

+m

  • m

+m - 1

  • m + 1

… …

+2 +1

  • 2
  • 1

+0

Initially: +m or –m, odd integers Strong states: non-zero absolute value. Weak states: value zero (+/-). Averaging:

  • Whenever two strong nodes meet, they average values

Conquer:

  • Strong nodes sway weak nodes towards their decision.
slide-60
SLIDE 60

AVC in Action

+m

  • m

+m - 1

  • m + 1

… …

+2 +1

  • 2
  • 1

+0

Initially: +m or –m, odd integers Strong states: non-zero absolute value. Weak states: value zero (+/-). Averaging:

  • Whenever two strong nodes meet, they average values

Conquer:

  • Strong nodes sway weak nodes towards their decision.
slide-61
SLIDE 61

AVC in Action

+m

  • m

+m - 1

  • m + 1

… …

+2 +1

  • 2
  • 1

+0

Initially: +m or –m, odd integers Strong states: non-zero absolute value. Weak states: value zero (+/-). Averaging:

  • Whenever two strong nodes meet, they average values

Conquer:

  • Strong nodes sway weak nodes towards their decision.

Note: For m = 1, we obtain 
 a variant of 4EM.

slide-62
SLIDE 62

AVC in Action

+m

  • m

+m - 1

  • m + 1

… …

+2 +1

  • 2
  • 1

+0

Initially: +m or –m, odd integers Strong states: non-zero absolute value. Weak states: value zero (+/-). Averaging:

  • Whenever two strong nodes meet, they average values

Conquer:

  • Strong nodes sway weak nodes towards their decision.

Note: For m = 1, we obtain 
 a variant of 4EM. Disclaimer: original protocol is more complicated for technical reasons

slide-63
SLIDE 63

Summing up

slide-64
SLIDE 64

Summing up

Theorem 1 [AGV15]: Given fixed m < n, AVC solves majority exactly in expected parallel time O( log n / (m ε) + log n log m ), 
 using s = O( m + log n log m ) total states.

slide-65
SLIDE 65

Summing up

  • In short:
  • If m ≈ 1 / ε, then running time is always poly-logarithmic
  • If ε = 1 / n, then m needs to be linear in n
  • 1023 molecules -> O( 1023 ) states?!
  • 1023 molecules -> O( 232 states )
  • The idea: quantize integer states to powers of two

Theorem 1 [AGV15]: Given fixed m < n, AVC solves majority exactly in expected parallel time O( log n / (m ε) + log n log m ), 
 using s = O( m + log n log m ) total states.

slide-66
SLIDE 66

Summing up

  • In short:
  • If m ≈ 1 / ε, then running time is always poly-logarithmic
  • If ε = 1 / n, then m needs to be linear in n
  • 1023 molecules -> O( 1023 ) states?!
  • 1023 molecules -> O( 232 states )
  • The idea: quantize integer states to powers of two

Theorem 1 [AGV15]: Given fixed m < n, AVC solves majority exactly in expected parallel time O( log n / (m ε) + log n log m ), 
 using s = O( m + log n log m ) total states. Theorem 2 [AAEGR16]: logAVC solves majority exactly in expected parallel time O( log3 n ), 
 using s = O( log2 n ) total states.

slide-67
SLIDE 67

Is AVC any good?

Results are for ε = O(1 / n) Legend: Blue = 3AM Green = 4EM Yellow = AVC / logAVC

slide-68
SLIDE 68

Is AVC any good?

Results are for ε = O(1 / n) Legend: Blue = 3AM Green = 4EM Yellow = AVC / logAVC

Is AVC implementable?

slide-69
SLIDE 69

Is AVC any good?

Results are for ε = O(1 / n) Legend: Blue = 3AM Green = 4EM Yellow = AVC / logAVC

Is AVC implementable?

Challenging: currently, small constant number of states implementable.

slide-70
SLIDE 70

Time-Space Trade-Offs

slide-71
SLIDE 71

Time-Space Trade-Offs

Theorem A : Any protocol using s < ½ log log n states per node and solving majority with discrepancy ε must have expected stabilization time 
 > n / (2s + εn)2.

slide-72
SLIDE 72

Time-Space Trade-Offs

  • In particular:
  • If s = constant and εn = constant, then stabilization time linear in n
  • If s = O( loglog n ) and εn = constant, then stabilization time > n / polylog n

Theorem A : Any protocol using s < ½ log log n states per node and solving majority with discrepancy ε must have expected stabilization time 
 > n / (2s + εn)2.

slide-73
SLIDE 73

Time-Space Trade-Offs

  • In particular:
  • If s = constant and εn = constant, then stabilization time linear in n
  • If s = O( loglog n ) and εn = constant, then stabilization time > n / polylog n

Theorem A : Any protocol using s < ½ log log n states per node and solving majority with discrepancy ε must have expected stabilization time 
 > n / (2s + εn)2.

Complex molecules are needed for 
 deterministic computation.

slide-74
SLIDE 74

Discussion

slide-75
SLIDE 75

Discussion

Molecular computation is fertile ground 
 for algorithmic research.

slide-76
SLIDE 76

Discussion

Molecular computation is fertile ground 
 for algorithmic research. There are inherent space-time trade-offs when designing deterministic population protocols. .

slide-77
SLIDE 77

Discussion

Molecular computation is fertile ground 
 for algorithmic research. There are inherent space-time trade-offs when designing deterministic population protocols. .

Open Challenges:

  • Tighter trade-off bounds
  • Other problems: plurality, approximate counting
  • Modeling faulty interactions (leaks)
  • Large-scale simulation of molecular algorithms
slide-78
SLIDE 78

Leader Election

  • Input: All nodes start in the same initial state
  • Output:

Algorithm Number of States Convergence Time

Trivial Leader Election

2 Ω(n2)

Leader-Minion [AG, ICALP 2015]

O(log3 n) O(log3 n)

Lottery Leader Election [AAEGR16]

O(log2 n) O(log5.3 n loglogn)

slide-79
SLIDE 79

Leader Election

  • Input: All nodes start in the same initial state
  • Output:
  • Exactly one node is in a “leader” state,

remains leader forever Algorithm Number of States Convergence Time

Trivial Leader Election

2 Ω(n2)

Leader-Minion [AG, ICALP 2015]

O(log3 n) O(log3 n)

Lottery Leader Election [AAEGR16]

O(log2 n) O(log5.3 n loglogn)

slide-80
SLIDE 80

The Impossibility Result

Theorem A : Any protocol using < ½ log log n states per node and electing L leaders will have expected stabilization time > n / (C polylog n L2).

slide-81
SLIDE 81

The Impossibility Result

  • Example:
  • O( log log n ) states / node, one leader
  • Stabilization time > n / polylog n (quasi-linear)
  • Generalizes a recent result by Doty and Soloveichik [DISC15]

to super-constant states Theorem A : Any protocol using < ½ log log n states per node and electing L leaders will have expected stabilization time > n / (C polylog n L2).

slide-82
SLIDE 82

Bonus: A Cute Algorithm

  • The goal: approximate n
  • The state:
  • A flip bit F

, initially 0

  • A counter “variable” C, initially 0
  • The algorithm:
  • Stage 1: do four interactions, updating F = 1 – F’
  • Stage 2: increment counter C until you first see F’ = 1
  • Stage 3: exchange C with interaction partner, setting C = max (C, C’)
  • The guarantee:
  • The convergence value is 


(1 – eps) log n < C < (1 + eps) log n, 
 with high probability