Code center > Suggestions

Horizontal gene transfer and viruses

(1/4) > >>

Numsgil:
Did a (little) bit of reading and thinking.  Changed my mind about a couple of things in the process.  Here's what I'm thinking:

Seems to me there should be two ways to transfer genes/DNA in general between bots.

1.  Viruses/DNA shots.  Should be nrg expensive but long lasting.
2.  Ties.  Cheap and quick, but you need to physically attach a tie to the other bot.

All gene transfers are implicitly agreed upon by the bots involved.

For instance, each bot can have an ID tag that allows only "viruses" with that tag into their cells.  This ID tag can even be set to disallow all viruses from entering the cell.  Of course, to do so, the cell stops itself from the benefits of horizontal gene transfer.

For tied bots, both bots would need to set their ID tags to the same value and both set a gene transfer tag or something like that.

In such a system, "malicious", self replicating rogue DNA can propogate itself as a consequence of the rules rather than a specifically allowed behavior as the current system is.

Only thing now to figure out is how to specify what DNA to transfer.  shvarz proposed something a while ago in this regard, that at first I wasn't terribly fond of, but I've come to see that it's rather smooth, if possessing some kinks still.

So what I propose would be something like a replication command involving some number.  This number would be a hash function that would remember the following details:

1.  Some length of DNA
2.  A particular hash value for the above length of DNA
3.  Length of DNA to copy.  Copying starts at the instance of the above hashed DNA closest up or downstream to the copying command.

Copied DNA is then stored somewhere and either a virus shell is made for it or it's transfered via ties.

So a self replicating virus might look something like:

*.eye5 & 56 add add 'this DNA strip has hash value 31542
31542 .repDNA store 'command to copy this segment of DNA.  Length to copy etc. is stored in the 31542
1248 .mkvirus store 'ID of the viral coat, only bots with this ID for their "cell walls" can be infected by it.

or something like that.  There are some technical issues I may want to experiment with...

shvarz:
Do you really need two systems?  Just shots would do the same as shots and ties.

I don't like the idea of tags.  If you remember, the system I proposed took care of that as well - DNA in the particle has to partially match the DNA in the bot.  No need for tags and special memlocs, everyhting is still controlled from/by DNA.

Numsgil:
I was imaging tags could be broadened in use to other things as well.  Like immunity against another bots' shots, allowing someone to tie to you when you have alot of slime, etc.

shvarz:
It can all be done in DNA, man.  Everything.  A string of DNA commands (hashed in some way if necessary) is a perfect "tag".  It does not have to do anything functional aside from being a tag.  But on the other hand, it may be a tag AND a useful gene.  Then that would create some interesting scenarios where a bot may want to change its tag but does not want to disrupt an important gene.  Just like nature!

Numsgil:
I agree with that 100%.

When I say tag I mean more things like the nature of the virus coat.  Generally real cells have to admit a virus in more or less.  The virus has a keypass to the cell's door.

Hence why viruses cross species lines more slowly than within them.

So each virus would have an ID tag, and each cell has an ID tag.  The two must match for a virus to infect a cell.

Navigation

[0] Message Index

[#] Next page

Go to full version