Genetic programming is an ingenious technique for solving problems using computers. In essence, it uses natural selection to evolve the fittest program fragment for solving a given problem. It is not (yet, anyway) a means of developing programs automatically, but has shown some remarkable capabilities in tackling very difficult and even previously intractable problems.
My first introduction to the technique was through its founding father, Professor John Koza, of Stanford University. It happened at that time that I was looking for an optimal filter for a piece of physiological measuring equipment. I had received various bits of advice about which filters to try, but was surprised that no-one had a truly objective and reliable method of choosing the best filter. With the help of John Koza and James Rice (an ace Lisp programmer who implemented all the early GP code), I managed to find a new and very effective filter, which outperformed those selected or developed by other means, including heuristic search and the plain genetic algorithm. I was hooked.
Since then, I have applied GP to other problems, particularly in the field of complex systems. First I wondered whether GP could be a useful forecasting tool for complex dynamic systems (including chaos), and found that it was, even in the face of significant amounts of noise. Then I turned my attentions to applications of GP in investigating such systems.
I am now convinced that GP can be used to test for chaos, and you can download (in Adobe Acrobat format) the paper which I presented at Genetic Programming 96, held at Stanford CA in July 1996. Sadly, pressures of other work have prevented me from doing much more on this since. However, watch this page and I'll keep it, and you, updated. Others references to my work in GP appear in my list of publications.
The filter developed using GP was, to the best of my knowledge, the first real-world application of GP. If you want further details of the filter - which has a lot of fine general properties - or of the use of GP in developing filters for your problem, then please e-mail me. This page is still under construction and I will be adding more links and information in the coming months.
Last updated 2 Oct 1998