Link- John Koza, Ph.D., and the computer than can solve practically any problem

Dr. Koza is a man with an interesting problem. He has a computer program so flexible and powerful that it can write its own programs, and solve problems with solutions more elegant than any human could create. Popular Science magazine recently wrote about Dr. Koza’s dilemma.

John Koza is a leading scientist working in the field of genetic programming. The principle behind GP is simple, yet ingenious. Over-simplified, GP is a way for a computer to write its own program. It’s a bit more accurate to say that a person devises a problem to solve, writes some computer code to score computer-generated solutions, and perhaps writes a simple program to solve the problem one way. This last program doesn’t have to be a good or complete solution, it just has to provide a template for the genetic programming environment to start and work with.

The problem John Koza has right now: There just aren’t enough good problems to solve!

I skipped over the interesting part, the real reason this is called genetic programming. It is a fascinating process!

The “starter” problem-solving program is special program, which can be modified by the computer. Generally the first step is to create a whole population of problem-solving programs. This is usually done via an evolutionary technique, mutation. The starter program is copied and mutated to create the first generation of programs. Each program is run, its output is scored, and then evolution steps in again. The lower-scoring programs are discarded, and the higher scorers are retained unmodified for the next generation. All high scorers are essentially paired, each pair generates one or more offspring for the next generation of programs. This “mating” is closely analogous to biological, genetic reproduction, in the sense that each parent donates 50% of their characteristics (like DNA) to their children.

So, we have a new generation of programs, each of which is run and scored. The genetic process is repeated, with low-scoring programs discarded, the best programs retained unmodified, all high scorers have their characteristics randomly mixed, and a random mutation is sometimes introduced.

The ingenious power of this technique is that it can repeated for unlimited generations, until subsequent generations no longer improve their scores. The computer “knows” practically nothing about how to solve the problem at hand, only how to compare solutions quantitatively. By simulating the evolutionary processes of “natural” selection, “mating” the programs with higher probability of success, introducing random mutations, and of course the virtual passage of enormous amounts of time.

An example from the article is an antenna designed with genetic programming. The resulting antenna was something no RF engineer would ever imagine would even work. And yet it performed perfectly, and met or exceeded the many performance specifications for this space-faring antenna.

It is a fascinating article. Read it here.

Explore posts in the same categories: Links I Like, Steve's Affinities

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 )

Google+ photo

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


Connecting to %s

%d bloggers like this: