Author Topic: Simulating animal fighting and ESS  (Read 3040 times)

Offline Sand

  • Bot Neophyte
  • *
  • Posts: 3
    • View Profile
Simulating animal fighting and ESS
« on: August 14, 2009, 06:23:34 PM »
Hi,

the newbie section is perhaps not the best place for this topic, feel free to move it.

Anyway, I am a newbie but thoroughly enjoy DarwinBots. I got an idea I would really like to try out in DB, but I don't feel capable of it. At least not without help. The following is what I want to do.

First some background
Biology, ethology and evolution is fun even for laypeople like me. A good example of that are the different ingenious simulations/experiments that has been done over the years. Maynard Smith was (among many other things) interested in fighting behavior in animals. Say that animals (of the same species) need  to compete with each other for a certain resource. If another individual beat you to it, it may be a good idea to fight her over it. Of Course, fighting involves certain risks and therefore it may not always be good idea or more importantly you need to pick your fights. Maynard Smith came up with five different strategies a animal could employ and wanted to see which was a 'evolutionary stable strategy' (ESS). A ESS is basically a strategy that is successful when the animal employing the strategy is facing individuals using the same strategy. The reason that ESS is defined in that manner is because if a certain strategy is successful in a population, that strategy will soon be the most common and hence animals using that strategy have to face a lot of animals employing the same strategy.

His five strategies were:
1. Fight conventionally, retreat if opponent proves to be stronger or if opponent escalates.
2. Fight at escalated level. Retreat only if injured.
3. Start conventionally. Escalate only if opponent escalates.
4. Start conventionally. Escalate only if opponent continues to fight conventionally.
5. Fight at escalated level. Retreat before getting hurt if opponent does likewise.

So we have a situation that may seem like a rock paper scissor situation, but actually one tactic is better than the others (or is a ESS). What I would love to do is somehow simulate this situation in DarwinBots and see which strategy is most successful (in the DB universe).


There are however alot of problems (at least for me) to implement these strategies in DB.
a) How can one differentiate "conventional" and "escalated" fighting in DB. Probably by using different shooting manners, e.g. -1 or -6 .shoot or that the escalating fighter uses some other "attack".
b ) The bots should not be fighting to eat of each other, but rather fighting for veggies.
c) The bots have to be able to run away from a fight if getting injured or fighting a escalating opponent (given which strategy it has).
d) The bots should fight both with bots using other strategies than itself (different species in DB) but also fight with individuals having the same strategy (same species in DB). But they shouldn't fight with their own children. At least not for a while.

As I said, I am a newbie. I really have no idea how to carry this out. I am still trying and learning stuff but I think it's time for me to throw this out for the community. Anyone that can help me out, I am very thankful.

Thanks in advance


Edit: some spelling
« Last Edit: August 14, 2009, 06:24:55 PM by Sand »

Offline Moonfisher

  • Bot Overlord
  • ****
  • Posts: 592
    • View Profile
Simulating animal fighting and ESS
« Reply #1 on: August 14, 2009, 10:18:23 PM »
Well you'll probably find the settings for the sim may make a big difference, it sounds like you would want a larger sim with obstacles and a low supply of food (Not sure about fluids and cost settings and such though).
Also I think tweeks make a huge difference, so choosing how to define strength by weighing the value of shell, poison, body, energy, asf, could prove hard... and when are you damaged enough to consider yourself injured. How good a bot is at making an escape, or chasing someone trying to flee, would make a big difference. And the ability to flee would also depend on the population of bots, the more bots there are, the harder it can be to keep track.
So I think the end result would probably reflect how well the strategy is implemented rather than which strategy is best.
Also when it comes to evolution being too good can be a bad thing... just because you can overcome the other species initialy in a small environment it does not mean you're the most fit to survive on a global scale. Often the most agressive bots will destroy the more passive ones, but they will usualy also depleet their food source rather fast. Part of survival is having the right balance with your suroundings, procreating when theres plenty of food but holding back during tough seasons.

I've has a sim running with a large field and very litle food and thin liquids. For that particular environment it seemed like the most passive strategy was the best, the bots stayed small and many and spread out looking for food, if one was lucky enough to find an alge it didn't kill it, it just kept feeding off it while nudging it around in circles, reproducing in order to stay small and keep shot damage low to avoid killing the alge. Whenever 2 bots met in the open they would shoot at eachother, but also try to move around eachother. However if fighting over an alge they seemed more agressive and would tend to engage eachother, if one got too injured it would start reproducing rapidly into a swarm of litle bots of different sizes, making it possible for some of them to escape and hopefully have the oponent chase after a tiny offspring while one of the larger ones makes it off with the alge.
So for that particular environment with just random mutations, it seemed like being quick to flee was a good strategy, but any other environment could show something different. And who knows what could have happened over time in that sim, as the bots got better at surviving and increased in numbers a carnivore could have the oportunity to arise... although it seems like the acattering escape strategy of the bots made it realy hard for any other bots to live off them.