Author Topic: Interesting sim  (Read 4605 times)

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Interesting sim
« on: December 06, 2006, 06:22:14 PM »
Look in the attached sim.  There are two kinds of bots - veggies and tie-feeding predators.  I see this strange thing happening recently:  The tie-feeder hooks up and starts to feed, then suddenly the tie becomes WAY TOO LONG, then snaps and both bots are flying in opposite directions at very high speed.  It looks as if a tie-feeder is playing pool with the tie as a cue.  

Not sure if I'm right but this maybe an evolved behavior that benefits the whole population of tie-feeders.  Before the veggies used to clump a lot and tie-feeder that stumbled upon a clump was lucky, but it was really just random chance.  Now the food is distributed all over the sim more or less equally.  If this is correct, then I don't expect this to last too long.  I am sure cheaters are going to appear soon, which don't play pool, but grab all the food for themselves.

As an alternative hypothesis this may be an evolved protection by a veggy.  But I don't see anything like that in their genomes.

This kind of thing is very difficult to judge and figure out, and would require a whole study on its own.  Too bad there is no way to make the program do this work for us and just tell us the results
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Interesting sim
« Reply #1 on: December 06, 2006, 06:23:46 PM »
Oops, forgot to attach the sim.  Here it is.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Interesting sim
« Reply #2 on: December 07, 2006, 02:12:54 PM »
Just had another idea.  Could it be a cheap way to move around the sim?  Use ties to large bots to propel yourself as from a slingshot.  Would it be cheaper if you don't care where exactly you are going?
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Interesting sim
« Reply #3 on: December 07, 2006, 02:51:05 PM »
I don't think there's any costs involved with stretching and snapping ties, so it's probably the most efficient method so long as you're making a tie anyway.

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Interesting sim
« Reply #4 on: December 07, 2006, 09:01:43 PM »
Should we have a cost for stretching (or compressing) ties?
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Interesting sim
« Reply #5 on: December 07, 2006, 11:32:36 PM »
I plan to in the future, but at the moment it's not as clear cut as you might think.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Interesting sim
« Reply #6 on: December 08, 2006, 12:58:47 AM »
I've been musing on the subject of costs.  I think we should perhaps think about moving away from user-settable costs for each and every specific bot action, at least for physical actions.  Otherwise, we are quickly going to be buried in a pile of highly specific optional costs whose values can be set wildly inconsistant with one another.

Instead I think we should try to move towards having only a few costs or perhaps only one which are a level of abstraction removed from specific morphological actions such as movement.  For example, we could allow the user to set a ratio for nrg to Work (call it a nrg/calorie) and have the engine calculate how many calories it takes for a bot to perform a specific action, from turning itself to accelerating itself to changing a tie length and angle.  These internal calculations would be hard coded, part of the physics of DB and be a function of mass and fluid resistance and friction and moment arm, integrated over time where appropriate - code that is already somewhat in place.  The human user (or dynamic costs) would tweak the nrg/calorie expenditure ratio and the resultant cost application would be consistant across the range of physical bot actions.

Not a fully formed suggestion.  We would want to keep such thigns as shot and tie costs as separate I think, but you see where I'm going...
Many beers....

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Interesting sim
« Reply #7 on: December 08, 2006, 01:53:53 AM »
I agree.  I think this worked well for physics and it should work well for costs.  I would still leave the possibility to tweak all individual costs, but would hide it deep in options.  It would still allow custom sims and it would allow to easily check all default costs, but it would reduce the number of commonly used costs settings.  Group these costs by their effects and then give options like "no cost, small cost, medium cost and high cost" with "hints" appearing for each group.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
Interesting sim
« Reply #8 on: December 08, 2006, 08:43:04 AM »
I had a bot that used a bug in previous version of DB to extend repro tie and send parent flying away from child, leading to baby propelled bots. It's a way cool technique for providing free propulsion. I can certainly see why it would be an advantage for your bots, not only sharing food out but sending the feeding bot flying off toward it's next veg without it having to waste energy on acceleration.

I'd love to know how long this behaviour persists in your sim.

Probably a good idea to have a cost for ties that is proportional to shot costs and rewards.

Eric, yep, like it, costs as a calculation of enviroment and nrg/calorie expenditure. I'm sure evosimmers would like to keep access to the individual cost adjustment but having an way to adjust sim costs in an easy and consistent manner would be great.
If you try and take a cat apart to see how it works, the first thing you have in your hands is a non-working cat.
Douglas Adams

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Interesting sim
« Reply #9 on: December 08, 2006, 10:59:43 AM »
I have my doubts about this idea with not being able to set the costs I want. When I start a zerosim from scratch the bots can't have some costs at all because it whould whipe them out. Then as they evolve I can increase the costs and adapt them to what the bots can handle. this is very sensitive. Just setting the ageing cost to 0.001 instead of 0.0001 can whipe out the whole population.
At the same time I whould prefer if the costs were hardcoded and as close to how real world physics and metabolism works for cells and that I didn't need to put any cost values in at all, but that whould require fully working bots from the start.
At the moment I have managed to evolve my bots to a point where I can have all the costs I want. I've tried to balance out the costs to be as close to realism as I can understand and at the same time workable with the bots and day/night cycles set to 10000.
Jez suggestion whould be a good idea I think, to have both options.

I whould like to add why I'm so concerned about realism. It's because I see that DB can be a great model to try and learn how life works. For instance, maybe we can prove some day that life doesn't need a God to exist and that working cells can come alive and evolve all by themselves.
The internet is corrupt and controlled by criminally minded people.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Interesting sim
« Reply #10 on: December 08, 2006, 01:15:17 PM »
Quote from: Testlund
I have my doubts about this idea with not being able to set the costs I want. When I start a zerosim from scratch the bots can't have some costs at all because it whould whipe them out. Then as they evolve I can increase the costs and adapt them to what the bots can handle. this is very sensitive. Just setting the ageing cost to 0.001 instead of 0.0001 can whipe out the whole population.
Ideally, costs would be commenserate with morphological action, be it physical action or something else such as cognitive action.  Zerobots would only be charged once they evolved to do something.

Just like today, zerobot evo sims need to have some nrg source that supplies bots some nrg passively until they evolve a means to feed themsleves.  I use a veg nrg shot shooter to supply the sim with free nrg shots, but that is simply my being expedient.  If we waited long enough, there are ways that bots would start aquiring nrg passively without it.  For example, some bot would evolve to shoot -2 shots or -1 shots and randomly bump into veggies, creating nrg shots that other bots would evneutally absorb.  Bots would die and decay into nrg shots, etc.

Don't worry.  I'm very sensitive to the needs of zerobot sims and I totally agree we can't screw them.

Quote from: Testlund
I whould like to add why I'm so concerned about realism. It's because I see that DB can be a great model to try and learn how life works. For instance, maybe we can prove some day that life doesn't need a God to exist and that working cells can come alive and evolve all by themselves.
Your goal is a nobel one but I'm of the opinion that the route to virutal life does not necessitate exact imitation of biological realism and in fact may require intentional and substantal differences due to the different mediums.
Many beers....

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Interesting sim
« Reply #11 on: December 08, 2006, 03:33:36 PM »
Quote from: EricL
Ideally, costs would be commenserate with morphological action, be it physical action or something else such as cognitive action.  Zerobots would only be charged once they evolved to do something.

BTW, recently I have come to the same conclusion as you about DNA costs after interacting a bit with Ken from Evolve 4.0.  DNA costs beyond the simple necessary to prevent your computer from slowing to a halt are counter productive.  In the next version I'd probably toy with removing them altogether, except maybe the costs for store commands since they're important for the leagues.

Quote
If we waited long enough, there are ways that bots would start aquiring nrg passively without it.  For example, some bot would evolve to shoot -2 shots or -1 shots and randomly bump into veggies, creating nrg shots that other bots would evneutally absorb.  Bots would die and decay into nrg shots, etc.

I'm running such a sim at this very moment (though corpses aren't decaying.  Useful for determining how many failed attempts there are).  Basically it's F1 costs and low point mutation rates.  I'm curious to see if any successful bot can bootstrap itself in such a harsh environment.  It's currently at 100 million cycles.  I'm going to aim for maybe 500 million cycles to 1 billion cycles, and see if anything at all happens.  I'm guessing nothing will happen, and I can parade my failed sim as an example of what doesn't work.

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
Interesting sim
« Reply #12 on: December 08, 2006, 06:21:26 PM »
Quote from: Numsgil
BTW, recently I have come to the same conclusion as you about DNA costs after interacting a bit with Ken from Evolve 4.0.  DNA costs beyond the simple necessary to prevent your computer from slowing to a halt are counter productive.  In the next version I'd probably toy with removing them altogether, except maybe the costs for store commands since they're important for the leagues.

Why are store costs important for the leagues? Beyond adding to the need to write concise code and punishing evolved bots with lengthy dna and useless stores. How about killing a whole species of Dodo with just one sailor and using Muller's ratchet to punish the longer DNA lengths? Would be interesting to see how the leagues coped then...

Quote
I'm guessing nothing will happen, and I can parade my failed sim as an example of what doesn't work.
In the same way that if I toss a coin ten times and never get heads it proves it's coin that doesn't work? You guys have mathematical powers; what's the probability of such a thing evolving by random and how many cycles does that mean. Anyway, isn't that expecting a bit much from bots, evolution took place in an enviroment of free energy and reproducing things. Don't remember ever reading about one thing that evolved to give another thing energy being the start of evolution. Unless horizontal gene transfer counts.

(The author of this post accepts no resposibility for his opinion unless tied to the nearest lamp post and beaten with long sticks   )
« Last Edit: December 09, 2006, 08:56:35 AM by Jez »
If you try and take a cat apart to see how it works, the first thing you have in your hands is a non-working cat.
Douglas Adams

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Interesting sim
« Reply #13 on: December 08, 2006, 11:33:21 PM »
Quote from: Jez
Why are store costs important for the leagues? Beyond adding to the need to write concise code and punishing evolved bots with lengthy dna and useless stores. How about killing a whole species of Dodo with just one sailor and using Muller's ratchet to punish the longer DNA lengths? Would be interesting to see how the leagues coped then...

That's actually an interesting idea.  I wonder if muller's ratchet would really provide a useful upper limit on the DNA size of our bots.  I understand that it's thought to do so on the lengths of bacterial DNAs.  If we could show that the same holds for ALife, and that this upper limit is low enough to prevent runaway DNA growth, that would be very interesting.

Quote
In the same way that if I toss a coin ten times and never get heads it proves it's coin that doesn't work? You guys have mathematical powers; what's the probability of such a thing evolving by random and how many cycles does that mean. Anyway, isn't that expecting a bit much from bots, evolution took place in an enviroment of free energy and reproducing things.

Exactly.  It's meant to be a control experiment.  I'm not expecting anything interesting to happen.  Too much has to happen at once.  I believe Rutherford's gold foil experiment was along the same lines.  Sometimes it's good to experiment to make sure that your expectations are in line with observed data.

Given infinite time eventually a successful bot would appear.  But life on Earth didn't need infinite time.  There are very real time constraints involved in the formation of life.  This is an experiment to show that the settings used aren't appropriate for the formation of life.

I'll follow it up with a simulation with similar mutation rates but with softer costs settings.  Hopefully I can show the two in together and draw some useful if very base conclusions from them about how to set up ex nihilo sims.