Author Topic: 2.42.9 Changes  (Read 11758 times)

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
2.42.9 Changes
« Reply #15 on: October 22, 2006, 04:28:36 PM »
Quote from: Anonomous Guest Person
I think in the same flat manner veggies can be limited in, which I believe disables reproduction if there're more then x bots, x of course being the limit set for the number of bots possible in the simulation.
There are all sorts of problems with this, even with the current veggy population control.  You don't want to favor bots that just happen to have early slots in the rob array, so you can't restrict reproduction until a cycle is complete duing which time a lot of births could have happened.  This is why the veggy population often exceeds the limit today.  If reproduction is disabled, then the populatuion falls, but the first cycle the population is below the limit and they are allowed to reproduce, they all reproduce during that cycle, before the prohibition is reinstated and you get essentially 2X the limit of veggies.

Other problems have to do with the arbitrary nature of disabling reproduction.  It's fine to disable reproduction for physical reasons such as there not being physical room because bots can evolve strategies for doing something about that.  But an arbitray limit is from the bot's point of view, well, arbitrary.

I have a viseral negative reaction to arbitray limits and I dislike even the current one for veggies.  I think the 'proper' way to control population is indirectly via sim resources I.e. limiting nrg inflow, physical space, ramping up costs, etc. which is why I have added such features as dynamic costs and inbound energy management.
Many beers....

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
2.42.9 Changes
« Reply #16 on: October 22, 2006, 05:16:35 PM »
Well, I think the dynamic costs works a little strange. For instance I set the target population to 100, then +10 % and -10%. What I found out is that it works the same as the setting above (No costs when target reaches below). I mean that as long as the population is below 100 there are no costs applied at all, nomatter if  I set the minus percentage to 0, -10 or -90, but if the population is above 100 then the costs will start to apply again.

I wonder if it is a bug. I've been testing it with 4 instances with different bots. Herbivore stops losing energy if it drops between 900-1000, DNA Bacteria and Animal Minimalis doesn't seem to lose any energy at all, while R Fisannis loses energy slowly.
« Last Edit: October 22, 2006, 05:44:39 PM by Testlund »
The internet is corrupt and controlled by criminally minded people.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
2.42.9 Changes
« Reply #17 on: October 22, 2006, 09:21:47 PM »
Are you typing the minus sign on the lower bound?  You should not be.  It is implicit.

Do you see Cost X suddenly go to zero in the tray when the population drops below 100?

Please post a sim when reporting a bug.  Without a sim, it is impossible to tell what is a bug and what is user error.
Many beers....

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
2.42.9 Changes
« Reply #18 on: October 23, 2006, 10:44:21 AM »
Sometimes I don't think I need to post a sim because I think you should be able to reproduce it just trying out the stuff I mension, but I will post a sim from now on.  

Here's a sim I just started. What you should see here is that when population goes above 100 bots the cost multiplier will increase until the population goes down to between 50 and 100 bots, then the costs will stabalize at it's current level. Very cool! If the population goes below 50 bots the costs will stop. The lower range target is currently set to 10, but it doesn't matter what value I type here. I don't understand the lower range target and what it's supposed to do. But otherwise I think the dynamic costs work quite well, except for when the population goes up very fast. Then the cost multiplier can't keep up with it and the sim freezes.
The internet is corrupt and controlled by criminally minded people.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
2.42.9 Changes
« Reply #19 on: October 23, 2006, 11:43:37 AM »
Things appear to be working as designed as far as I can tell.

You have the lower range set to 10% and the upper range set to 100% with a midpoint of 50.  Thus, while the non-autotrof population is between 45 and 100, the system will not change the CostX multiplier.  When above 100, it is increased as you see (with execptions - see below).  When below 45, it is decreased (with exceptions - see below).

Note that the algorithm is more complex than simply increasing and decreasing.  I have described it in detail in previous posts but in short, if the popualtion is below the lower threshold, but it happened to increase over the previous cycle, the CostX multipler will *not* be decreased that cycle since the population is moving towards the range.  Additionally, if the population is belwo the range and remained the same from one cycle to the next, the CostX multiplier will similarly not be decreased unless it stays the same for 10 consecutive cycles.  Then it will get bumped down.  How much it gets bumped down is a function of the sensitivity and of how far out of the range it is.  Of course, the inverse happens for when the population is above the upper range.

Using the Auto Costs Stats graph is very useful to see what is happening.

The overpopulation problem following when the zero costs threshold is hit and the CostX multipler crashes to 0 has been pointed out previously and I have added the new CostX reinstatement feature described in the first post in this thread to help address it.

Let me know if you still think there is a bug.
« Last Edit: October 23, 2006, 11:46:35 AM by EricL »
Many beers....

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
2.42.9 Changes
« Reply #20 on: October 23, 2006, 12:07:51 PM »
Ok, I guess maybe it's just me having a problem comprehend this stuff. I probably need to keep running it and monitoring the dynamic costs graph to understand it better. I'm looking forward to your new costX function then.  
The internet is corrupt and controlled by criminally minded people.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
2.42.9 Changes
« Reply #21 on: October 25, 2006, 03:36:02 PM »
Bump.  2.42.8c buddy drop released.

2.42.8c Buddy Drop Download
Many beers....

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
2.42.9 Changes
« Reply #22 on: October 25, 2006, 05:49:50 PM »
Quote from: EricL
23) Changed the Age cost log(age) option so that it is now log (age - cost start).  In this way, the cost will start ramping up at the age at which it compences.

What do you mean by "compences"?

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
2.42.9 Changes
« Reply #23 on: October 25, 2006, 08:34:47 PM »
Quote from: Numsgil
What do you mean by "compences"?
Sorry, phat phingers.  I meant "commenses".  An example is warrented.

If I have an age cost of 1 and chose to delay it for the first 1000 cycles of a bot's life and check the log increase option, prior to 2.42.8c, on it's 1000th cycle of life, the bot would be charged 1 + log (1000) or 4 nrg.  That is, the age cost per cycle went from 0 to 4 in one cycle.  Boom!  And from there on the increase is very gradual.  

Begining with 2.42.8c, it will be charged 1 + log(1000-1000) or exactly 1 but the ramp up following will be steeper.  On the 1010th cycle, it will be charged 2.  On the 1100th cycle 3, on the 2000th cycle 4, and so on.

Beginning the logrthmic growth at the age at which the age cost commenses simply seems more intuitive to me.
« Last Edit: October 25, 2006, 08:51:13 PM by EricL »
Many beers....

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
2.42.9 Changes
« Reply #24 on: October 25, 2006, 08:54:42 PM »
Ah, that makes sense

You might want to add some pop up help windows for the log age cost, since it confuses alot of people.  Sort of like I did on the advanced physics panel with the "Help with units" etc.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
2.42.9 Changes
« Reply #25 on: October 30, 2006, 02:30:22 PM »
Bump.  2.42.8d Buddy drop released.
Many beers....

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
2.42.9 Changes
« Reply #26 on: November 04, 2006, 12:32:14 AM »
Bump.  2.42.8e buddy released.
Many beers....

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
2.42.9 Changes
« Reply #27 on: November 06, 2006, 02:59:49 PM »
Quote from: Numsgil
Does #2 mean we can now double click on a saved sim and have the sim be loaded into DB?
IF you manually asscoated the *.sim file extension with the DB exe, this will now work.  See #47 above.
Many beers....

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
2.42.9 Changes
« Reply #28 on: November 06, 2006, 05:17:42 PM »
I thought something like that might work.

Only problem will be using newer versions.  Maybe you could associate it with a .bat file or dummy program that searches for the newest version?

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
2.42.9 Changes
« Reply #29 on: November 06, 2006, 05:40:55 PM »
Someday I will have the exe register the file type itself to avoid additional files.  For now, the user will have to update the association manually with each new version.
Many beers....