Author Topic: New Cost coming in 2.42.2  (Read 6415 times)

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
New Cost coming in 2.42.2
« on: April 09, 2006, 02:40:34 PM »
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
Many beers....

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
New Cost coming in 2.42.2
« Reply #1 on: April 09, 2006, 02:59:55 PM »
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.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
New Cost coming in 2.42.2
« Reply #2 on: April 09, 2006, 03:26:16 PM »
Absolutely.  Many thanks, made is super easy.  This is cost #31 PERCYCLECOST.  It's well documented in the source of course.
Many beers....

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
New Cost coming in 2.42.2
« Reply #3 on: April 09, 2006, 05:19:28 PM »
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?
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
New Cost coming in 2.42.2
« Reply #4 on: April 09, 2006, 05:32:16 PM »
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.
« Last Edit: April 09, 2006, 05:29:21 PM by Numsgil »

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
New Cost coming in 2.42.2
« Reply #5 on: April 09, 2006, 06:03:47 PM »
Quote
also ... isn't age capped at 32000?

Yes and no.  The .robage sysvar and the internal code won't count beyond 32000 because the mem aray is int valued so yes, you won't find bots with ages higher than this, but nothing happens to the bot once it gets this old.  The sysvar just stops incrementing.

I'm kinda thinking about maintaining a long valued age counter that could be displayed in bot properties and in graphs.  I assume we don't want to change the sysvar or add another such as age in 100's of cycles...

Quote
what about 'age' as a contributer to cost?

I like this as an optional cost.  There are times when old bots monopolize limited veggies and evolution slows down or stops (I think - or do parents get potentially mutated at reproduction time too?) because they are the only ones that get to reproduce.
Many beers....

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
New Cost coming in 2.42.2
« Reply #6 on: April 09, 2006, 06:34:53 PM »
I think age should be implemented like it works in nature. As I understand it, multicellular organisms are PROGRAMMED to simply start dying after a certain time. I don't know if it is understood yet WHY it works like that, but it's very interesting. Single cellular organisms are basically immortal as long as they keep deviding. There are allways some copies that keeps living to preserve the species. And I guess that age are also affected by radiation, UV-light and free radicals that breaks down the cells. So maybe you could put something like that in the program and the bots could develop different ways to handle it, maybe. Just some thoughts.  
The internet is corrupt and controlled by criminally minded people.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
New Cost coming in 2.42.2
« Reply #7 on: April 09, 2006, 06:42:44 PM »
Again, read the link I provided to the old forum above.  The general concensus was that it wasn't realistic to cause some rather odd and random effects for aging that make organisms adhere to our preconcieved notions of what aging should be.

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
New Cost coming in 2.42.2
« Reply #8 on: April 09, 2006, 09:52:09 PM »
Quote
As another optional cost I don't see why age couldn't be a factor. Probably a logarithmic rise in cost as you age.
?????
yeah ... that was my main point.
increasing cost as a function of age.
as long as we ramp the cost up in some way ...
it might be they wouldn't reach 32000 anyway ...
and it wouldn't be neccessary to 'off' em.
it seemed to me to be more aritficail to NOT have
a max age as long as there was no 'age cost' ...
but if we can add one, this seems to me to be
a good thing.
in fact, I was contemplating seeing if it could be done
from within the bot itself with dna ...
that way, different species would end up with different
life spans ... more variation for the sim. and mutatable.

Quote from: Numsgil
Again, read the link I provided to the old forum above.  The general concensus was that it wasn't realistic to cause some rather odd and random effects for aging that make organisms adhere to our preconcieved notions of what aging should be.
???
but we aren't considering that, right?  
NOT taking age into consideration  ... is artificial ...
nowhere in nature, that I know of, does aging not affect the viability of an organism.
so it should at least have some cost associated with it. imo.
« Last Edit: April 09, 2006, 09:58:14 PM by Griz »
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
New Cost coming in 2.42.2
« Reply #9 on: April 09, 2006, 11:31:50 PM »
As shvarz said here most aging effects in real organisms come in from either programmed cell death or accumulating mutations as the DNA repair mechanisms shut down.

We could have a mutation field that increases mutations in bots as they get older.  That would follow the initial idea shvarz had in that thread all those years ago.

I'm not saying that the discussion is closed, I'm just saying that it's been discussed before, and it's important to see what has been said instead of starting over.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
New Cost coming in 2.42.2
« Reply #10 on: April 10, 2006, 12:15:52 AM »
Just when I think I've gained some sophiostication of understanding on something and wrapped my head around at least some of the work that has gone on, I read an old thread like this and find myself awed by the depth of thought that has proceeded me on this project.  It is truly phenominal.


I'm no biologist and this is probably half baked, but here's a point of view on the subject.  One reason organisms may have evolved limited lifespans, even at the single cell level, may have been becuase it was advantageous to do so.  Namely, in a changing environment, the biggest mistake for a genotype to make would be not to change, not to create variation and thus anticipatory adaptability to environmental changes at the species level.  Not dying is not changing.  Imperfect reproduction is the mechanism that has evolved for creating variation - Darwin called it "Descent with Modification" - thus successful organisms are by definition, ones who have offspring.  Now, in any system, in any ecosystem, there is limited energy.  The earth is not a closed system - energy comes in, energy leaves - but the sum of that energy is finite.  It is bounded.  There is an upper limit and thus organisms cannot have offspring at infinitum.  Only so much sunlight falls on the pond.  Energy must made made available to the next generation somehow - the next generation must get a chance to get their share, to get their turn or that's the end of that brach of the tree.  Having offspring that don't get access to energy, that don't survive to reproduce is the same as not having offspring at all which is the same as not changing.   Now, since there is phyiscal proximity between parent and offspring, at least for single cell asexually reproducing species, one way to free up energy for your offspring, once you have had enough offspring to have taken a number of steps in different directions in the fitness landscape from where you stand, is to die.  Maybe one of those steps was an incremental improvement over yourself, a small step up mount improbable.  Seems plausable to me.

So, I think what we may be missing is not a mechanism for simulating this evolved trait, but rather more programatic ways to provide a changing environment over time so as to encourage anticipatroy varaition and perhaps the evolution of such adaptaions as limited lifespans.  A changing environment favors the prepared genome.

I've actually been thinking a little about this in a related way in that I've been thinking about ways to limit overpopulation through evironmental changes: perhaps having a set of configurable overpopulation rules that increase the nrg/cycle cost or decrease the number or energy of veggies once the population hits a high water mark (and vice versa).  It's a raw idea needing more thought, but I do think that a (gradually) changing environment is key to providing selective pressures which favor variation.  And at the risk of sounding like a broken record on the subject, this won't work very well IMHO until the primary mutation probability is encoded in the genome and is itself subject to selection so that the tendency towards greater or lesser variation in different areas of the genome can be selected for....      

-E
Many beers....

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
New Cost coming in 2.42.2
« Reply #11 on: April 10, 2006, 12:26:33 AM »
One problem with your theory is that it works on the species level while selection works on the individual (or even gene, if you read "Selfish Gene") level.

Simply put, if I'm doing well there's no reason for me to turn over the reigns to my kid.  He's probably mutated, and if he has, chances are it involves a nose ring and heavy metal.  Yuck.

Death seems, to me, to be a natural consequence that organisms adapted to by having children, instead of the other way around.  Something makes older organisms die, something they just can't stop or find ways around.

Obviously there's accidents.  Disasters.  On the cellular level, you might get crushed against a rock, dessicated as your pond dries, or eaten.  Even if you can't get eaten there's just too much chance that in the entirety of time you'll have an accident and die.

As was pointed out in that thread, one idea is that adaptations that help younger organisms survive these sorts of disasters also cause them to die younger.  It's a tradeoff that organisms make trying to balance between their own immediate success and lifespan.

We could add some random "disasters" into the simulation.  That would select against older bots that have fewer children without artificially creating a set of rules that make bots behave as we want them to.

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
New Cost coming in 2.42.2
« Reply #12 on: April 10, 2006, 12:47:37 AM »
Quote
I'm not saying that the discussion is closed, I'm just saying that it's been discussed before, and it's important to see what has been said instead of starting over.
well this forum does not lend itself very easily to doing that.
I don't have time to search them all out.
so ...
I'm going to just go ahead and ask my questions ...
and you can answer them or not.

AGAIN ...
imo, ime, age is a factor that we should take into account ...
and it should be part of what we emulate to help us balance
and control the 'system' as a whole, as a complete entity.
and it should be a simple matter to add an escalating cost to age.
 
my 2c
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
New Cost coming in 2.42.2
« Reply #13 on: April 10, 2006, 12:59:45 AM »
Quote
I do think that a (gradually) changing environment is key to providing selective pressures which favor variation.
absolutely.
evolution requires both the environment and it's inhabitants to constantly
change. they are not separate from one another ...
the environment's inhabitants alter/change it as much as it requires
them to change. all events are interpenetrating and interdependant.
we should emulate that as much as possible.
a static environment will not support life.  not for long. it isn't vialble.

now I'm up to 4 cents.
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
New Cost coming in 2.42.2
« Reply #14 on: April 10, 2006, 01:12:21 AM »
Quote
It's a tradeoff that organisms make trying to balance between their own immediate success and lifespan.
bah humbug!.
organisms don't make tradeoffs.
they don't 'balance' anything.
they don't 'decide' anything.
there is no 'intelligence' there.
humans don't even decide!
[although they imagine they do]

there is only one rule:
what works continues ...
what does not ends.
period.
that's it.
it is not the individual that evolves ...
nor even the organisims ...
except as a side effect/result.
it is the 'relationships' that evolve ...
it is the 'system' ...
that allows the individuals/organisms to exist.
those are the content of the system.
the system is the context it all take place within.
that' is what needs to be vialble.

6 cents now

I don't have any more money so ...
ya'll go ahead and do what you want.
« Last Edit: April 10, 2006, 01:15:38 AM by Griz »
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]