Author Topic: .myoffspring, .refoffspring, .trefoffspring  (Read 6422 times)

Offline Gobo

  • Bot Builder
  • **
  • Posts: 67
    • View Profile
.myoffspring, .refoffspring, .trefoffspring
« on: December 05, 2007, 02:25:38 PM »
I would like to have .refoffspring in order to let shepherd veggies encourage zerobots which developed reproduction. .myoffspring and .trefoffspring are suggested by induction.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
.myoffspring, .refoffspring, .trefoffspring
« Reply #1 on: December 05, 2007, 03:01:24 PM »
It would return the number of offspring a bot has?  An auto-sysvar makes sense.  A refvar doesn't except in the same light as .totalspecies, etc., as a way to build shepherd bots.

So I would reiterate my point that .totalspecies etc. should be disabled by default, and enabled for "shepherd bots". via something in the GUI, or something in the DNA if the GUI is too cluttered. (like adding '#Shepherd to the start of the DNA for instance).  You could then add refoffspring to the shepherd sysvars.

Offline Peter

  • Bot God
  • *****
  • Posts: 1177
    • View Profile
.myoffspring, .refoffspring, .trefoffspring
« Reply #2 on: December 05, 2007, 03:12:21 PM »
Well, yes it sounds pretty artificial, I am with Numsgil at this one.

And why should you need the sysvars. Any bot with repro encoureges itself becouse his dna will be dublicating, it is sometimes taking a while before one gets it, but if one gets it, it will use it often. Why favoring it then.
Oh my god, who the hell cares.

Offline Gobo

  • Bot Builder
  • **
  • Posts: 67
    • View Profile
.myoffspring, .refoffspring, .trefoffspring
« Reply #3 on: December 05, 2007, 03:42:34 PM »
Quote from: Peter
And why should you need the sysvars. Any bot with repro encoureges itself becouse his dna will be dublicating, it is sometimes taking a while before one gets it, but if one gets it, it will use it often. Why favoring it then.
Because if zerobot reproduces very occasionally, it does not get much profit of it, and the evolution vector is hardly significant, because other bots get the same for free from shepherds. My idea is to encourage learning reproduction with more probable induced reproduction by shepherds.
« Last Edit: December 05, 2007, 03:43:00 PM by Gobo »

Offline Gobo

  • Bot Builder
  • **
  • Posts: 67
    • View Profile
.myoffspring, .refoffspring, .trefoffspring
« Reply #4 on: December 05, 2007, 03:47:47 PM »
Quote from: Numsgil
It would return the number of offspring a bot has?  An auto-sysvar makes sense.  A refvar doesn't except in the same light as .totalspecies, etc., as a way to build shepherd bots.
Actually .myoffspring would be perhaps enough, since shepherds could memloc it.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
.myoffspring, .refoffspring, .trefoffspring
« Reply #5 on: December 05, 2007, 04:08:40 PM »
To be clear, we're talking about the number of times a bot has reproduced, not the actual surviving progeny that's floating around, right?

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
.myoffspring, .refoffspring, .trefoffspring
« Reply #6 on: December 05, 2007, 04:11:44 PM »
Quote from: Gobo
Because if zerobot reproduces very occasionally, it does not get much profit of it, and the evolution vector is hardly significant, because other bots get the same for free from shepherds.

I disagree.  My expereince with shepard bots (which kill indiscriminantly while the population is above a certain level) is that any reproduction, even infrequent reproduction, conveys significant advantage and creates an evironment where selection dramatically favors more frequent reproduction, which tends to evolve rather quickly.

Personally, I dislike the idea of shepard bots playing favorites.  This is artifical selection I.e. selective breeding.  I prefer shepards to be indisciminate whether they are killing or feeding (*shooting nrg shots).  This places the responsibilty for evolving squarly on the shoulders of the evobots and provides selection pressure for them to seek out nrg shooters or flea from killers or find some way - often unexpected way - to compete better.  The problem with hand pruning bots and shepards playing favorites and any other criteria based selection is that it assuems you are evolving towards a goal. If you want pink poddles, I guess this is fine but if you want truly emergent complexity, you should avoid to the extent possible aprioi defining selection criteria beyond simple reproductive sucess.

That said, the sysvar may still be useful in general.  My opinion is confined to the use of it in shepards as a method of intelligent design.
Many beers....

Offline Gobo

  • Bot Builder
  • **
  • Posts: 67
    • View Profile
.myoffspring, .refoffspring, .trefoffspring
« Reply #7 on: December 05, 2007, 04:20:42 PM »
Quote from: Numsgil
To be clear, we're talking about the number of times a bot has reproduced, not the actual surviving progeny that's floating around, right?
Yep. And I think that should include forced reproduction acts as well for commonness. I suppose shepherds should memloc to store number of forced reproduction acts in zerobot's memory.

EricL: Perhaps you're right.
« Last Edit: December 05, 2007, 04:19:29 PM by Gobo »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
.myoffspring, .refoffspring, .trefoffspring
« Reply #8 on: December 05, 2007, 04:24:51 PM »
The funny thing with zerobot sims is that something that happens every 10000 cycles is frequent.  Life is just really slow paced for them, and then as time goes on, and the bots get acted on by natural selection, a race condition happens and bots learn to do stuff on a smaller and smaller time scale.  Really quite interesting.

Offline Sprotiel

  • Bot Destroyer
  • ***
  • Posts: 135
    • View Profile
.myoffspring, .refoffspring, .trefoffspring
« Reply #9 on: December 05, 2007, 11:35:44 PM »
Quote from: Numsgil
The funny thing with zerobot sims is that something that happens every 10000 cycles is frequent.  Life is just really slow paced for them, and then as time goes on, and the bots get acted on by natural selection, a race condition happens and bots learn to do stuff on a smaller and smaller time scale.  Really quite interesting.

*.robage inc is SUCH a clever adaptation!

Offline Peter

  • Bot God
  • *****
  • Posts: 1177
    • View Profile
.myoffspring, .refoffspring, .trefoffspring
« Reply #10 on: December 06, 2007, 12:34:24 PM »
Quote from: Numsgil
The funny thing with zerobot sims is that something that happens every 10000 cycles is frequent.  Life is just really slow paced for them, and then as time goes on, and the bots get acted on by natural selection, a race condition happens and bots learn to do stuff on a smaller and smaller time scale.  Really quite interesting.
Well, in repro it often happens a bot wants to repro every cycle and a shorter time-scale doesn't exist in DB.

In a zerobot sim I had 2 species, one specie is trying to reproduce every cycle, the other one are mainly zerobots still left from the beginning and have little offspring by possible some random sysvar writing. Atleast they do no reproducing for some 10000 of cycles.

Becouse the veggie(shephard like you all call it)bleednrg is sending nrg around the sim the bigger bots from the begining(32000body)are still surviving becouse they catch a lot, the repro every cycle survive becouse there isn't a age-cost for the first 1000cycles and one lucky shot of nrg on a bot, is taking care for a next generation bots.

Oh, and that brings me to a point, I managed to crash te sim by setting an extra zero into the veggie-energy, having 200000 energy. Could there be some limit on them to from stopping them from crashing.
Oh my god, who the hell cares.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
.myoffspring, .refoffspring, .trefoffspring
« Reply #11 on: December 06, 2007, 12:53:13 PM »
When a bot does something every cycle in an evo sim, it's way above frequent.  It's run-a-muck.  Reproducing every cycle will cause the bot to exhaust itself in an explosion, leaving only barely alive dust mites for children, which are so small that they're less likely to get the random stray energy shot to hit it.  Unless the bot can't reproduce because the way is blocked by another child, in which case it has to wait for something to bump in to it or it learns to turn.  Which can take thousands of cycles.  In which case trying to reproduce every cycle works out just fine.

Offline Peter

  • Bot God
  • *****
  • Posts: 1177
    • View Profile
.myoffspring, .refoffspring, .trefoffspring
« Reply #12 on: December 06, 2007, 01:10:02 PM »
Well, it happens as I can see in my sim. I see a lot of little dots on the screen and they aren't shots but bots. And I have seen by coinfidence that a bot came close to a veggie that is shooting out nrg around, it is duplicating and becouse they're so close some offspring also catch nrg and duplicate also, after it they just all go randomly a way with all 2 body or less.
Oh my god, who the hell cares.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
.myoffspring, .refoffspring, .trefoffspring
« Reply #13 on: December 06, 2007, 01:18:47 PM »
It all just depends on the settings and dynamics in your sim, I suppose.  But generally I've found that bots that manage to shoot once every thousand cycles still manage to have advantages over bots that don't shoot, and even bots that shoot too much if the environment is smart enough.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
.myoffspring, .refoffspring, .trefoffspring
« Reply #14 on: December 06, 2007, 01:35:01 PM »
Quote from: Peter
And I have seen by coinfidence that a bot came close to a veggie that is shooting out nrg around, it is duplicating and becouse they're so close some offspring also catch nrg and duplicate also, after it they just all go randomly a way with all 2 body or less.
This is very common.  A mutation occurs where bots try to reproduce every cycle.  Their body limit prevents them from doing so until they get some nrg, which happens near nrg shooting shepard bots.  This "seeve" results in bots near shepards reproducing sucessfully while those not near shepards failing to do so.  One might aruge that this would lead to the evolution of active seeking of or lingering near nrg shooters but I have never seen it happen and the complexity of the DNA to do this is an order of magnitude beyond simple continious reproduction attempts.  At best, I've seen selection (or again, arguably just simple seeving) on continuious movement speed to balance fast movement to encounter shepards with slow movement to maximize the chance of nrg shot impact when near a shepard.

It is debatable whether any of this is evolution v. simple seeving though it may be a necessary precursor.  Were evolution ever to produce the ability to change speed or linger near a shepard based on... anything ... nrg level, sucessful reproduction, shepard proximity, shot impact....  that would hands down win the Conditional Evolution Prize.  

I wonder whether we should charge the 1% nrg tax on reproduction attempts whether they are successful or not....
Many beers....