Transcript
Page 1: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

How To Color a French Flag

Biologically Inspired Algorithms for Scale-Invariant Patterning

Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

The slides are a courtesy of Ayesha, the figures are a courtesy of Bertie.

Page 2: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Bertie Ancona Nancy LynchAyesha Bajwa

Page 3: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Developmental PatterningHow do tissues form in a scale-invariant way as organisms develop?

Fly Embryo Patterning (Briscoe & Small 2015)

Vertebrate Neural Tube Patterning

(Briscoe & Small 2015)

(precursor to the central nervous system)

Page 4: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

“The French Flag Problem” (Wolpert 1969) • Cells determine their type from positional information • Positional information is thought to come from graded chemical

signals known as morphogen gradients • Later verified experimentally (Nüsslein-Volhard & Wieschaus 1980)

Fly Embryo Patterning (Briscoe & Small 2015)

Vertebrate Neural Tube Patterning

(Briscoe & Small 2015)

Page 5: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

1D: The French RibbonAnalogy to cellular differentiation: cells are agents which are initially uncolored and must choose a color, from 3 (or k) colors.

max{|b − w|, |b − r|, |w − r|} ≤ 1

Initial state:

Desired state:

Page 6: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

2D: The French Flag

Generalization from 1D case (3 or k colors).

See paper for definition of ε-approximate flag and approximate algorithms (Ancona et al. 2019)

Page 7: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Concentration Model (Synchronous)• Provides positional information to agents directly via measured

morphogen concentrations • Morphogens released by designated source agents • Assume steady state concentrations, agents know gradient

function • Compare to biological morphogen gradients

(Lander et al. 2002)

Page 8: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn
Page 9: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

c1=1/x^3

c2=1/(n-x)^3

Agents receive steady state input concentrations c1 and c2 and know the gradient function (e.g. inverse power law)

Page 10: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

How should I pick my color?

c1=1/x^3

c2=1/(n-x)^3

Agents receive steady state input concentrations c1 and c2 and know the gradient function (e.g. inverse power law)

Page 11: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

1D Concentration Algorithm

𝑎0

Algorithm for each agent: If c1 / c2 >= 8, choose blue

If c1 / c2 <= 1/8, choose red Otherwise choose white blue

thresholdred

threshold

c1=1/x^3c2=1/(n-x)^3

n1

Independent of n!!!

Page 12: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

The simple algorithm on the last slide solves the French ribbon problem for any n.

Theorem:

What about the 2D version? The French flag problem?

Page 13: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

2D Concentration Impossibility

Given a flag, we construct a new flag with a different aspect ratio so that two agents which are supposed to be different colors can’t distinguish settings – can’t color correctly.

Page 14: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Message Passing Model (Synchronous)• Similar to LOCAL model from distributed computing • Difference: agents know directions (up, down, left, right) and

which of their neighbors exist • All agents initially asleep except the starting agent, which

awakens other agents as algorithms progress • Comparable to biological cell-cell communication

Page 15: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Exact Count• Agents calculate the distances to the end points andd1

Algorithm for each agent: If d1 / d2 >= 2, choose blue

If d1 / d2 <= 1/2, choose red Otherwise choose white

d2

Page 16: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Exact Count:

d1

d2

Page 17: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Exact Count: Round 1

0 ?

1

Page 18: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Exact Count: Round 2

0 ?

1 ?

2

Page 19: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Exact Count: Round 3

0 ?

1 ?

2 ?

3

Page 20: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Exact Count: Round 4

0 ?

1 ?

2 ?

3 ?

4

Page 21: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Exact Count: Round 5

0 ?

1 ?

2 ?

3 ?

4 ?

5

Page 22: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Exact Count: Round 6

0 ?

1 ?

2 ?

3 ?

4 ?

5 0

1

Page 23: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Exact Count: Round 7

0 ?

1 ?

2 ?

3 ?

4 1

5 0

2

Page 24: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Exact Count: Round 8

0 ?

1 ?

2 ?

3 2

4 1

5 0

3

Page 25: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Exact Count: Round 9

0 ?

1 ?

2 3

3 2

4 1

5 0

4

Page 26: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Exact Count: Round 10

0 ?

1 4

2 3

3 2

4 1

5 0

5

Page 27: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Exact Count: Round 10

0 ?

1 4

2 3

3 2

4 1

5 0

5

Page 28: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Exact Count: Round 11

0 5

1 4

2 3

3 2

4 1

5 0

Page 29: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Exact Count• Naïve algorithm complexity • O(logn) bits per message • O(logn) memory per agent

• Can be used asynchronously • Could also start anywhere (not just at the border)

• Can we decrease the message complexity further?

Page 30: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Bubble Sort• Rough idea: • First: alternate colors

Page 31: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Bubble Sort• Rough idea: • First: alternate colors

• Bubble sort (swap locally) using < <

• Result:

Page 32: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Bubble Sort• Assigns colors in required ratios and performs distributed

bubble sort • Define which pairs can swap in a given round: • Either odd or even agents can swap in each round (parity) • Agents may only swap towards the right

• O(logk) memory per agent and bits per message – constant!

Page 33: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Bubble Sort: Round 0

Beginning:

0End:

Page 34: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Bubble Sort: Round 1

0Beginning:

0 1End:

Page 35: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Bubble Sort: Round 2

0 1Beginning:

0 1 0End:

Page 36: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Bubble Sort: Round 3

0 1 0Beginning:

0 1 0 1End:

Page 37: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Bubble Sort: Round 4

0 1 0Beginning:

0 1 0 1 0End:

1

Page 38: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Bubble Sort: Round 5

0 1 0 0Beginning:

0 1 0 1 0 1End:

1

Page 39: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Bubble Sort: Round 6

0 1 0 0 1Beginning:

0 1 0 1 0 1 0End:

1

Page 40: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Bubble Sort: Round 7

0 1 0 0 1 0Beginning:

0 1 0 1 0 1 0 1End:

1

Page 41: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Bubble Sort: Round 8

0 1 0 0 1 0 1Beginning:

0 1 0 1 0 1 0 1 0End:

1

Page 42: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Bubble Sort: Round 9

0 1 0 0 1 0 1 0Beginning:

0 1 0 1 0 1 0 1 0End:

1

Page 43: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Bubble Sort: Round 10

0 1 0 0 1 0 1 0Beginning:

0 1 0 1 0 1 0 1 0End:

1

Page 44: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Bubble Sort: Round 11

0 1 0 0 1 0 1 0Beginning:

0 1 0 1 0 1 0 1 0End:

1

Page 45: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Bubble Sort: Round 12

0 1 0 0 1 0 1 0Beginning:

0 1 0 1 0 1 0 1 0End:

1

Page 46: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Bubble Sort: Round 13

0 1 0 0 1 0 1 0Beginning:

0 1 0 1 0 1 0 1 0End:

1

Page 47: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Bubble Sort: Round 14

0 1 0 0 1 0 1 0Beginning:

0 1 0 1 0 1 0 1 0End:

1

Page 48: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Bubble Sort: Round 15

0 1 0 0 1 0 1 0Beginning:

0 1 0 1 0 1 0 1 0End:

1

Page 49: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Bubble Sort: Round 16

0 1 0 0 1 0 1 0Beginning:

0 1 0 1 0 1 0 1 0End:

1

Page 50: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

1D Message Passing Algorithms

Algorithm Rounds Memory per agent Bits per message Exact

Exact Count O(n) O(logn) O(logn) ✓

Exact Silent Count O(n) O(logn) O(1) ✓

Bubble Sort O(n) O(logk) O(logk) ✓

Approx Count O(n) O(loglogn) O(loglogn) X

Page 51: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Other Counting Algorithms• Exact Silent Count • O(1) bits per message • O(logn) memory per agent • uses absence of a message as info by keeping track of

rounds • Approx Count • O(loglogn) bits per message • O(loglogn) memory per agent • uses approximate counting (Morris 1978, Flajolet 1985)

Page 52: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Conclusions• Two models and approaches: concentration and message

passing • Concentration model: 1D vs 2D • 1D concentration model can use relative distance alone • 2D concentration model requires additional positional information

• Message passing model: standard tradeoffs • Exact Count seems fairly obvious • Exact Silent Count reduces message size (constant) • Approx Count improves space complexity (loglogn) • Bubble Sort has good space complexity (constant)

Page 53: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Merci! Questions?

Page 54: How To Color a French FlagHow To Color a French Flag Biologically Inspired Algorithms for Scale-Invariant Patterning Bertie Ancona, Ayesha Bajwa, Nancy Lynch, and Frederik Mallmann-Trenn

Related WorkAncona, A., Bajwa, A., Lynch, N., Mallmann-Trenn, F. How to color a French flag–biologically inspired algorithms for scale-invariant patterning. arXiv preprint arXiv:1905.00342 (2019)

Briscoe, J., Small, S. Morphogen rules: design principles of gradient-mediated embryo patterning. Development 142(23), 3996–4009 (2015) Flajolet, P. Approximate counting: A detailed analysis. BIT 25 (1), 113–134 (1985)

Lander, A ., Nie, Q., Wan, F. Do morphogen gradients arise by diffusion? Developmental Cell, 2(6), 785-796 (2002)

Morris, R. Counting large numbers of events in small registers. Commun. ACM, 21(10):840–842 (1978)

Nüsslein-Volhard, C., Wieschaus, E. Mutations affecting segment number and polarity in drosophila. Nature 287(5785), 795–801 (1980)

Wolpert, L. Positional information and the spatial pattern of cellular differentiation. Journal of Theoretical Biology 25 (1), 1 – 47 (1969)


Top Related