Author Topic: Robot repopulation in the chloroplast version  (Read 4434 times)

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Robot repopulation in the chloroplast version
« on: June 01, 2013, 01:02:19 PM »
Robots repopulation will no longer be at a fixed range. Since robots are always loaded in with a considerable amount of body and energy points, this will make sense as there will be less free energy on lower amount of available light. This is following the logic Shvarz has suggested of the way chloroplasts should work.

However, if at any time non-repopulating robots have more chloroplasts then these proposed limits, the program will not kill any of them and keep the new limit.

Below is the picy used with the poll.

edit: The graphs in the picy are now labeled correctly, sorry for the confusion.
edit: picy dropped because everyone hates this design, look for new picy in a later post
« Last Edit: June 03, 2013, 06:22:53 PM by Botsareus »

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Re: Poll: Robot repopulation in the chloroplast version
« Reply #1 on: June 02, 2013, 10:31:48 AM »
More information:

Shvarz wanted me to limit how much energy the robots get from chloroplasts by limiting this energy by 'amount of available light'
According to Shvarz 'Amount of available light' means: (Total simulation area - total robot area) /Total simulation area
This means that if the amount of available light is at or near zero, then robots are actually losing energy by sustaining chloroplasts.

What I want to do is limit repopulation for these as well. Otherwise, If amount of available light is at or near zero, the repopulated robots will be keep repopulating and dieing because they are consistently losing energy. But, there will be a few cycles during which the robots hunting the repopulating robots will have some free energy before the repopulating robots die.

My solution is to limit repopulation by the amount of available light as well. The picture attached to the post shows ways this can be done. X-axis are the amount available light with maximum on the left. Y-axis are how much robots to repopulate.
« Last Edit: June 02, 2013, 10:39:15 AM by Botsareus »

Offline Peter

  • Bot God
  • *****
  • Posts: 1177
    • View Profile
Re: Poll: Robot repopulation in the chloroplast version
« Reply #2 on: June 02, 2013, 04:50:36 PM »
I'm not understanding this. :(

I assume with the change you can still set bots as veggies(as in free energie) , is that right?

I don't get why a set repopulation isn't good with chloroplasts.
« Last Edit: June 02, 2013, 04:54:44 PM by Peter »
Oh my god, who the hell cares.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Re: Poll: Robot repopulation in the chloroplast version
« Reply #3 on: June 02, 2013, 06:00:49 PM »
Numsgil:

Quote
You might be over thinking it a bit.  It's okay if repopulated veggies can't make an nrg profit, they're mostly meant as a backup food source anyway for the real bots.

The repop cooldown, etc. settings are doing more or less what I think you want to do right now.

But here is the problem:

Even if they are meant as a backup, what prevents the robots from abusing them when the simulation is at capacity? I don't think repop cooldown will help much in this case. And I believe the user should never adjust simulation settings mid-run.

The main problem I am having is with a setting called: "Repopulation threshold average vegs" a.k.a. "Repopulation Threshold"

I just want robots to start evolving there own chloroplasts instead of being dependent on these loopholes.



Quote
I assume with the change you can still set bots as veggies(as in free energie) , is that right?

Yea, you will be able to set some robots to repopulate. But the amount will be based on the amount of chloroplasts on screen and how much chloroplasts these robots have when loaded. It gets more complex (above) when the simulation is at capacity a.k.a. amount of available light is zero or close to zero.



note: If robots evolve there own chloroplasts, I am cool with that. Then they can have unlimited chloroplasts. That is the idea anyway.
« Last Edit: June 02, 2013, 07:56:42 PM by Botsareus »

Offline Peter

  • Bot God
  • *****
  • Posts: 1177
    • View Profile
Re: Poll: Robot repopulation in the chloroplast version
« Reply #4 on: June 03, 2013, 01:53:44 PM »
I think I'm with Numsgil. :P

You can make arguments about why it's better then the current option. But you can't be sure you didn't overlook something. And possibly some think the older option was better anyway.

Personally I think changing the repop threshold is a big change and I rather have an option to select a non default repop. In a later version decide on a new defult repop. Maybe nice to have an advanced option where you can input a formula yourself.
Oh my god, who the hell cares.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Re: Poll: Robot repopulation in the chloroplast version
« Reply #5 on: June 03, 2013, 06:13:28 PM »
Quote
Personally I think changing the repop threshold is a big change and I rather have an option to select a non default repop.

Sorry that I did not make this clear right away, but I am basing my formula on the current repop.

I just want to add a cutoff at some point.

I have dropped the poll, and now proposing the least invasive strategy (see picy)


Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Re: Robot repopulation in the chloroplast version
« Reply #6 on: June 04, 2013, 10:39:20 AM »
So (thinking about it further) this fix has nothing to do with chloroplasts themselves. It is just another way to make robots evolve there own chloroplasts.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Re: Robot repopulation in the chloroplast version
« Reply #7 on: June 04, 2013, 02:40:41 PM »
[Bump]

Was working on it, might as well post it:

Code: [Select]
Function cutoff(ByVal x As Double) 'input is total robot radi / screen area
If x <= 0.5 Then
    cutoff = 1
Else
    cutoff = 1 - ((x * 2) - 1) ^ 3
End If
End Function
« Last Edit: June 04, 2013, 02:42:35 PM by Botsareus »

Offline Peter

  • Bot God
  • *****
  • Posts: 1177
    • View Profile
Re: Robot repopulation in the chloroplast version
« Reply #8 on: June 05, 2013, 01:53:00 AM »
Am I reading it right if it says the repop gets lower as the bots use more space in the sim?

Is there something else that has a influence on the amount of light?
Oh my god, who the hell cares.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Re: Robot repopulation in the chloroplast version
« Reply #9 on: June 05, 2013, 10:36:13 AM »
No, not for this equation.

(Don't be confused with Pond Mode)

edit: "Amount of light" is used loosely here, basically meaning population density. A concept that was introduced to me by Shvarz when we discussed how chloroplasts should behave.
« Last Edit: June 05, 2013, 10:58:32 AM by Botsareus »

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Re: Robot repopulation in the chloroplast version
« Reply #10 on: June 05, 2013, 04:22:19 PM »
An idea from Peter:

Quote
if they have a big influence on the photosyntheses light distribution, non-alges can spread and take out the alges simply by multiplying.

That can indeed happen. Here is the scenario:

Robots evolve there own chloroplasts.
Other robots eat the robots that evolved there own chloroplasts.
Other robots are all over the place (tons of robots) causing chloroplast robots to die.
There is no food source so within minutes other robots die as well.

I have to run this by Shvarz, brb.




Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Re: Robot repopulation in the chloroplast version
« Reply #11 on: June 06, 2013, 11:13:09 AM »
Shvarz:

Quote
This problem has been around for ages in DBs and it's actually a problem that happens in real-world as well. So, view it as a feature, not as a bug. Creating a sim that does not have re-population as a constant source of energy is fairly difficult in the current version of DBs, but I've been able to do it on multiple occasions. The tricks are:
1. Use a fairly large field in the sim to increase the chances that "food" survives somewhere during "hunter" expansion (or introduce barriers so that your field is divided into multiple sub-fields connected to each other).
2. Limit in-flow of energy through "food" so that their population does not explode when the number of hunters is low.
3. Severely tax the energy that hunters obtain from "food". They should be hunting almost constantly to survive, when "food" population around them drops below a certain level, "hunters" should die pretty quickly. "Hunters" should have enough energy to reproduce only when "food" is exceptionally abundant.

These tricks should not be hard-coded into the program, they just should be achievable with available settings.

I can see the pro and con of all systems talked about here.  I am going to keep my original idea, but I am going to agree with Numsgil and Peter that adding the cutoff is overkill.
« Last Edit: June 06, 2013, 11:15:12 AM by Botsareus »