7 ms·
SproutLife – Evolving version of Conway’s Game of Life
- nixpulvis 5y agoMaybe I'm missing the connection, but shouldn't this incorporate Conway's game "Sprouts" [1] if it's going to be named SproutLife? [1]: https://en.m.wikipedia.org/wiki/Sprouts_(game) https://en.m.wikipedia.org/wiki/Sprouts_(game)
- PaulDavisThe1st 5y agoI don't want to complain about this much - it seems like a cool little project. But from the linked page and the Wiki, it seems to have been created in near-ignorance of the Artificial Life efforts of the early-mid 1990s. That's a shame, because a lot of people did a lot of interesting things with this idea back then, and it might be worth being aware of hwo that turned out before diving into the idea again. Thomas Ray's "Tierra" would be as good of a starting point as any, or either of the two Artificial Life volumes published by Addison Wesley in that era.
- mysterydip 5y agoI found this list https://www.cs.memphis.edu/~franklin/aliferef.html https://www.cs.memphis.edu/~franklin/aliferef.html which include the two volumes mentioned. Are there any other particular ones to either avoid or focus on?
- teruakohatu 5y agoI think you are being more than bit harsh. This is not an academic paper, it is not "A New Kind of Science", it is a fun personal project that the author took a lot of time to document well. I think the author should be applauded not told to read textbooks from the early 1990s.
- PaulDavisThe1st 5y agoI thought I was applauding the author and suggesting they read up on some antecedents.
- akkartik 5y agoPerhaps you could elaborate on some concrete benefits that reading up on some antecedents provide here. Has there been any work combining A-life with GoL? I've got some passing familiarity with the A-life literature, and I'm not aware of anything like OP. So it's not clear what benefit mentioning Tierra has to a reader beyond name-dropping.
- PaulDavisThe1st 5y agoGoL is one very specific cellular automata. There was lots of work in the 80s and 90s on CA's investigating their properties, and some of them turn out to be much more interesting from an evolutionary-ish perspective than the GoL one. That could be useful if you were interested in evolving CAs. Tierra was among the first documented examples of evolving code/evolving rules and led to many other ALife experiments with simple rules governing evolution yet complicated outcomes. The work done then didn't lead to any particular conclusions, but it could be inspirational when thinking about how to apply selection pressure, what degrees of freedom to allow, and the nature of the rules controlling the CA. I wasn't name-dropping Tierra, I was giving it as one entry point (and an early one at that) into the prior work on this sort of thing. I could have left the name out, and then some other commenter (perhaps even you) would have said "oh yeah, why not actually give some examples?"
- akkartik 5y agoOk then, agree to disagree. Not being aware of merely interesting work is not ignorance or a shame. One nonlinear phenomenon is not by default relevant to another. Checking what someone cited is "Science!" not Science.
- mattcwilson 5y ago“don’t want to complain”, “near-ignorance”, and ”a shame” don’t ring of applause.
- PaulDavisThe1st 5y ago
- ubadair 5y agoI once posted a nascent open-source project to reddit and it got shredded, but someone pointed me to some prior art. I studied the suggested materials, and thanks to that feedback my project was eventually successful. Now even CERN uses it in some LHCb software. ShowHN needs comments like Paul's. Tact and expertise never come equally in the same package. We should appreciate this and grow some thicker skin in the meantime.
- FranzFerdiNaN 5y ago> Tact and expertise never come equally in the same package. There is no reason at all for an expert to act like an asshole, and being an expert should not mean that bad behaviour should be tolerated from them. In fact, experts should be held to a higher standard, because they are examples people look up to.
- nkrisc 5y agoBut their feedback can still be useful even if it wasn’t delivered tactfully. It’s not wise to outright dismiss expert feedback simply because they were a little mean.
- fenomas 5y agoThat begs the question, doesn't it? If someone visits your project and says "shame you're so ignorant of this topic, maybe read a textbook", it doesn't matter whether that person is the world's foremost expert or the town drunk, it's useless feedback either way. Whereas, if the feedback was rude but also pinpoint-accurate and incredibly actionable, I don't think there'd be a big subthread about it.
- nkrisc 5y agoWell the example you gave is bad feedback, and would be bad feedback from anyone. But that's not really the point of the discussion at hand, as I understood it. The discussion is about useful feedback that is delivered in a manner that may not be the most kind, but being unkind doesn't make useful feedback and less useful. After all, the feedback that sparked this discussion does seem like useful feedback even if it came across as a bit dismissive.
- shpralex 5y agoThank you for the links. The closest I've seen to what I'm doing with SproutLife is an iteration of Langton's loops which were developed in 1984 https://en.wikipedia.org/wiki/Langton%27s_loops#:~:text=Langton's%20loops%20are%20a%20particular,will%20become%20the%20daughter%20loop https://en.wikipedia.org/wiki/Langton%27s_loops#:~:text=Lang.... Here is a video where these loops compete - https://www.youtube.com/watch?v=MGRPwuVvErs&list=LL&index=142 https://www.youtube.com/watch?v=MGRPwuVvErs&list=LL&index=14... SproutLife is a passion project for me. I would like to give attention to previous works, and more importantly highlight some kind of practical benefits that studying alife has. We are surrounded by living evolving structures, and having a better mathematical concept of this can be pretty useful which is essentially what alife give us.
- sdevonoes 5y agoIt's a GitHub repo, not a Ph.D. thesis. FFS.
- criddell 5y agoOh wow - I haven't thought of Tierra in 25 years. There was a time in the early 90's where I was super fascinated by genetic algorithms, artificial life, and chaos theory. I think it was all kicked off by James Gleick's Chaos and following threads in the bibliography. I think Tierra was featured in Steven Levy's book Artifical Life. In another thread on HN, people are talking about where programmers of the 90's thought we were headed and your mention of Tierra reminds me that I thought artificial life was going to be a big, big deal.
- primitivesuave 5y agoI love the concept and the visualizations, but am left wondering - evolving toward what? I don't get the same feeling of "complexity from simple rules" as I do from Conway's Game of Life. I bet you could create a very interesting version of this with simple neural networks that start with random weights and determine the (x, y) coordinates to which an organism grows - reproduction is simply a matter of randomly selecting weights from two or more identical networks, and organisms that grow inefficiently are naturally selected against. I believe you could capture an increasingly complex range of organism shapes and introduce natural lifespans with a sufficiently deep network.
- debacle 5y agoThis seems like an interesting visualization. This is "neat," but that was the goal - it was designed to be neat, and so it is neat. That's quite antithetical to the general idea of the emergent properties of things like Conway's Game of Life.
- animanoir 5y agoWhy battle instead of cooperation?.. ;_;
- nextaccountic 5y agoWho knows if they won't evolve to cooperate? Just like real life, it's possible that two artificial organisms will evolve in mutually beneficial ways. If the author models some kind of resource (like food) it may make it easier. Or even make possible for an organism to be a parasite of another and so on.
- shpralex 5y agoHi! I'm the creator of SproutLife. I've been planning to do an official announcement of the recent developments, and to update the writeup as well. I recommend checking out the gallery, and working off the latest source https://github.com/ShprAlex/SproutLife/tree/master/gallery https://github.com/ShprAlex/SproutLife/tree/master/gallery As far as "evolving towards what", here are my thoughts on the subject: The inspiration for SproutLife was to create an open ended genome with unlimited potential for evolution. The initial success was that this was possible. Anticlimactically, it turns out that an open ended genome in a turing complete environment does not lead to some kind of transcendent evolutionary product. The solutions that emerge are still limited by the simple problems they are tasked with. It is the evolutionary journey, rather than a specific destination where SproutLife can be most informative. It can be used to study the role that disruption plays as a threat to stability and a necessity for progress. In particular, the process of "collapse" is an interesting topic for investigation. From Covid to the popping of stock market bubbles, political upheaval, and even global warming, we are surrounded by real and potential falling of the established order. SproutLife also exhibits this kind of behavior and can let us understand how to quantify and perhaps predict it.
- criddell 5y agoThis is really neat and the code looks very clean. Nice work. Can you explain how you are evaluating fitness? Your readme says that it's based on collective success rather than individual. How do you score that?
- shpralex 5y agoThat's the thing. Fitness is an unknown that can only be evaluated through competition/survival. There is a function that compares organism size (the number of cells) and bigger organisms win collisions. But just because being bigger has an advantage, doesn't mean that size is the only determining factor. Organisms can move/reproduce in such a way that they end up colliding with their direct relatives, so like parents killing children. That is obviously not good for collective survival. On the other hand smaller organisms may be more organized, so the damage they inflict adds to self-inflicted damage by the bigger organisms, so the smaller ones end up winning.
- ChrisArchitect 5y ago(2016) previous discussion: https://news.ycombinator.com/item?id=11078471 https://news.ycombinator.com/item?id=11078471
- tkt 5y agoThis is a neat project! Another interesting project with self-replicating and evolving computer programs is Avida, developed in Charles Ofria’s lab. http://avida.devosoft.org/ http://avida.devosoft.org/ It’s been used to research evolutionary processes in collaboration with Richard Lenski who leads the long term E. coli evolution experiment. e.g. https://www.nature.com/articles/nature01568 https://www.nature.com/articles/nature01568 There’s also an Avida-ED version designed for classroom use.
- shpralex 5y agoThanks! I hadn't realized but Tierra and Avida are quite similar to SproutLife. I found this video that explains a bit about it https://www.youtube.com/watch?v=ouF8wKxXWFQ&t=1050s https://www.youtube.com/watch?v=ouF8wKxXWFQ&t=1050s I wonder if they also encountered the issue where the genomes/programs get simpler over time. In some ways one would expect evolution to increase complexity, but what I found happening is that prioritizing reproduction means creating pressure to decrease complexity, thereby increasing the reproduction rate and decreasing the footprint for negative mutations. The way SproutLife counteracted this was to add a "competitive" metric where bigger organism win over smaller ones, kind of like big trees casting shade to block smaller shrubs.
- tkt 5y agoAs it seems like you’re seeing, what evolves depends a lot on what you’re selecting for and the environment they’re ‘growing’ in. This is another paper with more details. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7123229/pdf/978-1-84628-214-0_Chapter_1.pdf https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7123229/pdf/978... My favorite stories are the ones where the organisms evolved to be able to detect when they were in the test environment and only performed the high-cost, selected-for behavior there.
- tkt 5y agoIf you haven’t run across it yet, Karl Sims’ virtual creatures are also really fascinating. https://www.karlsims.com/evolved-virtual-creatures.html https://www.karlsims.com/evolved-virtual-creatures.html And anything by Melanie Mitchell. Her book “An Introduction to Genetic Algorithms” is great.
- mleonhard 5y agoThis is similar to the Bluedogs Artificial Life Simulation [0] that I wrote while learning C++. Each lifeform inherits a "dna" string from its parent. The string is a program which executes in a simple virtual machine and determines the lifeform's behavior. [0] http://www.tamale.net/bluedogs/ http://www.tamale.net/bluedogs/