A few hours ago I set out to answer what I thought was going to be a relatively simple question. Let me explain what that question was by explaining
how I arrived at this question. I've been quite interested in artificial or algorithmic evolution for a while now, and I often spend time thinking
about how I could design a highly efficient evolutionary framework. There are many examples of this already out there; such as those virtual 3D
creatures which evolve and learn to complete specified tasks on their own, simply by applying a natural selection process.
There are many useful applications for evolutionary algorithms, because you can train something like an artificial neural network to solve very
difficult tasks, without explicitly defining how the task will be solved. This allows us to develop things such as complex game AI, advanced stock
market trading bots, voice and face recognition, etc. All these technologies are actually now based on a lot of code which has not been written by
men, but written through an unconscious process very similar to the way evolution solves problems through an entirely unconscious process.
Now imagine something like a self-learning virus
, the prime goal of that virus being
to spread and multiply. That is literally the closest thing to a virtual evolving creature as you can get. When we start thinking in terms of virtual
evolution, a natural question arises, and this is: how long would it take before virtual creatures could reach a level of complexity equal to some of
the creatures on Earth. Even the birds and the bees are highly complex creatures, they even have reasonably complex languages through which they can
communicate considerably complex information.
One can actually compare virtual creatures and real biological creatures in an informational way. Our DNA contains all the information you need to
build a human being, and you can record the chemical structure of DNA as digital information. I find it quite amazing that the entire human genome is
only around 3 gigabytes in size. So how long would it take virtual creatures to develop language and develop 3 gigabytes of genetic code? Well it took
life on Earth over 3 billion years to get where it is now, so perhaps it will take millions or billions of years.
Well actually it wont take that long, because computers can simulate evolution at a much faster speed. There's no waiting around for the virtual
creatures to mature and reproduction is an almost instant process, thus they can replicate much faster than real creatures can, essentially meaning
the speed at which they can evolve is only limited by the speed of our computers. But still I wanted to calculate how long this process might take...
and that led me to another question which I find far more intriguing, the question I mentioned at the start of this thread.
As I was trying to solve this problem, I thought to myself, if it is possible to determine how long it takes for genetic code to reach a certain level
of complexity, based on the rate at which the creature evolves and the DNA mutates... then it must also be possible to determine how fast natural
biological life will evolve. The question is: how fast should the complexity of life increase according to the basic laws of probability? Again, we
can picture this in a digital or virtual way.
Imagine if I have a virtual 3D creature, and I set a task for it, which is to travel as far as it can from its origin point within a set limit of
time. These creatures start off with randomly generated brains and bodies, but as we pick the best from each new generation, they can develop very
clever solutions for travelling large distances. Real experiments of this nature have shown that it only takes a few days for our virtual creatures to
develop highly sophisticated mechanisms for solving any task we throw at them.
So it is possible to quantize the process and mathematically estimate how quickly the complexity of a system will increase, given you understand how
the system evolves. Of course we understand how virtual creatures evolve, because we have designed them ourselves and thus it's relatively easy to
state in mathematical terms, how fast a virtual creature will increase in complexity. However, real life evolution is a fairly different ball game.
There are many more rules at play and I can't say we entirely understand them all.
But if we could understand those rules properly and define the expected rate of biological evolution, in terms of genetic complexity, then it opens up
the exiting possibility that we can mathematically estimate the age of life on Earth by examining our current level of genetic complexity. Imagine the
implications of that. It could either confirm or totally undermine the current timeline of evolution... what if life as complex as primates required
much more than 3 billion years to evolve based on expected mathematical probabilities? What would that say about life on Earth?
It isn't a simple problem to solve when you really start thinking about it... my first attempt at reaching a mathematical solution was based on birth
rates, population numbers, and the average genetic variance between any two random people. I figured it was possible to produce a solution if I knew
how fast human DNA was changing (think speed at which each generation appears) and to what extent it was changing (think population of each
generation). They say the amount of genetic variance between any two humans is about 0.1% on average.
I soon realized it would not be that simple. Think about the problem again; we want to know how long it takes life to evolve from its most simple
form, simple celled organisms in the case of biological life, into the highly complex life we see on Earth today, with huge banks of genetic
programming. That 0.1% variance we see between humans is nothing more than a reshuffling of genetic information... it doesn't help much with
describing how fast our genetic code actually increases in size. This is one of those annoying processes we don't fully understand.
Also keep in mind that the size of a system doesn't necessarily depict the complexity of a system, however as something becomes more complex it
inherently requires more space to store more information, since there is a limit to the efficiency of any system. I think our genetic evolution
actually accounts for this by having large volumes of unused space (junk DNA) which is used to extend the genetic code without needing to extend the
total size of the code just as it is "needed" (it would be random obviously).
What seems to happen in my opinion, and I'm no expert, is that mother nature always maintains a genetic "buffer" (the junk DNA) so that our genetic
code can be easily reprogrammed and actually extended so that some junk DNA can become new functioning DNA and thus increase the overall complexity of
the organism. As the size of the genetic code grows, so does the buffer space, as to ensure there is always some free space for extending the active
code. This would be my basic mathematical framework for finding a solution to the question I have posed.
I'm not going to dive into any mathematical estimations just yet, because I have a lot more to think about. In fact I'm going to stop at this point
because I've written enough for one thread and I want to get some thoughts and input on what I have said so far. I definitely think what I am
proposing here is 100% possible, we just need to fully understand how natural biological evolution works so we can understand the mathematical rules
underpinning that system. Maybe someone has even attempted this before, I have no idea.
edit on 9/11/2012 by ChaoticOrder because: (no reason