Next: , Previous: , Up: Implementation   [Contents][Index]


2.4 Search Functions

Currently two high-level search functions are implemented. The evolve search function has received much more testing and is recommended.

Function: evolve test &key max-evals max-time target period period-fn every-fn filter

Evolve the existing *population* of software objects using the supplied TEST function to evaluate the fitness of software objects. The fitness returned by the TEST function is optimized. A steady state evolutionary computation algorithm is used to evolve increasingly fit software objects in a process resembling natural selection.

Function: mcmc original test &key accept-fn max-evals max-time target period period-fn every-fn filter

Preform Markov chain Monte Carlo search from the supplied ORIGINAL software object using the supplied TEST function to evaluate the fitness of software objects. The fitness returned by the test function is optimized.

Both functions take the following optional keyword arguments

max-evals

stop after this many fitness evaluations

max-time

stop after this many seconds

target

stop when an individual passes TARGET-FIT

period

interval of fitness evaluations to run PERIOD-FN

period-fn

function to run every PERIOD fitness evaluations

every-fn

function to run before every fitness evaluation

In addition the evolve function takes an optional filter keyword argument which when specified only includes individual for which FILTER returns true, and the mcmc function takes an optional accept-fn keyword argument which is a function of current and new fitness that returns acceptance.