Author Topic: Policeing Mutations/ error repear  (Read 8662 times)

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Policeing Mutations/ error repear
« Reply #15 on: June 07, 2005, 11:25:31 AM »
Well actually, if you set all mutations to nothing except for
"Insert a new value" and
"Delete a data point" and
"Change a value"
then you can spend as long as you like doing single letter (array point) insertions and deletions. These two controls do exactlty that.
« Last Edit: June 07, 2005, 11:26:51 AM by PurpleYouko »
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline shvarz

  • Moderator
  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Policeing Mutations/ error repear
« Reply #16 on: June 07, 2005, 11:34:41 AM »
The reason that deletions are less rare than insertions and substitutions is because so far people have been evolving mostly human-designed bots, which by definition are highly tuned and need all their DNA to function properly.  When evolving Dom ternia I've seen that happen too at first, but later, when DNA contained a lot of junk, deletions became more frequent.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Policeing Mutations/ error repear
« Reply #17 on: June 07, 2005, 12:16:01 PM »
Quote
The reason that deletions are less rare than insertions and substitutions is because so far people have been evolving mostly human-designed bots, which by definition are highly tuned and need all their DNA to function properly.  When evolving Dom ternia I've seen that happen too at first, but later, when DNA contained a lot of junk, deletions became more frequent.
That makes alot of sense.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Policeing Mutations/ error repear
« Reply #18 on: June 07, 2005, 12:28:30 PM »
Quote
Still, if there's a demand, I can probably work soemthing out.

Yea like:

A. get rid of the multy layer type arrays. , replase them with a simple byte array

B. Write a really, really, really, complicated compiler that turns a bunch of letters into usable computer code. (might need to put the multi layer type errays in the compilor code itself)



Sounds like a pain to me...
« Last Edit: June 07, 2005, 12:29:58 PM by Botsareus »

Offline Ulciscor

  • Bot Destroyer
  • ***
  • Posts: 401
    • View Profile
Policeing Mutations/ error repear
« Reply #19 on: June 07, 2005, 12:33:02 PM »
I was thinking maybe that the code we write in for the bot's genome could be interpreted into a more diverse language that is closer to real DNA, I.e 'store' could be changed to 'TTG' for example. But store could also have values 'TTA', 'TGG' etc which would mimic the redundancy nature uses to avoid massive errors in DNA. Also it would mimic the shift point mutations where deletions of insertions make massive differences throughout the entire genome.

B) Ulciscor B)
:D Ulciscor :D

I used to be indecisive, but now I'm not so sure.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Policeing Mutations/ error repear
« Reply #20 on: June 07, 2005, 12:34:54 PM »
Quote
Quote
Still, if there's a demand, I can probably work soemthing out.

Yea like:

A. get rid of the multy layer type arrays. , replase them with a simple byte array

B. Write a really, really, really, complicated compiler that turns a bunch of letters into usable computer code. (might need to put the multi layer type errays in the compilor code itself)



Sounds like a pain to me...
No, it's not a pain because each DNA command is already made up of three bytes, just like actual DNA "letters".  All you need is a function to shift the bytes up or down in the genome.  It'd take maybe an hour or two of solid work to do, but it's very doable.

Something like this:

FirstByte(t) = DNA(t).type
UpperByte(t) = UpperByte(DNA(t).value) 'no idea how to do this yet in VB, but I'm sure it isn't too hard
LowerByte(t) = LowerByte(DNA(t).value)

For each DNA command, then you just set:

FirstByte(t) = LowerByte(t)
LowerByte(t) = UpperByte(t)
...

etc. etc.

Then you recombine all the bytes back into a DNA structure.  Just like real frameshify mutations, it's more probably than not that you'll just seriosuly mess up that DNA length into Junk.  But it's always remotely possible that something good can come of it.
« Last Edit: June 07, 2005, 12:36:03 PM by Numsgil »