Bots and Simulations > Evolution and Internet Sharing Sims
Zerobot sims
Zinc Avenger:
I've been running some zerobot sims for a while now and I can't say I've actually managed to get much in the way of evolved useful characteristics. Apart from the one time a bot managed to place its entire dna into a virus and transfer about 700 copies into a single veggie, which then took over the sim...
Anyone else managed to get anything interesting or useful? How about we collaborate a bit and if you get a viable bot (even mildly!) on a zerobot sim, post the bot here and perhaps us other zerobot-simmers can run sims on that bot.
Testlund:
I think this is a pretty good one. I call it ZeroVeggie. It can reproduce and keep a stable population with some morphological costs and ageing cost. Unfortunately I've been having a memory error issue that I hope Eric will be able to fix soon, so I haven't been able to run this long enough to find out what ageing costs are best for it, but morphological costs should work with same settings as most other bots can handle. I use the same morphological costs for all kinds of bots I'm running. But to manage to evolve a heterotroph that can hunt for food we need DB to be stable enough to run for months.
0 0 0 *.up and
rnd store
inc
dup <=
<=
sub *.up not
store
inc
and
dup -218 dist abs angle angle angle ~ rnd <=
start
*-11 and
angle add or
*26 sub dist start
*.robage 0 <
mod <=
start
*.up and
angle rnd store
sqr *.robage 25 or
0 rnd =
*.up ~ and
and
cond
angle *-22 floor dup dist *.robage -92 0 rnd <=
cond
start
*.up not
<
sqr ~=
-218 pow and
*.robage angle ~ !%=
else
not
angle dup dup *26 div *.robage 0 dup -425 ^ dec
store
*29 197 dist angle rnd >
*.up rnd 2 *.up mult store
and
dist <
add >=
1 and
angle 0 *.up angle ceil rnd store
inc
dup dist *-5 0 rnd or
<
start
*.up not
store
add -218 -- angle & ~ <
-- pow floor ceil *.up ceil mult *-164 >> store
*.robage 597 737 xor
dec
*-9 ~ and
angle cond
pow not
~ pow pyth and
inc
angle ceil mult store
*-164 cond
^ ~ *49 !~=
-- pow dist angle not
~ <
-- pow =
dist <
*.up 1 not
*.dx ~ - pow dist -149 sgn <=
mult mod store
-3 add xor
ceil dist ~ *.dn cond
angle not
~ -- cond
angle and
not
and
*993 -- pow dist else
store
^ xor
*.sx <
xor
angle cond
angle not
~ & pow dist >
ceil *.up sqr mult *.robage else
angle *.up ~ -- cond
angle store
~ -- pow not
& -- rnd inc
2 add xor
~ inc
>> !=
add cond
- ~ -- pow 1 cond
angle not
~ *.aimleft pow cond
dist dist *-4 and
& =
cond
%=
store
++ xor
and
*421 <
angle
Numsgil:
Viruses are quite common in ex nihilo sims. You wouldn't think so, but apparently viruses are done just right that evolution can figure them out before it can figure out reproduction, movement, eating, or just about any other useful strategy.
Zinc Avenger:
Yeah, who'd've thunk it? Viruses aren't used much by human bot designers but evolutionary sims take the idea and run with it. The problem with viruses I've found is like my opening post, I get hundreds of viruses infecting the same bots, leading to dna 7000 units long, bringing the entire thing to a grinding halt.
I've been focussing on the animal side of things, I have created a "zeroVeg" which I used in these sims which is nothing more than
start
0
stop
end
with mutations disabled and then setting max veggies to one more than the repopulation threshold. This means that the veggies aren't drawing much computing power (less even than Alga Minimalis).
I've got an old laptop which can maintain a zerobot sim (although I like the term ex nihilo and will now use it instead!) for weeks on end, and I will put ZeroVeggie in to bake for a week or so to see what happens.
I've actually avoided putting in aging costs altogether, I reasoned that since these bots are going to be spending a lot of cycles at least initially sitting there waiting to evolve some dna to do anything at all, the aging cost would kill them. I normally set up dynamic costs to maintain about twice the initial seed population with generous boundaries. Do you find that aging costs don't kill everything like I thought?
Numsgil:
ex nihilo has a delicious irony when used this way
Ideally you'll have costs only to prevent your bots from doing stupid things (like having a 7000 long genome ). The more freedom your bots have to experiment the better.
Ring up the costs only when you think you have a population starting. Once reproduction comes into the equation, natural selection should start working/
Navigation
[0] Message Index
[#] Next page
Go to full version