Darwinbots Forum

Bots and Simulations => Simulation Emporium => Topic started by: Endy on October 04, 2008, 05:27:50 PM

Title: Congo Lines
Post by: Endy on October 04, 2008, 05:27:50 PM
Really oddball behavior that turned up in a zerobot sim. Basically the two congo lines of bots along the edges will switch sides in the sim every so often moving in unison with a group bots on the opposite side. It "seems" to be tied to a low population level, but could also be using timer somehow to co-ordinate the movement.

Presumably the behavior did something useful for the bots when the sim was fully torroidal, but it wasn't as noticeable. The bots got part of their dna from Ikke's zerobots, so may look familiar.

Title: Congo Lines
Post by: Endy on November 03, 2008, 12:54:19 PM
After a few eons the bots appear to have evolved to use the trefs to determine their shootvals for their shot distances. Not sure if it's trefnrg or trefbody that they're using, but basically whenever they're tied to a large bot/veggie they'll put more nrg into feeding.

They've also developed a mass based condition for shooting. Generally prevents anything with more than 1 mass from feeding. I think its done to prevent non-reproducing mutants from feeding at a super large state, since most of the bots never reach that size.

Code: [Select]
''''''''''''''''''''''''  Gene:  1 Begins at position  1  '''''''''''''''''''''''
 angle 16 -49 -749 inc
 -17 *0 inc
 12 0 29 -9 dup *.trefbody -169 4 ceil | mod false
 >> 8 << .shoot inc
 5 -- *.dn angle 13 0
''''''''''''''''''''''''  Gene:  1 Ends at position  33  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  2 Begins at position  34  '''''''''''''''''''''''

''''''''''''''''''''''''  Gene:  2 Ends at position  34  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  3 Begins at position  35  '''''''''''''''''''''''
 254 mod
''''''''''''''''''''''''  Gene:  3 Ends at position  37  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  4 Begins at position  38  '''''''''''''''''''''''
 sqr true
 & 236 298 282 317 mult 239 383 370 angle xor
 414 rnd 1 clearbool
 mult & add store
 *.aimright mult -40 -- 48 dec
 -44 inc
 -29 -8
''''''''''''''''''''''''  Gene:  4 Ends at position  73  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  5 Begins at position  74  '''''''''''''''''''''''
 9 =
 *-14 - -23
''''''''''''''''''''''''  Gene:  5 Ends at position  81  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  6 Begins at position  82  '''''''''''''''''''''''
 | dec
 sub >=
 .setaim store
 18 *.maxvel not
''''''''''''''''''''''''  Gene:  6 Ends at position  95  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  7 Begins at position  96  '''''''''''''''''''''''
 2 .sx store
 ^ store
 ++ *.multi pow mult -754 & angle dropbool
 8 pow 4 xor
 angle -49 16 inc
 drop dec
 26 12 swapbool
 8 div -169 -9 12 28 *.trefbody *.aim
''''''''''''''''''''''''  Gene:  7 Ends at position  133  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  8 Begins at position  134  '''''''''''''''''''''''
 | *.mass store
 -49 -36 *0 8 .up inc
 drop 12 12 dupbool
 -- store
 *.aim *.mass store
 7 14 angle dist 0 25 -- -- stop
''''''''''''''''''''''''  Gene:  8 Ends at position  164  '''''''''''''''''''''''
 0 *
''''''''''''''''''''''''  Gene:  9 Begins at position  167  '''''''''''''''''''''''
 ceil store
 -49 16 false
 | dupbool
 4 sub !~=
 *-561 ++ .shoot dec
 & not
 *-912 103 *.tin6
''''''''''''''''''''''''  Gene:  9 Ends at position  187  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  10 Begins at position  188  '''''''''''''''''''''''
 sqr dec
 31 ++ sub -17 -16 stop
''''''''''''''''''''''''  Gene:  10 Ends at position  196  '''''''''''''''''''''''
 | inc
 - or
 ~ ~
''''''''''''''''''''''''  Gene:  11 Begins at position  203  '''''''''''''''''''''''
 dup 107 2 -1 not
''''''''''''''''''''''''  Gene:  11 Ends at position  209  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  12 Begins at position  210  '''''''''''''''''''''''
 ++ false
 135 116 134 146 <=
 << 135 ceil *-243 103 179 overbool
 *.hitdx 232 250 store
 << 219 238 xor
''''''''''''''''''''''''  Gene:  12 Ends at position  236  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  13 Begins at position  237  '''''''''''''''''''''''
 angle -54 *.up inc
 drop false
 14 dupbool
 8 0 rnd *.aim *.mass !~=
 *-433 ^ .shoot dec
 *.dn 16 0 stop
''''''''''''''''''''''''  Gene:  13 Ends at position  260  '''''''''''''''''''''''
 -9 overbool
 add stop
 clear mod 1 |
Title: Congo Lines
Post by: d-EVO on November 25, 2008, 10:37:07 AM
that is so cool!

seriously developed from a zbot
can never get zbots to do cool stuff like that.
How long was the sim running for?
Did you anly start with zeros? if so how many
Title: Congo Lines
Post by: Endy on November 25, 2008, 05:32:08 PM
This particular sim has something like 17 days of runtime. I've restarted it a few times now though so it probably has over 50 total days. Mainly use hypermutation to give me my starting zerobot dna. Induced viruses to combine Ikke's zbot's reproduction genes with my zbots. Right now I'm just inching the costs up, they're at .7 now so don't have too much further to go.
Title: Congo Lines
Post by: jknilinux on November 26, 2008, 01:09:20 PM
Do you mean .7 of F1 costs?
Title: Congo Lines
Post by: Endy on December 01, 2008, 04:17:00 PM
Sorry, been caught up in a different game and didn't see your post.  

Yeah, .7 of standard F1 costs. My main goal is to eventually evolve something that could compete in F1, though it would still likely be creamed  
Title: Congo Lines
Post by: bacillus on December 01, 2008, 04:24:46 PM
F1 is getting very tough indeed, although there's still some older hangers-on like cadillus and the one (looks like they were coded 3 and a half years ago!  )
Title: Congo Lines
Post by: jknilinux on December 01, 2008, 07:24:25 PM
Well, all you need is to keep increasing the costs past f1, and include a few current f1-stompers at the beginning, with their reproduction turned off. Start with something like just 5 fruitflies and 5 sabers, make sure they can't reproduce, and once they kill them, increase to 10 fruitflies and 10 sabers, then 20, etc... Ultimately, you'll have an ex-nihilo bot that can kill 200 fruitflies and sabers at once- then it's ready...  
Title: Congo Lines
Post by: Moonfisher on December 30, 2008, 01:19:26 PM
I think fruitflies and saber aren't the best bots to use in this way
Fruitflies mainly uses reproduction as a weapon by enheriting it's attack method from the parent and "mutating" it.
And saber rapes the alge, so even though it can't reproduce it'll still take over the alge.
Quickdraw has the same problem as for saber.
EtchII relies partialy on being many, but it should be able to cause some damage with just 5, still without repducing it'll be very handivapped.

And then you reach bots like Ocura amplificis something, or whatever that fearce virus was called. Wich again will affect the alge.
Pacifist also relies on numbers and also uses a virus directly aimed at the alge (Dives into the alge when releasing it to make sure they hit).
Same for ebola and probably several others in top 10 F1...
I would sugest something like Multiply4, it's a realy mean F2 bot that also does very well in F1, and it's a large bot, so reproduction isn't as important for it.

Either way, rape bots like saber and quickdraw are out, and so are bots with mean viruses... And bots who reproduce very often would take some tweeking to get to work properly without reproduction.
Title: Congo Lines
Post by: jknilinux on December 30, 2008, 02:42:38 PM
Maybe giving the algae steadily more evil viruses? Start with something that can't replicate, just makes them jitter randomly. Keep increasing evilness. Maybe we'll need to introduce some hand-authored anti-virus code, though... It would take them a loooong time to evolve virus immunity, and when they do it'll basically be obfuscated hand-authored antivirus code anyway, right?

And for fruitfly and saber- maybe handicapping them while still allowing reproduction?

Endy- any updates?
Title: Congo Lines
Post by: Moonfisher on December 30, 2008, 06:03:51 PM
Yeah true you could use other handicaps than reproduction... like a very short lifespan, a strict maxpop and such...
Saber and quickdraw still rape the alge though, so I think those 2 would be hard to use.
But you could have fruitflies... with like 100 maxpop and a short lifespan... (Just shoot maxvalue energy shots to comit suicide at a certain age.)
I think it'll be hard to run an evo sim against fruiflies though, since they adapt to their oponent through natural selection... so if the bots learns a good counter move they'll just start using different attacks. But who knows it might get realy good at breaking ties and using the right amount of slime to keep them off... or infect the alge with a slime virus or actualy find a good way to counter all the attack types eventualy.
Title: Congo Lines
Post by: Endy on December 31, 2008, 10:14:16 AM
Haven't done much with them lately, been involved over at eRepublik. Probably start doing some nightly sims again though.

Will if it is infected by fruitfly's or others' virus it wouldn't be a zerobot anymore. It needs to be virus proof/resistant without being infected by hand authored viruses. Maybe pairing it up against a viral zerobot would allow it to evolve immunity.