Quick Links
Introducing
Steve's Home Page
Subscribe to Steve's Peeves
Search Steve's Peeves & Affinities
Categories
Calendar
| | Sun | Mon | Tue | Wed | Thu | Fri | Sat
|
Steve's Reads
Archives
Extreme Tracking Web Counter
Statistics
Total entries in this blog:
Total entries in this category:
Published On: Oct 28, 2006 04:38 PM
|
Link- John Koza, PhD., 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 them 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.
Posted: Sat
- September 16, 2006 at 12:01 AM |
|