logoalt Hacker News

Beautiful Abelian Sandpiles

137 pointsby eavan0last Tuesday at 8:16 PM23 commentsview on HN

Comments

LegionMammal978yesterday at 3:35 PM

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.

FredrikMeyeryesterday at 11:24 AM

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

pmcarltonyesterday at 2:42 PM

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.

OgsyedIEyesterday at 2:54 PM

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.

haritha-jyesterday at 9:07 AM

Very related (yet idiotically titled, as always) veritasium video https://youtu.be/HBluLfX2F_k?si=6lVPLvJNc2YH_4go

show 1 reply
seanhunteryesterday at 1:22 PM

> “…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.

show 2 replies
mcphageyesterday at 1:43 PM

> 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.

recursiveyesterday at 8:37 AM

It seems the sand only spills up and to the left.

show 1 reply
ggmyesterday at 7:12 AM

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.

show 3 replies
lupireyesterday at 7:16 PM

Wikipedia has a picture/animation of the Identity for rectangular and square grids

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

skeltoacyesterday at 6:59 AM

Now I want to redo a bathroom. Good job, writer!