Beautiful Abelian Sandpiles

(eavan.blog)

128 points | by eavan0 4 days ago

12 comments

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

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

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

    • MarkusQ 1 hour 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 1 hour 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
    Very related (yet idiotically titled, as always) veritasium video https://youtu.be/HBluLfX2F_k?si=6lVPLvJNc2YH_4go
    • JimmyBuckets 10 hours ago
      It's like reverse clickbait with him
      • SiempreViernes 7 hours ago
        Yeah, I wish he'd do a second channel that is just reposts with normal titles.
      • 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.

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

  • recursive 13 hours ago
    It seems the sand only spills up and to the left.
    • omoikane 32 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.

  • 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.
    • Sharlin 8 hours ago
      I don't believe that Game of Life is Abelian.
      • 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.
    • 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

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

  • 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

  • skeltoac 14 hours ago
    Now I want to redo a bathroom. Good job, writer!