The Evolution of DNA Code Size

page: 1
2

log in

join

posted on Apr, 3 2013 @ 06:12 AM
link   
Recently I decided to program an artificial neural network (ANN) framework which would allow me to train the neural networks though a type of evolutionary process using a genetic algorithm which involves my own made up version of DNA code. The DNA code basically dictates the structure of the ANN, so I can build a working ANN from any string of valid DNA code. The basic process goes something like this:

1) Generate a bunch of random DNA strings and construct ANN's from the DNA strings
2) Test how well each ANN performs the given task (could be predicting stock prices etc)
3) Keep a percentage of the best performing ANN's and "breed" them by merging their DNA
4) Repeat step 2 on the "offspring" and keep the best performing subjects and "breed" them
5) Repeat this process for x number of generations until I get good enough performance

Now I wanted to mimic the actual process of evolution as best as I could because it seems to work very well, after all I believe evolution is responsible for us being here and that's quite a feat. However the breeding process is not so simple... it seems to me that the best way to evolve anything is to have it start off simple and build up in complexity, because that's exactly how nature did it; we started off as some very simple celled organisms with a small amount of "DNA".

Over time our DNA got more and more complex as new useful components were built into our DNA. However this is an extremely tricky thing to replicate. All genetic algorithms that I know of don't do it this way... for example the system I built requires that both parent ANN's have the same amount of synaptic layers and the same amount of neurons on each layer, otherwise they simply aren't compatible. Adding an extra layer or an extra neuron can cause incompatibilities between the ANN's.

This is a bit like how different species usually cannot interbreed because their DNA is too different. I can easily apply "mutations" to a single neuron and the connections to and from that neuron, but I cannot see any easy way to breed two ANN's when one has "more" or "less" DNA code, the slightest change in that respect will more than likely cause problems. This leads me to wonder exactly how nature is able to accomplish this without problems.

Consider the first ancient human who had some sort of extra or missing chromosome compared to his common ancestor... how exactly did that individual pass on this extra or missing DNA to other subjects in the population when such a change would most likely be incompatible with everyone else in the population? It's not as simple as just slapping the extra DNA onto the offspring. Is there any scientific theory on how this happens?

Maybe it involves multiple twins with the same DNA change to breed between themselves and split from that evolutionary line? In that case it would seem that if I want to mimic the process of evolution as closely as possible I can't simply have one species evolving, I'd need to add in a factor which allow ANN's to split off into multiple different species, so that each time the DNA became more complex via mutations it would split off into a new species.

Starting simple and building up on complexity is obviously the best way to go... generating a set of random DNA strings with a pre-determined length and hoping for something useful is like hoping to win the lottery, the only thing which makes it work is the selective breeding process, but it's still not as proficient as it could be. I'm interested to hear your thoughts and suggestions on this, preferably without getting into a religious debate.
edit on 3/4/2013 by ChaoticOrder because: (no reason given)




posted on Apr, 3 2013 @ 07:17 AM
link   
reply to post by ChaoticOrder
 





Maybe it involves multiple twins with the same DNA change to breed between themselves and split from that evolutionary line? In that case it would seem that if I want to mimic the process of evolution as closely as possible I can't simply have one species evolving, I'd need to add in a factor which allow ANN's to split off into multiple different species, so that each time the DNA became more complex via mutations it would split off into a new species.


This above is the idea I get when pondering about the evolution of our DNA. In the beginning it seems to me the twin DNA split, like the splitting of an atom.



posted on Apr, 3 2013 @ 07:25 AM
link   
reply to post by ChaoticOrder
 



The individual could not have passed on the extra DNA (not sure about missing DNA so I wont comment on that) as it will cause incorrect number of chromosomes in gametes during meiosis, so the individual would be sterile. However I think certain people may be genetically predisposed to the mutation that causes events such as trisomy.



posted on Apr, 3 2013 @ 07:33 AM
link   
reply to post by ChaoticOrder
 




how exactly did that individual pass on this extra or missing DNA to other subjects in the population when such a change would most likely be incompatible with everyone else in the population?


Interesting, even tho im sure this has been analyzed by someone else as well in some corner of the earth.. my guess would be..

Maybe the mutation is actually a latent effect, similar to a recessive trait, but it only activates when a partner with a latent mutation is found. When these two latent mutated couples reproduce, they produce an offspring with with the latent mutation exposed as dominant trait, a phenotype.

Of course, we cannot have a single person leading the evolution of mankind, but a common mutation in a community.



posted on Apr, 3 2013 @ 07:43 AM
link   

Originally posted by avwood
reply to post by ChaoticOrder
 


The individual could not have passed on the extra DNA (not sure about missing DNA so I wont comment on that) as it will cause incorrect number of chromosomes in gametes during meiosis, so the individual would be sterile.

Yeah that's what I was trying to say... although I don't know the exact biology behind it, the problem became very obvious to me when I tried to replicate it programmatically.


However I think certain people may be genetically predisposed to the mutation that causes events such as trisomy.

That's true, but it still doesn't really help explain the fundamental problem, especially before such weird mechanisms became a part of our DNA.
edit on 3/4/2013 by ChaoticOrder because: (no reason given)



posted on Apr, 3 2013 @ 07:46 AM
link   
BTW while we're on this topic of ANN's, I need some creative/interesting ideas for what I can train the ANN's to learn. Predicting the stock markets is boring to me now... if any of you have any other interesting ideas share them here.



posted on Apr, 3 2013 @ 07:48 AM
link   

Originally posted by ChaoticOrder
In that case it would seem that if I want to mimic the process of evolution as closely as possible I can't simply have one species evolving, I'd need to add in a factor which allow ANN's to split off into multiple different species, so that each time the DNA became more complex via mutations it would split off into a new species.


You would need to add in a nature factor which would take an immense amount of work. Here's a basic idea of how evolution works.

Random mutation which can either be deleterious (bad), advantageous (good) or neutral (does not affect fitness of the individual). If the mutation is an 'advantageous' one (advantageous here is subjective, it depends on the environment) that gives the individual better chance to survive (higher fitness) then that individual is more likely to pass on their genes, eventually leading to a higher frequency of that in the population. So you would need some sort of selecting factor such as predation to bring out these mutants, populate new generations with these mutants and there you have your 'new species'



posted on Apr, 3 2013 @ 07:55 AM
link   
reply to post by avwood
 



Random mutation which can either be deleterious (bad), advantageous (good) or neutral (does not affect fitness of the individual). If the mutation is an 'advantageous' one (advantageous here is subjective, it depends on the environment) that gives the individual better chance to survive (higher fitness) then that individual is more likely to pass on their genes, eventually leading to a higher frequency of that in the population. So you would need some sort of selecting factor such as predation to bring out these mutants, populate new generations with these mutants and there you have your 'new species'

That's exactly what my system already does... but as I mentioned the mutations themselves don't change the size of the DNA code, they merely alter parts of the DNA. So an analogy might be changing one of the adenine nucleotides to a cytosine nucleotide... it's a mutation which may possibly have advantages but it doesn't change the fundamental size or structure of the DNA.
edit on 3/4/2013 by ChaoticOrder because: (no reason given)



posted on Apr, 3 2013 @ 08:08 AM
link   
reply to post by ChaoticOrder
 



Ah I think I understand the problem more now. There are mutations that may replicate nucleotides in certain regions, changing the length of basepairs and your program isn't able to breed them?


Btw what sort of limits do the ANN's have? Trying to think of something interesting they can learn. Could they do something like learn emotion?



posted on Apr, 3 2013 @ 08:24 AM
link   
reply to post by avwood
 



Ah I think I understand the problem more now. There are mutations that may replicate nucleotides in certain regions, changing the length of basepairs and your program isn't able to breed them?

Well I was just using an analogy, my version of DNA doesn't have anything like nucleotides or basepairs... but following this analogy, changing the length of basepairs isn't even the main problem. It would be adding in extra basepairs and chromosomes so that the size of the DNA got longer. Having two DNA strings which are a different length presents a problem when trying to combine them in a safe manner. I mean it would probably work some of the time, and I guess maybe nature could rely on those rare circumstances where it does work... but in the world of programming such an error could crash the program if not handled properly.


Trying to think of something interesting they can learn. Could they do something like learn emotion?

If I knew the answer to that I'd probably have a Nobel prize.
As of yet we haven't created a machine capable of feeling emotion... although there are some experiments where the ANN's are able to examine art and guess what sort of emotion the art is supposed to induce in the viewer, based on the colors used and that sort of thing.
edit on 3/4/2013 by ChaoticOrder because: (no reason given)



posted on Apr, 3 2013 @ 08:28 AM
link   
reply to post by ChaoticOrder
 


Hmm here's an idea, just throwing it out there. At princeton they have a 'global consciousness project' where they examine changes in the noosphere. What they've found is that deviations in the noosphere seem to happen slightly sooner than major world events such as world cup games. Maybe you could train the ANN's to analyze these patterns and predict when the next major deviation would happen?



posted on Apr, 3 2013 @ 08:34 AM
link   
reply to post by avwood
 


That's an extremely interesting idea. I know about that project and it fascinates me. I'll have to look further into this and see what I can come up with... thanks for the suggestion, that is very unique and creative.
edit on 3/4/2013 by ChaoticOrder because: (no reason given)



posted on Apr, 3 2013 @ 11:26 AM
link   
reply to post by ChaoticOrder
 


Please keep us updated! I'm sure lots of people will be very interested in your findings





new topics
top topics
 
2

log in

join