Darwinbots Forum
Welcome To Darwinbots => Newbie => Topic started by: jknilinux on April 24, 2008, 08:01:17 PM
-
Hi everyone,
What is the usual outcome of an evosim? From reading other's posts, I get the feeling that bots end up regressing after "evolution", until they are unable to eat. Is there any way to escape this fate? Thank you!
-
Hand coded bots generally "devolve" in an evo-sim, meaning the hand-authorred code stops functioning over time. This is because all that hand-authorred DNA was written without context - it didn't evolve in conjuction with an ecosystem or under environmental or preditor or compitition induced selection pressures and thus when the bot is released into an evo-sim and subjected to mutations and selection, there is little or no selection pressure to preserve the DNA as written. Selection is in operation to be sure and the bot is evolving, but selection is selecting for things that tend to break the fragile, hand-authored DNA - things like faster replication. The DNA has to come down off that impossible peak in the fitness landscape before it can start it's slow journey back up the mountain. Bascially, a hand-authorred bot is a super specialized, unrealistic aberation of nature, a boy in a bubble ill suited to survive in the "real world".
Zerobots or very very simple hand-authorred bots are a better starting poihnt for evo sims in that they don't have to fall off their peak first. There, you generally see increases in functionality and complexity over time though I will be the first to admit we are still toying with excactly what is necessary w.r.t. selection pressures to provoke richer adaptions such as conditonal logic.
-
Devolving to not eat isn't something that happens often (ever?). Usually it's the other way around. Bots evolve to eat everything, including their children.
-
Is kind of a weird devolution then evolution that goes on. At first it can be depressing to watch the bots' population drop, but after awhile their population gradually climbs again. A simple hand authored bot is probably best, the bot I've been evolving has yet to die out after several days.
-
Another way to look at it is "survival of the flattest" (google it for more info). Basically, the hand-authored bot has very high fitness but the fitness peak is very narrow - most mutations break it down to non-functional state. Naturally evolving bot adapts not just to the environment but also to the mutation rate in the sim, so it evolves a simpler but more robust genome, which can tolerate many more mutations than the original one.
-
What is the longest that anybody here has ever run an ecosim? Has an evobot ever come close to being able to out-compete a hand-made bot?
-
I ran an evosim from January or February to october last year, started out with one zerobot species. In autumn I tested my zerobots in Internet Mode to see if they could compete with the designed ones, but the only way I found that they could do that was to increase the costs in my sim which killed anything that came teleported into it. I suppose the ones that was teleported out from my sim got eaten right away. I saw some fascinating behavior evolve from my bots, but no hunter or anything like a designed bot. The ones I ran as heterotrophs evolved to conserve energy as much as possible, reproduce between long intervals and mostly sitting still.
Now the program has much more features and more bugs have been squished so now it might be a different outcome with such a sim.
-
I ran an evosim from January or February to october last year, started out with one zerobot species.
I thought no zerobots had ever evolved conditional logic, hence the current contest.
What interesting behaviors did your bots evolve?
-
I have described it here, but no point in trying to run that sim on todays versions. The bots would likely appear completely dead or the program might even crash.
http://www.darwinbots.com/Forum/index.php?showtopic=2051 (http://www.darwinbots.com/Forum/index.php?showtopic=2051)
-
Out of curiosity, how many cycles did it run in the ~8 months?
-
I don't remember. A couple of times I picked the best bots and started a new sim with them. First it was only autotrophs, then I picked two and started two instances, made one to be heterotrophs and the other to be autotrophs, connected with a teleporter. Then Eric broke it. Hehe. Had to edit out code to make them work.
-
I think someone managed to evolve a league bot to get better than the original.
Also you should usualy be able to evolve a bot in some kind of environment where a certain hand authored bot can't survive.
But I think the point is that when you set up a lot of different environments the "flat" bot will be able to adapt to the environment and changes in it, but a specialized hand authored bot with no mutations will only be suited for a few of them and it may die out if the environment changes too much, and it will only break down if it has mutations enabled. A good example of this is that the top bots in the leagues are often the first to break because of an update.
But if you introduce a specialized bot in the right environment it will usualy whipe out any evo bots in it, because there was no time to adapt, like releasing rabits in Australia, the new bot is an outsider and noone knows how to defeat it.
-
Yeah. My evosim could be compared to a harsh scandinavian climate. Very costly to live in. Then global warming happend and all bots declined and tropical bots started poring in and killing the ones that were left.
-
Then Eric broke it. Hehe. Had to edit out code to make them work.
So sorry! It was that damned relentless march of progress thing....
-
But it was for the greater good. I'm eager to see what difference there will be running my current evosim compared to the last one.
-
Hey TL, how exactly did you evolve that spider-bot?
-
It was Macadamia that evolved that one I think. I just got the one building chains, sometimes looking more like colonies with smaller bots in the middle and larger bots around it for instance.
-
Anybody else make a really long-lasting evosim? I'm thinking of doing something like this: http://www.stauffercom.com/alife/ (http://www.stauffercom.com/alife/) . Any other neat evolved organisms? Also, maca, how did you evolve the spiderbot?
-
I've only run 1 mil cycles on my evo sim, but it does have some interesting behaviors in it, I ran a large field with low food with a neural network like structure as a base. The base behavior was very poor and even though I started out with a lot of food it could barely survive
But the evolved species are doing quite well now, over 1100 bots in a size 13 field with 25 alge at all times, the base would never have survived there.
Anyway 2 interesting things happened :
1. The bots rarely kill the alge they find, they knock it around a litle and shoot in other directions half the time, and when they get big and their shots increase in strenght they create a large child and send it off while leaving the small parent with the alge. (Since the small bot is a way of making the alge last longer)
2. They use reproduction as a defence mechanism. It also makes shell but that behavor would seem like an obvious response. Never considered that reproducing could be a good way to escape from attacks. It causes a lot of confusion, and if you where fighting over an alge odds are good one of the children will stay with the alge while the rest lure the oponent away.
I also think I saw a bot with a hint of edgescraping behavior, jumping back and forth along the top toroidal border. Probably because the alge often ended up near borders where the bots have a hard time feeding on them.
-
Evo sims are much easier to run than a while ago becouse of the great performance increases.
I've got an evosim with 2,9M cycles. The bot's started as Animal Minimalis modified to sexually reproduce without conditions and move randomly. Veggies used to be C. Circumgirans with shooting gene removed and body management added, but I've edited them since. At the moment they randomly use 3 different kinds of poison, turn away from shooting and move almost straight forward. It's a largish (size 12), non-toroidal map with some shapes in one corner. The only costs are ageing costs that increase very slowly after 10 kc and high body costs, 16 nrg/c/kBodypoint. With 1000 cycle days and nights, the costs take heavy toll on veggies, but they manage and would survive overnight if bots would let them. Also, I've altered mutation rates to slightly favor DNA insertion rather than clearly favor deletion. To top it off, I set mutations at 0.25. Oh, and there's slowly decaying corpses in there too.
It's suprising how well they adapt and how little they break. Of course, at start mutations broke down everything that wasn't necessary, but a bit suprisingly maintained basicly the same behaviour. Whole population learned to not to shoot shapes in matter of tens of thousands of cycles and actually stayed at certain distance from them after a couple hundred thousand cycles. The latter broke down though after introducing harder-to-eat-and-poison-using veggies that mess with bots' conspec recoginition. Bots seem to hunt in "packs". When a veggie pops in, bots chase it or the bot's chasing it (any moving bots really) and when the veggie turns and tries to lose the bots, some of the bots usually catch a sight of it and start chasing it and other bots start chasing the chaser or chaser of chaser etc.
All this comes from simply optimizing simple DNA and changing a BP here and another there. Average mutations are at 200 at the moment. There's half a dozen stores that are really hard to decipher, but I'm fairly certain that they don't do anything. Because of the sexual reproduction and low mutation rates, I've actually seen average mutations get lower with time a few times.
Another thing I've noticed is that species diversity to population rate is constantly around 0.4, when in sims with asexual reproduction it is much lower, 0.3 or 0.2. That's not really that suprising, but it's still nice to see that .sexrepro makes a real difference.
As I've lost hope to have a stable veggie-bot cycle with co-evolution in this sim, I'm concentrating on giving bots more diversified enviroment. I'll make veggies tougher and repop them more rarely and give them different behaviours to choose from, decrease corpse decay rate, maybe add some more shapes and anything else I can think of.
-
...I ran a large field with low food with a neural network like structure as a base. ...
A Neural net? Cool. Could it actually learn? Also, how did you get mutations to only affect the neural net's weights, instead of modifying instructions and turning your A.N.N (artificial neural net) into gloop?
-
What I mean is like in this thread: http://www.darwinbots.com/Forum/index.php?...ic=2677&hl= (http://www.darwinbots.com/Forum/index.php?showtopic=2677&hl=)
Did you get it to work?
Also, has anybody else made an interesting evosim?