Poll

PLEASE SEE THE OVERVIEWS OF EACH OF THE IDEAS BELOW, BEFORE YOU VOTE! THANKS!

Numsgil's idea: To make codules of the form "[xmutation_rate] ...protected BPs... [/xmutation_rate]"
2 (20%)
Ericl's idea: To make a new instruction, of the form "number_of_lines_to_protect .protect store"
2 (20%)
Bacillus' original idea: To make mutation immunity have a cost based on the amount of DNA protected and time
3 (30%)
A hybrid algorithm, combining features of 1, 2, or 3 above, such as the MPPI instruction (see the DB3 topic, and please post your idea if it hasn't been mentioned before)
1 (10%)
Bacillus' updated idea: To make mutation protection be implemented as metadata, like in idea 1, and have a cost associated with it too, like idea 3.
0 (0%)
Ikke's DNA comparison idea: To have two or more copies of the DBot's genome, and if the DNA in one mutates, replace it with the DNA from one of it's copies. Check for mutations by comparing the DNA line-for-line.
0 (0%)
Ikke's hash comparison idea: To have two or more copies of the DBot's genome, and if the DNA in one mutates, replace it with the DNA from one of it's copies. Check for mutations by comparing the Hash-values of the different genomes.
0 (0%)
Something totally different (Please post your new idea)
2 (20%)

Total Members Voted: 8

Author Topic: Mutation Protection method- in voting  (Read 14187 times)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Mutation Protection method- in voting
« Reply #15 on: October 13, 2008, 02:49:23 PM »
It was something I did for the C++ branch.  mrepro, instead of causing reproduction, would influence mutation rates of the next .repro event.  negative values decreased mutation rates, positive numbers increased mutation rates.  I think there was a cost/benefit associated with it (negative values cost time or nrg, positive values save time or nrg).

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Mutation Protection method- in voting
« Reply #16 on: October 13, 2008, 10:01:49 PM »
Numsgil:
Alright, maybe that was a bad example. But anyway, you know what I mean.

Also, are you saying that .mrepro was not in the main VB DB?

Peter:
Yes, but what I was saying is that a bot could put it's whole genome inside the mutation protection instruction/codule, and therefore could protect/enhance mutation rates for the entire genome. This is what you wanted, right?

And ya, I admit, I copied and pasted as well. Rushed  

Cyberduke:
Anyway, I hope I clarified. Look here: http://en.wikipedia.org/wiki/DNA_repair#Ra...utionary_change
for a bit more info.
« Last Edit: October 13, 2008, 10:02:29 PM by jknilinux »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Mutation Protection method- in voting
« Reply #17 on: October 13, 2008, 10:15:09 PM »
mrepro exists in the current version, but it works like .repro does.  The value represents the % of your resources the child gets.  I changed it so mrepro worked as a modifier to .repro instead of working independently.  But it never made it in the VB code.

Offline Peter

  • Bot God
  • *****
  • Posts: 1177
    • View Profile
Mutation Protection method- in voting
« Reply #18 on: October 14, 2008, 04:01:04 AM »
Quote from: jknilinux
Peter:
Yes, but what I was saying is that a bot could put it's whole genome inside the mutation protection instruction/codule, and therefore could protect/enhance mutation rates for the entire genome. This is what you wanted, right?
Well, using negative .mrepro would then only protect during reproduction. The genome after the protection instruction would be protected by all kind of mutations. So that is the only difference.
Oh my god, who the hell cares.

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Mutation Protection method- in voting
« Reply #19 on: October 14, 2008, 08:42:18 AM »
Quote from: Peter
Quote from: jknilinux
Peter:
Yes, but what I was saying is that a bot could put it's whole genome inside the mutation protection instruction/codule, and therefore could protect/enhance mutation rates for the entire genome. This is what you wanted, right?
Well, using negative .mrepro would then only protect during reproduction. The genome after the protection instruction would be protected by all kind of mutations. So that is the only difference.

Well, as far as I know, point mutations are the only mutations that do not occur during reproduction. So, point mutations should be the only difference between -x.mrepro and putting everything inside the mutation protection codule/instruction. And, as far as I know, organisms can repair point mutations as well- see here: http://en.wikipedia.org/wiki/Direct_DNA_damage
So, I still think there should be no difference.

However, maybe we should add a tiny amount of point mutations that none of the mutation protection methods, even on max setting, can protect against. This might be more realistic.  However, that would rule out certain applications of this feature, where you need 100% protection from everything.

By the way, what should we do about viruses? I think mutation protection should be hapless against protecting from viruses, but that eliminates the ability to protect the DNA from anything, which some people might want for certain cases. What do you think?

Quote from: Numsgil
mrepro exists in the current version.
...
Quote from: Numsgil
But it never made it in the VB code.

Do you mean it's in the current version of the C++ DB?

Offline Peter

  • Bot God
  • *****
  • Posts: 1177
    • View Profile
Mutation Protection method- in voting
« Reply #20 on: October 14, 2008, 12:21:05 PM »
Quote from: jknilinux
Well, as far as I know, point mutations are the only mutations that do not occur during reproduction. So, point mutations should be the only difference between -x.mrepro and putting everything inside the mutation protection codule/instruction. And, as far as I know, organisms can repair point mutations as well- see here: http://en.wikipedia.org/wiki/Direct_DNA_damage
So, I still think there should be no difference.
The .mrepro was just a little suggestion I made (took over from numsgil). I won't make a big point getting it inplemented or not. As I like Eric-idea overall better anyway. It wouldn't have an effect on the other ways trough. So it wouldn't couse any trouble if would be too implented.

Quote
However, maybe we should add a tiny amount of point mutations that none of the mutation protection methods, even on max setting, can protect against. This might be more realistic.  However, that would rule out certain applications of this feature, where you need 100% protection from everything.
Just a percentage of mutations that get through that was the original setting too, right.

You get dna-mutations anyway. Any small mistake that could ever happen in RAM and change the dna.
Quote
By the way, what should we do about viruses? I think mutation protection should be hapless against protecting from viruses, but that eliminates the ability to protect the DNA from anything, which some people might want for certain cases. What do you think?
Maybe slime..

Quote
Quote
mrepro exists in the current version.
...
But it never made it in the VB code.

Do you mean it's in the current version of the C++ DB?

Nope,
Quote
mrepro exists in the current version, but it works like .repro does. The value represents the % of your resources the child gets. I changed it so mrepro worked as a modifier to .repro instead of working independently. But it never made it in the VB code
VB .mrepro couses normal reproduction exept it creates a mutated child.
C++ .mrepro changes the mutation rate of a reproduction. This never made it in VB.

C++ is disbanded anyway trough.
Oh my god, who the hell cares.

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Mutation Protection method- in voting
« Reply #21 on: October 14, 2008, 12:45:16 PM »
Quote from: Peter
Quote
However, maybe we should add a tiny amount of point mutations that none of the mutation protection methods, even on max setting, can protect against. This might be more realistic.  However, that would rule out certain applications of this feature, where you need 100% protection from everything.
Just a percentage of mutations that get through that was the original setting too, right.

You get dna-mutations anyway. Any small mistake that could ever happen in RAM and change the dna.

Quote
By the way, what should we do about viruses? I think mutation protection should be hapless against protecting from viruses, but that eliminates the ability to protect the DNA from anything, which some people might want for certain cases. What do you think?
Maybe slime..


Well, I was trying to find a way to implement what I thought you were suggesting. To be honest, I think only having the regular mutation protection without .mrepro will suffice.

You're right- slime works. I never investigated slime before... Just forget I ever asked that.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Mutation Protection method- in voting
« Reply #22 on: October 14, 2008, 01:45:45 PM »
I just mentioned what I did with mrepro because it's somewhat related to what we're talking about.  I'm not trying to suggest that it's a replacement for any of the other ideas talked about; it serves a different purpose.

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Mutation Protection method- in voting
« Reply #23 on: October 15, 2008, 02:30:44 AM »
So, apparently we're going to implement a hybrid: Eric's instruction idea with costs, assuming the polls don't change. Although I was hoping that we would get enough votes for us to find that a statistically significant portion of the DB users wanted choice x, because with 6 votes you can't say much about what 3,000 users want, but maybe we can implement the losing ideas once we get the winner working, so it can still be fair ultimately.

I wonder why only 6 people voted... I'd appreciate criticism here...

Offline Peter

  • Bot God
  • *****
  • Posts: 1177
    • View Profile
Mutation Protection method- in voting
« Reply #24 on: October 15, 2008, 05:06:29 AM »
Quote from: jknilinux
So, apparently we're going to implement a hybrid: Eric's instruction idea with costs, assuming the polls don't change. Although I was hoping that we would get enough votes for us to find that a statistically significant portion of the DB users wanted choice x, because with 6 votes you can't say much about what 3,000 users want, but maybe we can implement the losing ideas once we get the winner working, so it can still be fair ultimately.

I wonder why only 6 people voted... I'd appreciate criticism here...
I would think becouse there aren't 3000 people. I think there where only a few people who visited last time. My little league-poll also has just 7 people, there aren't that much. I gues you can figure out there are only a few active on this forum.

And I think that the idea of eric is not harder implent then the others. So making more implementation of ideas would be a waste of time anyway. The list of Eric is long enough anyhow.
Oh my god, who the hell cares.

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Mutation Protection method- in voting
« Reply #25 on: October 15, 2008, 11:41:45 AM »
Hi peter,

Thanks for pointing that out. I changed the summaries in the first post now.

I once read somewhere that DB2.44 had been downloaded 3000 times, so that's where 3000 came from.

Anyway, I don't think the problem is that we have only a few people who use the forum. I mean, it's been viewed 182 times.
« Last Edit: October 15, 2008, 08:19:24 PM by jknilinux »

Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
Mutation Protection method- in voting
« Reply #26 on: October 16, 2008, 12:06:33 AM »
And how many of those would have a strong opinion in this matter  
"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."
- Carl Sagan

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Mutation Protection method- in voting
« Reply #27 on: October 16, 2008, 01:07:37 AM »
Quote from: bacillus
And how many of those would have a strong opinion in this matter  

    LOL- Good point  

By the way, could you explain how trying to protect the DNA more than once would cause the Mutation protection instructions to override previous attempts? If you mean that genes after the most recent Mutation protection instruction can only be in that instruction's scope, I don't see how that's a problem. This may be important, since eric's protection instruction idea is winning.
« Last Edit: October 16, 2008, 02:43:09 AM by jknilinux »

Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
Mutation Protection method- in voting
« Reply #28 on: October 17, 2008, 12:23:18 AM »
It's like having code that says:
2.up store
..
5 .up store
the second command would override the first one. If multiple genes invoke .protect, only one of them will resolve at any one time, unless we are going to resolve it while reading through the DNA (which I am not too fond of). It's the same reason 0 .delgene at the end of the DNA works.
And by the way, it seems like my original idea is winning, although if I could, I'd go back and change my vote.
« Last Edit: October 17, 2008, 12:25:05 AM by bacillus »
"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."
- Carl Sagan

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Mutation Protection method- in voting
« Reply #29 on: October 17, 2008, 01:09:54 PM »
Quote from: bacillus
It's like having code that says:
2.up store
..
5 .up store
the second command would override the first one. If multiple genes invoke .protect, only one of them will resolve at any one time, unless we are going to resolve it while reading through the DNA (which I am not too fond of). It's the same reason 0 .delgene at the end of the DNA works.
And by the way, it seems like my original idea is winning, although if I could, I'd go back and change my vote.

So, if I understand you correctly, your concern is that a certain stretch of code will only be affected by the most recent mutation protection instruction. This is true of all the submissions, even metacode, and is what we wanted to begin with. It's also most like real-life biology. And why would someone want to combine/multiply/do_something_else the mutation rates if it's nested in multiple mutation protection instructions? The whole reason for putting a mutation protection instruction inside a mutation protection instruction is so that some code will not be affected by the outer mutation protection instruction. So why is this a problem?

2: Well, your original idea is winning, but it just says "make mutation protection have a cost", which is too vague to be a formal submission. Eric's idea is the only well-defined submission that's winning, so that's why eric's idea + costs is so far the winner.

By the way, what would you change your vote to? I'll factor in your new vote for when we finally decide.

Also, I know eric didn't vote, so maybe we should count in his vote as pro-eric?

Also also, I am officially abbreviating Mutation protection instruction as MPI. Tired of typing mutation protection instruction over and over...



EDIT: Announcement: The last day has been changed from Saturday to whenever Eric gets back.
« Last Edit: October 17, 2008, 10:52:08 PM by jknilinux »