6

AMA: I'm Dave Greene, an accidental expert on Conway's Game of Life

 1 month ago
source link: https://news.ycombinator.com/item?id=40131597
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

AMA: I'm Dave Greene, an accidental expert on Conway's Game of Life

AMA: I'm Dave Greene, an accidental expert on Conway's Game of Life
231 points by dvgrn 6 hours ago | hide | past | favorite | 113 comments
I drifted into the Conway's Life research community in 2001 when I won a small cash prize for a lucky discovery of something called a "boojum reflector". My involvement has gradually snowballed since then. Off and on I've helped maintain various Life-related mailing lists and blogs, the Life Lexicon, and more recently the conwaylife.com forums and LifeWiki.

Another thing I stumbled into was helping Nathaniel Johnson complete an improbably thorough 480-page Conway's Life textbook, with end-of-chapter exercises and everything. The book could be used to teach a college-level class on the subject. https://conwaylife.com/book/ has a free PDF download for the book.

So... I'm not the cleverest Lifenthusiast by a long shot, but for a random question about the Game of Life, I'm more likely to know something about it than at least 99.9999% of the world's population. Ask me anything!

We see people doing insane things nowadays with Conway's Life, such as simulating CPUs.

Two questions:

1) How are people building things this complex? Are there open source libraries and toolkits for this - building blocks for chunks of functionality that can be assembled?

2) For you, what are the most interesting, impressive and varied things that you've seen with Life? Is it just these increasing levels of complexity, or maybe something else?

s.gif
Question 1: There are really surprisingly few "standard libraries" or tools for this kind of thing. You would think we'd have a CA editor capable of doing object-based editing by this time -- like, copy in a complete device made out of reflectors and converters, each of which is made out of still lifes and oscillators, each of which is made out of cells, and you could do "group" and "ungroup" operations and snap to the right locations to fit the circuits together correctly.

But at the moment, pretty much all we have is tools to copy and paste rectangular sections of patterns at the cell level -- plus we've got good scripting tools (in Golly) that can be used to string together whatever pieces we might want, but it's up to individual pattern-builders to write those scripts for each specific purpose.

So our "library" is pretty much just the LifeWiki and a few other pattern repositories, and we borrow liberally from existing large constructions -- but when we're building something new, we usually just build flat bitmaps, not anything with built-in annotations or metadata.

Question 2: The thing that's been the most interesting to me in the last decade or so is the increase in collaboration. Projects used to be done by just one person more often than not -- but now a very large fraction of the biggest discoveries are completed via a large group effort over the course of a few weeks or month. One big recent example has been the RCT fixed-cost universal glider synthesis project, which needed contributions from quite a few people to solve all of the tricky little sub-problems:

  https://conwaylife.com/wiki/Reverse_caber-tosser
s.gif
The Game of Life is a 2-dimensional cellular automata (CA), so given the 1-dimensional rule 110 has been proven to be universal / Turing-complete [1], it becomes less mysterious. Albeit the complexity of the system required to set it up to do anything "useful" would be prohibitive.

I'm currently finishing up my OU MSc and the project I picked was specifically around cellular automata - only in this case relating to them calculating any arbitary automatic sequence - which are sequences you can create from finite state machines - that really opened my eyes to the fact these sorts of very, very simple machines can, with the right (and rather complex) setup, be made to do pretty much whatever you want from a computational PoV. In that paper by Rowland and Yassawi they give a constructive proof to calculate the required update rules for a CA that outputs any particular automatic sequence. That itself gives some hints at some ways of deriving the input and rules for these systems to do some particular job. [2]

I know Wolfram often gets dunked on for ego/hubris but in Chapter 11 of a New Kind Of Science he goes into how the Rule 110 CA can be setup to "calculate" (output) other CAs. From there it starts to become a little less mysterious that these systems can generate behaviour you could imagine running on a CPU of some sort.[3]

[1] https://mirror.explodie.org/universality_in_elementary_cellu...

[2] https://arxiv.org/abs/1209.6008

[3] https://www.wolframscience.com/nks/chap-11--the-notion-of-co...

The basics, JIC anyone here is still unfamiliar with the Game:

https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life

And generalizing Games from there:

https://en.wikipedia.org/wiki/Life-like_cellular_automaton

Question #1: How far has Lifeology(?) advanced since 2001, for people similar to your younger self (without awesome skills, or huge time investment) to have a chance at making their own lucky discoveries, and becoming modest Somebodies in the community?

Question #2: How highly (or otherwise) would you rate Wikipedia's articles on Conway's Game of Life, and closely-related topics?

s.gif
A really impressive number of discoveries have been made since 2001 -- there's been kind of a proliferation of new sub-fields, so it seems like there's never any shortage of things for newcomers to work on.

There are definitely areas that haven't really been explored fully yet, like the use of SAT solvers in new and inventive ways to tackle difficult Life problems that are currently just beyond our reach.

Just for example, there's the problem of finding a fast elbow for a 2c/3 "signal wire" --

  https://conwaylife.com/wiki/Wire#2c/3_wire
It's not clear if SAT solvers can be applied usefully to glider synthesis questions, like "is it possible to collide gliders to build a Sir Robin spaceship?" At the moment that particular question seems way beyond reach, but maybe in a few years we'll be running an AI that is experimentally setting up new SAT solver problems, and something will pop up that we just haven't managed to think of yet.

Question 2: Wikipedia's articles tend to be very good quality -- partly because if they weren't, there are a lot of Lifenthusiasts with some experience maintaining the LifeWiki who would immediately go and fix any technical errors that might show up on Wikipedia. But the really detailed documentation on Life is definitely kept in the LifeWiki, not on Wikipedia:

  https://conwaylife.com/wiki/
s.gif
Reminds me of the Busch-Gass Gambit in chess - something so new and mind boggling that it absolutely destroys the best chess engines in the world. Discovered through computer analysis. Insane to watch this opening played well.
s.gif
>it absolutely destroys the best chess engines in the world.

Citation?

I'm willing to believe that someone used the gambit to win against an engine, but in response I would've expected the engines to be modified to restore their absolute dominance against human players.

So, I would be very interested to see any evidence that this gambit continued to work against the version of the engine released after the gambit's effectiveness became widely known.

s.gif
I was unfamiliar with JIC, had to read the sentence twice to make sense of it. :-)
Have you followed the https://codegolf.stackexchange.com/questions/11880/build-a-w... thread where Tetris was implemented using their Cogol (and low level QFTASM) programming language? I'm curious if that work led to any new insights and if it found any usage beyond implementing Tetris.
s.gif
Yup, the Quest for Tetris project caused an entertaining stir for a while. The people that worked on that were the best kind of "hacker" -- fearless experimenters who didn't let their lack of Life-specific knowledge get in the way of cobbling together an amazing structure that fit the bill for simulating Tetris.

The project has at least one unnecessary extra layer of abstraction in it, but somehow nobody has quite gotten around to rebuilding it 100x smaller. A "HashLife-friendly" version could run thousands of times more quickly in Golly.

Since then, several people have invented their own independent computer architectures in Conway's Life, so that kind of experimentation is still going on. See, e.g.,

  https://conwaylife.com/wiki/8-bit_programmable_computer
Why is Conway's Game of Life so interesting? Does it prove anything or lead to insightful discoveries? The game itself seems to me, like a fun little toy at best.
s.gif
It shows that complex structures, importantly those with generative capabilities and other utilities, can evolve from a simple pattern.

It's a fun toy because it's implemented in pixels with arbitrary rules, but the concept is exportable to other domains.

The eeriness of it I think comes from that we still don't understand a lot about the world - concepts like consciousness, the origin of the universe, origin of life - or, any mystery where we don't understand how a whole became greater than the sum of its parts - when you see a model like this, it shows visually how such unknown complexities probably originated in far simpler forms.

When I see those epic Game of Life videos where there's a giant stealth bomber looking structure steaming across the screen creating sub-processes in its wake, to me it's like a blue whale moving through the ocean, or a vast alien spaceship silently yet steadily barreling through the void of space.

There's an ominous intelligence that seems to emerge out of what was once simple, binary, unconscious, incapable.

s.gif
This won't directly answer the question, but just to give some added context: Note that in abstract mathematics (which is what Conway was doing here) you’re kinda creating building blocks, and you're kinda playing for “street cred” among the rest of the abstract mathematics community.

This is kind of true in all academic publishing, that your success is due to your publications’ ability to inspire follow-up publications. But for abstract mathematics the “street cred” follows three rules: you get more cred based on,

• the wimpier the building blocks look

• the larger and more complex the structures you can build with them

• the more memorable or intuitive the blocks are (so like marketing... SK-calculus is the same as lambda calculus but lambda can say “I am the abstract mathematics of template substitution!” while SK-calculus can't, directly.)

All a way to say that the field is full of “fun little toys” and the key about criterion (2) is that we have figured out how to build structures of arbitrary complexity in Life, because we have discovered it is Turing-complete. It therefore is also NP-hard and a lot of other good stuff. Really revitalized work into cellular automata by giving some good marketing, which led to Stephen Wolfram's success etc etc.

s.gif
Excellent info.

> which led to Stephen Wolfram's success etc etc.

Wolfram's A New Kind of Science takes the idea a bit too far, in my opinion. It's an exposition of the hypothesis that the underlying stratum of life and the universe is, like cellular automatons, discrete—and therefore can be understood in terms of discrete processes, which he views as analogous to real life. He points to emergence in cellular automatons as evidence that an analogous emergent phenomenon was the reason biological life came into existence.

Mathematically and philosophically, it's a very interesting idea, but I'd hope that at this stage in scientific history, we'd understand that step 2 to validating an interesting hypothesis is testing it.

s.gif
yeah wolfram's famous idea (which is sort of the whole point behind a new kind of science) is this computational equivalence principle which is that most things that are at a certain level of computational complexity are equivalent to each other[1]. Which may be true in some limited sense but is definitely not true in the general sense that he tries to imply. This has led him to saying things like you can implement the whole universe "in 4 lines of the wolfram language" even though mathematica (which is in the universe and implements the wolfram language) takes more than 4 lines of code to implement.

[1] https://mathworld.wolfram.com/PrincipleofComputationalEquiva...

s.gif
A simple set of rules leads to a fascinating array of emergent phenomena, which themselves can be utilized to do all sorts of interesting things.

In fact, the game of life is Turing complete -- you can build whole processors[0] or programming languages in it. You can even implement the game of life in the game of life. Someone did that and implemented infinite zooming between GOL levels.[1]

[0] https://github.com/nicolasloizeau/scalable-gol-computer

[1] https://oimo.io/works/life/

s.gif
Conway's Game of Life (GoL) provides a clear demonstration that simple rules can lead to complex behavior. The complex behavior is deep in the sense that Conway's GoL is Turing Complete [0].

The local update rules provide an analogy to our universe with a kind of built in "speed of light" of how fast information can propagate in the system. Further, since there is a system clock of sorts, the system is massively parallel with further analogies to our universe.

The game looks like a toy but note that many profound models are also "toy-like". Ising systems, precolation models, Bethe lattices, self avoiding walks, etc. all provide seeding grounds for deep insights into our physical world. Just as an aside, I heard a quote, which I can't find anywhere, about how Maxwell playing with magnets could have been considered him playing with frivolous toys but his setup was critical to him figuring out the underlying mechanics of electromagnetism.

On one hand, I sort of agree that there's a lot of uninteresting exploration but on the other hand, taking a step back, GoL research is exploring the more general space of cellular automata and how it could potentially map to real world simulation. For example, how small can a system be before it can do arbitrary computation? Can all patterns emerge eventually (no, garden of eden style patterns)? What do rotationally invariant patterns looks like? Can you "copy" arbitrary patterns from some setup? If so, how fast? Is it dependent on how big it is, or how complex it is? etc. GoL provides a sandbox in order to answer these questions and potentially give insight into other systems as well.

In my opinion, one of the reasons for the popularity of GoL is because it was created right when computers became commodities, allowing hackers, amateur mathematicians and others to program something simple, that could be heavily optimized for limited hardware, and create intricate and complex behavior. There was a quote somewhere, that I'm also having trouble finding, about how, at one point, GoL simulations accounted for a significant portion of wasted compute.

[0] https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life#Undeci...

s.gif
Just leave physics out, and you’ll be OK.

God doesn’t play the GoL.

s.gif
It's a cellular automaton showing complex behavior emerging from very simple rules. Through especially crafted inputs you can simulate a Turing machine or Conway's Game of Life inside itself.
> boojum reflector

That absolutely sounds like a codename from one of cstross's Laundry Files novels. (I think "boojum" was actually part of one, but I don't recall which.)

edit: found it, it was from A Colder War, which is a great novellette: https://www.infinityplus.co.uk/stories/colderwar.htm

s.gif
The word "boojum" originates in Lewis Carroll's "The Hunting of the Snark," an amusing epic poem about the importance of negative testing.
s.gif
I'm interested. Scanning wikipedia, I'm missing the link with the importance of negative testing. Could you explain?
s.gif
Positive testing, in this case, is matching a sample to a pre-existing pattern

Negative testing is trying to invalidate the sample

The hunting of the snark is written in a way that reads like "normal English" from a distance. The sentences flow fine, the words look about right if you squint. So it passes a lot of "positive tests", in that it matches our expectations for what language looks like.

You have to "negative test" the story to realize you don't know the definitions for any of the words, and that the plot is uninterpretable.

Same idea as Kahneman's system 1 that comes up with instant answers, or ChatGPT hallucinating facts by association that "look right".

s.gif
Reminds me of Ted Hughes' Wodwo, playing with the concept of the known, unknown, and unknowable.

It challenges the reader to try to model and define a Wodwo, but provides basically no information on what a wodwo is, aside from the fact that it is something that itself is struggles to define it's relation and connection to the world.

In my opinion, it highlights how we are all physical perception machines looking for meaning and identity, but meaning and identity can not be physically perceived.

https://allpoetry.com/poem/8495307-Wodwo-by-Ted-Hughes

s.gif
Yes, please -- I'd like to hear more about that! I've got the poem memorized, but mostly what I know about it is that Carroll thought of the last line first --

"For the Snark _was_ a Boojum, you see."

and ended up writing the other umpteen dozen verses just so that that would make sense as a punch line.

Over the years there must have been countless interesting generalizations of Life. I wonder if there is good concise reference that classifies and groups the main ideas that have been proven "productive", in the sense that they open up non-trivially different and interesting types of dynamic behavior?

A while ago I was toying with the idea of introducing a "macro" stimulus. Basically coupling the local rules of the game to global metrics like how many nodes are alive. This is emulating a bit agent based modeling in economics and in particular the role of regulators raising or lowering rates, alternatively a physical system exposed to higher or lower temperature. But what happens (at least with a simple implementation) is that whatever "stimulus" is introduced tends to overwhelm the known patterns, there seems to be little new "emergent" behavior in the coupled system.

https://www.openriskmanagement.com/game_of_life_with_macroec...

s.gif
I don't know about "concise", but one place to start for references is the LifeWiki. We've been trying to extend the non-Conway's-Life part of the wiki for a few years now, to cover more of the OCA space ("Other Cellular Automata"):
  https://conwaylife.com/wiki/Cellular_automaton
  https://conwaylife.com/wiki/OCA
There's an "Other Cellular Automata" board on conwaylife.com/forums and several channels on the ConwayLife Lounge on Discord -- "#naturalistic", "#circuitry", "#exotic-ca" -- that collect discussions on these kinds of topics.
Conway has said GOL is not something he is particularly pleased got as famous as it did. (Ref: https://youtu.be/R9Plq-D1gEk?t=600)

Why do you think that is?

Edit: This is the video I meant: https://www.youtube.com/watch?v=E8kUJL04ELA

s.gif
What I got from his interviews is not that he disliked the GoL, it's just he disliked the GoL overshadowing everything else he did (basically, becoming the GoL guy). He personally didn't see much more interesting mathematics that could be done after answering basic questions like universality (although it's likely he wasn't aware of everything the community was up to). Also, it's clear he seemed to come to terms with it in his final interviews (including the second one you linked) :)

I've played around with several CAs and Conway's rules stands out to me as one of the most interesting still, for many reasons (like simplicity, interesting patterns, long lived structures).

s.gif
Reminds me of Steve Paxton, an amazing dancer who passed away recently. He led a project called “Contact Improvisations”, which became a movement form called Contact Improvisation. He taught some classes and many others contributed. 50 years later, it’s still going strong. But, he didn’t embrace this role of “Contact Improv guy” that was really available to him. He just kept doing other stuff, even as this community exploded.

I think that’s partly the nature of pure researchers. They usually have something more interesting to them than what they got famous for, and they probably don’t want to lead an organization. This is different from BDFLs like Guido van Rossum and Rich Hickey. Neither type is good or bad, and I appreciate them all.

s.gif
It's almost by definition that if you get popular for something, it is not the thing you're most interested in or best at - because you're an expert in the craft and for something to be popular it has to be at least somewhat approachable by non-experts.
I've been fascinated by Cellular Automata and the Game of Life ever since seeing the art installation of _Network IV_ by James Seawright. It was at Sea-Tac Airport, and has since been removed.

There's some debate whether it was the Game of Life or some other automata, but I remember the sounds of the relays clacking and the light bulbs humming so distinctly. It certainly had a "Game of Life vibe".

Are you aware of this art installation? Ever seen it?

s.gif
Hadn't heard of it. Looks like it was removed sometime in the 90's, maybe, so it's not too likely that there would be a good video of it in action.

https://www.reddit.com/r/Seattle/comments/1xzypl/something_i...

https://imgur.com/gallery/3zwVKc3

It does seem like the kind of thing I might have been drawn into staring at for hours and/or playing around with, kind of like the marble perpetual-motion machine I remember from a Toronto museum at around the same time period.

Have you dug a bit in the concept under wolframphysics.org? Discretization of PDE equations is interesting and some generating-functionology/combinatorics can be spotted more or less over there. CAs can enter anything under the computational umbrella, question being how sleekly. Have they achieved something already, do you share their interests? (you said "ama")
s.gif
Ha, well, I've mostly successfully dodged the various Wolfram-science questions so far. I just finished reading a book on cosmology -- VSL theory -- but honestly a lot this kind of thing seems to be way too far above my personal abstraction ceiling. I can't tell whether some of these ideas really even mean anything at all, or if it's just somebody who is better at waving words around than I am.

This is wandering off of the Wolfram physics project a fair distance, but it's hard to see how space could be quantized in a Fredkin "Nature is finite and digital" kind of way, without the underling "grain" of the universe becoming obvious in some kind of experiment, and/or without causing deep contradictions in various experimentally well-supported relativistic effects that require that there isn't any such thing as a unique fixed frame of reference.

But quite possibly that's just a failure of imagination on my part, not anything wrong with the actual theories in question -- I'm probably complaining about some apparent implausibility two levels above or below where the information is actually flowing. And there are certainly all kinds of properties of our physical universe that are quantized in one way or another, for utterly mysterious reasons.

Long story short, there is certainly still room for some big surprises in theoretical physics, and I'm not about to claim that I'm clever enough to rule out any of these wild options.

Decades ago, I read an article in Byte magazine discussing various implementations of GoL. The article ended with an implementation in one line of APL. What are the chances you (or anyone) still has that article, and that one line program?
s.gif
Heh -- "if you need more than one line of APL you do not fully understand your problem".
  https://news.ycombinator.com/item?id=1041500
People have done similar things in all kinds of languages by now:
  https://codegolf.stackexchange.com/questions/3434/shortest-game-of-life
s.gif
This video constructs a GoL in APL (not one liner). It is quite understandable even if you don’t know APL (I had just started tinkering with APL when I first found it I think): https://m.youtube.com/watch?v=a9xAKttWgP4

In case somebody is curious to see how it might look like.

What’s the largest world we can run these days?

Are they run on gpus now?

Has anyone looked into ASICs?

Is caching heavily used for optimization?

s.gif
Yup, there's an increasing amount of GPU use these days, mostly related to soup searching -- see https://catagolue.hatsya.com/home for the software and a tabulation of results from the last several years of collaborative searching.

Caching is very very heavily used for running the biggest universes, which are truly mind-bendingly large. Golly's "HashLife" algorithm can in practice handle patterns that are over a trillion cells in each dimension:

  https://conwaylife.com/forums/viewtopic.php?&p=153609#p153609
Patterns with interesting behavior very often have a lot of repeating patterns, with the interesting stuff happening as complex interactions between those predictable patterns. HashLife capitalizes on remembering interactions that it has seen before, so basically the more memory your computer has available, the better HashLife will do in the long run at simulating that type of pattern.
s.gif
I'm curious at the term "soup searching": is this just looking for particular shapes? Or shapes that have certain behaviors?
s.gif
"Soup searching" generally means not looking for anything in particular. It just involves setting up a random initial configuration, letting it run until it stabilises ("goes boring") and then takes a census of what's sitting around in the ashes of the burned-out pattern.

Mostly, of course, the census just reports piles and piles of blinkers and blocks and beehives and boats and everything else that you almost always see when you run a random scribble -- but every now and then something turns up that has never ever been seen in the history of Life, and that turns out to be useful and building new mechanisms that weren't possible before:

  https://mathematrec.wordpress.com/2016/07/05/richs-p16/
  https://conwaylife.com/wiki/Rich%27s_p16
Is there a 3d equivalent of the game? What would be different about it?
s.gif
There's been quite a lot of experimentation with 3D versions of Conway's Life -- including rules where you can easily emulate Life on a 2D slice of the 3D plane. Carter Bays did some investigations and published papers back in the 1980's:
  https://conwaylife.com/wiki/Three-dimensional_cellular_automaton
There's been a little bit of revived interest lately, when newer versions of Golly ( https://golly.sourceforge.io/ ) started to include at least some support for 3D rules. Other programs have been showing up recently, though some of them are more ways of visualizing the history of a 2-dimensional rule in three dimensions.

There are a couple of big difficulties that seem to prevent 3D rules from getting a lot of attention. It's just plain a lot more computationally intensive to emulate 3D rules. Also it's a lot harder to see what's going on in the middle of an active 3D pattern -- a lot of the detail tends to get hidden.

s.gif
Carter Bays wrote a paper "Candidates for the Game of Life in Three Dimensions" on that back in 1987 [1] and another in 2006 as mentioned on Wikipedia [2]:

[1] https://content.wolfram.com/sites/13/2018/02/01-3-1.pdf

[2] https://en.wikipedia.org/wiki/3D_Lifex

What are the coolest problems that have been recently solved?

What are the coolest open problems you'd like to see solved?

s.gif
It's hard to choose one these days -- a whole pile of open problems actually got solved in the last few years, like omniperiodicity, glider syntheses of really complicated things like spacefillers, fixed-cost universal construction (it only takes fifteen gliders to build anything buildable) and still lifes and oscillators that solve the "unique father problem" (i.e., there are groups of cells that, if they're found in the Life universe at any point, they must have been there from the beginning of time.) So now I don't know what to wish for next!

I suppose if I get a free wish for anything I want, I'd love to see a glider synthesis for Sir Robin, which a big oblique spaceship discovered in 2018. It's currently way beyond our ability to figure out how to build it out of gliders -- but twenty years ago the same was true of just about every Life spaceship, and now we have recipes for dozens of them.

s.gif
What would that investigation look like, just large amount of trial and error?
s.gif
It's going to have to be the opposite of trial and error, I would think -- though maybe in some sense some of the underlying searches for useful predecessors of patterns like Sir Robin could count as "directed super-high-speed trial and error".

The problem at the moment is that nobody can see how to direct those searches toward a predecessor that's made entirely out of gliders -- it's clear that the Sun will burn out long before a trial-and-error search would be at all likely to return a result.

We can easily make a huge number of non-Sir-Robin predecessor patterns that will evolve into Sir Robin -- and we can find ancestor patterns for most of those predecessors, too -- but each step backward always produces something that's a little bigger, a little blobbier, and a little more random and chaotic looking than Sir Robin was... so ultimately all we're doing is making the problem more difficult with each step.

1. Are there any practical/real life applications for Game of Life?

2. Has any discovery made in life been used in real life or any practical application?

s.gif
This is like asking about the practical applications of chess. They're probably mostly nth-order effects.
s.gif
Heh, yes, the comparison to chess is a very good one. You probably need a similar level of focus and dedication to be a good Life pattern engineer or a good chess player -- and that level of focus is something that improves with enough practice, in both cases.

I've mentioned in other answers that Life can make a good teaching tool for various mathematical and computer-science topics, mostly because it's entertainingly eye-catching. When you get a design right it's very satisfying -- like one of those huge domino chains that you see on YouTube, except that (for some designs) it keeps on setting itself back up again as it's in the process of falling down.

What's your take on continuous life? SmoothLife, Lenia and Bert Wang-Chak Chan work in general?
s.gif
I think SmoothLife and Lenia are great fun -- lots of highly watchable "eye candy" tends to get produced by those types of experiments. The better you get at running experiments, the more new behavior you can turn up:
  https://www.youtube.com/c/Slackermanz
There's a channel on the ConwayLife Lounge on Discord called "#exotic-ca" that's devoted to these kinds of explorations. I just simply haven't had time to dig into those topics much, but if I could clone myself I'd definitely assign one copy to playing around with that kind of thing.
I haven't studied CS or bio. Do I understand correctly that what makes cellular automata special is they're approachable and demonstrate how complexity can emerge from simple rules (e.g. analogously to how life may have come to be)?

Do other games (or simulations) demonstrate similar ideas, or are cellular automata a rare case?

s.gif
I'd say there's no shortage of demonstrations of complexity emerging from the iteration of simple rules -- fractals like the Mandelbrot set, simple edge-matching rules for aperiodic tilings, the logistic map, etc., etc.

What makes Conway's Life particularly "catchy" (along with other 2D CAs) seems to be the motion. Humans love watching stuff move, especially when the motion is partly predictable and partly surprising -- i.e., like a screen-saver, not like TV static. And they like watching things blow up. A lot of Lifenthusiasts probably got their start by aiming gliders at carefully balanced Life patterns and gleefully watching the resulting explosions... it's a lot more fun than actually blowing things up, because you can always hit Undo and run it all over again, no harm done!

s.gif
Not sure that "being able to hit undo" and "no harm done!" is what makes blowing things up enjoyable, but to each his own.
s.gif
Heh, well, I'm speaking as somebody who was fairly obsessed with making Rube Goldberg domino chains as a kid, spending hours at a time covering a large oak trestle table with precarious stacks of wooden blocks, rulers, tape cases, strings, marbles and so on -- and then knocking them all down. (This was long before YouTube, so I don't have any documentation of any of this.)

I would really have appreciated an "Undo" button for rewinding entropy and running those things over again, especially when they went disappointingly wrong halfway through...!

Back in the day I read an article on HashLife in Dr Dobbs, which had a bit of an effect on me in terms of software architecture in terms of a set of new approaches, tightly coupled, providing astounding results.

Are there other interesting and unexpected algorithms in implementations of GoL?

s.gif
The relatively-big, relatively-new thing at the moment is the application of SAT solvers to CGoL problems. Donald Knuth got the ball rolling on this, but we're still in the very early days of seeing what is possible with SAT solvers.

Every now and then a lucky or inspired SAT solver problem setup will throw out an answer to a really difficult-looking problem, with no apparent effort. But then that tends to tempt people into setting up more difficult problems to solve... and of course it's still very easy to set up problems that cover such a large search space that the search would take billions of years to complete on a planet-sized supercomputer.

So it's still very much an art form, rather than an exact science, to figure out what searches to try next.

I discovered Langton ants and Turmites a couple of months ago, I guess these are a subset of cellular automata. I was talking with a friend about using them somehow for art somehow (music generation came to mind), is this a topic you might know about and could recommend some resources to get started?
s.gif
Langton's Ant is one of many, many CA rules that run for a while, seeming to be "predictably unpredictable" -- creating lots of blobby chaos -- but then produce a highly recognizable emergent phenomenon (the final "highway", in this case).

For music generation you'd want to somehow avoid ending up with the music "going boring" when the highway appears... As with a lot of math-inspired art (I guess I'm thinking about Mandelbrot-set colorizations here) the key is going to be in very specific presentation choices -- color choices for still frames or videos, or the specific method of mapping sounds to frames in a Langton's Ant evolution. So you'll just need to have (or develop) tools to try a lot of options and see what looks the most compelling.

Still frames are probably not going to be that interesting -- the fun part about CAs is the predictable-yet-surprising motion, which can be either the usual visual form or converted to sound somehow.

A recent version of Golly ( https://golly.sourceforge.io ) added support for listening to evolving patterns -- see pop-sounds.py / pop-sounds.lua in the Scripts directory. That reduces patterns to a single dimension in an obvious way (just looking at population), ignoring a lot of the 2D complexity. No doubt there are a lot of other possible avenues to explore there.

Did the Game of Life change anything in your world view? Your belief in god, or how you view society and societal changes? Even if the change is not rigorous or logical but something anecdotal that nonetheless changed your emotions, I'd be glad to hear about it.
s.gif
There have been a lot of "wow" moments in my Life career, watching complexity emerge out of the repeated application of simple rules -- but I guess I'd say that it was more a confirmation of things that I thought I knew already.

In 2001 I had already been playing around with things like the Mandelbrot set and aperiodic tilings and Douglas Hofstadter's strange loops for quite a few years, so I knew the kinds of magical things that the iterative application of simple rules could produce.

I made a small solar powered CGOL(https://davidhampgonsalves.com/solar-powered-conways-game-of...) that has a low pixel count. After 100 frames it randomly generates a new starting point b/c I didn't implement loop detection.

Are their any algorithms or techniques for generating interesting starting states?

Where would you direct someone for tips on implementing Game of Life?
s.gif
These days, without knowing more about preferred programming language or the purpose of the implementation, I'd probably start by pointing to this very thorough series of blog posts by Eric Lippert, from LifeWiki/Tutorials:
  https://conwaylife.com/wiki/Tutorials/Coding_Life_simulators
Life simulators have been coded in so many different ways, in so many languages, by so many different people in the last half-century ... that it takes several dozen articles to work through a reasonable survey of the possible ideas and methods.
I'm super interested in cellular automata.

One thing that particular piques my interest is the diversity of possible automata, not just forms in any particular one, but diversity of rule sets as well.

What do you think is special about the GOL rule set compared to other life-like rules?

Do you think it was a historical accident this particular rule set became so famous, or not?

Are there alternatives you are also interested in?

s.gif
It was _kind of_ a historical accident, in the sense that if we ran history over again, it wouldn't be too surprising to see an alternate-history "Conway's Life" with a rule like "B36/S23" (HighLife) instead of "B3/S23". (Conway did really like the replicator and bomber and a few other fun things that HighLife has that Life doesn't.)

On the other hand, Conway had some very specific criteria for the rule he was looking for. "B3/S23" is about as simple a set of rules as you can find for a range-1 Moore-neighborhood outer totalistic cellular automaton on a square grid.

So unless Conway's eye had happened to get caught by some slightly more complicated rule before he and his team happened on B3/S23, he'd be quite likely to settle on "B3/S23" all over again. It's one of the few candidates for the simplest rule that does obviously interesting things and seems likely to allow for computational universality. I mean, there are untold numbers of equally promising rules in larger rulespaces like the "isotropic non-totalistic" rules

  https://conwaylife.com/wiki/Isotropic_non-totalistic_rule
... but most of those have rulestrings like "B2ci3ai4c8/S02ae3eijkq4iz5ar6i7e": it's just not anywhere near as simple to describe the rules, as it is for Life.

---------------

If we meet up with an alien civilization some day, it would be extremely amusing if we happened to show them some Life patterns and they said (in so many words) "Hey! You know about Pnurflpeef's Game of Life?!?" Not a likely scenario, by any means, but not quite impossible either.

This is not a question about GoL directly but more generally about CA. Do you have a sense for what the probability of a random CA is to be TME? Do you have any idea of how to automate the process, if not in general, then at least for a class of CA?
s.gif
This is a very good question, but I'm not sure I can give a very good answer.

I'm not sure the "probability" part of the question is even well-defined, let alone answerable, unless you state a specific rulespace -- two-state range-1 Moore-neighborhood CAs on a square lattice, or three-state range-2 isotropic CAs on a hexagonal lattice, or what have you.

Basically, you just have to be able to demonstrate a working universal logic gate (a NAND gate or a NOR gate) in a candidate rule, and you've pretty much got Turing-machine equivalence.

The problem is, a lot more rules are computationally universal than you'd think when you first look at them. This is because it's often possible to get a candidate rule to act like a completely different rule, by filling the universe with something other than empty space.

So you can't just try out a few random-soup patterns, dash off a quick proof that "this rule necessarily explodes uncontrollably in all directions, so it's impossible for any circuitry to survive" or anything along those lines. What if you start with a universe of all ON cells, or a checkerboard of ON and OFF?

There are lots of rules where signals can propagate beautifully through that kind of non-empty medium, and occasionally some kind of Turing-complete mechanism might be found there, along the lines of what Matthew Cook did with Rule 110. So you really have to look at a lot of options before you can say for sure that a rule does not support universal computation -- and so far, it seems like a very tricky problem to automate the process of looking.

Do you subconsciously see gliders and other patterns in your day to day life? In your dreams?
s.gif
If a glider shows up somewhere by accident, like in an an otherwise random-looking arrangement of floor or wall tiles in a bathroom or somewhere, then I'll certainly pick it out immediately (and be unwarrantedly cheerful for the next half hour or so). But that doesn't happen all that often.

It seems like I rarely have dreams about Life patterns, though it does happen. Maybe some people with better-resolution imaginations might have a different experience, but Life patterns need a lot of precision and focus, and in my dreams everything is always fluid and shifting and I can never find my car keys or my homework, let alone any interesting Life configurations.

Could the Game of Life run Doom, since it's Turing-complete ? I remember seeing an excerpt of a video where you could run the Goal inside the GoL.
s.gif
Yes, you'd just need to have a way to provide input (probably easiest as a demo file), and a machine big enough to simulate the pattern. You'd definitely be waiting for a while to see any action, though :P
I would like to see a setup which is going to spawn as much dots as possible, I mean something like a gun but having as little static elements as possible while creating as much gliders as possible.
s.gif
The "spawn as much dots as possible" sounds like a spacefiller:
  https://conwaylife.com/wiki/Spacefiller
But that's maybe a little too static for the "creating as much gliders as possible" part. You might like the glider-gun version of "Jason's p156":
  https://conwaylife.com/wiki/Period-156_glider_gun
Or ... this last year or two have seen an impressive number of new glider-gun discoveries, where a very active small "engine" produces a dense stream of gliders:

https://conwaylife.com/wiki/Period-24_glider_gun#Other_perio... https://conwaylife.com/wiki/Period-25_glider_gun https://conwaylife.com/wiki/Period-48_glider_gun https://conwaylife.com/wiki/Period-15_glider_gun https://conwaylife.com/wiki/Period-16_glider_gun

s.gif
Thank you for perfect answers! Seems like a binary symmetry plays some role in this game because both configs are so. And I am amazed that Period-156 has a quadro symmetry!!! (at least if I refuse to consider it as a static image).

Are there any configs (I mean, those having any interesting behaviour) with intention having more than 4 symmetry parts? Or at least just more quadro symmetry configs? I am absolutely sure (since today) there are some for any 2^n, just all unfound.

Any attemts to create Conway's life on hexagon map with apropriate rules?

upd: for a single stream of gliders, what config gives as many gliders per 100 generations as possible? No matter what else it does, I just want a line of gliders with as little space as possible.

Not a serious question, but what should I improve to make my g.o.l. background cooler @ https://www.franzai.com/ ?
s.gif
That background seems pretty cool as it is -- I like the changing colors. Maybe try playing with depth as well, along the lines of the T=450 point of the LifeViewer demo pattern here
  https://conwaylife.com/wiki/LifeViewer
-- or go for broke and steal some code from
  https://oimo.io/works/life/
for an infinite zoom into (or out of) a fractal Life pattern.
What do you think about other forms of cellular automata?

I came across excitable media recently and found it fascinating.

Do you have any other examples of cellular automata you found interesting or worth pursuing?

Do you think asking a candidate to implement GOL in a 45 minute live coding exercise job interview and then expecting a fully working implementation if it’s clear they have never come across the problem before?

Devs I ask this come down 50:50 on if it’s reasonable or not.

s.gif
What is the environment? What language and frameworks are you testing them on?
s.gif
And what are these hypothetical candidates interviewing for, exactly?

In the '80s and '90s, every time I got a new computer, one of the first things I'd do is write a very simple CGoL simulator, and then sit back and marvel at how much faster it was than the previous PC was.

So personally I guess I would have aced that question, in any number of languages and platforms... and yet I'm not really a particularly good programmer. It took me quite a few new-computer cycles before I started wandering down the various optimization rabbit-holes --

  https://conwaylife.com/wiki/Tutorials/Coding_Life_simulators
-- and I never got anywhere near as far as either HashLife or QuickLife. Now I just happily use other people's nicely optimized code, for the most part.

So... it's a problem that a sufficiently nerdy programmer type of a certain age will be very likely to have encountered before, and you'd learn completely different things about a candidate depending on the level of that past experience.

I e always wondered are there setups in GOL that seem to go on forever with new patterns or does everything ready a static or repeating state?
s.gif
Some can be constructed with varying levels of success. Default Golly comes with an “infinite novelty” scenario; it’s worth checking out for a couple hours.
s.gif
Yup, it doesn't take a very big starting pattern to produce likely infinite novelty -- though it's not always easy to prove that any given pattern won't eventually unexpectedly "go boring" due to some kind of unexpected feedback effect.

Life being Turing complete, it's also not difficult to build a pattern with an unknown fate -- like a Fermat-prime calculator that will stop growing if it ever finds a sixth Fermat prime, or the Collatz-sequence simulator described here:

https://conwaylife.com/wiki/Fate#Unknown_fate

What are the best ways to keep up with GOL developments?

Links you posted and hobbyist forums, formal research papers, or something else?

s.gif
We've tried a lot of different methods over time. Currently the LifeWiki --
  https://conwaylife.com/wiki/Main_Page
-- is the most likely central location; any sufficiently big news will probably find its way into the CurrentNews pane, sooner rather than later.

For a couple of years I've been trying to keep up with an informal summary of new developments, in an email-newsletter form mostly intended for "old-guard" Lifenthusiasts:

  https://conwaylife.com/forums/viewtopic.php?f=7&t=5650
As I mostly expected, it ends up being a bit too much work for one person to do properly. But the back issues there do go into a bit more detail than there is room for in LifeWiki CurrentNews back issues.
Did you ever meet or interact with Conway?
s.gif
Not quite, unfortunately! I almost had the opportunity, briefly, in 2019 when I was contributing some patterns to a short film that Will Cavendish was working on with Conway, called "Thoughts on Life":
  https://www.thoughtsonlifefilm.com/
But there was never really a good excuse to arrange a meeting, given Conway's very fragile health at that point -- and then COVID came along.

Conway regularly attended the bi-annual Gatherings for Gardner in Atlanta for quite a while, but by the time I started attending he could no longer travel that far.

Do you see a role for generative AI to discover new patterns?
Given a torus what initial configuration yields the maximum number of unique generations? :)
What has the Conway game of life done for mankind lately?
What is something that you think the average HN user would find useful/surprising about Life? How could it apply to their daily lives?
s.gif
Heh, I think I can find answers for "surprising" a lot more easily than for "useful". The main practical use for Conway's Life is as a teaching tool, giving a nice explorable example of layers upon layers of incredible complexity that can arise from very simple rules. So I suppose that people who can benefit from that kind of insight might find Conway's Life "useful", in a way -- engineers, mathematicians, and just anyone who is curious about the universe we live in and the physical laws that seem to underly its behavior.

The big surprise that I've been spending the most time on lately is the utterly strange result that if you can build something by colliding gliders together -- no matter now many gliders and no matter how big the final pattern is -- then you can also build it by starting with exactly fifteen gliders in an otherwise empty Life universe:

  https://biggieblog.com/building-arbitrary-life-patterns-in-15-gliders/
It's a mind-bending result -- partly just a mathematical trick, since you end up encoding a whole lot of information in the space between the gliders -- but it's just really amazing that all the details have actually been figured out to make the trick work, and that it's possible to simulate the whole process on a personal computer.
You would like subleq/muxleq languages them.
What is in common between the bazillions of CGoL implemetations? Is convergance possible?
Wolfram's "A New Kind of Science" posited the study of cellular automata as a revolutionary new field of science. Did you agree then? Do you now? If you changed you mind, why?
s.gif
I've never had a good short answer to this kind of question. It's much more of a twenty-page essay question, with a lot of subtleties to dive into. I've tangentially crossed paths with Stephen Wolfram off and on for a bit over a decade now, starting with attending a Wolfram Summer School session --
  https://education.wolfram.com/summer-school/alumni/2011/
-- and every few years someone from Wolfram Research will show up for an email discussion about one interesting topic or another. I'm more of a "determined hobbyist" than a proper theorist along the lines of Ed Fredkin, though, so while I'll enthusiastically agree that _A New Kind of Science_ documents a whole lot of fascinating stuff... I might not be the best judge of whether it all adds up to something that should be called "revolutionary".

(I'm quite sure that I don't do anything "revolutionary" myself -- I just try to encourage Conway's Life research to continue. Discoveries have kept building on previous discoveries for fifty years now, and I'm just really curious to see what will happen next.)

s.gif
He has since stated fixed geometry models are not sufficient and has moved on to graphs.
Why you are so clever than 99.9999% of the world's population?
Have you read Alien Information Theory: Psychedelic Drug Technologies and the Cosmic Game by Andrew R. Gallimore [0], and do you have any thoughts on his cosmology vis a vis cellular automata? And perhaps also the same question related to Stephen Wolfram's physics project?

[0]: https://www.amazon.com/Alien-Information-Theory-Psychedelic-...

Not a question but as a fellow Life enthusiast I thought I’d surface an alternative Life hack I made a few years ago based on physical Kong Bucks from Stephenson’s Snow Crash: https://kong.cash/

Each note is an actual flexible polyimide PCB containing a hardware storage wallet - the PCBs are translucent in parts or solid in others depending on a copper pour but overprinted with ink using a special UV process - but one of the security features is when one holds a note up to the light one can see a Game or Life program which when executed emits a corresponding number of gliders and oscillators as the notes value. This feature is to prevent one from “washing” a note and printing a different value as is done with $5 and $100 US bills for instance as the copper pour is “baked” into the medium.

Writing a c program to encode arbitrary numbers into a Game of Life program was a very fun distraction during an otherwise thorny project that involved connecting people from the print world to people from the electronics world while shaving a few thousand cycles off a crypto library with ECDSA P256 operations before the smart phone powering the chips via NFC turned off. Real engineering work to bring cryptographic proof of authenticity that unfortunately gets written off as a 'crypto scam' when the poc token attached to the circuit boards was the least interesting part.

One can see some of the denominations here: https://twitter.com/NoviolNFT/status/1341468948416512000

Shouldn't this be a "Ask HN" or something similar? Also, let's not make AMAs a thing on HN. Better to post an interesting link and then engage with people in the comments.
s.gif
I did a bit of homework before posting this, and there were just enough Hacker News hits on "AMA" (from Sam Altman, Peter Roberts, etc.) that it didn't look like there would be any harm in trying this experiment.

I could certainly try an "Ask HN" at some point, but haven't been able to think exactly what question I would ask. "How many people know what a reverse caber tosser is?" is one that I'm curious about, but I suspect I'd get mostly just crickets. Really I wanted other people to ask questions... and I'm having lots of fun with the results so far!

s.gif
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search:

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK