AMA: I'm Dave Greene, an accidental expert on Conway's Game of Life
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!
[+] [-] HarHarVeryFunny|1 year ago|reply
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?
[+] [-] dvgrn|1 year ago|reply
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:
[+] [-] jaymzcampbell|1 year ago|reply
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...
[+] [-] unknown|1 year ago|reply
[deleted]
[+] [-] bell-cot|1 year ago|reply
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?
[+] [-] dvgrn|1 year ago|reply
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" --
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:
[+] [-] kwhitefoot|1 year ago|reply
[+] [-] mihaitodor|1 year ago|reply
[+] [-] dvgrn|1 year ago|reply
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.,
[+] [-] rosmax_1337|1 year ago|reply
[+] [-] crdrost|1 year ago|reply
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.
[+] [-] TimTheTinker|1 year ago|reply
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/
[+] [-] _akhe|1 year ago|reply
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.
[+] [-] abetusk|1 year ago|reply
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...
[+] [-] meschi|1 year ago|reply
[+] [-] pavel_lishin|1 year ago|reply
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
[+] [-] sevenseventen|1 year ago|reply
[+] [-] bradleyy|1 year ago|reply
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?
[+] [-] cauliflower99|1 year ago|reply
Why do you think that is?
Edit: This is the video I meant: https://www.youtube.com/watch?v=E8kUJL04ELA
[+] [-] gnramires|1 year ago|reply
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).
[+] [-] JoeDaDude|1 year ago|reply
1. There was a two-player game called The Immigration Game [1] using GoL rules. Has anyone actually played this? Even better, has anyone developed an AI to play it? Is there really much of a game there?
2. The PSA: The Immigration Game was described in Lifeline, a 1970's era (typewritten!) newsletter about GoL. I managed to obtain a set of them. I've been planning to scan them and make them available online. I don't think there is any ground breaking info in them, after all, folk were programming on mainframes (surreptitiously).
[1]. https://boardgamegeek.com/boardgame/129088/the-immigration-g...
[+] [-] dvgrn|1 year ago|reply
It seems to be rather difficult to convert cellular automata into any kind of playable game. If it's an arcade game then it's usually too arbitrary, and if it's a puzzle game then it's usually way too easy or way too difficult. There have been some good efforts, but they're mostly only playable by dedicated Lifenthusiasts, and that's ... well... not a very large market!
Re: the LIFELINE public service announcement -- no need to do the scanning and online-ing. That's been done already, though there's still some review and typing-up work left for someone to do:
[+] [-] JoeDaDude|1 year ago|reply
[+] [-] dvgrn|1 year ago|reply
[+] [-] RBerenguel|1 year ago|reply
In case somebody is curious to see how it might look like.
[+] [-] kirubakaran|1 year ago|reply
[+] [-] p1esk|1 year ago|reply
[+] [-] dvgrn|1 year ago|reply
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.
[+] [-] tromp|1 year ago|reply
[1] https://content.wolfram.com/sites/13/2018/02/01-3-1.pdf
[2] https://en.wikipedia.org/wiki/3D_Lifex
[+] [-] cornstalks|1 year ago|reply
[+] [-] npinsker|1 year ago|reply
What are the coolest open problems you'd like to see solved?
[+] [-] dvgrn|1 year ago|reply
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.
[+] [-] bilsbie|1 year ago|reply
Are they run on gpus now?
Has anyone looked into ASICs?
Is caching heavily used for optimization?
[+] [-] dvgrn|1 year ago|reply
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:
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.[+] [-] paulgerhardt|1 year ago|reply
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
[+] [-] lugao|1 year ago|reply
[+] [-] dvgrn|1 year ago|reply
[+] [-] openrisk|1 year ago|reply
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...
[+] [-] dvgrn|1 year ago|reply
[+] [-] smusamashah|1 year ago|reply
2. Has any discovery made in life been used in real life or any practical application?
[+] [-] neoneye2|1 year ago|reply
https://github.com/fchollet/ARC
[+] [-] c22|1 year ago|reply
[+] [-] bxclltkfz|1 year ago|reply
[deleted]
[+] [-] thrww0300392|1 year ago|reply
I think it would be interesting to try transfering some of the automated search techniques to Minecraft's redstone mechanics, even though it probably doesn't fit the definition of a celular automata. Redstone is a feature in a videogame Minecraft that acts similar to logic circuits. Because building mechanics in Minecraft is inately restrictive (building is snapped to the 3d grid of "blocks", and there is only a limited number of blocks that all have predefined behaviour), there is naturally a community of people using redstones in ways that serve no purpose to the core gameplay loop, such as flying machines (think GoL's ships) [0], computers (since Minecraft's redstone is practically Turing-complete) [1] [2] or printers/autobuilders [3]. I would go so far as to say that redstone is the GoL for nerdy Zoomers.
[0] https://minecraft.fandom.com/wiki/Tutorials/Flying_machines
[1] https://www.minecraftforum.net/forums/minecraft-java-edition...
[2] https://minecraft.fandom.com/wiki/Tutorials/Redstone_compute...
[3] https://minecraft.fandom.com/wiki/Tutorials/Printing
[+] [-] dvgrn|1 year ago|reply
[+] [-] JoshuaMHanson|1 year ago|reply
I was also thinking there must be a better way than knowing exactly how big the board is vs an infinite board. Also making the edges either always dead or alive VS letting the shapes pass through like pac-man.
Here is my horrible implementation using HTML canvas, JS/JQuery.
https://github.com/JoshuaMichaelHanson/GOL/blob/master/js/go...
Yes, I also made a new green account so as to not dox myself with my other accounts.
[+] [-] unknown|1 year ago|reply
[deleted]
[+] [-] nomilk|1 year ago|reply
Do other games (or simulations) demonstrate similar ideas, or are cellular automata a rare case?
[+] [-] dvgrn|1 year ago|reply
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!