Code center > Suggestions

New Cost coming in 2.42.2

(1/5) > >>

EricL:
I've implemented a new cost for 2.42.2 (release should be out this week) which deserves some explanation.

Costs provide selective pressure.  Without them, everything would be free and environmental selection at least wouldn't work but what we and/or the system decide to tax pushes selection in certain directions.  Charging costs per DNA bp or cond statement or store operation or .body upkeep provides selective pressure for bots to become more effecient w.r.t. their usage of these things.  Similarily, charging for behaviours such as shots or ties selects for more judicious use of these tools.

But it you want to encourage complexity without such restrictions, to put absolutely no restrictions on DNA length and all the various wacky different solutions to being alive yet still provide environmental selection pressure to cull the ineffecient and keep populations down to where the system runs reasonably, then IMHO at least, what we were missing was a cost which taxed mearly being alive.  Thus, if you use this cost and no other, then there is no downward selection pressure on DNA length or body size or shot formation, etc. yet there is selective pressure to be effecient, to do something to gain energy and perhaps reproduce before your time runs out.  Of course, if you want to tax these other things instead or in addition, well, that's fine too.

So, it's simply a cost of nrg per cycle for mearly existing.  The default is 0 of course and it is 0 in F1 mode.

-E

Numsgil:
Sounds good.  The costs array was built to be as extendable as possible (well, within reason sort of).  I'd prefer having too many options than not enough.

EricL:
Absolutely.  Many thanks, made is super easy.  This is cost #31 PERCYCLECOST.  It's well documented in the source of course.

Griz:
excellent.

what about 'age' as a contributer to cost?
in the 'real world' this certainly comes into play for almost all organisms ..
it's more difficult for them to move, digest, etc.
but rather then interfere with movement or whatever ...
could we have a 'tax' that is a function of age ...
is slowly 'ramped up'?

also ... isn't age capped at 32000?
how about killing a bot off if it reaches 32000 cycles rather than capping it?

Numsgil:
There was talk about that sort of thing Griz but the general concensus reached was that it wasn't realistic, a bit too artificial.  I think it was a post in the old old forum, I'll see if I can find it.

As another optional cost I don't see why age couldn't be a factor.  Probably a logarithmic rise in cost as you age.

I think this is it.

Alot of those older threads are still worth a look or two from time to time.

Navigation

[0] Message Index

[#] Next page

Go to full version