Author Topic: New DNA structure  (Read 3749 times)

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
New DNA structure
« on: October 24, 2005, 06:15:34 PM »
First, not a new proposal, but rather a summary of what we talked about previously (I can't find the original topics).

1. No pre-defined order for cond, start and stop commands.  I think Nums have done this already.  
2. New conditions stack to allow #1 above to work.  This is also done (?).
3. Allow non-coding tags.  This could be used to keep the comments that are now removed when DNA is read from txt file into memory.  The comments would also allow describing some sections of code as "non-mutable".  May also allow program to label mutated commands.

I think almost everyone agrred that these changes above were useful.

Several big ideas that were floating around and (sort of) competing with each other:
a) Parallel flow of diploid DNA (average out conflicting commands)
B) Chromosomes (don't remember what this one was for, Nums was pushing it)
c) Non-deterministic execution of genes (picking only one/several genes to execute each cycle).

I think in the end most people agreed that some kind of non-deterministic gene execution should be implemented or allowed as an option.

Here's where my suggestion comes in.  We join the three ideas above into one.  We separate genes into "chromosomes" - groups of genes defined by DNA command, like chromo.
An organism can have as many chromosomes as it wishes with as many genes in each as it wishes.  Chromosomes are executed non-deterministically.

If you want each gene to be executed non-deterministically, then just put one gene per chromosome.

I also have solutions on how this DNA structure would help sexual recombination to be more sensible and how recombination would work, but I'll hold of so as not to make this post too long.
« Last Edit: October 24, 2005, 06:16:06 PM by shvarz »
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
New DNA structure
« Reply #1 on: October 24, 2005, 08:08:38 PM »
Quote
First, not a new proposal, but rather a summary of what we talked about previously (I can't find the original topics).

1. No pre-defined order for cond, start and stop commands.  I think Nums have done this already.
This is done, right.  2.4

Quote
2. New conditions stack to allow #1 above to work.  This is also done (?).

Yes, this too is done.  I think I wrote something on the wiki to cover how it works...

Quote
3. Allow non-coding tags.  This could be used to keep the comments that are now removed when DNA is read from txt file into memory.  The comments would also allow describing some sections of code as "non-mutable".  May also allow program to label mutated commands.

Not done.  Maybe later, not a huge priority at the moment.  I know that's not really the main point of your post...

Quote
Several big ideas that were floating around and (sort of) competing with each other:
a) Parallel flow of diploid DNA (average out conflicting commands)
B) Chromosomes (don't remember what this one was for, Nums was pushing it)
c) Non-deterministic execution of genes (picking only one/several genes to execute each cycle).

...

An organism can have as many chromosomes as it wishes with as many genes in each as it wishes.  Chromosomes are executed non-deterministically.

If you want each gene to be executed non-deterministically, then just put one gene per chromosome.

I'm not sure you even need the non-deterministic chromosomes.  Chromosomes are executed concurrently, so they all appear to execute simoltaneously.  Adding a non-determinsitic nature to them is quite possible, but I don't see what it adds.

I may be missing the point on this one...

Basically chromosomes are logical units.  Everything inside them executes linearly.  All chromosomes execute at the same time, though.

Also, chromosomes are the logical units that allow for crossing-over events.  That is, you don't cross over genes, you cross over segments of chromosome threads.

Chromosomes must be attached via a centromere (forget how we decided to implement this) to cross over.
« Last Edit: October 24, 2005, 08:14:17 PM by Numsgil »

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
New DNA structure
« Reply #2 on: October 25, 2005, 01:07:12 AM »
Quote
I'm not sure you even need the non-deterministic chromosomes. Chromosomes are executed concurrently, so they all appear to execute simoltaneously. Adding a non-determinsitic nature to them is quite possible, but I don't see what it adds.

I may be missing the point on this one...

I was thinking that if you execute them randomly, then there is no problem in trying to bring together conflicting commands.  Like if one chromosome says go forward and another - go backward.  Remember, we tried to come up with some rules on how resolve that, but no real solution came up.

Besides, this would allow both deterministic and non-deterministic scenarios to work: place all genes in a single chromosome - you got deterministic sim, place all of them in different chromosomes - completely ND.  And you can have all sorts of in-between.

As for recombination, I think we decided not to use centromeres, but instead do a search for a small string of commands and switch there.  Also, similar chromosomes could be identified by a string of commands at the beginning (thus the start of a chromosome would become a functional centromere).  Say your chromosome starts with 5 5 5 5 5, then the more 5s you have in the beginning the less likely you are to mess up that sequence...  Do you follow?
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Ulciscor

  • Bot Destroyer
  • ***
  • Posts: 401
    • View Profile
New DNA structure
« Reply #3 on: October 25, 2005, 02:54:56 AM »
Kind of reminds me of telomeres... sort of...   :ph43r:
:D Ulciscor :D

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

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
New DNA structure
« Reply #4 on: October 25, 2005, 10:08:18 AM »
I just don't know.  It seems wrong to me to have the DNA "penalized" for having more chromosomes.

Remember, theoretically a genome could develop with 1 gene in 1 chromosome, like One.  That would get to execute 100% of its genome while others execute only parts.

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
New DNA structure
« Reply #5 on: October 25, 2005, 10:48:15 AM »
Quote
I just don't know.  It seems wrong to me to have the DNA "penalized" for having more chromosomes.

Remember, theoretically a genome could develop with 1 gene in 1 chromosome, like One.  That would get to execute 100% of its genome while others execute only parts.
I don't know that they are being penalized ...
but perhaps merely being pressured/tested for robustness.
this may in fact be how things work in the real world.
after all, in the end ... it is the survival of the organism ...
not the survial of a particular chromosome or gene ...
that allows for information to be passed to the next generation.
actually, it isn't even about the survival of a particular individual.
what works continues, what does not work doesn't.

this is the problem with imposing too much structure ...
(not saying you are here .... just a general statement).
had this evolved then it could be considered as being natural.
anything we impose that has not evolved, is going to be aritificial.
but obviously ... we do have to impose some structure ...
as you, PY and others have said ... I understand that, and agree.
the trick is ... how much and when/how?
when are we 'assisting' evolution, and when are we getting in the way?
who can say?
I tend to think interferring less rather than more ...
is the lesser error.

your own mileage may vary. ;)
« Last Edit: October 25, 2005, 10:50:52 AM by Griz »
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
New DNA structure
« Reply #6 on: October 25, 2005, 10:57:04 AM »
[aside]
Well alot of it comes down to what are we trying to model.  I am not all that interested in modelling the internals of a cell.  I am much more interested in modelling the interactions of organisms in an ecosystem.[/aside]

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
New DNA structure
« Reply #7 on: October 25, 2005, 10:58:56 AM »
I can add the ND as an option, but unless there is overwhelming pressure to do so (or a simple majority, whichever ;)) I can't see this being the default.