Beautiful Abelian Sandpiles

(eavan.blog)

154 points | by eavan0 59 days ago

12 comments

  • LegionMammal978 55 days 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 55 days 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

  • mcphage 55 days 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.

  • haritha-j 55 days ago
    Very related (yet idiotically titled, as always) veritasium video https://youtu.be/HBluLfX2F_k?si=6lVPLvJNc2YH_4go
    • JimmyBuckets 55 days ago
      It's like reverse clickbait with him
      • lupire 55 days 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.

      • SiempreViernes 55 days ago
        Yeah, I wish he'd do a second channel that is just reposts with normal titles.
  • pmcarlton 55 days 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.
  • lupire 55 days ago
    Wikipedia has a picture/animation of the Identity for rectangular and square grids

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

  • OgsyedIE 55 days 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.
  • seanhunter 55 days 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 55 days 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 55 days 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”.

        • MarkusQ 55 days ago
          In an abstract algebra textbook, they define groups first and then abelian as a property that some groups have. Here, the author is defining abelian groups "from scratch" and doesn't have an earlier definition of groups to lean on.

          In more advanced texts, they could simply say that a group is a moniod with inverses and could (by your reasoning, should) avoid specifying that groups are associative since this is a property of all monoids.

          • seanhunter 54 days ago
            Well if I check such a book that takes a category-theoretic approach to teaching abstract algebra (Aluffi “Algebra Chapter 0”), he says the following:

               > “ A semigroup is a set endowed with an associative operation; a monoid is a semigroup with an identity element. Thus a group is a monoid in which every element has an inverse”.
            
            So according to Aluffi at least, the operation of a monoid is also associative. As you can see he does in fact also remove the associativity criterion from the description of a group by defining it in terms of a monoid. So he’s consistent with me at least.
            • MarkusQ 54 days ago
              Right. And so is the article. When you are introducing an object you need to specify its properties, _including_those_it_inherits from objects you haven't defined.

              If I haven't defined mammals, I say that bats are warm blooded animals that produce milk for their young, etc., but if I have (or expect my readers to know what a mammal is) I can just say they are mammals.

  • recursive 55 days ago
    It seems the sand only spills up and to the left.
    • omoikane 55 days 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 56 days 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.
    • gsf_emergency_6 56 days 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 56 days 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 56 days 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.

    • Sharlin 55 days ago
      I don't believe that Game of Life is Abelian.
      • tripplyons 55 days 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.
        • ggm 55 days ago
          CGOL is is turing complete. If you can make a NOR gate, you can make anything.
          • tripplyons 54 days ago
            I know it is Turing-complete; I was instead commenting on its computational irreducibility. My point is that it is impossible to express the rules in the form of an associative operator over a sequence of board states. You could say the same thing about iterating with a sufficiently complex circuit of NOR gates.
  • skeltoac 56 days ago
    Now I want to redo a bathroom. Good job, writer!