Author Topic: Co-Evolution  (Read 20045 times)

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Co-Evolution
« on: October 14, 2008, 01:18:17 AM »
Hey everyone,

What's the current state of multi-species co-evolution sims? Has anyone had any success? Even better, has anyone had any success with co-evolving zerobots? If you have any co-evosims that work in 2.44, please upload them. Thanks!

Offline Peter

  • Bot God
  • *****
  • Posts: 1177
    • View Profile
Co-Evolution
« Reply #1 on: October 14, 2008, 03:21:23 PM »
Well there isn't much success on that area.

For zerobots I tend to get a little co-evolution. Some zerobots push veggies towards other zerobots who shoot. With luck both of them then gets some nrg-shots back.
Still a pretty weak combination, after a time the movers extinct becouse they get a barren share of the nrg-shots, and later the shooters die becouse they don't get any veggies directed to them.

So atleast in my situation, not much luck.
Oh my god, who the hell cares.

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Co-Evolution
« Reply #2 on: October 14, 2008, 11:07:28 PM »
Quote from: Peter
Well there isn't much success on that area.

Well, I know for a fact that Numsgil had a. minimalis and some odd-sounding bot co-evolving, but I don't think that sim was ever uploaded, unfortunately. I was just thinking we should have a place where all the co-evosim uploads are, so we could try them easily, since making your own co-evolving sim is pretty difficult. Anyway, just an idea.

Offline Peter

  • Bot God
  • *****
  • Posts: 1177
    • View Profile
Co-Evolution
« Reply #3 on: October 15, 2008, 05:36:21 AM »
Something like the new beastery-idea but then for sims you mean.

Have you tried co-evolution in the search option. If there where sims you would find something
Oh my god, who the hell cares.

Offline ikke

  • Bot Destroyer
  • ***
  • Posts: 300
    • View Profile
Co-Evolution
« Reply #4 on: October 15, 2008, 10:25:35 AM »
I had a thread called my first evo sim which adresses an umber of qeustions I had, and it has more or less a receipe for making predator - prey coevolution work. good luck

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Co-Evolution
« Reply #5 on: October 15, 2008, 11:49:21 AM »
Hey, ikke!

Quote from: ikke
Passed 10 M cycles (~60.000 generations). No new major changes observed, so I stopped the sim. It's like watching grass grow. No new huntig tactics, no improved eyesight nothing of the sort. Probably more improvements in the existing genes than I identified, but nothing new. Now I now why it 3 billion years befor the cambrian explosion took place, and why so many genes can be traced back to the explosion: truely new genes take a looong time to develop.

I programmed some of the evolved characteristics in the original bots and restarted. One thing I hadn't noticed: the reproductive genes have become less fragile. The original cond statements are barely recognisable after 10 M cycles. The new code is definitely functional. The original code breaks quite often, resulting in an explosion of bots dividing and dividing. In the evolved versions this is gone, mutations don't result in the same breakdown. No idea how. Another point is that not every mutation is an improvement. Somewhere along the line animais stopped rotating when seeing his own species. You can often see pairs of animalis endlessly looking in each others deep blue eyes. Not an optimal hunting strategy, but either coincidence or the development of some other improvement made this strain dominant.

Could you post this 10M sim? Thanks!

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Co-Evolution
« Reply #6 on: October 15, 2008, 01:45:12 PM »
I had a sim co-evolving enitor comesum and algae minimalis.  Basically enitor comesum was programmed from the start to eat weaker members of its species, and run from stronger members.  The idea being if they start out as cannis they won't devolve and they'll provide selection pressure and population control on themselves.  The algae quickly became cancerous, and I used a population limit to keep them in check.  The algae formed a kind of bubbly froth where each veggy had at most a few nrg points.  I hadn't yet implemented varying bot sizes, so the froth was still vulnerable to shots.  They couldn't all be killed because the enitor would chase each other away from the food.  It was pretty stable, until the algae learned a new trick: they randomly would accelerate to the right or left.  The froth turned into a large field of quickly moving algae.  Enitor's guidance system was based on animal minimalis's, so the simple strafing was enough to throw the enitor off, and the enitor population crashed by like 80%.  The remaining dozen or so bots couldn't stave off genetic degredation, so I stopped the sim and declared it a mixed victory.

So it was an interesting sim.  If I were to do something like that again I'd try to get more computers going so that I had more enitors available in case of a population crash.

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Co-Evolution
« Reply #7 on: October 15, 2008, 08:10:25 PM »
Quote from: Numsgil
It was pretty stable, until the algae learned a new trick: they randomly would accelerate to the right or left.  The froth turned into a large field of quickly moving algae.  Enitor's guidance system was based on animal minimalis's, so the simple strafing was enough to throw the enitor off, and the enitor population crashed by like 80%.  The remaining dozen or so bots couldn't stave off genetic degredation, so I stopped the sim and declared it a mixed victory.

So it was an interesting sim.  If I were to do something like that again I'd try to get more computers going so that I had more enitors available in case of a population crash.

We need some way to prevent algal takeovers.

How about pollination? Whenever a bot bumps into an algae, it copies it's DNA. When it bumps into another algae, that DNA is given to the new algae and it can now reproduce. That way, an algae has to keep the predators alive- it would be disadvantageous for them to evolve "wiggling", etc... In fact, we may see very interesting behaviors evolve if the algae start chasing the bots, so they can reproduce. But it has to be carefull...

Offline ikke

  • Bot Destroyer
  • ***
  • Posts: 300
    • View Profile
Co-Evolution
« Reply #8 on: October 16, 2008, 02:13:20 AM »
I'm not at home, and my schedule only has me at homefor 12 hours this weekend, so it'll probably be next weekend before I can look if I still have a copy.
As for veggies being cancerous: in the general settings check kilo bodypoint for veggie energy end keep the nrg number low once you have the sim running (low is below 20). This will kill off cancerous veggie strains, because they need size to get food. They reproduce too fast to grow, are too small to sustain their energy needs and die. Check out any of my evo sims, if you want to look at means for population control (veggie energy, energy management, custom simulation cost->dynamic cost are the options to look at)
edit: an early stage of the sim can be found in the thread
« Last Edit: October 16, 2008, 02:17:32 AM by ikke »

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Co-Evolution
« Reply #9 on: October 16, 2008, 02:58:17 AM »
Quote from: ikke
I'm not at home, and my schedule only has me at homefor 12 hours this weekend, so it'll probably be next weekend before I can look if I still have a copy.
As for veggies being cancerous: in the general settings check kilo bodypoint for veggie energy end keep the nrg number low once you have the sim running (low is below 20). This will kill off cancerous veggie strains, because they need size to get food. They reproduce too fast to grow, are too small to sustain their energy needs and die. Check out any of my evo sims, if you want to look at means for population control (veggie energy, energy management, custom simulation cost->dynamic cost are the options to look at)
edit: an early stage of the sim can be found in the thread


Ok, thanks! The reason I wanted to see the 10M sim is because my computer would take forever to do the next few million cycles and get the final behaviors you mentioned before evolution plateaued. The pred/prey cycles still work after all those millenia, right?

Also, Numsgil- Do you have a copy of that sim, before it crashed? We could probably continue it today and prevent the ecocide with tweaked settings.

Anyway, I realize it might be easier to simply change the energy distribution mechanism for the algae. However, if both the predator and the prey need each other, it might be easier to make a stable cycling pattern emerge. Also, it forces sexual reproduction on the algae, and provides many new options for evolution to exploit. Do you think it should be submitted as a suggestion?

Offline Moonfisher

  • Bot Overlord
  • ****
  • Posts: 592
    • View Profile
Co-Evolution
« Reply #10 on: October 16, 2008, 07:47:57 AM »
Veggies will probably often be a problem since they recieve so much energy and a small evolutionary step from the alge will require larger steps from the bot for it to survive... if the alge starts sqirming the bots need to track it, which is ofcourse far more complex.
One thing you can do it to set the energy gain for the veggies a lot lower and make it relative to size... this way cancerous squirmy veggies will die out and only slower and larger alge will survive...
Also an extremely high maxcap for veggies will help destroy cancerous veggies as they grow too small and no longer recieve enough energy...
So it's definately possible to set up a sim where veggies are easier to eat, it's just that 40 nrg per cycle no matter what size you are is a lot of energy.
Ofcourse you still have the issue that large veggies may evolve and become agressive, eating any bots that attack them... and if gains are relative to size a fullgrown veggy will still be able to get 32 nrg per cycle even if the gain is only 1 per kiloveggie. But this is a lot less likely to happen though, just throwing 40 nrg per cycle at all veggies with mutations enabled is a recipee for disaster if you're evolving a bot.
But I agree that there's an issue about balancing veggies vs bots, you need to somehow balance the maxpop cap vs the gain in energy, but personaly I can't figure out how low a population would make up for how much energy per cycle...
Maybe veggies should need to use fixpos or something like that in order to gain energy... so moving veggies don't gain anything... or something like that... individual costs for veggies maybe... I dunno...

Offline ikke

  • Bot Destroyer
  • ***
  • Posts: 300
    • View Profile
Co-Evolution
« Reply #11 on: October 16, 2008, 09:33:56 AM »
Yes I forgot to metion the high max veggie pop. A must have. Cancerous mutations will explode into up to 3000 botlets. If it fizzles due to low size cap they have time to grow, not explode.

As for the veggie vs bot: I don't understand your point. It seems twofold. First you talk about energy gain (total energy?) vs population size. Then you discuss the issue of the hare being outrun by the salade. I agree that is ridiculous, but it is another subject, or am I missing your point?

Offline Moonfisher

  • Bot Overlord
  • ****
  • Posts: 592
    • View Profile
Co-Evolution
« Reply #12 on: October 16, 2008, 12:21:28 PM »
Well yes I'm basicaly saying the salad is outrunning the hare
But my point is that veggies hold an advantage in gaining energy but also needs to be more carefull if there's a low veggy cap.
If a veggy is agressive it risks getting killed, but the extra energy gained from killing a bot may not help much in producing offspring since the cap is preventing it.
So this forces veggies to focus on running away most of the time.
So for instance a high veggy cap of 3000 combined with the standard 40 nrg per veggy per cycle would make the veggies a lot stronger than any bots could hope to be. Sure the bot can exceed 3000 in population but that's hardly a great advantage.
Keeping a low energy gain based on size and a more moderate veggy cap will make the veggies far less potent. Ofcourse you can also choose to set the mutations on the veggies lower when you're starting the sim, that might force the veggies to evolve slower. But the problem remains that it takes very litle for the veggies to become to elusive for the bots to follow, so you either need to start out with a strong bot able to handle what is to come or tweek either mutations or nrg gain and veggy cap to balance bots and veggies.
Personaly I think the best long term solution is to balance the energy gain mainly and I would still keep a moderate veggy cap. If the nrg gain is relative to size, the cancerous veggies should die because they don't gain enough energy to grow if they get too small. Also small veggies are a real pain for evo bots.
And you can always regulate the energy gain as you go along, as long as the changes aren't too drastic.
But can't say I know anything for sure, just sugestions, I usualy disable mutations on the alge, the new sim I'm running has mutations on the alge, but it hasn't become a problem yet.
The veggies ahve evolves something that ends up pushing a value into locations 1-15 randomly, so they squirm around, but the bots are still able to feed off them so far. (Also the bots are mutating more frequently than the veggies, and have a higher chance to insert code and lower chance to delete a large chunk, that may be helping them keep up with the alge)
But if the alge get too powerfull I plan on reducing energy gain, before they start to depend on it too much.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Co-Evolution
« Reply #13 on: October 16, 2008, 02:48:56 PM »
Quote from: ikke
I'm not at home, and my schedule only has me at homefor 12 hours this weekend, so it'll probably be next weekend before I can look if I still have a copy.
As for veggies being cancerous: in the general settings check kilo bodypoint for veggie energy end keep the nrg number low once you have the sim running (low is below 20). This will kill off cancerous veggie strains, because they need size to get food. They reproduce too fast to grow, are too small to sustain their energy needs and die. Check out any of my evo sims, if you want to look at means for population control (veggie energy, energy management, custom simulation cost->dynamic cost are the options to look at)
edit: an early stage of the sim can be found in the thread

I actually implemented the per kilobody feeding method because of that sim.  That and the more dynamic bot sizes, since it irked me that the veggies looked like regular bots but didn't have more than half a dozen nrg and maybe 1 body point.

Quote from: jknilinux
Also, Numsgil- Do you have a copy of that sim, before it crashed? We could probably continue it today and prevent the ecocide with tweaked settings.

Unfortunately, no.

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Co-Evolution
« Reply #14 on: October 17, 2008, 12:34:13 PM »
Quote from: Moonfisher
Well yes I'm basicaly saying the salad is outrunning the hare
But my point is that veggies hold an advantage in gaining energy but also needs to be more carefull if there's a low veggy cap.
If a veggy is agressive it risks getting killed, but the extra energy gained from killing a bot may not help much in producing offspring since the cap is preventing it.
So this forces veggies to focus on running away most of the time.
So for instance a high veggy cap of 3000 combined with the standard 40 nrg per veggy per cycle would make the veggies a lot stronger than any bots could hope to be. Sure the bot can exceed 3000 in population but that's hardly a great advantage.
Keeping a low energy gain based on size and a more moderate veggy cap will make the veggies far less potent. Ofcourse you can also choose to set the mutations on the veggies lower when you're starting the sim, that might force the veggies to evolve slower. But the problem remains that it takes very litle for the veggies to become to elusive for the bots to follow, so you either need to start out with a strong bot able to handle what is to come or tweek either mutations or nrg gain and veggy cap to balance bots and veggies.
Personaly I think the best long term solution is to balance the energy gain mainly and I would still keep a moderate veggy cap. If the nrg gain is relative to size, the cancerous veggies should die because they don't gain enough energy to grow if they get too small. Also small veggies are a real pain for evo bots.
And you can always regulate the energy gain as you go along, as long as the changes aren't too drastic.
But can't say I know anything for sure, just sugestions, I usualy disable mutations on the alge, the new sim I'm running has mutations on the alge, but it hasn't become a problem yet.
The veggies ahve evolves something that ends up pushing a value into locations 1-15 randomly, so they squirm around, but the bots are still able to feed off them so far. (Also the bots are mutating more frequently than the veggies, and have a higher chance to insert code and lower chance to delete a large chunk, that may be helping them keep up with the alge)
But if the alge get too powerfull I plan on reducing energy gain, before they start to depend on it too much.

Ikke, moonfisher-

The problem here is that it's best for the algae to avoid the bots, since bots kill algae. No matter what, even using your modified settings, if they can evolve, they WILL evolve to avoid their predators.

That's why I suggested pollination- if they need each other, then the salad won't want to kill everything. But as long as we have the bots kill algae, and the algae don't need the bots, then it's just an arms race- who will win, the simple bots that get free nrg, or the ones that start out complex but need to eat the simple ones? Of course, in the long run, the simple ones will evolve to kill the complex ones, and all evosims will end with algal takeovers.