Author Topic: Recombination Bot  (Read 4554 times)

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Recombination Bot
« on: August 13, 2005, 12:09:56 AM »
Working on a bot that uses viruses to spread it's genes. I've had some surprising success and some failures so far.

All the bots select one rnd gene from their dna at birth and then vshoot it at family. One of the interesting effects was the canni gene(not nice but useful) spreading throughout the sim allowing several different types to gain the skill.

A problem I observed, something I didn't anticipate, was the spreading of a "bad" gene that increased the spread rate. In this case continual reproduction. Instead of being a short affair limited to one individuals offspring(and nrg) several bots were infected, causing the normally rapid phenom to last for multiple cycles.

The last and worst problem I had however was plants gaining the firing gene and wiping out the animals. Still haven't figured how to fix it, might have to use something from The One to keep it an SG.

I'll make sure to post the bot sometime next week.

Offline Welwordion

  • Bot Destroyer
  • ***
  • Posts: 325
    • View Profile
Recombination Bot
« Reply #1 on: September 20, 2005, 07:25:57 AM »
how about creating an evaluation method for robots?
Let them sum up the pain/pleasure of each cycle during a robot year into a memory location and once the year is over store the value it in another memory location and strat counting from zero again for the next year . Then when they meet another robot the look into that memory location compare their success and decide if the want to  have or shoot a gene(note in the first year the value would however be zero, maybe he should use their parent number for that year )

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Recombination Bot
« Reply #2 on: September 20, 2005, 11:11:35 AM »
That's interesting.  I've only recently become aware of the modern evolutionary biology philosohpy of the "selfish gene" ( I was pretty stuborn about the contrary, if you remember).  This is the ultimate form of gene evolution, since genes can spread around quite independantly of the overall success of their "host".

You may have to accept the cancer gene as an inevitability.

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Recombination Bot
« Reply #3 on: September 20, 2005, 01:41:28 PM »
That will only lead to spread of "happiness" genes - those that would make bot happy all the time, independent of the real situation :)
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Welwordion

  • Bot Destroyer
  • ***
  • Posts: 325
    • View Profile
Recombination Bot
« Reply #4 on: September 20, 2005, 02:35:10 PM »
Well but sexual reproduction works by choosing the right partners by "attractive" parameters and exchanging genes could also be called a form of sexual reproduction.

Hmm which remembers me some bacteria start to exchange genes when the situation is bad in order to spread immunity genes.
Maybe you could order your genes into certain categorys that are exchanged on certain occasions fitting them.
....where there not also special Dna rings in bacteria for exchange?
« Last Edit: September 20, 2005, 02:36:45 PM by Welwordion »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Recombination Bot
« Reply #5 on: September 20, 2005, 06:00:23 PM »
Wel, you think you could get an avatar picture?  I scan most posts when I go back and reread them by avatar picture.

Wow, that was off topic.  Bad moderator.  Bad.

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Recombination Bot
« Reply #6 on: September 20, 2005, 06:05:52 PM »
Unfortunatly there's no readback that currently does that by itself. It might be possible to make an average pain/pleas finder.

' Epigenetic's used to keep track of cycle number, stored at 971
' See other post in Gene Depository

*.pleas 50 addstore
*50 *971 div 51 store
'with some sort of reset for when they reache 32000.

Would be relativly accurate, giving the amount of nrg gained divided by number of cycles.

It'd be really difficult to have the bots figure out what a specific gene does(I wish we could viruses would be history :) ). I'm not sure how you'd ever be able to classify them. I'd been working on an idea to slow changes to genes based on incorporating thisgene, genes, and dnalen into them.

' Gene1 should always be firing gene due to gene location coupling to function
cond
start
0 *.thisgene sub .shoot store
stop

Possibly this could be used to tell which gene does what to some degree, but it'd be extremly dicey (not to mention probably deadly for evo sims).

I think the sheer genome size could be a problem eventually also. Probably would need some sort of delgene method to ensure size is kept relativly small. When we get sexrepro working good it might be an idea to try this again.

Quote
You may have to accept the cancer gene as an inevitability.

Yeah, that's what I was afraid of. On the plus side if you ever want to model "sexually" transmitted disseases, you have a really good example handy. B)

I think I forgot to post the actual bot... I'll do it later today. :redface:
« Last Edit: September 21, 2005, 06:02:00 PM by Endy »

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Moderator
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Recombination Bot
« Reply #7 on: September 20, 2005, 09:36:57 PM »
This will look more realisitic on a MB level were the status of health is naturaly seen, not expresed by a gene. Hence, sexual reproduction.



It also might work on huge screen sizes, were if in one area cells evolve a "happens" gene. The robots in the other area evolve a new way to express theres, and evolve faster then the cheaters and kill them cheaters off.