Author Topic: Too Big / Too Small  (Read 6931 times)

Offline EmperorNero

  • Bot Neophyte
  • *
  • Posts: 6
    • View Profile
Too Big / Too Small
« on: July 13, 2010, 01:32:24 PM »
A friendly hello!
I have some questions regarding the tendency of simulations to turn out bots with a energy/body mismatch; i.e. huge body and low energy or tiny body and high energy. This seems to always screw up the simulation sooner or later, for me anyways. I either get big berthas or masses of tiny, frail bots.

So I have two questions, I appreciate any input since I'm new to db.
- Why do bots live forever? Real organisms get weak when they get old, that isn't implemented in db at all. That's why bots that lose their ability to reproduce don't go away but rather grow huge and eat everything in their path. Without any limitations on age, the whole simulation essentially becomes a race to losing your repro gene and becoming the childless killer-oldster.

- Why aren't bots with weak body strength sufficiently disadvantaged? In reality weak organisms would die, but in db masses of frail bots are fast and agile and can feed themselves by grazing the map.

Thanks in advance.
« Last Edit: July 13, 2010, 01:37:44 PM by EmperorNero »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Re: Too Big / Too Small
« Reply #1 on: July 13, 2010, 02:00:10 PM »
- Why do bots live forever? Real organisms get weak when they get old, that isn't implemented in db at all. That's why bots that lose their ability to reproduce don't go away but rather grow huge and eat everything in their path. Without any limitations on age, the whole simulation essentially becomes a race to losing your repro gene and becoming the childless killer-oldster.

Real organisms could live forever.  See biological immortality (actually not a great article, but read the part on bacteria).  The fact that most organisms aren't immortal reflects more that there isn't evolutionary pressure for immortality than some fundamental rule of the universe.  Or actually maybe there's even evolutionary pressure for aging.

That said, there is the concept of "waste" in Darwinbots.  You can set the waste threshold in the options.  When a bot accumulates enough waste it triggers "Alzheimers", where random values get written to random memory locations.  This usually results in death fairly quickly.  You can also set up "aging costs" which will charge increasingly larger amounts of energy as a bot ages.

Quote
- Why aren't bots with weak body strength sufficiently disadvantaged? In reality weak organisms would die, but in db masses of frail bots are fast and agile and can feed themselves by grazing the map.

Large bots have stronger shots, and have more energy reserves to use during a fight.  Smaller bots are lighter so can maneuver more efficiently, and they're harder to hit with shots, but they don't have very strong shots and they don't have large reserves of energy.

...

The 1000 body that most bots default to when a simulation starts probably represents an unstable point, with pressures to have bots move to either larger body values or smaller body values.  If all your bots end up as big berthas with no reproduction going on you might have mutations set too high (as a rule of thumb, if you have 1 mutation per generation or more your rates are too high).  If you have lots of small bots, but they're reproducing successfully, that's probably the most efficient form for the environment you've set up.

With veggies at least, you can discourage cancerous, tiny veggies by feeding them per kilobody point.  But it's hard to set up a stable equilibrium where the veggies don't die out.

Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
Re: Too Big / Too Small
« Reply #2 on: July 13, 2010, 04:35:48 PM »
If you want to simulate an aging process, try the cost settings; I think you can make the costs of a cell increase with age.
"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."
- Carl Sagan

Offline EmperorNero

  • Bot Neophyte
  • *
  • Posts: 6
    • View Profile
Re: Too Big / Too Small
« Reply #3 on: July 14, 2010, 02:42:01 AM »
Real organisms could live forever.  See biological immortality (actually not a great article, but read the part on bacteria).  The fact that most organisms aren't immortal reflects more that there isn't evolutionary pressure for immortality than some fundamental rule of the universe.

Certainly immortal organisms do exist in nature, but organisms that don't reproduce don't become immortal killers just like that. A simulation about evolution with immortal organisms is kind of pointless.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Re: Too Big / Too Small
« Reply #4 on: July 14, 2010, 03:01:39 AM »
Yes, but by the same token arbitrary rules to prevent it would be... arbitrary.  The aging costs and waste stuff is nice since you can pretty much turn it on/off, and even then waste is sort of a tack-on.

Offline EmperorNero

  • Bot Neophyte
  • *
  • Posts: 6
    • View Profile
Re: Too Big / Too Small
« Reply #5 on: July 15, 2010, 03:03:45 AM »
It's a computer simulation, no way of tweaking it is more arbitrary than the other. I think simulations that produce childless immortals are rather arbitrary, and unrealistic if the purpose is simulating real life. The amount of energy between parent and child is not a zero-sum game for real organisms, for bots it is. They have to 'give' a share of their energy to their kids, thus not having kids is a great advantage and that's why big berthas are a problem.
« Last Edit: July 15, 2010, 10:22:55 AM by EmperorNero »

Offline EmperorNero

  • Bot Neophyte
  • *
  • Posts: 6
    • View Profile
Re: Too Big / Too Small
« Reply #6 on: July 16, 2010, 03:34:00 PM »
Large bots have stronger shots, and have more energy reserves to use during a fight.  Smaller bots are lighter so can maneuver more efficiently, and they're harder to hit with shots, but they don't have very strong shots and they don't have large reserves of energy.

Small bots seem to do fine. They don't run out of energy or anything.  The bigger ones have trouble shooting the small ones, so there's no pressure to be big. Its only a detriment, and they will get small sooner or later. Then there's only bots with 1 energy. Anything I put in the DNA to prevent that will mutate away sooner or later. What to do?
« Last Edit: July 16, 2010, 03:36:54 PM by EmperorNero »

Offline Billy

  • Bot Destroyer
  • ***
  • Posts: 175
    • View Profile
Re: Too Big / Too Small
« Reply #7 on: July 16, 2010, 04:13:27 PM »
Try setting costs to f1 at the start of the simulation.
"I cannot persuade myself that a beneficent and omnipotent God would have designedly created parasitic wasps with the express intention of their feeding within the living bodies of Caterpillars."

-Charles Darwin

Offline EmperorNero

  • Bot Neophyte
  • *
  • Posts: 6
    • View Profile
Re: Too Big / Too Small
« Reply #8 on: July 16, 2010, 04:25:23 PM »
Try setting costs to f1 at the start of the simulation.

I use F1 costs, plus age costs.

Offline Billy

  • Bot Destroyer
  • ***
  • Posts: 175
    • View Profile
Re: Too Big / Too Small
« Reply #9 on: July 16, 2010, 04:50:21 PM »
A bot with 1 energy simply won't survive in F1 costs. Try setting friction to solid metal.
"I cannot persuade myself that a beneficent and omnipotent God would have designedly created parasitic wasps with the express intention of their feeding within the living bodies of Caterpillars."

-Charles Darwin

Offline EmperorNero

  • Bot Neophyte
  • *
  • Posts: 6
    • View Profile
Re: Too Big / Too Small
« Reply #10 on: July 16, 2010, 05:47:09 PM »
A bot with 1 energy simply won't survive in F1 costs. Try setting friction to solid metal.

Ok, I try setting friction to solid metal.
I use custom costs, but they are F1 defaults plus age costs, so it shouldn't make a difference.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Re: Too Big / Too Small
« Reply #11 on: July 16, 2010, 09:15:32 PM »
Large bots have stronger shots, and have more energy reserves to use during a fight.  Smaller bots are lighter so can maneuver more efficiently, and they're harder to hit with shots, but they don't have very strong shots and they don't have large reserves of energy.

Small bots seem to do fine. They don't run out of energy or anything.  The bigger ones have trouble shooting the small ones, so there's no pressure to be big. Its only a detriment, and they will get small sooner or later. Then there's only bots with 1 energy. Anything I put in the DNA to prevent that will mutate away sooner or later. What to do?

Well some things are natural consequences of the rules, and others are specifically added rules.  Ideally you'd have a very small rule set and everything you'd want would naturally emerge from it (think Game of Life).  The primary advantage is that such systems tend to be self balancing (in terms of game balance.  ie: no uber strategy) and self consistent.

Viruses I think are a good example of this.  The rules governing viruses in Darwinbots are relatively simple, but there's a lot of implied strategy and counter strategy that come about naturally.  Ties too, with various counters and counter-counters that aren't explicitly coded in but are consequences of how the system works.  Both systems could probably do with some tweaking, but they add a lot of implicit depth without explicit rules being written up to support them.

Whereas the current waste system is a bad example, since it's an entirely new element and doesn't really interact with any other elements.  Since it doesn't interact with other rules to form new strategies, and it isn't an emergent property of the ruleset, it's arbitrary.

For aging, aging costs or killing bots at a certain age or having some base percentage chance per cycle to kill a bot would be arbitrary, whereas some rule set that said that various aspects of a bot degrade with use would not be arbitrary since beyond the intended effect of aging, you'd also introduce effects like a base metabolism where bots have to repair themselves or produce new bits at some cost, which maybe has impacts on the reproductive cycle and battle damage and faster metabolism for more active bots and things like that.

Offline Panda

  • Global Moderator
  • Bot Destroyer
  • *****
  • Posts: 476
  • Computer Science Undergraduate (nerd)
    • View Profile
Re: Too Big / Too Small
« Reply #12 on: July 16, 2010, 09:37:42 PM »
Viruses are being discussed recently on the IRC, with ways of creating antiviruses, and then ideas of how to create anti-antiviruses, and the counter-acting those, in the end you have complected viruses which antiviruses cannot stop. The virus always seems to have an upper hand. It is similar to life, where a virus is likely to be more powerful than an antivirus. Sammeh's virus was dominating for a while, until antiviruses have been created that stop it. Antiviruses seem to be very difficult for bots to acquire of their own accord as viruses are usually too potent. However I do agree that it is a great example of how it can be self balancing, as long as Sammeh or Billy do not release a massively potent virus onto the IM.

However on an evosim of mine I enjoyed watching an antivirus and virus evolve well together, with the virus spreading with some bots and a population becoming immune. Unhappily, I lost this sim and was not able to recreate it. :'(

About small bots and big berthas... there is nothing you can do in sims to prevent them completely as bots that are very small seem to survive very well, and well, the same can be said about big berthas. One thing I have noticed about big berthas is that they don't seem to lose the ability to reproduce but they are fixed and their offspring stops them from reproducing. I have become used to the small bots as I have not been able to get rid of them completely! :/