Code center > Suggestions
HGT
shvarz:
Just wanted to get the feeling of what people think about HGT as far as needed features.
I think the mode of DNA transfer should be shots. A new shot type containing certain amount of DNA.
I think these shots should be able to take up quite a lot of DNA, even as much as the whole genome. We can always make it more difficult/expensive to include a lot of DNA, but it should at least be possible.
A bot should be able to specify exactly which piece of DNA it wants to put into the shot. On the other hand, shots with random pieces of DNA should be possible to. So I think the formation of DNA shot should be a complex command with multiple modifiers. For example, we can allow bots to specify where the copied DNA begins and where it ends. But if bots don't specify it, then a random piece is picked up. If only "start" is specified then the end becomes random and vice versa. I'm thinking about having multiple ways to specify DNA - gene numbers, codule numbers, a specific command and others. There should be a healthy variety.
A bot may voluntarily decide to take up a DNA particle. If it does not, then it might still take it up, based on some rule incorporating comparison of its DNA and DNA of the particle.
Does that make sense as a general guideline?
Numsgil:
Here are some of my points loosely inspired by what you're written:
1. I'm not sure that letting bots specify physical locations on their genome to copy into HGT is going to cause anything but chaos. We would first need to let bots have some sort of access to their own genomes for this to make any sense at all, since gene locations are quite volatile if you're mutating over time, etc.
A better solution would to be able to set certain markers on the DNA strand instead of inside it, and these markers would signal certain "landmarks" for the HGT to use to locate BPs.
2. HGT modules (codules, genes, whatever your basic unit is) need to have an affinity for a certain location in the genome, since probably even more than biological DNA the expression of a gene is highly regulated by it's location upstream or downstream from other genes.
3. Ideally DNA could be inserted anywhere, even inside another gene. However, the effect of this would be to encourage bots to develop alot of extra fluff between genes to lower the coding to noncoding ratio, resulting in wasted computer resources (at least RAM if not CPU cycles). So we should be careful not to disrupt existing genes when new genes are inserted.
4. I think using ties to transfer DNA should also be possible, with the benefit of being slightly cheaper.
shvarz:
1. What kind of markers are you thinking about? Some non-functional commands in the DNA? And then copy pieces from one command to the other? Anyway, I think that several different ways should be possible. For example, the most complicated one would specify: codule 5, commands 30 through 100. Another would be "copy gene 7". Another "copy codule 8". Another - "copy from .up 50 store until you meet .repro" I am not sure about the implementation, just throwing out ideas.
2 and 3 (do they refer to the same thing?). Hmm, like going always first or always last? Or always being inserted before "cond" to minimize the potential gene screw-ups? I have an idea about that, see below.
4. OK, why not. But just having shots may be enough.
Here is an idea on how DNA particles and bots might interact. Particle hits a bot and goes inside. If a bot is not "open to accept DNA particles" then the probability of infection happening is calculated. You take first 10 DNA commands of the particle and look for exact match within the bots DNA. If there is one, then the bot is infected. If there is only 9, then it is infected with 50% chance, if 8 - 25% chance and so on down to a match in a single command giving a very low probability of 0.2%. If the bot does not have a single command that the particle has on its fisrt position then it is completely immune to it and particle is destroyed. Now, let's say the infection took place, then we need to decide where to put the DNA. We use the same algorithm and calculate the probability that it will go to the region with the best homology. So if first 10 commands match exactly then the DNA is inserted where this match is. If only 9 match, then it will insert at that place with probability 50%, but the other 50% say it will just insert itself randomly somewhere.
I say insert, but what I actually see is a "replace". You do the search for the first 10 commands and for the last 10 commands and then align these matches and replace bot DNA with particle DNA.
This way HGT may actually be a good substitute for sex. Bot of the same species will likely have high homology to each other, so that when they will shoot DNA particles to each other they will "recombine" their genetic material.
Elite:
Personally, I think we should start by giving DNA a physical representation in the DBverse.
It would also be good to integrate this with some sort of DB biochemistry that will have to come in with metabolism. DNA that learns to make ways to exist outside of a bot would be a kind of protovirus. The virus would also have to find ways of getting in to another cell using the substances available.
I think we should try to eventually build a biochemistry that complexity can emerge from. Any ideas?
I do agree that any system should be built from the ground up rather than inventing patchwork systems for everything we want.
I like the DNA through ties idea.
Numsgil:
The main problem as I see it is two issues:
1. Compliance to acceptance of DNA. How much power do viruses/HGT have to enter bots when bots don't want them to?
2. How is inserted DNA handled? Does it replace pre-existing DNA or add to it?
Everything else seems fairly well settled on.
Navigation
[0] Message Index
[#] Next page
Go to full version