From the July 01, 2006 issue of Futures Magazine • Subscribe!

Genetic programming 101

Genetic programming is a computerized evolution of computer programs that perform a particular task using Darwinian natural selection.

The process begins with examples of how a particular set of inputs should react to produce a specific output. Then, beginning with a randomly generated set of computer programs, the genetic program conducts a tournament and measures how well each program performs the task. The winners of this tournament are then copied and replaced with new programs (their “children”) formed via crossover and mutation conducted on the original programs.

Additional tournaments are held to evolve better and better programs. The process is terminated when acceptable levels of accuracy, or other performance measures, are achieved.

Another important concept to this process is called parsimony pressure. Parsimony pressure is the process used to reduce the length of the instruction sets of evolved programs. Here’s the process: First, a random portion of tournaments is selected. The genetic program then determines if the fitness of the selected programs falls within a predefined threshold. If it is, then the shorter program is selected. In this way, the software finds the simplest solution much faster.

Comments

eNewsletter Signup

Get the latest news and timely trading strategies for stock, options, forex, commodity, and financial derivatives markets with Futures' Daily Market Focus - FREE!