Documentation for package rsm.gen-prog


Author : R. Scott McIntire

Version: 1.0

Overview:

A package for doing genetic programming.

Export Summary:  

make-gen-params: Make a structure that has genetic programming parameters.

make-func-from-pairs: Makes a function from a vector of pairs.

make-initial-population: Make the initial population.

form-next-generation: Form the next generation.

get-program-cache: Get the program cache of best k programs.

get-best-programs: Get the very best programs.

examine-population: Examine the current generation.

examine-population   (gen-params)

Print the current gene population.

form-next-generation   (gen-number total-fitness gen-params)

Form the next generation from the current one (contained in <gen-params>).
Use the fitness of the present population and the total-fitness to select 
randomly (with replacement) the next generation. The parameter, 
cache-list-limit sets a limit on the length of lists in the program cache
which is stored in <gen-params>. If nil, there will be no restrictions on 
the length of any list in the program cache.

get-best-programs   (gen-params)

Get a list of the best program trees.

get-program-cache   (gen-params)

Get the best lists of program trees.

make-func-from-pairs   (func-sym func-pairs-vec &key dotted-p)

Makes a step function attached to the symbol, <func-sym>, that has 
values the step beginnings and step values defined by <func-pairs-vec>. 
If dotted-p is true the pairs in <func-pairs-vec> are dotted pairs.
Note:  It is assumed that the start values of the steps in <func-pairs-vec> are 
      in increasing order.

make-gen-params   (population-size vars terminals init-terminals funcs funcs-vars correct-func func-conversions init-terminal-conversions distance-metric sum-norm points &key (cross-over-func-prob *cross-over-func-prob*) (cross-over-prob *cross-over-prob*) (cross-over-attempts *cross-over-attempts*) (max-initial-tree-depth *max-initial-tree-depth*) (max-tree-depth *max-tree-depth*) (retry-count *retry-count*) (raw-fitness-increasing *raw-fitness-increasing*) (raw-fitness-bound *raw-fitness-bound*) (cache-list-limit *cache-list-limit*) (obj-cache-size *obj-cache-size*))

A constructor for structure genetic-params.

make-initial-population   (gen-params)

From <gen-params> get <program-ary> and <population-size> and then
fill in the array <program-ary> of size <population-size> with elements 
of the type program-tree. The keyword, cache-list-limit, limits the 
maximum length of a list in the cache of programs (stored in <gen-params>) 
to its value. If cache-list-limit is nil, then there will be no 
maximum length to any list in the cache of programs.
Return the total fitness of the population.