Conway's game of life 2.0

how would one go about constructing a newer version of conway's game of life in the age of neural nets, markov chains, genetic algorithms and all that good shit

some kind of simple universe with a set of rules that could let ai evolve freely in some visualizable form? im tryna turn a raspberry pi into a fishtank

Other urls found in this thread:

sciencedaily.com/releases/2017/06/170612115339.htm
youtube.com/watch?v=y1bvBjYMbrg&feature=youtu.be
bitstorm.org/gameoflife/
twitter.com/SFWRedditImages

conways game of life is just physics, you cant find any intelligence in cellular automata. if you want your fish to evolve, just make some kind of game where behavior of agents is done with neural nets

okay say we have agents of various species, and resources and a dynamic environment based on rng... what's the minimum amount of physics you need for interaction and evolution?

2 dimensions is enough for visualization
multiple terrains that affect velocity based on different modes of transportation
fuck the physics, just use a point system for everything

To build on the concept, I think a basic gene system would be best for "evolution", with certain genes leading to a higher average ability to reach resources. Terrains that influence velocity, and a system where reaching a resource will prolong life, and not reaching it will be death, where certain traits further modify terrain velocity would be good.

Each progeny has RNG rolled on it for mutations, with the mutations being simple shape modifiers, terrain modifiers, predatory modifiers, etc., and can be set to match the mutation rates of known organisms, or time itself can be sped up.

Then of course, neural networking would be the primary way a behavioral modifier would be put in place.

if you have genes, sexual reproduction or asexual

I would actually be incredibly interested in seeing a program that could "invent" sexual reproduction. The necessary steps to get there without defining it, and having it be essentially from scratch seems impossible given we're not even sure how that came about (similar issue with biogenesis), but should the mystery be solved on a biochemical mechanistic standpoint, I think calculating probability in certain environments using an evolution AI would be a neat pursuit.

For the purpose of genetic variation creating a more dynamic (and in my opinion fun) simulation, I'd recommend sexual reproduction for OP.

The problem is you would need rules for genes creation or they'd be too hard to generate irl

no way that's possible. maybe you could have mating a hardcoded option that requires more energy...

what's interesting is you could test trinary reproduction. i think no form of life in our universe would ever develop trinary because binary provides enough genetic variation compared to asexual that there's no incentive to evolve past it

I agree. That's why I genuinely believe that the future of AI lies in genetics, rather than in computer science. The ability to manipulate genes, insert genes from one species into another, and be able to even build a DNA sequence up nucleotide after nucleotide with machines and processes not only gives me a hard-on, but leads me to believe organism-machine interface isn't too terribly far from now, with the likelihood becoming that instead of creating an AI with a neural network of code, it'll be a code-organic hybrid, or simply an organic network that interfaces with a mechanical component. The future is almost here baby.

The limitation, I suppose, is that DNA and evolution in real life rely on such an intricate system of chemical reactions, that unless you can perfectly model the physics that go on between molecules- a truly quantum task- it can only be based on traits humans can imagine, with no new categories of traits that can spawn.
That would be really interesting. How would that work though? triploid, with 3 copies of a chromosome?

one egg, two types of sperm. drop two loads in one hole. or A jizzes in B which causes B to be able to jizz in C. or three merge into one, asimov style.

Or, how about this? It'd be possible based on the rules we have now for meiosis, I believe.

A, the female, receives sperm from B, a male. Then, donor proteins/DNA to the embryo specialize it to be able to receive DNA from a second male, C, whose sperm would combine with an egg from the embryo AB, to provide a half AB, half C final child, which is no longer given the signal to be the intermediate stage, so it'll undergo proper development.

too much room for failure, even if you get past the low rates of successful conception you would have the most grotesque forms of autism

Well, while I think you're right that this would be the most retarded thing in the real world, if OP is interested in the design of a game of evolution, this kind of system as a possibility would be interesting, and possibly the result of a bizarre set of selection pressures.

While unrelated, from a gameplay perspective I think it'd also be uncanny and interesting for the artistic value, but I digress.

>minimum amount of physics you need for interaction and evolution?
none
just have a 2d map with food randomly appearing, each agent can have stats like speed, turn speed, food type, whatever you like. Stats can evolve over generations.

damn lot of good ideas... yknow how some boards collectively create a huge meme? i've heard of like /v/ where people make epic shit happen in games, would Veeky Forums ever do a github repo together? are there enough good coders to rise to the occasion? sometimes i wish this board were more active

sciencedaily.com/releases/2017/06/170612115339.htm

This exists in reality.

This is a place for kids to jerk off about how smart they are and for adults to get a laugh after a day of doing real work.

Holy shit, thanks for sharing that with me user. I didn't think that there could be a kind of evolutionary path to this- it just seems so weird how selection pressures would lead it down this path- but the fact that it DOES exist opens a lot of questions as to how and why the fuck.

no kids who already jerk of 3 times a day but still have some time to code?

would it technically be a four-way? am i understanding it correctly, one female species uses 3 male species to make another member of the female species?

Yeah I guess we still don't have an example of ternary sexual reproduction. Maybe nature prefers powers of two?

makes sense, it's easiest to physically divide one thing into two

You know what, after mulling it over for a night, fuck it, I think it would be possible to introduce a system that can work mechanically similar to genetics.

You'd need to write an entire genome, with sections corresponding to 'proteins' that would then, in varying levels, lead to morphological and even perhaps behavioral differences. From that point, the mutation mechanic could be based on the ones we observe- point mutations that fuck up what amino acids are strung together, additions and subtractions that affect ribosomal reading frame, etc.

Due to the uselessness of a lot of DNA, it's estimated humans only have ~20K active genes, which is an insanely small amount. Less complex organisms have even fewer, so starting with an amoeba it might not be impossible to model an evolving cell given a resource-based environment with a degree of variant complexity and change over time to represent selection pressures.

It's impossible to model how proteins work on any mass level, similarly you can't really model exactly the factors that lead to energy or oxygen use, but you certainly can generalize it, and even fairly accurately using live data, and trends for efficiency of the mitochondria. What this AI system would allow, however, is a code base (the DNA system) that can evolve incidentally, instead of along a set number of paths.

The limiting step, then, becomes that while there's a set code of DNA -> Amino acid -> Protein, both presumably in the program and in the real world, one would have to code the purpose of every protein, which defeats the point. You could probably do a steric model, but without defining all of the intricacies of a cell, it'd be pointless.

Proteins would have to be iterative, and have a function that is related only to the sequence of amino acids, and then given incidental use that affects fitness. I'm not sure how that would be done at this point though.

proteins could just then translate to points for variable features and abilities... i suppose if you require reproduction to basically protect the genetic information until maturity i could see how it would organically go from asexual to polygamous

The only issue I'm seeing with a protein to point system is there has to be some governing system for how proteins will contextually influence points. Simply assigning a mutation a beneficial + or - based on a point system would lead to natural selection, but it's not very robust unless it's contextualized to
A) The environment
And
B) The internal system mechanics.

Basically, it should be Protein -> Some function it can do being defined purely from scratch -> points based on how this affects fitness, but I can't yet see how it'd be possible to have an iterative system like a protein that isn't given some hard-coded value.

Let's say the code randomly produces a protein that performs a function the organism has never before had the ability to perform. It has no influence on fitness, so it can randomly be passed down, but isn't selected for or against. Then, another random protein is produced that fits with it that performs a coherent function that will influence fitness one way or the other. The problem with coding that, is you can add those 'possibilities" of the proteins by just assigning those values to proteins you design, but the system itself can't define a use for the proteins, unless somehow you can physically model how the shape might affect it.

You'd have to create a new physics system for it. Now that I'm thinking about it, perhaps dealing with it pixel by pixel would be ideal. Each 'pixel' is an amino acid, and is assigned an electronegative affinity as well as a mass- or perhaps a collective of pixels to represent separate shapes or sizes, and it's strung together like a snake. Then, in a 2D environment, like the game of life, the organism would react to the new protein based on internal interactions that may make it faster or slower, or perhaps ingested material/food/resources can move through quicker, or any other level of fitness influence.

No, the more I think about it after having gone through some of it, that's possible.

On top of this, there's the issue of how intensive it is to run such processes. On a large scale, it'd be incredibly difficult to model multiple cells in a multi-cellular organism using this dogma, but a single cell should be doable on a not-very-intense basis. This of course depends on how complex the organism is made to be, but of course with any kind of evolving system it's good to start small.

Then, there's the amount of time it takes for evolution. You can't just modify the mutation rate and be done with it. The mutation per generation rate has to be relatively consistent with what we observe in reality, or else the mechanisms of natural selection may be interrupted (that is to say, extinction of genes may occur far faster than beneficial mutations can accumulate). So, to speed up the process for data collection purposes, you must keep the ratio the same, and then have generation time be incredibly small. This will work to some level, and removing any graphical display will free up memory for the process to continue on an unseen level, but it's still only speeding it up by some factor that'll amount to a fraction of the billions of years life has been evolving for, to create more complex organisms.

So, packaging it as a game is the ideal choice. Even if it's as a research project to learn more about mechanistic evolution and the creation of artificial intelligence from scratch, if it's shipped as a game and tweaked to fit the bill- fun graphics, interesting blurbs, the ability to download the evolved creatures of your friends and see how they fare in the same environment as your own, it'll be a lot more total processing power. That is to say, you could feasibly collect data from every single user connected to the network on the game, to be able to reduce the need for having a lot of server space and processing power yourself.

People, at that point, would be paying to do your work for you. A game would be a great idea.

Your idea is a plot point in the novel Permutation City by Greg Egan.

nigga, conway's game of life is a particular ruleset for cellular automata. there are literally thousands of unique rulesets, I've made up variations myself. yes, you can attempt to make something like that but it'd be a lot more complex and you might as well take a different approach as a result.

> tfw smoothlife generates cell membranes and nuclei

i read the arxiv, they're just gliders that look like cells. no genetic info. boooo

How about adding more cells?

Conway's game of life is not just physics, it's math. Conway's game of life is turing complete so you can make anything you want, even things that are intelligent.
Then what you want is not a cellular automata.

Not really related to game of life, but if you want to simulate evolution/natural selection in a 2D plane take a look at this thing youtube.com/watch?v=y1bvBjYMbrg&feature=youtu.be

Woah, that's incredibly similar to what was talked about in-thread, mechanistically at least. Taking that a step further into a more complex gene-based system would be great. Thanks for sharing that.

I think von Neumann created one where there are more than just 2 states for a cell to be in.

A simple way would be to consider 2x2 blocks as one cell (they could be in 16 states) and just translate Conway's rules to work in this hexadecimal system.

A few more ideas:
1)You could make the grid more than 2 dimensional.
2)You could change the topology of the space. Instead of an infinite plane, you could have a cylinder or torus for example.

They've all been done.

>real work
>telling people what to do and counting money

hah, yeah.

what you guys don't realize is that food would also be life. it wouldn't just be random.

The Veeky Forums record for software project is not good, it pretty much ends by someone making a logo.

Can someone tell me some noob guides for cellular automata. I know a lil bit of Python and want to make something cool.

>Can someone tell me some noob guides for cellular automata.
Try bitstorm.org/gameoflife/
It tells you the principles. Basically the number of neighbours in one generation determines the outcome in the next generation.


>I know a lil bit of Python and want to make something cool.
These things takes a lot of CPU once you scale up so you might rather look into hard core assembly.

Game of Life has been played on a Trefoil knot, exploring the different playing fields of the game isn't that innovative anymore.

Avida-ED sounds a lot like what you are trying to do. It's an artificial life platform that uses Boolean operations as phenotypes.

Look up Karl sims user

Look up polyworld user