Darwinbots Forum

General => Biology => Topic started by: Welwordion on October 11, 2005, 07:24:26 AM

Title: geographial isolations role in evolution
Post by: Welwordion on October 11, 2005, 07:24:26 AM
Ok in nature it is needed to isolate populations so that sexual reproduction does not mix species before they become independant and to give certain evolutionary paths enough freedom to develop before compared with another organism.

In Darwinbots we have not used sexual reproduction but we have the phenomen
that once a bot changes his eyenumber its unlikely he will survive long enough to form a different species. Also certain development are prevented because bots are not given enough time to finetune a specific behavior.

So I thought we could somehow enforce smaller populations distributed over the screen that have low bot exchanging rates between each other and that are more likely for a new mutation to be dominated(basically increasing Dna divergence).

its easier for a new bot to beat 5 bots then 50.

Also maybe when a bot develops a new eye number we could somehow help him to survive by putting him into a kind of craddle area where he could reproduce to reach a certain number before he is put again to the main game.(by setting a certain number that has to be reached and putting all bots with new eyes into the same craddle ,we prevent them to exploit this to much)

Right now the only way to do this is to create barrier of space , however that only possible by blocking vegs or creating gravitation etc which has to many unwanted effects. So Why not create temporary physical wall that distibute the field?

Or bubbles surrounding a group of bots and vegs growing to acertain size before bursting.
Title: geographial isolations role in evolution
Post by: Zelos on October 11, 2005, 09:44:27 AM
with walls you can isolate the bots, but later when the mebo system is up there will be more possibilities so then you can see some real changes if they are isolated
Title: geographial isolations role in evolution
Post by: PurpleYouko on October 11, 2005, 09:50:18 AM
Also if we get the internet sharing options working really well then each PC with different settings epresents a virtual world in which some will survive better than others.
Title: geographial isolations role in evolution
Post by: Numsgil on October 11, 2005, 10:28:06 AM
The best way with the current settings is to jack up friction or (betterin my opinion) turn on zero momentum mode.

I had a sim running on the settings I just described create little veggy islands.  I'm also pretty sure there was a bug or two, cause the vegs weren't dying...  But the idea is fairly sound.
Title: geographial isolations role in evolution
Post by: PurpleYouko on October 11, 2005, 10:40:20 AM
I really like the idea of the zero momentum mode.

We should probably introduce a new league for it.  :D
Title: geographial isolations role in evolution
Post by: Botsareus on October 11, 2005, 01:40:34 PM
I like to try this one, all you need to do is program appearing and dissapearing walls from vbasic. But it probebly wont work... so if I have nothing importent to do and feel like experimenting...

 I might try it.

For now: Anyone have any evo frandly robots to try this out on. Its going to be a myth-busters-like controled experiment.
Title: geographial isolations role in evolution
Post by: PurpleYouko on October 11, 2005, 01:50:39 PM
Walls are a pain in the ass though.

The only way that the robots can see the walls is if they are actually made of other robots. The sim just isn't set up in a way that allows solid walls.

I have tried to figure out how to make real walls that the bots can interact with and the only way I can see is to use the e-grid.
Still some way off I am afraid.
Title: geographial isolations role in evolution
Post by: Numsgil on October 11, 2005, 01:53:47 PM
When I finish porting the code from VB to C++, the egrid will become loads easier, because then I can do some more dynamic memory things, abstract data types, maybe some trees, etc.
Title: geographial isolations role in evolution
Post by: Botsareus on October 11, 2005, 01:54:25 PM
PY, when you turn turoidal off, do the bots know there is a limit after 9237 x 6928 or they bump into it to find out?


When Num will finish porting the code from VB to C++,  I might actualy learn some serios c++ for a change... yay! ... :s
Title: geographial isolations role in evolution
Post by: Numsgil on October 11, 2005, 01:55:11 PM
I think you can do *.edge, but I never tried.
Title: geographial isolations role in evolution
Post by: Botsareus on October 11, 2005, 01:57:49 PM
exselent , I can create some fake walls that *.edge works on. I still need a good evo robot though...
Title: geographial isolations role in evolution
Post by: Numsgil on October 11, 2005, 01:59:15 PM
The cannibot I made a while ago is ripe for evolution, because he isn't likely to devolve anymore.

Name is "Enitor Comesum" or something like that.
Title: geographial isolations role in evolution
Post by: PurpleYouko on October 11, 2005, 02:20:35 PM
Quote
I think you can do *.edge, but I never tried.

That's right. *.edge returns a 1 if you hit the side of the sim. The edge is defined by the size of the sim so that it always corresponds to the true side of the sim.
Title: geographial isolations role in evolution
Post by: Welwordion on October 11, 2005, 04:56:15 PM
"veggie bombs" would be of use for zero momentum mode , veggies that spread/explode in all direction after reproduction, cause thebots tend to eat all food sources until only one big source remains. Maybe a sort of antigravity?

(tried out the planet eater with negative numbers seems to work, well however I do not test bots in 2.4 yet cause its to messy)

added:
Now I have got an idea a repulsive,  force that first get greater with distanc ebefore becoming weaker.
for example.

G*m1*m2 *(r/20)^2/(r/20)^3
Title: geographial isolations role in evolution
Post by: Endy on October 11, 2005, 05:13:01 PM
I normally use *.edge(depending on grav settings) to tell the bots to spin when they hit a wall. Seems to work pretty well. Relativly cheap since you can just mult .aimdx by *.edge.

Did one interesting test with walls a long while back and actually had different feeding methods develop. On one side was a glitch feeder utilizing an old free nrg bug, on the other the bots kept to more standard methods. Eventually they somehow broke through the wall and met again. :)

I'd like to see walls that aren't bots. I know they're supposed to be different types  but they still share too much of the same structure and have odd effects.
Title: geographial isolations role in evolution
Post by: Numsgil on October 11, 2005, 06:09:15 PM
Quote
added:
Now I have got an idea a repulsive,  force that first get greater with distanc ebefore becoming weaker.
for example.

G*m1*m2 *(r/20)^2/(r/20)^3
That's an interesting idea.  Maybe some sort of way to describe forces in terms of an equation.  Custom forces could be really neat.

A computational note: r^3 will slow the program down dramatically.  r^2 is easy to calculate sicne you don't take a sqr root.  That is, you can just do r^2 = a^2 + b^2 (pythagorous theorem).

r^3 on the other hand is sort of a mess.

Negative G values work jsut as well, but I'm not sure they'd be terribly interesting or not.  I mean, eventually you'd get a kind of uniform distriubtion.