Natural Selection and Computer Programs Appearing Simply by Chance

Last night this article by the Friendly Atheist came across my Twitter feed, discussing a Jehovah’s Witness Youtube video where scientist and JW Yaroslav Dovhanych argues that evolution is a myth. I’m not going to get into the details of his argument. The linked article by the Friendly Atheist and the video attached in the article already do that. Instead I’m going to discuss Dovhanych’s first premise—his setup to the rest of his argument—which is demonstrably false!

Per the article, Dovhanych pokes fun at evolution by stating:

Can anyone say that some computer programs appeared simply by chance?

Dovhanych implies that computer programs do not appear by chance. Another way of putting it is that new programs (or “species” of programs) are designed by an intelligent creator—chance has nothing to do with it.

This is almost always true, except, of course, when it’s not. It is demonstrably false to say that no computer programs appear by chance. You see, there is this little known method in operations management and agent-based modeling called “Genetic Algorithms.” A subset of this is called “evolutionary computation” and “genetic programming.” The results of this method are widespread. Usually it’s used to evolve the best solution to a complex problem. But every once it a while it’s been used to evolve a computer program that best solves the problem. It works like this (in simple, generalized, and long terms):

Take a few lines of code that represent simple random generations of solutions. Seed the population with a couple known good solutions. Apply a random initiation. A function then determines the relative ‘fitness’ of individual solutions. Decode the chromosome (line of code) to obtain the variable values (cut the chromosome into genes). Transform the raw evaluation into a fitness level between 0 and 1. Raw evaluation function of a problem usually involves some measure of good (ex. Profit) or detriment (ex. Cost). Deal with constraints (throw out infeasible solutions when they are created and recreated, assign infeasible solutions a value of 0, penalize the fitness of an individual by an amount in proportion to the degree of infeasibility, etc.). Apply a genetic operator, a set of methods that act on the individuals to pass on and/or change. Next is selection; strings (chromosomes) are selected to be passed on from one generation to the next. Finally comes crossover. Two chromosomes (lines of code) exchange information. We can repeat this multiple times, pulling in mutations (changing a single bit here and there) until a very large set of iterations produces the best solution to a problem.

This is a fairly complicated method for solving a problem, but it also works very well. And this process has also been used to naturally evolve new computer programs without human design. No intelligent design required! Examples and results of this kind of programming can be found here. Here is a source with a huge bibliography.

It’s one thing to not believe in evolution. It’s another thing to base your entire argument against evolution on a demonstrably incorrect premise. Dovhanych and his Jehovah’s Witness cohorts should take notice of the world around them. Computer programs can and do appear simply by chance.

About Rayan Zehn

I'm a political and social activist.
This entry was posted in Atheism, Uncategorized and tagged , , , , . Bookmark the permalink.

Leave a Reply

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

You are commenting using your 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