Author Topic: New Virus Paradigm  (Read 6340 times)

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
New Virus Paradigm
« on: April 25, 2006, 03:13:52 PM »
Here's a prototype new virus paradigm that I was thinking about.

I really think viruses need a major overhauling ... our viruses are a little artificial and overpowered. I've tried to formulate a new one. I like the ideas about viruses being transmitted through feeding, death and proximity, but I feel that the 'immune particles' are a little too artificial.

Oh well, see what you think:

New sysvars:
.vrepro
.retro
(only accessable from viral DNA)
.mkvirus
(only accessable from non-viral DNA)

.mkimmune
.immunity
(only accessable from non-viral DNA)

A virus is a self-contained 'unit' that doesn't automatically incorporate itself into it's host's genome like our current viruses. It cannot replicate outside a host. It is essentially a codule.

An 'infected' bot will have a certain number of virus particles inside it. Some are aquired from the initial infection but the virus particles can use their host to replicate using .vrepro. This will use up a considerable amount of their host's energy. If the virus replicates continually, the host will die extremely quickly. This is usually not benificial to the virus for obvious reasons.

If a bot feeds on an infected bot, then one or two virus particles might come back with the -2 shots, giving the would-be attacker a nasty surprise. The probability of infection is proportional to the amount of virus particles that reside within the attacked bot.

If an infected bot dies, the virus particles that were in the cell will spray in all directions with the 'poof'. If another bot happens to be close by, the chances are that they will become infected. If there are no potential hosts close by, the virus lingers for a short time and then vanishes.

The third way a bot can become infected is through proximity. If a 'healthy' bot colides with an infected bot then there is a small chance that one or two virus particles will cross into it.

The chances of viral infection are increased by a greater numbar of virus particles in the infected bot. The chances of viral infection are decreased by a slime layer.

Viruses cannot access, read, or write to any of their host's sysvars unless they use .retro. A virus does have a 'viral memory array', which it shares with all other viruses in the cell. The sysvar .vrepro is not shared, but posessed by each virus particle.

A virus can use the sysvar .retro to permanently incorporate some of its DNA into the host's DNA. Likewise, normal DNA can make itself into a virus using .mkvirus. Viruses can use this to 'hide' in their host's DNA for a few generations and then reappear, or manipulate their host.

Viruses can be combatted by making 'immunity particles', which drive off viral invaders. If the immunity particles are sucessful in combating an infection, they will have a greater chance of sucess next time. Immunity particles are very expensive and require constant maintainence.

.mkimmune makes immunity particles
.immunity reads back how many immunity particles you have

Thoughts?

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
New Virus Paradigm
« Reply #1 on: April 25, 2006, 04:49:42 PM »
I like the idea of having viral DNA separate from bots DNA and replicating it.  Question is - if it's just a codule then how is it going to be called for execution?  If it can be called from regular bot DNA, then how is it separate from bot's DNA?  The idea of codules breaks the line between own and viral DNA.

Transmission through feeding - a nice idea.
Transmission through death and "puff" is a nice idea.
Transmission through proximity - horrible idea, I hate it.

I like the distinction between .retro and .mkvirus commands.

The whole idea with immunity and immunity particles is utter crap.  The immunity should be functional, not artificially provided and it should be very specific.  That is a bot may be immune to virus A, but the virus should be able to evade that immunity through a single mutation.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
New Virus Paradigm
« Reply #2 on: April 25, 2006, 05:31:48 PM »
I was thinking the virus(es) would be executed each cycle like regular DNA

Quote from: shvarz
Transmission through proximity - horrible idea, I hate it.
 OK, I'll scrap that bit

Quote from: shvarz
The whole idea with immunity and immunity particles is utter crap.  The immunity should be functional, not artificially provided and it should be very specific.  That is a bot may be immune to virus A, but the virus should be able to evade that immunity through a single mutation.
I didn't like it either. I was running out of ideas at that point ...

Instead, I'm thinking of having some kind of hash of the viral genetic code that cells could use to delete/block it. If they found the right hash code they could become immune to the virus, but one change in the virus' DNA and they'd have to start all over again. It'd probably be so that a small change in the DNA meant a small change in the hash so a small virus mutation would mean that the bot would have to try some hashes 'around' it's current one by mutating it slightly.

What do you think of that?
« Last Edit: April 25, 2006, 05:42:23 PM by Elite »

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
New Virus Paradigm
« Reply #3 on: April 25, 2006, 05:48:37 PM »
Quote
I was thinking the virus(es) would be executed each cycle like regular DNA

In the new version the DNA will be in codules which are going to be called from main DNA. Say you add viral DNA as a codule, what number do you give to it?  What if there is already a codule with that number?  

Again, if viral codule is going to be called by main DNA just like any other bot codule then it is "inserted" into DNA already.  And therefore there is no need for .retro command.  The whole thing needs to be thought through one more time

Quote
I'm thinking of having some kind of hash of the viral genetic code that cells could use to delete it

Does that mean that you are planning to calculate these hash functions for all codules in bot DNA?  And allow bot to delete any codule that corresponds to a certain hash function?
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
New Virus Paradigm
« Reply #4 on: April 25, 2006, 05:50:54 PM »
I'ver had some good success where the mutated viral dna provides a bot immunity. The virus used:

.vshoot inc

to duplicate itself. While in a bot this mutated to -10000(about) .vshoot store

It wasn't until the viruses increased further in numbers that they were able to defeat the species.

Like the idea about having viruses in an array seperate from the bot's dna. Closer to the real life Rna that they normally use.

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
New Virus Paradigm
« Reply #5 on: April 25, 2006, 05:52:28 PM »
I'm planning on having the viruses as a sort of 'free-floating' coduule that acts like a root codule in itself, so it doesn't need to be called by the main DNA. It can't be deleted directly, but can be deleted/blocked if you know the hash of the DNA, which has to be guessed.

Viral DNA counts as a special new type of codule

Hashes will only be calculated for viral DNA. The main bot DNA can then become immune if it knows the hash, which must be found through time-and-energy intensive trial-and-error.

Offline Greven

  • Bot Destroyer
  • ***
  • Posts: 345
    • View Profile
New Virus Paradigm
« Reply #6 on: April 25, 2006, 06:28:30 PM »
Hmm this is a very interesting and nice idea, and doesnt make vira into a weapon as it is now (more or less).

However I have some ideas on my own.

I read somewhere than some evolutionists (or is it common knowlegde?)
believe that a vast amount of our own DNA is vira, mutating to become inactive or beneficial (some like reverse transcription), and this (I think) should be modelled? I think it is important to make no real distinction between bot DNA and vira. Or what?

I could well imagine a DB future were a bot becomes infected by 2, 3, or 10 different vira. And because of some lucky strike they mutate to become benefical for the bot.

I mean if virus 1 is like this:(just psudo code)

Header: goto codule 20.
Body (or codule to be precise): "blah blah do something evil to this bot and reproduce"

When a bot is infected, the header is inserted randomly into the genome of the bot (or with some preferences), and then codule is set into the bot as other codules at location 20.

A bot with a codule name 20 will have less change to be effected, or entirely immune.

I dont like all the deletion of vira, it is non natural. We must work around it somehow.

Real virus is just RNA in a shell, and is NOT used as weapons in real organisms. This opens up for even more ideas, like: if a bot get infected by virus or mutates to create virus, and another is infected, and the "RNA" is bad, the bot will die, but if it now reproduces and the new child bot has mutated the not to making vira, and thus making the virus inactive, following mutations could make it beneficial.
« Last Edit: April 25, 2006, 06:39:56 PM by Greven »
10010011000001110111110100111011001101100100000110110111000011101011110010110000
011000011000001100010110010111101001110100110010111100101000001000001111001011101
001101001110011011010011100011110100111000011101100100000100110011010011100110110
010110000011100111101001110110111101011101100110000111101001101001110111111011101
01100100000111010011010001100001110111010000010001001000010100001

Offline Greven

  • Bot Destroyer
  • ***
  • Posts: 345
    • View Profile
New Virus Paradigm
« Reply #7 on: April 25, 2006, 06:41:28 PM »
What I really also like is the possiblity of a bot being infected by another bot. As in getting sick, bacteria, whatever. Num already talked about this "engulfing".
10010011000001110111110100111011001101100100000110110111000011101011110010110000
011000011000001100010110010111101001110100110010111100101000001000001111001011101
001101001110011011010011100011110100111000011101100100000100110011010011100110110
010110000011100111101001110110111101011101100110000111101001101001110111111011101
01100100000111010011010001100001110111010000010001001000010100001

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
New Virus Paradigm
« Reply #8 on: April 25, 2006, 07:25:29 PM »
Don't have alot of time at the moment to comment, but as I see it you need the mechanism for viruses to be based on the mechanism for horizontal gene transfer.

That is, viruses are more out of control horizontal gene transfered modules than they are something new or seperate.

I'd like to see viruses built on the base of horizontal gene transfer, and not the other way around.

I do like the idea of the transmited codules (viruses, etc.) executing in sync with the main DNA, but there seems to be logistical issues.  Who gets to write to memory first?  How do you decide which of many different viruses/HorizTrannies get to go before or after each other?

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
New Virus Paradigm
« Reply #9 on: April 25, 2006, 07:28:25 PM »
NB: Plural of virus is viruses.  The forms virii and vira are cases of Hypercorrection.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Greven

  • Bot Destroyer
  • ***
  • Posts: 345
    • View Profile
New Virus Paradigm
« Reply #10 on: April 25, 2006, 09:26:08 PM »
Quote
NB: Plural of virus is viruses. The forms virii and vira are cases of Hypercorrection.

Ah okay, but in danish it is "vira", I just thought that the word "virus" were latin or something (maybe greek), and thus making "vira" the plural of virus in most indo-european language (and especially those that were influenced by latin... (((((although english is not directly influenced by latin, it has some roots in it))))))   )

Who cares? You did understand want I wrote, but I will follow your note. (if I remember it... )
10010011000001110111110100111011001101100100000110110111000011101011110010110000
011000011000001100010110010111101001110100110010111100101000001000001111001011101
001101001110011011010011100011110100111000011101100100000100110011010011100110110
010110000011100111101001110110111101011101100110000111101001101001110111111011101
01100100000111010011010001100001110111010000010001001000010100001

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
New Virus Paradigm
« Reply #11 on: April 25, 2006, 10:54:37 PM »
Quote from: Greven
Who cares?

 The biology bourgeois

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
New Virus Paradigm
« Reply #12 on: April 26, 2006, 11:03:46 AM »
Quote from: Numsgil
Don't have alot of time at the moment to comment, but as I see it you need the mechanism for viruses to be based on the mechanism for horizontal gene transfer.

That is, viruses are more out of control horizontal gene transfered modules than they are something new or seperate.

I'd like to see viruses built on the base of horizontal gene transfer, and not the other way around.

I do like the idea of the transmited codules (viruses, etc.) executing in sync with the main DNA, but there seems to be logistical issues.  Who gets to write to memory first?  How do you decide which of many different viruses/HorizTrannies get to go before or after each other?
In answer to your question it would be first-come-first-serve. The viruses that were there first get executed first.

IMHO, Our viruses at the moment are terribly artificial and I would like to see viruses and HGT split up rather than be mismashed into what we have at the moment. I'd rather have an entirely new mechanism for horizontal gene transfer (ie. pumping genes/codules through ties) and scrap the current incarnation of viruses.

Decision time - What do the rest of you think?

When I'm sure I've got a nicely polished system I'll post it as a poll. All I'm stuck on at the moment is the method of 'immunity'.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
New Virus Paradigm
« Reply #13 on: April 26, 2006, 12:49:02 PM »
I don't like making new systems for every feature we want.  The result always feels a little patchwork.  I'd rather see several related features all emergent from a single mechanism.

This article talks (briefly) about the possible origins of viruses.

Quote
A more widely accepted theory is that viruses are derived from normal cellular components that gained the ability to replicate autonomously.

This is the one I personally subscribe to.

As to HGT:
Wikipedia talks about three methods for HGT:

Transformation, Transduction, and Bacterial conjugation.

Bacterial Conjugation most closely resembles passing DNA through ties.  Transduction is what I would consider the origin of viruses in DB to be.  Transduction is passing of genetic material via virus like things.  Imagine such a codule learning to pass itself through Transduction instead of relying on the host.

Transformation is the absorption of random strands of genetic material floating around randomly in the environment.  I don't really see a point in modelling this personally.

Anyway, that's why I'd like to see viruses be an outgrowth of HGT mechanisms.

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
New Virus Paradigm
« Reply #14 on: April 26, 2006, 12:56:45 PM »
I'm incorporating a basic HGT method into the proposal. It's very similar to the methods in that wiki article. These 'retroviruses' will 'shuffle' DNA around between species.

It's just giving DNA tools to create free-floating pieces of DNA independant from cells.