Author Topic: Some DNA-Related Feature Requests  (Read 2387 times)

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Some DNA-Related Feature Requests
« on: September 21, 2007, 03:31:18 PM »
Some dna-related sysvars. Would make evolution rather interesting and provide some routes for horizontal gene transfer, as well as giving bot programers a new array of tools to play with.

.sendgene (instantly sends a gene through a tie, like a virus)
.crossover (crosses over the DNA of two tied bots at a certain number of random points)
.mutgene (makes one random point mutation to a gene)
.mutate (mutates the entire genome by a certain amount)
.refdnalen (returns the dna length of the bot I am looking at; possible new form of conspec recognition allowing for speciation of bots with mutations that change the genome length)

Anyone have any objections to having any of these?
« Last Edit: September 22, 2007, 09:03:49 AM by Elite »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Some DNA-Related Feature Requests
« Reply #1 on: September 22, 2007, 12:03:51 AM »
In general I've come to the conclusion that self-referential DNA is problematic.

First, something like refdnalen means that a bot's DNA becomes part of its phenotype.  DNA isn't just selected based on what it does, but what it is.  I think this can only have constrictive consequences for natural selection.

For things like .mutate, it would be in the same boat as delgene.  Way too overpowered to let bots use for venom, infoshots, etc.  We'd need to create more exceptions for what memory locations are valid.

That said, crossover and sendgene are reasonable.  Crossing over should be tied with some sort of sexual reproduction.  Although I could maybe see it being independent of reproduction.  Sendgene should be engineered to be less aggressive than viruses.  Maybe instead of sending genes, bots request genes.

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Some DNA-Related Feature Requests
« Reply #2 on: September 22, 2007, 08:58:18 AM »
That seems reasonable: .refdnalen, .mutate and .mutgene can be taken off the list.

And I was briefly toying with the idea of a .getgene that sucked genes back through a tie. Add that to my list.

Although ...

.getgene .tieloc store
*.thisgene .tieval store

... and you get the exact same result as a .sendgene sysvar. Bot designers will figure out how to turn anything like this into a weapon anyway.

How about this for a solution :-

Perhaps a 'block all incoming ties' sysvar? Coupled with genetic and evolutionary advantages for using ties (ie. .crossover and gene sharing etc.) And of course - don't forget slime.
Which gives the dilemma - block ties, but be unable to crossover and share genetic material, or lack slime and tie blocks, but be vunerable to tie virus injection and so on.

What I'm getting at is self-replicating and horizontally-transfering genetic structures. At this point genes are permanently bound to individual bots, but I want to see some gene-level selection and evolution.

.crossover I intended as a kind of alternate neutral sexrepro. There are arguments and differing points of view on the best way to actually implement full sexual reproduction, so how about this reproduction-independent capability that we can use in the mean time to experiment and aid evolution.

I feed we've gone far too long without any method of HGT.

Thoughts?
« Last Edit: September 22, 2007, 09:04:57 AM by Elite »