# Abelian sandpile model

The Abelian sandpile model (ASM) is the more popular name of the original Bak–Tang–Wiesenfeld model (BTW). The BTW model was the first discovered example of a dynamical system displaying self-organized criticality. It was introduced by Per Bak, Chao Tang and Kurt Wiesenfeld in a 1987 paper.
Three years later Deepak Dhar discovered that the BTW sandpile model follows abelian dynamics, and therefore referred to this model as the Abelian sandpile model.
The model is a cellular automaton. In its original formulation, each site on a finite grid has an associated value that corresponds to the slope of the pile. This slope builds up as "grains of sand" (or "chips") are randomly placed onto the pile, until the slope exceeds a specific threshold value at which time that site collapses transferring sand into the adjacent sites, increasing their slope. Bak, Tang, and Wiesenfeld considered process of successive random placement of sand grains on the grid; each such placement of sand at a particular site may have no effect, or it may cause a cascading reaction that will affect many sites.
Dhar has shown that the final stable sandpile configuration after the avalanche is terminated, is independent of the precise sequence of topplings that is followed during the avalanche. As a direct consequence of this fact, it is shown that if two sand grains are added to the stable configuration in two different orders, e.g., first at site A and then at site B, and first at B and then at A, the final stable configuration of sand grains turns out to be exactly the same. When a sand grain is added to a stable sandpile configuration, it results in an avalanche which finally stops leading to another stable configuration. Dhar proposed that the addition of a sand grain can be looked upon as an operator, when it acts on one stable configuration, it produces another stable configuration. Dhar showed that all such addition operators form an abelian group, hence the name Abelian sandpile model.
The model has since been studied on the infinite lattice, on other (non-square) lattices, and on arbitrary graphs (including directed multigraphs). It is closely related to the dollar game, a variant of the chip-firing game introduced by Biggs.

## Definition (rectangular grids)

The sandpile model is a cellular automaton originally defined on a $N\times M$ rectangular grid (checkerboard) $\Gamma \subset \mathbb {Z} ^{2}$ of the standard square lattice $\mathbb {Z} ^{2}$. To each vertex (site, field) $(x,y)\in \Gamma$ of the grid, we associate a value (grains of sand, slope, particles) $z_{0}(x,y)\in \{0,1,2,3\}$, with $z_{0}\in \{0,1,2,3\}^{\Gamma }$ referred to as the (initial) configuration of the sandpile.
The dynamics of the automaton at iteration $i\in \mathbb {N}$ are then defined as follows:
* Choose a random vertex $(x_{i},y_{i})\in \Gamma$ according to some probability distribution (usually uniform).
* Add one grain of sand to this vertex while letting the grain numbers for all other vertices unchanged, i.e. set $z_{i}(x_{i},y_{i})=z_{i-1}(x_{i},y_{i})+1$ and $z_{i}(x,y)=z_{i-1}(x,y)$ for all $(x,y)\neq (x_{i},y_{i})$.
* If all vertices are stable, i.e. $z_{i}(x,y)<4$ for all $(x,y)\in \Gamma$, also the configuration $z_{i}$ is said to be stable. In this case, continue with the next iteration.
* If at least one vertex is unstable, i.e. $z_{i}(x_{u},y_{u})\geq 4$ for some $(x_{u},y_{u})\in \Gamma$, the whole configuration $z_{i}$ is said to be unstable. In this case, choose any unstable vertex $(x_{u},y_{u})\in \Gamma$ at random. Topple this vertex by reducing its grain number by four and by increasing the grain numbers of each of its (at maximum four) direct neighbors by one, i.e. set $z_{i}(x_{u},y_{u})\rightarrow z_{i}(x_{u},y_{u})-4,$, and $z_{i}(x_{u}\pm 1,y_{u}\pm 1)\rightarrow z_{i}(x_{u}\pm 1,y_{u}\pm 1)+1$ if $(x_{u}\pm 1,y_{u}\pm 1)\in \Gamma$. If a vertex at the boundary of the domain topples, this results in a net loss of grains (two grains at the corner of the grid, one grain otherwise).
* Due to the redistribution of grains, the toppling of one vertex can render other vertices unstable. Thus, repeat the toppling procedure until all vertices of $z_{i}$ eventually become stable and continue with the next iteration.
The toppling of several vertices during one iteration is referred to as an avalanche. Every avalanche is guaranteed to eventually stop, i.e. after a finite number of topplings some stable configuration is reached such that the automaton is well defined. Moreover, although there will often be many possible choices for the order in which to topple vertices, the final stable configuration does not depend on the chosen order; this is one sense in which the sandpile is abelian. Similarly, the number of times each vertex topples during each iteration is also independent of the choice of toppling order.

## Definition (undirected finite multigraphs)

To generalize the sandpile model from the rectangular grid of the standard square lattice to an arbitrary undirected finite multigraph $G=(V,E)$, a special vertex $s\in V$ called the sink is specified that is not allowed to topple. A configuration (state) of the model is then a function $z:V\setminus \{s\}\rightarrow \mathbb {N} _{0}$ counting the non-negative number of grains on each non-sink vertex. A non-sink vertex $v\in V\setminus \{s\}$ with
    $z(v)\geq \deg(v)$
is unstable; it can be toppled, which sends one of its grains to each of its (non-sink) neighbors:
    $z(v)\to z(v)-\deg(v)$
    $z(u)\to z(u)+1$ for all $u\sim v$, $u\neq s$.
The cellular automaton then progresses as before, i.e. by adding, in each iteration, one particle to a randomly chosen non-sink vertex and toppling until all vertices are stable.
The definition of the sandpile model given above for finite rectangular grids $\Gamma \subset \mathbb {Z} ^{2}$ of the standard square lattice $\mathbb {Z} ^{2}$ can then be seen as a special case of this definition: consider the graph $G=(V,E)$ which is obtained from $\Gamma$ by adding an additional vertex, the sink, and by drawing additional edges from the sink to every boundary vertex of $\Gamma$ such that the degree of every non-sink vertex of $G$ is four. In this manner, also sandpile models on non-rectangular grids of the standard square lattice (or of any other lattice) can be defined: Intersect some bounded subset $S$ of $\mathbb {R} ^{2}$ with $\mathbb {Z} ^{2}$. Contract every edge of $\mathbb {Z} ^{2}$ whose two endpoints are not in $S\cap \mathbb {Z} ^{2}$. The single remaining vertex outside of $S\cap \mathbb {Z} ^{2}$ then constitutes the sink of the resulting sandpile graph.

## Transient and recurrent configurations

In the dynamics of the sandpile automaton defined above, some stable configurations ($0\leq z(v)<4$ for all $v\in G\setminus \{s\}$) appear infinitely often, while others can only appear a finite number of times (if at all). The former are referred to as recurrent configurations, while the latter are referred to as transient configurations. The recurrent configurations thereby consist of all stable non-negative configurations which can be reached from any other stable configuration by repeatedly adding grains of sand to vertices and toppling. It is easy to see that the minimally stable configuration $z_{m}$, where every vertex carries $z_{m}(v)=deg(v)-1$ grains of sand, is reachable from any other stable configuration (add $deg(v)-z(v)-1\geq 0$ grains to every vertex). Thus, equivalently, the recurrent configurations are exactly those configurations which can be reached from the minimally stable configuration by only adding grains of sand and stabilizing.
Not every non-negative stable configuration is recurrent. For example, in every sandpile model on a graph consisting of at least two connected non-sink vertices, every stable configuration where both vertices carry zero grains of sand is non-recurrent. To prove this, first note that the addition of grains of sand can only increase the total number of grains carried by the two vertices together. To reach a configuration where both vertices carry zero particles from a configuration where this is not the case thus necessarily involves steps where at least one of the two vertices is toppled. Consider the last one of these steps. In this step, one of the two vertices has to topple last. Since toppling transfers a grain of sand to every neighboring vertex, this implies that the total number of grains carried by both vertices together cannot be lower than one, which concludes the proof.

## Sandpile group

Given a configuration $z$, $z(v)\in \mathbb {N} _{0}$ for all $v\in G\setminus \{s\}$, toppling unstable non-sink vertices on a finite connected graph until no unstable non-sink vertex remains leads to a unique stable configuration $z^{\circ }$, which is called the stabilization of $z$. Given two stable configurations $z$ and $w$, we can define the operation $z*w:=(z+w)^{\circ }$, corresponding to the vertex-wise addition of grains followed by the stabilization of the resulting sandpile.
Given an arbitrary but fixed ordering of the non-sink vertices, multiple toppling operations, which can e.g. occur during the stabilization of an unstable configuration, can be efficiently encoded by using the graph Laplacian $\Delta =D-A$, where $D$ is the degree matrix and $A$ is the adjacency matrix of the graph. Deleting the row and column of $\Delta$ corresponding with the sink yields the reduced graph Laplacian $\Delta '$. Then, when starting with a configuration $z$ and toppling each vertex $v$ a total of $\mathbf {x} (v)\in \mathbb {N} _{0}$ times yields the configuration $z-\Delta '{\boldsymbol {\cdot }}~\mathbf {x}$, where ${\boldsymbol {\cdot }}$ is the contraction product. Furthermore, if $\mathbf {x}$ corresponds to the number of times each vertex is toppled during the stabilization of a given configuration $z$, then
    $z^{\circ }=z-\Delta '{\boldsymbol {\cdot }}~\mathbf {x}$
In this case, $\mathbf {x}$ is referred to as the toppling or odometer function (of the stabilization of $z$).
Under the operation $*$, the set of recurrent configurations forms an abelian group isomorphic to the cokernel of the reduced graph Laplacian $\Delta '$, i.e. to $\mathbf {Z} ^{n-1}/\mathbf {Z} ^{n-1}\Delta '$, whereby $n$ denotes the number of vertices (including the sink). More generally, the set of stable configurations (transient and recurrent) forms a commutative monoid under the operation $*$. The minimal ideal of this monoid is then isomorphic to the group of recurrent configurations.
The group formed by the recurrent configurations, as well as the group $\mathbf {Z} ^{n-1}/\mathbf {Z} ^{n-1}\Delta '$ to which the former is isomorphic, is most commonly referred to as the sandpile group. Other common names for the same group are critical group, Jacobian group or (less often) Picard group. Note, however, that some authors only denote the group formed by the recurrent configurations as the sandpile group, while reserving the name Jacobian group or critical group for the (isomorphic) group defined by $\mathbf {Z} ^{n-1}/\mathbf {Z} ^{n-1}\Delta '$ (or for related isomorphic definitions). Finally, some authors use the name Picard group to refer to the direct product of the sandpile group and $\mathbb {Z}$, which naturally appears in a cellular automaton closely related to the sandpile model, referred to as the chip firing or dollar game.
Given the isomorphisms stated above, the order of the sandpile group is the determinant of $\Delta '$, which by the matrix tree theorem is the number of spanning trees of the graph.

## Self-organized criticality

The original interest behind the model stemmed from the fact that in simulations on lattices, it is attracted to its critical state, at which point the correlation length of the system and the correlation time of the system go to infinity, without any fine tuning of a system parameter. This contrasts with earlier examples of critical phenomena, such as the phase transitions between solid and liquid, or liquid and gas, where the critical point can only be reached by precise tuning (e.g., of temperature). Hence, in the sandpile model we can say that the criticality is self-organized.
Once the sandpile model reaches its critical state there is no correlation between the system's response to a perturbation and the details of a perturbation. Generally this means that dropping another grain of sand onto the pile may cause nothing to happen, or it may cause the entire pile to collapse in a massive slide. The model also displays 1/ƒ noise, a feature common to many complex systems in nature.
This model only displays critical behaviour in two or more dimensions. The sandpile model can be expressed in 1D; however, instead of evolving to its critical state, the 1D sandpile model instead reaches a minimally stable state where every lattice site goes toward the critical slope.
For two dimensions, it has been hypothesized that the associated conformal field theory consists of symplectic fermions with a central charge c = −2.

## Properties
### Least action principle

The stabilization of chip configurations obeys a form of least action principle: each vertex topples no more than necessary in the course of the stabilization. This can be formalized as follows. Call a sequence of topples legal if it only topples unstable vertices, and stabilizing if it results in a stable configuration. The standard way of stabilizing the sandpile is to find a maximal legal sequence; i.e., by toppling so long as it is possible. Such a sequence is obviously stabilizing, and the Abelian property of the sandpile is that all such sequences are equivalent up to permutation of the toppling order; that is, for any vertex $v$, the number of times $v$ topples is the same in all legal stabilizing sequences. According to the least action principle, a minimal stabilizing sequence is also equivalent up to permutation of the toppling order to a legal (and still stabilizing) sequence. In particular, the configuration resulting from a minimal stabilizing sequence is the same as results from a maximal legal sequence.
More formally, if $\mathbf {u}$ is a vector such that $\mathbf {u} (v)$ is the number of times the vertex $v$ topples during the stabilization (via the toppling of unstable vertices) of a chip configuration $z$, and $\mathbf {n}$ is an integral vector (not necessarily non-negative) such that $z-\mathbf {n} \Delta '$ is stable, then $\mathbf {u} (v)\leq \mathbf {n} (v)$ for all vertices $v$.

### Scaling limits

The animation shows the recurrent configuration corresponding to the identity of the sandpile group on different $N\times N$ square grids of increasing sizes $N\geq 1$, whereby the configurations are rescaled to always have the same physical dimension. Visually, the identities on larger grids seem to become more and more detailed and to "converge to a continuous image". Mathematically, this suggests the existence of scaling-limits of the sandpile identity on square grids based on the notion of weak-* convergence (or some other, generalized notion of convergence). Indeed, existence of scaling limits of recurrent sandpile configurations has been proved by Wesley Pegden and Charles Smart. In further joint work with Lionel Levine, they use the scaling limit to explain the fractal structure of the sandpile on square grids. Another scaling limit, when the relaxations of a perturbation of the maximal stable state converge to a picture defined by tropical curves, is established in works of Nikita Kalinin and Mikhail Shkolnikov.

### Turing completeness

Abelian sandpiles in three or more dimensions can be used to simulate a Turing machine and are therefore Turing complete.

## Generalizations and related models
### Sandpile models on infinite grids

There exist several generalizations of the sandpile model to infinite grids. A challenge in such generalizations is that, in general, it is not guaranteed anymore that every avalanche will eventually stop. Several of the generalization thus only consider the stabilization of configurations for which this can be guaranteed.
A rather popular model on the (infinite) square lattice with sites $(x,y)\in \mathbb {Z} ^{2}$ is defined as follows:
Begin with some nonnegative configuration of values $z(x,y)\in \mathbf {Z}$ which is finite, meaning
    $\sum _{x,y}z(x,y)<\infty .$
Any site $(x,y)$ with
    $z(x,y)\geq 4$
is unstable and can topple (or fire), sending one of its chips to each of its four neighbors:
    $z(x,y)\rightarrow z(x,y)-4,$
    $z(x\pm 1,y)\rightarrow z(x\pm 1,y)+1,$
    $z(x,y\pm 1)\rightarrow z(x,y\pm 1)+1.$
Since the initial configuration is finite, the process is guaranteed to terminate, with the grains scattering outward.
A popular special case of this model is given when the initial configuration is zero for all vertices except the origin. If the origin carries a huge number of grains of sand, the configuration after relaxation forms fractal patterns (see figure). When letting the initial number of grains at the origin go to infinity, the rescaled stabilized configurations were shown to converge to a unique limit.

### Sandpile models on directed graphs

The sandpile model can be generalized to arbitrary directed multigraphs. The rules are that any vertex $v$ with
    $z(v)\geq \deg ^{+}(v)$
is unstable; toppling again sends chips to each of its neighbors, one along each outgoing edge:
    $z(v)\rightarrow z(v)-\deg ^{+}(v)+\deg(v,v)$
and, for each $u\neq v$:
    $z(u)\rightarrow z(u)+\deg(v,u)$
where $\deg(v,u)$ is the number of edges from $v$ to $u$.
In this case the Laplacian matrix is not symmetric. If we specify a sink $s$ such that there is a path from every other vertex to $s$, then the stabilization operation on finite graphs is well-defined and the sandpile group can be written
    $\mathbf {Z} ^{n-1}/\mathbf {Z} ^{n-1}\Delta '$
as before.
The order of the sandpile group is again the determinant of $\Delta '$, which by the general version of the matrix tree theorem is the number of oriented spanning trees rooted at the sink.

### The extended sandpile model

To better understand the structure of the sandpile group for different finite convex grids $\Gamma \subset \mathbb {Z} ^{2}$ of the standard square lattice $\mathbb {Z} ^{2}$, Lang and Shkolnikov introduced the extended sandpile model in 2019. The extended sandpile model is defined nearly exactly the same as the usual sandpile model (i.e. the original Bak–Tang–Wiesenfeld model), except that vertices at the boundary $\partial \Gamma$ of the grid are now allowed to carry a non-negative real number of grains. In contrast, vertices in the interior of the grid are still only allowed to carry integer numbers of grains. The toppling rules remain unchanged, i.e. both interior and boundary vertices are assumed to become unstable and topple if the grain number reaches or exceeds four.
Also the recurrent configurations of the extended sandpile model form an abelian group, referred to as the extended sandpile group, of which the usual sandpile group is a discrete subgroup. Different to the usual sandpile group, the extended sandpile group is however a continuous Lie group. Since it is generated by only adding grains of sand to the boundary $\partial \Gamma$ of the grid, the extended sandpile group furthermore has the topology of a torus of dimension $|\partial \Gamma |$ and a volume given by the order of the usual sandpile group.
Of specific interest is the question how the recurrent configurations dynamically change along the continuous geodesics of this torus passing through the identity. This question leads to the definition of the sandpile dynamics
    $D_{H}(t)=(I-t\Delta H)^{\circ }$ (extended sandpile model)
respectively
    ${\tilde {D}}_{H}(t)=(I+\lfloor -t\Delta H\rfloor )^{\circ }$ (usual sandpile model)
induced by the integer-valued harmonic function $H$ at time $t\in \mathbb {R} \setminus \mathbb {Z}$, with $I$ the identity of the sandpile group and $\lfloor .\rfloor$ the floor function. For low-order polynomial harmonic functions, the sandpile dynamics are characterized by the smooth transformation and apparent conservation of the patches constituting the sandpile identity. For example, the harmonic dynamics induced by $H=xy$ resemble the "smooth stretching" of the identity along the main diagonals visualized in the animation. The configurations appearing in the dynamics induced by the same harmonic function on square grids of different sizes were furthermore conjectured to weak-* converge, meaning that there supposedly exist scaling limits for them. This proposes a natural renormalization for the extended and usual sandpile groups, meaning a mapping of recurrent configurations on a given grid to recurrent configurations on a sub-grid. Informally, this renormalization simply maps configurations appearing at a given time $t$ in the sandpile dynamics induced by some harmonic function $H$ on the larger grid to the corresponding configurations which appear at the same time in the sandpile dynamics induced by the restriction of $H$ to the respective sub-grid.

### The divisible sandpile

A strongly related model is the so-called divisible sandpile model, introduced by Levine and Peres in 2008, in which, instead of a discrete number of particles in each site $x$, there is a real number $s(x)$ representing the amount of mass on the site. In case such mass is negative, one can understand it as a hole. The topple occurs whenever a site has mass larger than 1; it topples the excess evenly between its neighbors resulting in the situation that, if a site is full at time $t$, it will be full for all later times.

## Cultural references

The Bak–Tang–Wiesenfeld sandpile was mentioned on the Numb3rs episode "Rampage," as mathematician Charlie Eppes explains to his colleagues a solution to a criminal investigation.
The computer game Hexplode is based around the Abelian sandpile model on a finite hexagonal grid where instead of random grain placement, grains are placed by players.