Author Topic: Can DB do this?  (Read 4666 times)

Offline survivalmachine

  • Bot Neophyte
  • *
  • Posts: 4
    • View Profile
Can DB do this?
« on: September 02, 2006, 05:48:07 PM »
Hello,

After searching google for evolutionary simulators I discovered Darwin Bots. It looks like a fantastic program and not _too_ difficult to create custom bots. I want to use it for this years science fair. Forgive me if this question has been asked or the post is in the wrong location, I've only had a few hours to search through the material.

I want to test altruistic/genetic behavior amoung organisms. Basically, is it possible in the simulation engine for two bots to come together and merge into a symbiotic realtionship? Like the theory that our cells are mergers of mutually benificial ancient bacteria. I didn't see sexual reproduction as an option in the engine so I'm not sure if this would be a big set back for the simulation....


Thanks for your help.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Can DB do this?
« Reply #1 on: September 02, 2006, 10:54:49 PM »
It depends a great deal on how you define mutually beneficial, but yes, you could do this.

The easiest method would be to disable regular movement and require bots to move through "ties".  Thus single bots would be unable to find food but multibots (several bots working together) could move about and find food.

However, if you're goal is to run a sim and have the bots mutate, you're going to find that altruism tends to be a trait selected against.  There are some exceptions, but for the most part this is true.  It's not explicitly done that way anywhere in the engine, it just seems that the rather featureless and static environment breeds this sort of selfishness.

We'll happily help you in your project if you spread the Darwinbots good word around

Offline survivalmachine

  • Bot Neophyte
  • *
  • Posts: 4
    • View Profile
Can DB do this?
« Reply #2 on: September 02, 2006, 11:08:26 PM »
Quote from: Numsgil
It depends a great deal on how you define mutually beneficial, but yes, you could do this.

The easiest method would be to disable regular movement and require bots to move through "ties".  Thus single bots would be unable to find food but multibots (several bots working together) could move about and find food.

However, if you're goal is to run a sim and have the bots mutate, you're going to find that altruism tends to be a trait selected against.  There are some exceptions, but for the most part this is true.  It's not explicitly done that way anywhere in the engine, it just seems that the rather featureless and static environment breeds this sort of selfishness.

We'll happily help you in your project if you spread the Darwinbots good word around

Thanks for your reply,

I guess what I'm really asking is if it's possible for two seperate bots to come together and appear as the same organism by combining their 'DNA' within the engine. Host & Virus/Parasite to Hostasite kindof deal. I'm betting as you said it's incredibly difficult within the static environment. I'm sure it would be no problem to drop a line about the application if it works out in the presentation.

Sorry if this seems redundant.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Can DB do this?
« Reply #3 on: September 03, 2006, 12:32:48 AM »
There is not a way yet for two bots to "fuse" into one, if that's what you're asking.  Though we are playing with the idea in regards to sexual reproduction.

If you're looking for a virus/host relationship, we do have viruses implemented (self replicating bits of DNA that travel between bots), but the viruses aren't really independant organisms by any stretch of the imagination.  They're just relatively inert particles that can be shot out.

Tell me exactly what the sort of experiment you want to do would entail, and I'll tell you the best way (or at least, a very good way) of doing it in DB.

Offline survivalmachine

  • Bot Neophyte
  • *
  • Posts: 4
    • View Profile
Can DB do this?
« Reply #4 on: September 03, 2006, 01:48:07 AM »
This is all tenatative as I have yet discuss it with my advisor or biology teacher:

I wanted to set up an environment where mutuations within the (selfish) organism would result in a mutually benificial relationship between two organisms in the environment.  This would be an attempt to see whether the theory that mitochondria, ribosomes, and other cellular components actually formed from seperate entities but are so well blended today that we can't really tell the difference. And hopefully somewhere along the line develope an ESS.

I read in The Selfish Gene that an organism ceases to become parasitic when it shares the same replication process as the host. I'm not sure if this is Richard Dawkins origonal idea but hopefully you get what I'm trying to say.

Thanks a bunch

EDIT:

After thinking it through I believe this might be a simpler solution:

This would require a set of 3 variations of a 'species' (and possibly one control). One set would operate like this: (tit-for-tat) I feed someone when they need it, if they don't feed me when I need it they get blacklisted. Another: (Cooperative) I feed whoever needs it, regardless if they havn't helped me. Another: (Parasitic) I take help whenever I need it but never give help. I have the feeling I'm forgetting something...
« Last Edit: September 03, 2006, 03:25:04 AM by survivalmachine »

Offline Henk

  • Bot Destroyer
  • ***
  • Posts: 110
    • View Profile
Can DB do this?
« Reply #5 on: September 03, 2006, 04:40:00 AM »
Quote from: survivalmachine
This would require a set of 3 variations of a 'species' (and possibly one control). One set would operate like this: (tit-for-tat) I feed someone when they need it, if they don't feed me when I need it they get blacklisted. Another: (Cooperative) I feed whoever needs it, regardless if they havn't helped me. Another: (Parasitic) I take help whenever I need it but never give help. I have the feeling I'm forgetting something...

It would be possible to program bots that do this, but the chance of having bots that weren't designed to have this kind of behavior evolving it is rather small and/or would take a lot of time.

Are you looking for bots that were designed with this behavior, or for bots that have evolved this behavior?
cond
*.DBbugs 0 =
start
.rejoice inc
stop

Offline survivalmachine

  • Bot Neophyte
  • *
  • Posts: 4
    • View Profile
Can DB do this?
« Reply #6 on: September 03, 2006, 04:45:09 AM »
Quote from: Henk
It would be possible to program bots that do this, but the chance of having bots that weren't designed to have this kind of behavior evolving it is rather small and/or would take a lot of time.

Are you looking for bots that were designed with this behavior, or for bots that have evolved this behavior?

I'm looking for bots with this designed in them. Run a few simulations and see what the ESS is. Reading through some of the documentation I noticed you could set special values. Maybe a '1' in one value = don't shoot me I'm part of your species kind of deal.

Offline Ramiro

  • Bot Neophyte
  • *
  • Posts: 25
    • View Profile
Can DB do this?
« Reply #7 on: September 03, 2006, 05:09:55 AM »
For simulating "chloroplast" you can use a vegie. The "cell" could be any Dbots that form a tie with it and obtains energy throgh it, but to be a real simbiotic relationship the vegie should obtain some advantage too. I think, and thats only  an idea, that perhaps in pond mode a vegie tied to a bots that swims upward (into the light) would produce more energy and the process wuold be mutually beneficial

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
Can DB do this?
« Reply #8 on: September 03, 2006, 06:54:28 AM »
Getting a proper 'tit for tat' bot would be hard, bots don't recognise individuals as individuals. If you made it a bot that ID'd the other bots by species and took the first member of the other species it met as representative of that species it could work.

The random nature of the enviroment would also cause a problem, bots bumping in to each other or shots missing will all make it harder to communicate and store relevant information reliably.

Darwinbots can be very selfish, it would be interesting to see if 'tit for tat' and 'co-op' had any chance of beating 'parasite'

Writing the bots wouldn't take long, if you need ready designed bots to try this out with please say.  
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