Code center > Darwinbots3

Bot DNA

<< < (7/13) > >>

googlyeyesultra:
As far as I can tell, conditions are almost always deletrious to an evobot. Take this simple gene, for example:
cond
*.nrg 500 >
start
50 .repro store
stop

There's 6 commands in there, not counting the cond, start, and stop. If any of them in the conditions section is changed, the bot will probably die very quickly. For instance:
*.nrg 500 <
Well, we've now got a bot that suicides if it's hungry. Not particularly smart, unless it's a veggie.

*.robage 500 >
This one will go cancer after a few hundred cycles. Not particularly bright of  a bot to do, is it?

*.tmemloc 500 >
Something like this will pretty much make the bot sterile, as in an evolved enviroment, how often are you going to see tmemloc and tmemval be used?

Not only are conditions remarkably fragile, but no matter whether they work or not, they charge the bot energy (at least under most configurations). That essentially means, that unless every condition is really important, it's gonna get dropped fairly fast. Essentially, evo-bots are encouraged to kill off complex decision making and just run around randomly and shoot.

We really need a way of encouraging conditional logic. I suspect that removing or lessening the costs to check  conditions under default/F1 settings would aid this (as well as make conditionless bots less uber, hoorah!). I've even toyed around with the idea of using negative costs to encourage conditions, movement, and things like that.

Elite:
"cond
*.tmemval *.setbuoy >=

Can I have my free energy now?"

 

Evolution will take advantage of negative costs, creating junk DNA to grab the rewards with the minimum of effort. There's nothing in the contract that says the condition has to be useful! Zero costs are good, since then there's no selective pressure away from conditions (useful ones included).

EricL:
The fragility of contional DNA logic is related to the the issue of the low probability of evolving it in a sim complex enough to select for it's maintance.    As Googlyfinglongname correctly points out, it takes a long sequence of base pairs, correctly orderred to convey useful conditional logic.  Thus, the probability of evolving DNA with a useful conditional is low and the probability of destroying it is high.  But this is only part of the problem.  Evolving conditional logic in a sim complex enough to provide selective pressures to maintain it once it does evolve (or is hand coded to begin with) is highly unlikly today given the simplisitic natures of the sims we can run.   This is why zerobots don't evolve conditional logic and why hand coded bots loose it over time.  Our sims are just to simple to select for the evoloution or maintence of complex behaviour, conditional or otherwise

We need several things.  More sim complexity is key - evironment grid stuff, abilitiy for specialization and evolution towards niches, more simultanious bots per sim (perf perf perf) larger sims in general, topological separation for long periods of time, etc.

I might also suggest some structal changes to DNA which make the evolution of conditional logic more likely.  Higher level commands that impart conditional logic in fewer base pairs for example or mutation logic that respects gene structure so copy mutations preserve useful conditional sequences intact.....

Endy:
Would it be possible to allow different levels of variables?

A sim-wide level(most of these being read only), a radius based level around individual bots(to allow things like sound), and an MB level to allow easier communication to all the other bots in a MB.

Might also be an idea to allow bots to create basically a searchable array of features for the bots they are tied to. Then they could affect a variable in just that bot or bots.

Numsgil:

--- Quote from: Endy ---Would it be possible to allow different levels of variables?

A sim-wide level(most of these being read only), a radius based level around individual bots(to allow things like sound), and an MB level to allow easier communication to all the other bots in a MB.
--- End quote ---

I'm planning on creating a simple "smell" sense.  Smells would be used to communicate over sim-wide levels.  Most other senses will be rather local in all probability.

For MBs, I'm strongly working towards a system that dramatically increases the amount of information that can be communicated.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version