Bots and Simulations > Evolution and Internet Sharing Sims

1000 hour zerobot sim

<< < (2/5) > >>

shvarz:
Yeah, I noticed that too.

One striking thing is that the evolved zerobots are so different from each other.  There are clearly two different species - one is large, dark-blue and shooting and the other is tiny, light-blue and non-shooting.  Has it been awhile since they split?

EricL:
I've done no analysis, but it would not surprise me if the common ancestor is 100 generations back - one advantage of keeping the population high I guess.

But with generation time dropping and costX rising, I can't imagine multiple lines will last for very much longer.  We just don't have the niche space.  Auto-costs with a uniform cost distribution across the sim means one species' effecieny gains or gains in reproductive success are always at the expense of anothers.  Costs as the primary selection mechanism discourage diversity since the most effecient species in the sim will always win.

I think the solution to this is to add non-cost based population control and selection mechanisms such as a built-in uber-preditor whose killing ability is a function of population targets.  In this way, diversity is encouraged, not discouraged since novel ways of avoiding preditors (like being smarter or runnign sooner or hiding better or being small enough to avoid shots, etc. ) can be favorred (even if the posessor of such a trait is less effecient in other ways like reproduction effecieny compared to other species).

Sprotiel:
I'm trying to make a script to deobfuscate evolved DNA as much as possible. Here's what I've got for a dark-blue bot:

--- Code: ---cond
start
 -- 0 dist << dec
 10 pyth .setaim store
 49 >> >> rnd *.dx 3

cond
 27 1 -7 >=
start
 angle rnd inc
 dist 3 29 6 dist >> * inc
 *.dx 6 ceil - 1 1 14 dup 52 dist << dec
 10 dist 36 | ^ mult inc
 *20 6 angle << 1 1 dist *.robage dec
 49 inc
 10 ceil angle >> >> * inc
 *.shootval *.aimright angle & 1 0
else
 1 add 47 dist << dec
 -1 * inc
 *.robage 26 1

cond
 0 27 1 0 !~=
 xor
 mult 5 add pow >> 3 22 49 >=
 not
 << >> *.dx 6
start
 27 1 1 dist * inc
 dist 29 5 dist ^ * inc
 *.dx 6

cond
 and
 sqr - -6 0 !%=
start
 2209 dec
 dist 49 >> ^ * inc
 *14 .robage inc
 ceil << -8 angle - 5 -10 47 dist << dec
 0 >> sgn inc
 *.robage 6
else
 ^ store
 dist *23 inc
 49 inc
 16 ceil 29 >> >> * inc
--- End code ---

and for a light-blue one:

--- Code: ---cond
start
 | 1 add dec
 dist << dec
 10 ceil .setaim store
 49 >> >> * *.dx 6 angle 1 add 1

cond
 27 <
 -7 >=
start
 angle rnd inc
 dist 3 29 -4 dist >> * ceil - 1 1 14 dup 51 dist << dec
 10 dist 36 | ^ mult store
 *20 angle << 1 1 dist *.robage dec
 10 inc
 49 angle ceil >> >> * inc
 *.shootval *.aimright pow & 1 1 47 dist << dec
 -1 * inc
--- End code ---

Note that both store 10 in .setaim. They probably share a not too distant ancestor, considering the similarity of their first gene.

MacadamiaNuts:
I'm curious... can you find any bot in your sim that carries an eye sysvar, even if it's junk or a fresh mutation?

I've got to see one in an evosim yet. Aren't we biasing the results by starting always from zeros? Maybe one third should be zeros, one third 499 and one third 999, so mutations are distributed equally through all the sysvar range.

EricL:

--- Quote from: MacadamiaNuts ---I'm curious... can you find any bot in your sim that carries an eye sysvar, even if it's junk or a fresh mutation?

I've got to see one in an evosim yet. Aren't we biasing the results by starting always from zeros? Maybe one third should be zeros, one third 499 and one third 999, so mutations are distributed equally through all the sysvar range.
--- End quote ---
I havn't seen one, but I don't find that surprising.

First, assuming completly neutral mutations, there is only a 9 in 66,571 chance that a bp will be an eye sysvar.  Pretty slim.

Second, there are many, many ways to address the eye memory locations without using eye sysvars.  Even if there was selective pressure to use vision, it is debatable whether bots would evolve direct utilization of the eye sysvars.  They may do something like 505 * or *.robage * making it harder to detect in the tokinized DNA.

Third, the bots in an early stage zero bot sim simply arn't sophisticated enough to use vision.  You either need conditionat logic

cond
*.eye5 50 >
start
10 .up store
end

or you need the equivalent w.r.t. direct storage logic.

start
*.eye4 *.eye6 sub .aimsx store
end

Bots have yet to evolve either.  Thus, there is no selection pressure (yet) to preserve eye sysvars in the DNA since bots have not yet evolved any ability to use their eyes.

Yoru point about the starting distribution is well taken, but I do not think that has much baring on why we don't see bots using their eyes.  The bottom line IMHO is that they simply haven't evolved that ability yet.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version