abelian networks
play

Abelian Networks Lionel Levine Berkeley combinatorics seminar - PowerPoint PPT Presentation

Abelian Networks Lionel Levine Berkeley combinatorics seminar November 7, 2011 Lionel Levine Abelian Networks An overview of abelian networks Dhars model of abelian distributed processors Example: abelian sandpile (a.k.a.


  1. Abelian Networks Lionel Levine Berkeley combinatorics seminar November 7, 2011 Lionel Levine Abelian Networks

  2. An overview of abelian networks ◮ Dhar’s model of abelian distributed processors ◮ Example: abelian sandpile (a.k.a. chip-firing) Themes: 1. Local-to-global principles 2. Halting problem 3. Critical group Joint work with : Anne Fey (Delft), Yuval Peres (Microsoft), James Propp (Lowell), Ben Bond, Giuliano Giacaglia, Linda Zayas-Palmer (MIT). Lionel Levine Abelian Networks

  3. Mathematical model of a distributed network ◮ Finite or infinite directed graph G . ◮ At each vertex v is an automaton (“processor”) with state space Q v and input alphabet A v . ◮ Each processor has ◮ A single input feed. ◮ Multple output feeds, one for each directed edge ( v , u ). Lionel Levine Abelian Networks

  4. Transition and message-passing functions ◮ Formally: for each v and each edge e = ( v , u ), we are given maps T v : Q v × A v → Q v (new internal state) T e : Q v × A v → A ∗ (messages sent along e ) u where A ∗ = � n ≥ 0 A n . Lionel Levine Abelian Networks

  5. Transition and message-passing functions ◮ Formally: for each v and each edge e = ( v , u ), we are given maps T v : Q v × A v → Q v (new internal state) T e : Q v × A v → A ∗ (messages sent along e ) u where A ∗ = � n ≥ 0 A n . ◮ Input: User sends messages to one or more processors. ◮ Output: States of the processors when no messages remain. Lionel Levine Abelian Networks

  6. Abelian Distributed Processors ◮ “In many applications, especially in computer science, one considers such networks where the speed of the individual processors is unknown, and where the final state and outputs generated should not depend on these speeds. Then it is essential to construct the network so that the order at which messages arrive to the processors is immaterial.” – Deepak Dhar (1998) Lionel Levine Abelian Networks

  7. A Wish List Regardless of the order in which individual processors act: ◮ The halting status is the same. ◮ If the computation halts, then the final output is the same. Lionel Levine Abelian Networks

  8. A Wish List Regardless of the order in which individual processors act: ◮ The halting status is the same. ◮ If the computation halts, then the final output is the same. ◮ The run time (number of messages processed) is the same. ◮ The local run times are the same. ◮ The specific local run times are the same. Lionel Levine Abelian Networks

  9. A Wish List Regardless of the order in which individual processors act: ◮ The halting status is the same. ◮ If the computation halts, then the final output is the same. ◮ The run time (number of messages processed) is the same. ◮ The local run times are the same. ◮ The specific local run times are the same. But are there any interesting examples...? Lionel Levine Abelian Networks

  10. Are there any interesting examples...? Yes! Lionel Levine Abelian Networks

  11. The abelian sandpile model (a.k.a. chip-firing) ◮ Start with a pile of n chips at the origin in Z 2 . ◮ Each site ( x , y ) ∈ Z 2 has 4 neighbors ( x ± 1 , y ) and ( x , y ± 1) . ◮ Any site with at least 4 chips is unstable, and topples by sending one chip to each neighbor. Lionel Levine Abelian Networks

  12. The abelian sandpile model (a.k.a. chip-firing) ◮ Start with a pile of n chips at the origin in Z 2 . ◮ Each site ( x , y ) ∈ Z 2 has 4 neighbors ( x ± 1 , y ) and ( x , y ± 1) . ◮ Any site with at least 4 chips is unstable, and topples by sending one chip to each neighbor. ◮ This may create further unstable sites, which also topple. ◮ Continue until there are no more unstable sites. ◮ Bak-Tang-Wiesenfeld 1987, Dhar 1990, ... ◮ Bj¨ asz-Shor 1991, Biggs 1999, ... orner-Lov´ Lionel Levine Abelian Networks

  13. Toppling to Stabilize A Sandpile ◮ Example: n =16 chips in Z 2 . ◮ Sites with 4 or more chips are unstable. 1 16 1 12 1 ��� 1 Lionel Levine Abelian Networks

  14. Toppling to Stabilize A Sandpile ◮ Example: n =16 chips in Z 2 . ◮ Sites with 4 or more chips are unstable. 2 16 2 8 2 ��� 2 Lionel Levine Abelian Networks

  15. Toppling to Stabilize A Sandpile ◮ Example: n =16 chips in Z 2 . ◮ Sites with 4 or more chips are unstable. 3 16 3 4 3 ��� 3 Lionel Levine Abelian Networks

  16. Toppling to Stabilize A Sandpile ◮ Example: n =16 chips in Z 2 . ◮ Sites with 4 or more chips are unstable. 4 16 4 0 4 ��� 4 Lionel Levine Abelian Networks

  17. Toppling to Stabilize A Sandpile ◮ Example: n =16 chips in Z 2 . ◮ Sites with 4 or more chips are unstable. 4 16 4 4 0 4 ��� 4 Lionel Levine Abelian Networks

  18. Toppling to Stabilize A Sandpile ◮ Example: n =16 chips in Z 2 . ◮ Sites with 4 or more chips are unstable. 4 1 4 16 4 4 0 4 1 0 1 4 ��� ��� 4 1 4 Lionel Levine Abelian Networks

  19. Toppling to Stabilize A Sandpile ◮ Example: n =16 chips in Z 2 . ◮ Sites with 4 or more chips are unstable. 4 1 4 4 16 4 0 4 1 0 1 4 ��� ��� 4 1 4 Lionel Levine Abelian Networks

  20. Toppling to Stabilize A Sandpile ◮ Example: n =16 chips in Z 2 . ◮ Sites with 4 or more chips are unstable. 1 4 2 0 1 16 4 0 4 1 0 2 4 ��� ��� 4 1 4 Lionel Levine Abelian Networks

  21. Toppling to Stabilize A Sandpile ◮ Example: n =16 chips in Z 2 . ◮ Sites with 4 or more chips are unstable. 1 4 2 0 1 16 4 0 4 1 0 2 4 4 ��� ��� 4 1 4 Lionel Levine Abelian Networks

  22. Toppling to Stabilize A Sandpile ◮ Example: n =16 chips in Z 2 . ◮ Sites with 4 or more chips are unstable. 1 4 2 0 2 16 4 0 4 1 0 3 0 1 ��� ��� 4 1 4 1 Lionel Levine Abelian Networks

  23. Toppling to Stabilize A Sandpile ◮ Example: n =16 chips in Z 2 . ◮ Sites with 4 or more chips are unstable. 1 4 2 0 2 16 4 0 4 1 0 3 0 1 ��� ��� 4 1 4 4 1 Lionel Levine Abelian Networks

  24. Toppling to Stabilize A Sandpile ◮ Example: n =16 chips in Z 2 . ◮ Sites with 4 or more chips are unstable. 1 4 2 0 2 16 4 0 4 1 0 4 0 1 ��� ��� 4 2 0 2 1 Lionel Levine Abelian Networks

  25. Toppling to Stabilize A Sandpile ◮ Example: n =16 chips in Z 2 . ◮ Sites with 4 or more chips are unstable. 1 4 2 0 2 16 4 0 4 1 0 4 4 0 1 ��� ��� 4 2 0 2 1 Lionel Levine Abelian Networks

  26. Toppling to Stabilize A Sandpile ◮ Example: n =16 chips in Z 2 . ◮ Sites with 4 or more chips are unstable. 1 4 2 1 2 16 4 0 4 1 1 0 1 1 ��� ��� 4 2 1 2 1 Stable. Lionel Levine Abelian Networks

  27. Abelian Property ◮ The final stable configuration does not depend on the order of topplings. ◮ Neither does the number of times a given vertex topples. Lionel Levine Abelian Networks

  28. Sandpile of 1000000 chips in Z 2 Lionel Levine Abelian Networks

  29. Sandpiles as an abelian network ◮ State space Q v = { 0 , 1 ,..., d v − 1 } where d v is the outdegree of vertex v . ◮ Unary alphabet | A v | = 1. (think of messages as chips) Lionel Levine Abelian Networks

  30. Sandpiles as an abelian network ◮ State space Q v = { 0 , 1 ,..., d v − 1 } where d v is the outdegree of vertex v . ◮ Unary alphabet | A v | = 1. (think of messages as chips) ◮ Transition function: T v : Q v → Q v q �→ q +1 (mod d v ) ◮ Messge passing function for each edge e = ( v , u ): � 1 if q = 0 T e ( q ) = 0 if q > 0 . Lionel Levine Abelian Networks

  31. Abelian networks ◮ Recall: directed graph G ; for each v and each edge e = ( v , u ) we have maps T v : Q v × A v → Q v (new internal state) T e : Q v × A v → A ∗ (messages sent along e ) u ◮ Input: User sends one or more messages to one processor. ◮ Output: States of the processors when no messages remain. Lionel Levine Abelian Networks

  32. Main definition ◮ An abelian network N is a directed graph G = ( V , E ) with an abelian processor P v at each vertex v ∈ V . Lionel Levine Abelian Networks

  33. Main definition ◮ An abelian network N is a directed graph G = ( V , E ) with an abelian processor P v at each vertex v ∈ V . ◮ Processor P v is called abelian if for any state q ∈ Q v and any two inputs w , w ′ ∈ A ∗ v such that | w | = | w ′ | , T v ( q , w ) = T v ( q , w ′ ) Lionel Levine Abelian Networks

  34. Main definition ◮ An abelian network N is a directed graph G = ( V , E ) with an abelian processor P v at each vertex v ∈ V . ◮ Processor P v is called abelian if for any state q ∈ Q v and any two inputs w , w ′ ∈ A ∗ v such that | w | = | w ′ | , T v ( q , w ) = T v ( q , w ′ ) | T e ( q , w ) | = | T e ( q , w ′ ) | and for all edges e = ( v , u ). Lionel Levine Abelian Networks

  35. Main definition ◮ An abelian network N is a directed graph G = ( V , E ) with an abelian processor P v at each vertex v ∈ V . ◮ Processor P v is called abelian if for any state q ∈ Q v and any two inputs w , w ′ ∈ A ∗ v such that | w | = | w ′ | , T v ( q , w ) = T v ( q , w ′ ) | T e ( q , w ) | = | T e ( q , w ′ ) | and for all edges e = ( v , u ). ◮ Note: the definition is local. ◮ Note: A unary processor ( | A v | = 1) is trivially abelian. Lionel Levine Abelian Networks

Recommend


More recommend