Conway's Life with Mutation and Inheritance

Reply to topic
2 posts
I've had this Path to Fame and Fortune™ in my head for 10 years, but came to the frustrating conclusion I will never have the time or skills to implement it myself. Therefore:

Start with Conway's classic "Game of Life," e.g. a rectangular grid of "cells" randomly seeded with binary Alive/Dead values. On each generation N a cell lives or dies based on its state and the states of its 8 adjacent neighbors in generation N-1, thus:

A live cell with < 2 live neighbors dies
A live cell with 2-3 live neighbors lives
A live cell > three live neighbors dies
A dead cell with 3 live neighbors comes to life


(public domain image from Wikipedia)

Call these rules the cells' DNA.

My idea is to define a cell's DNA so that not only the number of its live/dead neighbors matters, but also their position.

Since each cell has exactly 8 neighbors, there are 256 possible neighbor-states, which we could call a cell's "environment," and we can define a unique DNA for each cell with "live" or "die" behavior for the 2 possible current states * 256 possible environment states = 512 bit word per cell.

For any dead cell that comes to life, have it "inherit" the average DNA of the "live" neighbors that spawned it, either rounding up, rounding down, or truncating as a sort of "law of physics" for this particular world.

Seed the environment not only with alive/dead cells, but also with minor variations/mutations on the classic Conway DNA (which is just a specific case of "my" idea, if it's a new idea).

One could also place "mutagens" in the world, such as a location that always sets Bits 53, 67, 312, and 432 in the DNA, for example.

You now have a Game of Life with mutation and inheritance. I did some googling, and while other mutating/inheriting variations on Conway exist, all I found used probabilities. "My" idea has the advantage of behaving deterministically while still exhibiting extremely high potential variability.

Someone who knows more matrix math than I could probably write Hashlife-like algorithms given the seed state, and 512 bits/cell seems like it's both ripe for vectorization and small enough for a lot of cells/generations to fit in a GPU.

Because it's deterministic, if something crops up after N generations that looks interesting, one can "roll back the universe" to a prior time and see how it arose. One can also applying varying rules or DNA seeds to a given state and see how they evolve.

Does anyone find this interesting? Or has this been done before?
If you want the "mutagen" behaviour then that would pretty much rule out hashlife (it's theoretically feasible, but would massively complicate the memoisation complexity such that I doubt it would work well)
2 posts