There is an uncommon but quite successful method of creating programs… by evolution. By adding random mutations and breeding the most successful programs, eventually a complicated and super-efficient program emerges. Now, it is certainly an intentional process, but it eliminates a designer or engineer from the loop. The only thing a person is needed for, is to create and monitor the parameters (the environment) to determine success. Really weird resulting designs are usually produced that we have no idea how or why they work.

One of the problems of this evolutionary process, is that it only works by ‘incremental’ progress. It’s entirely possible that irreducible forms exist which are incredibly efficient, that no means of evolution could attain. Only an engineer with a perfect understanding of the forces involved could attain it. However, biology could show us some useful tricks that have developed in nature.

Recent archaeology suggests that biological evolution can undergo punctuated equilibrium (rapid change into multiple species). Currently, we know of very few biological mechanisms which could be responsible. They are generally overlooked or understated evolutionary forces.

  • Transposons are “jumping genes” which are built to detach and reattach in DNA as a means of advanced mutation (kind of an in-between natural and artificial).
  • Gene duplication allows for things like metamerism (repeating segments), and gives evolution more material to mess around with per individual.
  • A process of polyploidy exists where infertile hybrids occasionally create eggs and sperm with a complete set of each species’ DNA.
  • Sexual reproduction is often overlooked for it’s evolutionary importance. Recombination increases variation, allowing a quicker way to avoid negative mutations and emphasize advantageous ones.
  • Bacterial evolution occurs extremely fast because generations are so short, and can exchange genetic information lackadaisically.
  • Coevolution can drive species in amazing ways. Mutualism allows two species to become intimately ecologically connected. Interspecial competition is always fatal if niches cannot be partitioned.
  • Patterns allow organisms to be effective without massive change. Large amounts of complexity can develop autonomously.
  • Social grouping adds an additional layer of complexity for a species’ success. It skips coevolution by hardwiring it into the species.
I’m not entirely satisfied with this list. I expect that more evolutionary mechanisms exist that are waiting to be discovered. However, evolutionary programming is a worthy analogy, and hopefully both fields can help us discover more about the other. The ‘computational universe’ is described and explored by Stephen Wolfram in the video below, and I find directly applicable to biological evolution.
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s