Chip Firing: Rohan Goyal
Chip Firing: Rohan Goyal
Rohan Goyal
October 21, 2020
§1 Introduction
Spencer[11] started studying a ”balancing game” in 1986. You start with N chips at the
origin on an integer number
line. Now, in every move you select a square with more
than 1 chips and move n2 chips to the square to its immediate right and n2 chips to
the square to its immediate left.1 . This process continues as long as valid moves exist
and he tried to show that the end
configuration is unique. Anderson Et Al[1] extended
this game to not just moving n2 chips but moving 1 chip to the immediate right and
one to the immediate left in each move from a square with ≥ 2 chips. They showed that
this game also ended in a unique position in a fixed number of moves.
Björner Et al.[3] then considered the natural extension of this idea to all Graphs. In
this new game, we consider any connected graph with finite ”chips” on every vertex. In
every move, we can fire a vertex, if it has chips equal to atleast its degree. In a firing, it
gives one of its chips to each of its neighbours. This became the game we now study in
this handout and prove various interesting results about. Bitar[2] added a restriction
to this game that all vertices which can fired at a point, now fire simultaneously every
move. This removed the randomness of the process and gave it a more definite structure.
This game was now called parallel chip firing Clearly, the configurations achieved in this
process are periodic. Bitar infact conjectured that periods of this process are bounded
by the number of vertices in the graph. This was later disproved by Kiwi Et. Al[6] who
gave a beautiful construction with an exponential period. Bitar’s conjecture, does stand
true in many cases. A few of those cases will be shown in this handout and some others
are referred.
Chip firing is also closely related to the Abelian Sandpile Model2 . Some beautiful
visuals of sandpiles found by placing varying number of particles in different graphs can
be found at http://www.math.cmu.edu/~wes/sand.html#next-page. You can try with
varying number of chips on different types of graphs as well.
1
Rohan Goyal (October 21, 2020) Chip Firing
§2 Lecture Notes
§2.1 Definitions
Consider an infinite graph such that all vertices have finite degree. Let there be some
(non-negative amount) of chips or tokens on each vertex. In most cases, we only care
about finite graphs.
Now on this setup, consider the following game. A firing of a vertex v is a move in which
that vertex gives one chip to each of its neighbours if it can (i.e. has atleast deg(v) chips
to give to its neighbours) .
Call a configuration stable if no vertices can be fired in it.
2 3
3 2
In this example, in the first move we could fire v2 or v4 .After firing that v2 , we get the
following configuration where we can now fire v1 , v3 or v4 .
3 0
3 3
We keep on playing this game till we can. This is called the chip firing game.
2
Rohan Goyal (October 21, 2020) Chip Firing
Before we step into the main content, we will be using a few results that I prove
here3 .
Lemma 2.1
In a chip firing game on a connected undirected graph G = (V, E), if a game is
infinite, then all its vertices are fired infinitely many times.
Proof. Say there is a subset of vertices W which is fired finitely many times but vertices
of W are connected to vertices of V \W as G is connected. Thus, V becomes a sink and
infinitely many chips must end up there as V \W is fired infinitely many times. But as
there are only finitely many chips, this is impossible.
Lemma 2.2
If a game is finite, there is atleast 1 vertex that is never fired.
Proof. Assume that every vertex has been fired atleast once. Now, suppose the game
terminates, i.e. we reach a stage where no moves can be made. Now consider the vertex
that has not been fired for the longest period of time. This vertex must have enough
chips to be fired as all its neighbours have been fired since it was last fired, and thus it
can be fired. Thus, the game cannot terminate.
This naturally extends to 2 vertices not having been fired as the vertex not fired for the
longest period of time could never have been fired.
These two results are quite natural to get and their proofs are not very involved so
there is not much I can say for them.
3
Rohan Goyal (October 21, 2020) Chip Firing
Setup: Consider a directed graph T on configurations with all edges directed away
from the initial configuration, with our initial configuration as the root. Draw an edge
from configuration Ci to Cj if on firing some vertex v in Ci , we end up with Cj .4 We
consider this setup as we care about the configurations so it makes most sense to actually
work on the configurations themselves rather than the original graph.
For example, the graph T for G would look like, you can try on your own once as well.
Here, different colours signify firing of different vertex.
C8
C11
C2 C5
C9
C1 C4 C13
C12
C3 C6
C10
C7
First, we prove part 1 and then use that to derive 2 and further results.
Claim 2.4 — No vertex can have an infinite sub-chain and a finite sub-chain i.e.
there is no configuration A with children B, C such that B leads to a terminating
chain but C leads to an infinite chain.
Proof. Say, B appears when we fire v from A and C appears after firing w from A. But,
now observe that we can fire the sequence of vertices fired from C to get an infinite chain
from B as well until we have to fire v again. Now, at this point, call the configuration D.
Observe that as move order is irrelevant if the moves are same, D is in the chain of C as
well, thus D must lead to an infinite chain. Contradiction!
4I can obviously index configurations as the set of all configurations is countable as it a subset of Zn which
is countable.
4
Rohan Goyal (October 21, 2020) Chip Firing
A D
Figure 4:
This proves 1. Now, we try to prove 2 with the exact same idea.
As we know that every chain is now terminating, we claim that they all must end at the
same vertex.
Claim 2.5 — No vertex A such that it has two subchains that end in different
configurations.
Proof. Say, such a vertex exists, take such a vertex with highest depth. Call it A, let it’s
children B, C end in different configurations. But, say B appeared after firing v and C
appeared after firing w then firing vw, wv should end in different configurations but that
is absurd.
In fact, we can juice this argument to an extreme and also claim that all sequences
must have an equal number of moves with in fact every vertex fired the same number of
times in every chain. Try this on your own.
Corollary 2.6
All sequences of moves used to reach the stable configuration S must have every vertex
fired a fixed number of times.
There’s no real way to motivate this proof, atleast for me other than you just try a
bunch of stuff and something works. It is also not extremely hard to come up with this for
well-trained olympiad contestants once they have shifted to the graph of configurations
instead of G.
5
Rohan Goyal (October 21, 2020) Chip Firing
§3 Examples
This is clearly just a special case of the above game. If you don’t see how, please see the
above part again.
1) Try to create a graph with properties that you would encode the property that
towers are in descending order of pebbles.
4) Find why this graph does not work and change it so that it does.
v0 v1 v2 v3 v4 v5 v6 v7 v8 v9
6
Rohan Goyal (October 21, 2020) Chip Firing
Lemma 4.1
[3] [9] For any undirected simple graph G = ( E, V ) with no isolated vertices:-
Lemma 4.2
If a finite chip-firing game is played on an n vertex graph then its length is O(n4 ).[12].
Proof. Let the total number of chips be C. Let f (v) be the number of times that a particular
vertex is fired. Observe that | f (v) − f (u)| ≤ C for any edge uv as otherwise, u or v will
have more than C chips. Thus, if uv are at distance d(u, v) then | f (u) − f (v)| ≤ C · d(u, v).
Now, let d be the diameter of the graph. Now, by 2.2, we have a vertex that is never fired.
Let this vertex be w. Now, every vertex v in graph must have been fired ≤ C · d(w, v) ≤
C · d times. Thus, total firings are ≤ n · C · d. Observe that C ≤ 2| E|. Thus, C is O(n2 )
and d is O(n). Thus, total firings are O(n4 ).
In fact, Θ(n4 ) is achievable. Try finding a graph for this :p.
7
Rohan Goyal (October 21, 2020) Chip Firing
§5.2
A game is played on a connected graph G by two players who alternate turns. A turn
consists of two phases. First, the player places a token on any vertex in the graph. Then,
if any vertex has at least as many tokens as its degree, it topples, meaning that it gives
away one token to each of its neighbours. This second phase repeats as long as any vertex
has at least as many tokens as its degree. When the toppling phase continues forever, the
last player who moved is the winner.[10]
This game can naturally be played on both directed and undirected graphs.
8
Rohan Goyal (October 21, 2020) Chip Firing
Exercise 6.2. Prove that all vertices must be fired an equal number of times in a period.
We now assume these results going forward and thus assume that all configurations
of the graph are part of a cycle of length T. Let the graph be G = (V, E).
Definitions:
• | E| = m, |V | = n
• Let V = {v1 , v2 , · · · vn }.
• Fi ∈ {0, 1}n gives the set of firings in ith move. The jth coordinate in Fi is 1 if v j is
fired in the ith turn and 0 otherwise. Let the jth of Fi coordinate be f i ( j).
• Wj ∈ {0, 1} T , gives the ith coordinate of which is 1 if v j was fired in ith move and 0
otherwise. Let the jth of Wi coordinate be wi ( j).
Exercise 6.3. Prove that if ∃ i such that Wi = ~0 then, ∀ j ∈ [n], Wj = ~0. Also prove the
analogous result with ~1 instead of ~0.[2]
Lemma 6.4
Given, Mki = [ a, b] ⊂ supp(vi ), ∃ j such that v j ∈ Vi and we have [ a − 1, b − 1] ∈
supp(v j ). The symmetric result is also true for supp(vi ).[2]
Sketch. We count the number of chips at vi after the interval [ a − 1, b − 1] if the result is
not true.
ci (b) ≤ ci ( a − 1) − ( a − b)di + ( a − b)di ≤ ci ( a − 1). But, vi was not fired in the i − 1th
move so we get a contradiction. Analogous argument for supp(vi ).
9
Rohan Goyal (October 21, 2020) Chip Firing
Lemma 6.5
The size of the biggest block of 10 s and 0s in Wi if G is a tree is of length 1 unless
Wi ∈ {~0,~1}.
Sketch. Assume otherwise. Say that the biggest block is of length ≥ 2. Let the maximal
block be [ a, b] in Wi . Now, for some neighbour v j ∈ Vi , we must have the block [ a −
1, b − 1]. Now, repeating this idea, some vk 6= vi ∈ Vj must have the block [ a − 2, b − 2]
as [ a − 2, b − 2] is not there in Wi . We keep repeating the process in t steps, due to
the graph being acyclic and finite, we eventually reach a leaf and have nowhere to go.
Contradiction!
Exercise 6.7. Prove that if a vertex vi has ≤ 2di − 1 chips then it always has ≤ 2di − 1
chips.
Theorem 6.8
If a graph has > 4m − n chips then it eventually has period 1.[7]
Sketch. If G has > 4m − n chips then some vertex vi , always has ≥ 2di chips. So, we
get a vertex v which always fires. By 6.3, we get that all vertices always fire, thus we get
that this game has period 1. Thus, we are done.
Lemma 6.9
If there are, c > 4m − n chips then after n · c · d rounds, game must stabilize, i.e. all
vertices must now always fire.[7]
Proof. We use result obtained in 4.2, to get that | f (v) − f (u)| ≤ d(u, v) · c ≤ d · c. Observe,
that there is a vertex v which always fires. So, we get that every vertex can miss being
fired up to c · d times. Also, observe that if even once all vertices fire, then they must all
always fire as the configuration is preserved.
But, in c · d · n rounds, if every round some vertex is not fired, we would need a total of
c · d · n total possible missing firing but observe that there are only n − 1 vertices which
can miss being fired up to (n − 1) · c · d times, thus in some move, all vertices must have
been fired. Thus, we are done.
10
Rohan Goyal (October 21, 2020) Chip Firing
§7 Practice Problems
Note. The problems may not necessarily be dependent on chip firing but their proofs
may involve ideas similar to the ones used.
Problem 7.1 (Spencer). A finite number of coins are placed on an infinite row of squares.
A sequence of moves is performed as follows: at each stage a square containing more
thanone coin is chosen. You move 2 of the coins to the square to the immediate left
n
and 2 coins to the square to the immediate right. Prove that the end configuration is
n
Remark. This problem is historically very important because it sparked the whole study
into the game of chip firing and is extremely fascinating.
Problem 7.3 (ELMO 2013 C8). There are 20 people at a party. Each person holds some
number of coins. Every minute, each person who has at least 19 coins simultaneously
gives one coin to every other person at the party. (So, it is possible that A gives B a coin
and B gives A a coin at the same time.) Suppose that this process continues indefinitely.
That is, for any positive integer n, there exists a person who will give away coins during
the nth minute. What is the smallest number of coins that could be at the party?
Problem 7.6 (Brazil 2009/3). There are 2009 pebbles in some points ( x, y) with both
coordinates integer. A operation consists in choosing a point ( a, b) with four or more
pebbles, removing four pebbles from ( a, b) and putting one pebble in each of the points
Show that after a finite number of operations each point will necessarily have at most
three pebbles. Prove that the final configuration doesn’t depend on the order of the
operations.
Problem 7.7. We play the game in 5.1 with n balls initially on the origin. Prove that if
Problem 7.8 (ISL 2018 C6). Let a and b be distinct positive integers. The following
infinite process takes place on an initially empty board.
If there is at least a pair of equal numbers on the board, we choose such a pair and
increase one of its components by a and the other by b.
If no such pair exists, we write the number 0 twice.
Prove that, no matter how we make the choices in (i ), operation (ii ) will be performed
only finitely many times.
Problem 7.9. In the parallel chip firing game, the period of Cn divides n.
11
Rohan Goyal (October 21, 2020) Chip Firing
Problem 7.10 (Tournament of Towns). Let n be a positive integer. There are finitely
many frogs at distinct integer points on a number line. Every minute, one of the frogs
jumps a length 1 such that no two frogs ever occupy the same point. Let A be the number
of ways for the frogs to jump in n minutes, such that all jumps are to the right. Let B be
the number of ways for the frogs to jump in n minutes, such that all jumps are to the left.
Show that A = B.
Problem 7.11. In the parallel chip firing game on trees G has c chips, its eventual period
is 2 if and only if | E( G )| ≤ c ≤ 2| E( G )| − 1.
Problem 7.12 (China TST 2018). Two positive integers p, q ∈ Z+ are given. There is a
blackboard with n positive integers written on it. A operation is to choose two same
number a, a written on the blackboard, and replace them with a + p, a + q. Determine
the smallest n so that such operation can go on infinitely.
Problem 7.13 (Taiwan TST 2017 3rd round Quiz 1/1). In an n × n grid, there are some
cats living in each cell (the number of cats in a cell must be a non-negative integer). Every
midnight, the manager chooses one cell: (a) The number of cats living in the chosen
cell must be greater than or equal to the number of neighbouring cells of the chosen cell.
(b) For every neighbouring cell of the chosen cell, the manager moves one cat from the
chosen cell to the neighbouring cell. (Two cells are called ”neighbouring” if they share a
common side, e.g. there are only 2 neighbouring cells for a cell in the corner of the grid)
Find the minimum number of cats living in the whole grid, such that the manager is able
to do this process infinitely many times.
Problem 7.14. Prove that the period of parallel chip firing game is not polynomial
bounded.[6]
§8 Acknowledgements
I would like to thank Pranjal Srivastava for introducing me to chip-firing and many of
these results and ideas.
References
[1] Richard Anderson et al. “Disks, Balls, and Walls: Analysis of a Combinatorial
Game”. In: The American Mathematical Monthly 96.6 (1989), pp. 481–493. issn:
00029890, 19300972. url: http://www.jstor.org/stable/2323970.
[2] Javier Bitar and Eric Goles. “Parallel chip firing games on graphs”. In: Theoretical
Computer Science 92.2 (1992), pp. 291–300.
[3] Anders Björner, László Lovász, and Peter W. Shor. “Chip-firing Games on Graphs”.
In: European Journal of Combinatorics 12.4 (1991), pp. 283–291. issn: 0195-6698. doi:
https : / / doi . org / 10 . 1016 / S0195 - 6698(13 ) 80111 - 4. url: http : / / www .
sciencedirect.com/science/article/pii/S0195669813801114.
[4] Tian-Yi Jiang. On the Period Lengths of the Parallel Chip-Firing Game. 2010. arXiv:
1003.0943 [math.CO].
[5] A. Kelley. “18 . 204 : CHIP FIRING”. In: 2016. url: https : / / math . mit . edu /
~apost/courses/18.204-2016/18.204_Anne_Kelley_final_paper.pdf.
12
Rohan Goyal (October 21, 2020) Chip Firing
[6] M.A. Kiwi et al. “No polynomial bound for the period of the parallel chip firing
game on graphs”. In: Theoretical Computer Science 136.2 (1994), pp. 527–532. issn:
0304-3975. doi: https : / / doi . org / 10 . 1016 / 0304 - 3975(94 ) 00131 - 2. url:
http://www.sciencedirect.com/science/article/pii/0304397594001312.
[7] Paul Myer Kominers and Scott Duke Kominers. “A constant bound for the periods
of parallel chip-firing games with many chips”. In: Archiv der Mathematik 95.1
(2010), pp. 9–13.
[8] LIONEL LEVINE. “Parallel chip-firing on the complete graph: Devil’s staircase
and Poincaré rotation number”. In: Ergodic Theory and Dynamical Systems 31.03
(May 2010), pp. 891–910. issn: 1469-4417. doi: 10.1017/s0143385710000088. url:
http://dx.doi.org/10.1017/S0143385710000088.
[9] Criel Merino. “The chip-firing game”. In: Discrete Mathematics 302.1 (2005). Struc-
tural Combinatorics, pp. 188–210. issn: 0012-365X. doi: https://doi.org/10.
1016/j.disc.2004.07.033. url: http://www.sciencedirect.com/science/
article/pii/S0012365X05002967.
[10] Greg Puleo. Games built on chip-firing (2010). url: https : / / faculty . math .
illinois.edu/~west/regs/gamechip.html (visited on 09/01/2020).
[11] J. Spencer. “Balancing vectors in the max norm”. English (US). In: Combinatorica
6.1 (Mar. 1986), pp. 55–65. issn: 0209-9683. doi: 10.1007/BF02579409.
[12] Gábor Tardos. “Polynomial Bound for a Chip Firing Game on Graphs”. In: SIAM
Journal on Discrete Mathematics 1.3 (1988), pp. 397–398. doi: 10.1137/0401039.
eprint: https://doi.org/10.1137/0401039. url: https://doi.org/10.1137/
0401039.
13