Beautiful Abelian Sandpiles
128 points
4 days ago
| 11 comments
| eavan.blog
| HN
LegionMammal978
5 hours ago
[-]
It looks like the author has a pretty simple procedure for computing the 'identity' sandpile (which they unfortunately don't describe at all):

1. Fill a grid with all 6s, then topple it.

2. Subtract the result from a fresh grid with all 6s, then topple it.

So effectively it's computing 'all 6s' - 'all 6s' to get an additive identity. But I'm not entirely sure how to show this always leads to a 'recurrent' sandpile.

EDIT: One possible route: The 'all 3s' sandpile is reachable from any sandpile via a sequence of 'add 1' operations, including from its own successors. Thus (a) it is a 'recurrent' sandpile, (b) adding any sandpile to the 'all 3s' sandpile will create another 'recurrent' sandpile, and (c) all 'recurrent' sandpiles must be reachable in this way. Since by construction, our 'identity' sandpile has a value ≥ 3 in each cell before toppling, it will be a 'recurrent' sandpile.

reply
FredrikMeyer
9 hours ago
[-]
I implemented this in Rust some years back. It is connected to some serious research mathematics (see f.ex https://www.ams.org/notices/201008/rtx100800976p.pdf)

https://github.com/FredrikMeyer/abeliansandpile

reply
OgsyedIE
6 hours ago
[-]
In the case of piling sand exactly in the centre, the intermediate states between the initial state and reaching the final equilibrium seem to get closer to having a circular boundary as the grid size increases, instead of the diamond-shaped boundary you might expect for a symmetrical object in a planar grid. Take a look at the largest resettable grid doing this within a couple seconds of being reset.
reply
pmcarlton
6 hours ago
[-]
I found 'xsand.c' (X11) in 1995 by Michael Creutz, that simulated these sandpiles; I had fun with the sand but also learned C from it.
reply
seanhunter
8 hours ago
[-]
> “…an abelian group is both associative and commutative…”

If something is not associative it is not a group. An abelian group is a group which is commutative.

reply
MarkusQ
59 minutes ago
[-]
So...an abelian group is both associative (because it's a group) and commutative (because it's abelian), which is exactly what the OP said? It sounds like you're disagreeing about something, but I'm not clear what your objection is.
reply
seanhunter
44 minutes ago
[-]
I’m not disagreeing. I’m pointing out that in TFA it sounds as associativity is a property of abelian groups specifically whereas it as a property of all groups in general. In that sense it’s not wrong, just the emphasis is a bit misleading.

If you look in an abstract algebra textbook they all basically say the same definition for abelian groups (eg in Hien)

> “A group G is called abelian if its operation is commutative ie for all g, h in G, we have gh = hg”.

reply
haritha-j
12 hours ago
[-]
Very related (yet idiotically titled, as always) veritasium video https://youtu.be/HBluLfX2F_k?si=6lVPLvJNc2YH_4go
reply
JimmyBuckets
10 hours ago
[-]
It's like reverse clickbait with him
reply
SiempreViernes
6 hours ago
[-]
Yeah, I wish he'd do a second channel that is just reposts with normal titles.
reply
lupire
2 hours ago
[-]
https://m.youtube.com/watch?v=S2xHZPH5Sng

"Clickbait is Unreasonably Effective", 2021 - Veritasium's apologia for clicbait titles and and thumbnails, and statement of principles.

Veritasiuk has at least stuck making soldi educational videos, as Mark Rober has let slip away his past effort to educate in addition to demonstrate his cool toys.

reply
mcphage
7 hours ago
[-]
> The rules of abelian groups guarantee that these identity sandpiles must exist, but they tell us nothing about how beautiful they are.

This has causality backwards—being a group requires an identity element. You can't show something is a group without knowing that the identity element exists in the first place.

In fact, a good chunk of how this article talks about the math is just... slightly off.

reply
recursive
12 hours ago
[-]
It seems the sand only spills up and to the left.
reply
omoikane
4 minutes ago
[-]
It seems like it spills to 4 directions on Chrome, but only up and left on Firefox.

The really weird part is that when I fetch https://eavan.blog/sandpile.js in Chrome, I see a "toppleAll" function near the top, but that same function is not defined when the script is fetched with Firefox.

reply
ggm
14 hours ago
[-]
Isn't this single frame state of a classic cellular automata? Note, not "just" because I mean no disrespect. I don't understand how this differs from Conway's life other than nuances of the live or die rule.
reply
Sharlin
8 hours ago
[-]
I don't believe that Game of Life is Abelian.
reply
tripplyons
6 hours ago
[-]
I don't think you could even define an associative binary operator on states in the Game of Life because of its computational irreducibility.
reply
gsf_emergency_6
14 hours ago
[-]
CGL doesn't have the scale invariance ("fractality") of ASM. ASM criticality is stable and persistent. "fractal life on edge"?

what that looks like

https://youtu.be/rKD51IUNK3A?t=40s

reply
ggm
13 hours ago
[-]
So that gets to how it differs, but it doesn't say its not a cellular automata. It could say "it's a cellular automata with different rules"
reply
gsf_emergency_6
13 hours ago
[-]
It is a cellular automata distinguished by commutativity. You used CGL as the basis for comparison, that's highly nonAbelian.

According to Wolfram (& I agree :), everything is a cellular automaton, so comparing to CGL made more sense to me.

reply
lupire
2 hours ago
[-]
Wikipedia has a picture/animation of the Identity for rectangular and square grids

https://en.wikipedia.org/wiki/Abelian_sandpile_model

reply
skeltoac
14 hours ago
[-]
Now I want to redo a bathroom. Good job, writer!
reply