Time for evolution
Some critics of evolution, claim there was not enough time for the complex human gene to evolve via natural selection. The human genome contains 3bn base pairs and 30,000 genes. If we think of DNA as a word of length L and the bases (ACTG) as the different possible letters of size K (4), then we would have L^K possibilities. This number grows very quickly.
One mistake of using L^K is that we assume one character changes at a time, but this doesn't need to be so. Mulitple characters can change with each offspring or generation.
We can do a little computational test. Let's say we want to guess a 6 letter word out of 5 different letters (abcde). This would give use 15,625 different possibilities (5^6). A random search roughly takes 15k steps to find the right solution. But what if once we have learned a correct letter we don't change it anymore. How much does the search reduce by?
Below you can see the code for this, we have a function gen_seq which randomly guesses strings, while gen_seq_fixed only guesses letters for positions that are not fixed. The latter is a bit like cracking a safe while listening to the clicks of the dials using a stethoscope.
In this example (3 simulations) we need 29,000 rounds on average to find the right solution randomly, but we only need 11 rounds on average with the smart technique. This is a 2600x improvement. In fact ln(29000) is almost 11. So we have reduced the exponential complexity to linear.
Also see the infinite monkey theorem.
Comments
Post a Comment