Author Topic: .sexrepro Algorithm  (Read 2335 times)

Offline googlyeyesultra

  • Bot Destroyer
  • ***
  • Posts: 109
    • View Profile
.sexrepro Algorithm
« on: December 27, 2007, 01:19:49 AM »
I think I've got a possible algorithim for .sexrepro (I know you get this a lot, but hear me out).

1. Check to make sure that both bots are of same species. If not, insta-fail the sexrepro.
2. The new bot should be created with the original, unmutated DNA.
3. Compare mutation histories of the parent bots.
4. If the two bots share any identical mutations (AKA, a common ancestor, or perhaps random chance) apply these in the order they were formed.
5. Randomly select some of the remaining mutations from each parent to be enacted.
6. Parent one's selected mutations should be enacted on the new bot in order.
7. Parent two's selected mutations should be enacted on the new bot in order.
8. New bot is free to do whatever the hell it wants.

An example:
Base DNA:
cond
*.nrg 100 >
start
50 .repro store
stop

Mutation Histories:
Parent 1: Del "cond", switch "*.nrg" "100", del stop
Parent 2: Del "cond", insert 50 at end, insert 12 at beginning

Possible New Bot DNA:
12
100 *.nrg >
start
50 .repro store
stop

Obviously, that's a simple example, but you get the idea.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
.sexrepro Algorithm
« Reply #1 on: December 27, 2007, 01:54:22 AM »
I'm on record objecting vehimently to any sexrepro strategy where notions of species or crossover algorithm are embedded in the simualtor.  I won't go into detail on that here as I've been incredibly long winded on the subject elsewhere, but I will point out just a few problems with your suggestions by number.

1) Using our currently broken definition of species as you suggest to restrict mate selection ensures speciation will never happen.  We want mules.  We want sexes.  We want new species.  Your strategy doesn't allow that.

2) We may not have the "original unmauted DNA".   The bot may be from a differnet sim or 1000's of mutations evolved from a zerobot.

3) The mutation histores may be incomplete if the bot round tripped through a sim with stripped mutations.  This step also won't scale for longer time frames where bots have 100's or 1000's or millions or mutations.

4) Figuring out what mutations are shared along different linages is only possible for the trivial case of bots sharing a very recent common ancestor.  Once DNA deviates, well...  Your also neglecting the whole subject of viruses altering DNA here.  We don't keep the info to reconstruct viral infection.
Many beers....