Beautiful Abelian Sandpiles

(eavan.blog)

128 points | by eavan0 4 days ago ago

22 comments

  • LegionMammal978 6 hours ago 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.

  • FredrikMeyer 10 hours ago 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

  • OgsyedIE 7 hours ago 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.

  • pmcarlton 7 hours ago 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.

  • seanhunter 8 hours ago 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.

    • MarkusQ an hour ago 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.

      • seanhunter an hour ago 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”.

  • haritha-j 12 hours ago ago

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

    • JimmyBuckets 11 hours ago ago

      It's like reverse clickbait with him

      • SiempreViernes 7 hours ago ago

        Yeah, I wish he'd do a second channel that is just reposts with normal titles.

      • lupire 2 hours ago 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.

  • mcphage 8 hours ago 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.

  • recursive 13 hours ago ago

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

    • omoikane 11 minutes ago 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.

  • ggm 14 hours ago 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.

    • Sharlin 8 hours ago ago

      I don't believe that Game of Life is Abelian.

      • tripplyons 7 hours ago 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.

    • gsf_emergency_6 14 hours ago 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

      • ggm 13 hours ago 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"

        • gsf_emergency_6 13 hours ago 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.

  • lupire 2 hours ago ago

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

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

  • skeltoac 15 hours ago ago

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