The mgl-gpr Reference Manual

This is the mgl-gpr Reference Manual, version 0.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Jul 13 21:16:24 2025 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 mgl-gpr

MGL-GPR is a library of evolutionary algorithms such
as Genetic Programming (evolving typed expressions from a set of operators and constants) and Differential Evolution.

Author

Gábor Melis <>

Contact

Home Page

http://melisgl.github.io/mgl-gpr

Source Control

(GIT https://github.com/melisgl/mgl-gpr.git)

Bug Tracker

https://github.com/melisgl/mgl-gpr/issues

License

MIT, see COPYING.

Version

0.0.1

Dependencies
  • alexandria (system).
  • mgl-pax (system).
Source

mgl-gpr.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


3.1 mgl-gpr/src

Source

mgl-gpr.asd.

Parent Component

mgl-gpr (system).

Child Components

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 mgl-gpr/mgl-gpr.asd

Source

mgl-gpr.asd.

Parent Component

mgl-gpr (system).

ASDF Systems

mgl-gpr.


4.1.2 mgl-gpr/src/package.lisp

Source

mgl-gpr.asd.

Parent Component

src (module).

Packages

mgl-gpr.


4.1.3 mgl-gpr/src/evolutionary-algorithm.lisp

Dependency

package.lisp (file).

Source

mgl-gpr.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.4 mgl-gpr/src/util.lisp

Dependency

evolutionary-algorithm.lisp (file).

Source

mgl-gpr.asd.

Parent Component

src (module).

Internals

4.1.5 mgl-gpr/src/tree.lisp

Dependency

util.lisp (file).

Source

mgl-gpr.asd.

Parent Component

src (module).

Public Interface

count-nodes (function).

Internals

4.1.6 mgl-gpr/src/genetic-programming.lisp

Dependency

tree.lisp (file).

Source

mgl-gpr.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.7 mgl-gpr/src/differential-evolution.lisp

Dependency

genetic-programming.lisp (file).

Source

mgl-gpr.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.8 mgl-gpr/src/doc.lisp

Dependency

differential-evolution.lisp (file).

Source

mgl-gpr.asd.

Parent Component

src (module).

Internals

5 Packages

Packages are listed by definition order.


5.1 mgl-gpr

See MGL-GPR::@GPR-MANUAL.

Source

package.lisp.

Use List
  • common-lisp.
  • mgl-pax.
Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Public Interface


6.1.1 Macros

Macro: literal ((result-type &key weight) &body body)

Syntactic sugar for defining literal classes. The example given for [LITERAL][class] could be written as:

(literal ((unsigned-byte 8))
(random 256))

See [WEIGHT][(reader expression-class)] for what WEIGHT means.

Package

mgl-gpr.

Source

genetic-programming.lisp.

Macro: operator ((name &rest arg-types) result-type &key weight)

Syntactic sugar for instantiating operators. The example given for [OPERATOR][class] could be written as:

(operator (+ float float) float)

See [WEIGHT][(reader expression-class)] for what WEIGHT means.

Package

mgl-gpr.

Source

genetic-programming.lisp.


6.1.2 Ordinary functions

Function: add-individual (ea individual)

Adds INDIVIDUAL to POPULATION of EA. Usually called when initializing the EA.

Package

mgl-gpr.

Source

evolutionary-algorithm.lisp.

Function: count-nodes (tree &key internal)

Count the nodes in the sexp TREE. If INTERNAL then don’t count the leaves.

Package

mgl-gpr.

Source

tree.lisp.

Function: crossover/binary (de individual-1 individual-2 &key crossover-rate)

Destructively modify INDIVIDUAL-2 by replacement each element with a probability of 1 - CROSSOVER-RATE with the corresponding element in INDIVIDUAL-1. At least one, element is changed. Return INDIVIDUAL-2.

Package

mgl-gpr.

Source

differential-evolution.lisp.

Function: hold-tournament (fitnesses &key select-contestant-fn n-contestants key)

Select N-CONTESTANTS (all different) for the tournament randomly, represented by indices into FITNESSES and return the one with the highest fitness. If SELECT-CONTESTANT-FN is NIL then contestants are selected randomly with uniform probability. If SELECT-CONTESTANT-FN is a function, then it’s called with FITNESSES to return an index (that may or may not be already selected for the tournament). Specifying SELECT-CONTESTANT-FN allows one to conduct ’local’ tournaments biased towards a particular region of the index range. KEY is NIL or a function that select the real fitness value from elements of FITNESSES.

Package

mgl-gpr.

Source

genetic-programming.lisp.

Function: mutate/best/1 (de current best population nursery &key f)
Package

mgl-gpr.

Source

differential-evolution.lisp.

Function: mutate/current-to-best/2 (de current best population nursery &key f)
Package

mgl-gpr.

Source

differential-evolution.lisp.

Function: mutate/rand/1 (de current best population nursery &key f)
Package

mgl-gpr.

Source

differential-evolution.lisp.

Function: random-expression (operators literals type terminate-fn)

Return an expression built from OPERATORS and LITERALS that evaluates to values of TYPE. TERMINATE-FN is a function of one argument: the level of the root of the subexpression to be generated in the context of the entire expression. If it returns T then a [LITERAL][class] will be inserted (by calling its BUILDER function), else an [OPERATOR][class] with all its necessary arguments.

The algorithm recursively generates the expression starting from level 0 where only operators and literals with a RESULT-TYPE that’s a subtype of TYPE are considered and one is selected with the unnormalized probability given by its WEIGHT. On lower levels, the ARGUMENT-TYPES specification of operators is similarly satisfied and the resulting expression should evaluate without without a type error.

The building of expressions cannot backtrack. If it finds itself in a situation where no literals or operators of the right type are available then it will fail with an error.

Package

mgl-gpr.

Source

genetic-programming.lisp.

Function: random-gp-expression (gp terminate-fn &key type)

Creating the initial population by hand is tedious. This convenience function calls RANDOM-EXPRESSION to create a random individual that produces GP’s TOPLEVEL-TYPE. By passing in another TYPE one can create expressions that fit somewhere else in a larger expression, which is useful in a [RANDOMIZER][] function.

Package

mgl-gpr.

Source

genetic-programming.lisp.

Function: select-distinct-random-numbers (taboos n limit)
Package

mgl-gpr.

Source

differential-evolution.lisp.


6.1.3 Generic functions

Generic Function: advance (ea)

Create the next generation and place it in POPULATION of EA.

Package

mgl-gpr.

Source

evolutionary-algorithm.lisp.

Methods
Method: advance ((de sansde))
Source

differential-evolution.lisp.

Method: advance ((de differential-evolution))
Source

differential-evolution.lisp.

Method: advance ((gp genetic-programming))
Source

genetic-programming.lisp.

Generic Reader: argument-types (object)
Package

mgl-gpr.

Methods
Reader Method: argument-types ((operator operator))

A list of lisp types. One for each argument of this operator.

Source

genetic-programming.lisp.

Target Slot

argument-types.

Generic Reader: builder (object)
Package

mgl-gpr.

Methods
Reader Method: builder ((literal literal))

A function of no arguments that returns a random literal that belongs to its literal class.

Source

genetic-programming.lisp.

Target Slot

builder.

Generic Reader: copy-chance (object)
Generic Writer: (setf copy-chance) (object)
Package

mgl-gpr.

Methods
Reader Method: copy-chance ((genetic-programming genetic-programming))
Writer Method: (setf copy-chance) ((genetic-programming genetic-programming))

The probability of the copying reproduction
operator being chosen. Copying simply creates an exact copy of a single individual.

Source

genetic-programming.lisp.

Target Slot

copy-chance.

Generic Reader: create-individual-fn (object)
Package

mgl-gpr.

Methods
Reader Method: create-individual-fn ((differential-evolution differential-evolution))

Holds a function of one argument, the DE, that
returns a new individual that needs not be initialized in any way. Typically this just calls MAKE-ARRAY.

Source

differential-evolution.lisp.

Target Slot

create-individual-fn.

Generic Reader: crossover-fn (object)
Package

mgl-gpr.

Methods
Reader Method: crossover-fn ((differential-evolution differential-evolution))

A function of three arguments, the DE and two
individuals, that destructively modifies the second individual by using some parts of the first one. Currently, the implemented crossover function is CROSSOVER/BINARY.

Source

differential-evolution.lisp.

Target Slot

crossover-fn.

Generic Reader: evaluator (object)
Package

mgl-gpr.

Methods
Reader Method: evaluator ((evolutionary-algorithm evolutionary-algorithm))

A function of two arguments: the
EVOLUTIONARY-ALGORITHM object and an individual. It must return the fitness of the individual. For @GPR-GP, the evaluator often simply calls EVAL, or COMPILE + FUNCALL, and compares the result to some gold standard. It is also typical to slightly penalize solutions with too many nodes to control complexity and evaluation cost (see COUNT-NODES). For @GPR-DE, individuals are conceptually (and often implemented as) vectors of numbers so the fitness function may include an L1 or L2 penalty term.

Alternatively, one can specify MASS-EVALUATOR instead.

Source

evolutionary-algorithm.lisp.

Target Slot

evaluator.

Generic Reader: fitness-key (object)
Package

mgl-gpr.

Methods
Reader Method: fitness-key ((evolutionary-algorithm evolutionary-algorithm))

A function that returns a real number for an
object returned by EVALUATOR. It is called when two fitness are to be compared. The default value is #’IDENTITY which is sufficient when EVALUATOR returns real numbers. However, sometimes the evaluator returns more information about the solution (such as fitness in various situations) and FITNESS-KEY key be used to select the fitness value.

Source

evolutionary-algorithm.lisp.

Target Slot

fitness-key.

Generic Reader: fittest (object)
Package

mgl-gpr.

Methods
Reader Method: fittest ((evolutionary-algorithm evolutionary-algorithm))

The fittest individual ever to be seen and its fittness as a cons cell.

Source

evolutionary-algorithm.lisp.

Target Slot

fittest.

Generic Reader: fittest-changed-fn (object)
Generic Writer: (setf fittest-changed-fn) (object)
Package

mgl-gpr.

Methods
Reader Method: fittest-changed-fn ((evolutionary-algorithm evolutionary-algorithm))
Writer Method: (setf fittest-changed-fn) ((evolutionary-algorithm evolutionary-algorithm))

If non-NIL, a function that’s called when FITTEST
is updated with three arguments: the EVOLUTIONARY-ALGORITHM object, the fittest individual and its fitness. Useful for tracking progress.

Source

evolutionary-algorithm.lisp.

Target Slot

fittest-changed-fn.

Generic Reader: generation-counter (object)
Package

mgl-gpr.

Methods
Reader Method: generation-counter ((evolutionary-algorithm evolutionary-algorithm))

A counter that starts from 0 and is incremented by
ADVANCE. All accessors of EVOLUTIONARY-ALGORITHM are allowed to be specialized on a subclass which allows them to be functions of GENERATION-COUNTER.

Source

evolutionary-algorithm.lisp.

Target Slot

generation-counter.

Generic Reader: keep-fittest-p (object)
Generic Writer: (setf keep-fittest-p) (object)
Package

mgl-gpr.

Methods
Reader Method: keep-fittest-p ((genetic-programming genetic-programming))
Writer Method: (setf keep-fittest-p) ((genetic-programming genetic-programming))

If true, then the fittest individual is always
copied without mutation to the next generation. Of course, it may also have other offsprings.

Source

genetic-programming.lisp.

Target Slot

keep-fittest-p.

Generic Reader: literals (object)
Package

mgl-gpr.

Methods
Reader Method: literals ((genetic-programming genetic-programming))

The set of [LITERAL][class]s from which (together with [OPERATOR][class]s) individuals are built.

Source

genetic-programming.lisp.

Target Slot

literals.

Generic Reader: map-weights-into-fn (object)
Package

mgl-gpr.

Methods
Reader Method: map-weights-into-fn ((differential-evolution differential-evolution))

The vector of numbers (the ’weights’) are most
often stored in some kind of array. All individuals must have the same number of weights, but the actual representation can be anything as long as the function in this slot mimics the semantics of MAP-INTO that’s the default.

Source

differential-evolution.lisp.

Target Slot

map-weights-into-fn.

Generic Reader: mass-evaluator (object)
Package

mgl-gpr.

Methods
Reader Method: mass-evaluator ((evolutionary-algorithm evolutionary-algorithm))

NIL or a function of three arguments: the
EVOLUTIONARY-ALGORITHM object, the population vector and the fitness vector into which the fitnesses of the individuals in the population vector shall be written. By specifying MASS-EVALUATOR instead of an EVALUATOR, one can, for example, distribute costly evaluations over multiple threads. MASS-EVALUATOR has precedence over EVALUATOR.

Source

evolutionary-algorithm.lisp.

Target Slot

mass-evaluator.

Generic Reader: mutate-fn (object)
Package

mgl-gpr.

Methods
Reader Method: mutate-fn ((differential-evolution differential-evolution))

One of the supplied mutation functions:
MUTATE/RAND/1 MUTATE/BEST/1 MUTATE/CURRENT-TO-BEST/2.

Source

differential-evolution.lisp.

Target Slot

mutate-fn.

Generic Reader: mutation-chance (object)
Generic Writer: (setf mutation-chance) (object)
Package

mgl-gpr.

Methods
Reader Method: mutation-chance ((genetic-programming genetic-programming))
Writer Method: (setf mutation-chance) ((genetic-programming genetic-programming))

The probability of the mutation reproduction
operator being chosen. Mutation creates a randomly altered copy of an individual. See RANDOMIZER.

Source

genetic-programming.lisp.

Target Slot

mutation-chance.

Generic Reader: name (object)
Package

mgl-gpr.

Methods
Reader Method: name ((operator operator))

A symbol that’s the name of the operator.

Source

genetic-programming.lisp.

Target Slot

name.

Generic Reader: operators (object)
Package

mgl-gpr.

Methods
Reader Method: operators ((genetic-programming genetic-programming))

The set of [OPERATOR][class]s from which (together with [LITERAL][class]s) individuals are built.

Source

genetic-programming.lisp.

Target Slot

operators.

Generic Reader: population (object)
Generic Writer: (setf population) (object)
Package

mgl-gpr.

Methods
Reader Method: population ((evolutionary-algorithm evolutionary-algorithm))
Writer Method: (setf population) ((evolutionary-algorithm evolutionary-algorithm))

An adjustable array with a fill-pointer that holds the individuals that make up the population.

Source

evolutionary-algorithm.lisp.

Target Slot

population.

Generic Reader: population-size (object)
Generic Writer: (setf population-size) (object)
Package

mgl-gpr.

Methods
Reader Method: population-size ((evolutionary-algorithm evolutionary-algorithm))
Writer Method: (setf population-size) ((evolutionary-algorithm evolutionary-algorithm))

The number of individuals in a generation. This is
a very important parameter. Too low and there won’t be enough diversity in the population, too high and convergence will be slow.

Source

evolutionary-algorithm.lisp.

Target Slot

population-size.

Generic Reader: randomizer (object)
Package

mgl-gpr.

Methods
Reader Method: randomizer ((genetic-programming genetic-programming))

Used for mutations, this is a function of three
arguments: the GP object, the type the expression must produce and current expression to be replaced with the returned value. It is called with subexpressions of individuals.

Source

genetic-programming.lisp.

Target Slot

randomizer.

Generic Reader: result-type (object)
Package

mgl-gpr.

Methods
Reader Method: result-type ((expression-class expression-class))

Expressions belonging to this expression class must evaluate to a value of this lisp type.

Source

genetic-programming.lisp.

Target Slot

result-type.

Generic Reader: selector (object)
Package

mgl-gpr.

Methods
Reader Method: selector ((genetic-programming genetic-programming))

A function of two arguments: the GP object and a
vector of fitnesses. It must return the and index into the fitness vector. The individual whose fitness was thus selected will be selected for reproduction be it copying, mutation or crossover. Typically, this defers to HOLD-TOURNAMENT.

Source

genetic-programming.lisp.

Target Slot

selector.

Generic Reader: toplevel-type (object)
Package

mgl-gpr.

Methods
Reader Method: toplevel-type ((genetic-programming genetic-programming))

The type of the results produced by individuals.
If the problem is to find the minimum a 1d real function then this may be the symbol REAL. If the problem is to find the shortest route, then this may be a vector. It all depends on the representation of the problem, the operators and the literals.

Source

genetic-programming.lisp.

Target Slot

toplevel-type.

Generic Reader: weight (object)
Package

mgl-gpr.

Methods
Reader Method: weight ((expression-class expression-class))

The probability of an expression class to be
selected from a set of candidates is proportional to its weight.

Source

genetic-programming.lisp.

Target Slot

weight.


6.1.4 Standalone methods

Method: print-object ((literal literal) stream)
Source

genetic-programming.lisp.

Method: print-object ((operator operator) stream)
Source

genetic-programming.lisp.


6.1.5 Classes

Class: differential-evolution

Differential evolution (DE) is an evolutionary
algorithm in which individuals are represented by vectors of numbers. New individuals are created by taking linear combinations or by randomly swapping some of these numbers between two individuals.

Package

mgl-gpr.

Source

differential-evolution.lisp.

Direct superclasses

evolutionary-algorithm.

Direct subclasses

sansde.

Direct methods
Direct slots
Slot: map-weights-into-fn

The vector of numbers (the ’weights’) are most
often stored in some kind of array. All individuals must have the same number of weights, but the actual representation can be anything as long as the function in this slot mimics the semantics of MAP-INTO that’s the default.

Initform

(function map-into)

Initargs

:map-weights-into-fn

Readers

map-weights-into-fn.

Writers

This slot is read-only.

Slot: create-individual-fn

Holds a function of one argument, the DE, that
returns a new individual that needs not be initialized in any way. Typically this just calls MAKE-ARRAY.

Initargs

:create-individual-fn

Readers

create-individual-fn.

Writers

This slot is read-only.

Slot: mutate-fn

One of the supplied mutation functions:
MUTATE/RAND/1 MUTATE/BEST/1 MUTATE/CURRENT-TO-BEST/2.

Initargs

:mutate-fn

Readers

mutate-fn.

Writers

This slot is read-only.

Slot: crossover-fn

A function of three arguments, the DE and two
individuals, that destructively modifies the second individual by using some parts of the first one. Currently, the implemented crossover function is CROSSOVER/BINARY.

Initform

(function mgl-gpr:crossover/binary)

Initargs

:crossover-fn

Readers

crossover-fn.

Writers

This slot is read-only.

Slot: autotune-fn
Initargs

:autotune-fn

Readers

autotune-fn.

Writers

This slot is read-only.

Class: evolutionary-algorithm

The EVOLUTIONARY-ALGORITHM is an abstract base
class for generational, population based optimization algorithms.

Package

mgl-gpr.

Source

evolutionary-algorithm.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: evaluator

A function of two arguments: the
EVOLUTIONARY-ALGORITHM object and an individual. It must return the fitness of the individual. For @GPR-GP, the evaluator often simply calls EVAL, or COMPILE + FUNCALL, and compares the result to some gold standard. It is also typical to slightly penalize solutions with too many nodes to control complexity and evaluation cost (see COUNT-NODES). For @GPR-DE, individuals are conceptually (and often implemented as) vectors of numbers so the fitness function may include an L1 or L2 penalty term.

Alternatively, one can specify MASS-EVALUATOR instead.

Initargs

:evaluator

Readers

evaluator.

Writers

This slot is read-only.

Slot: mass-evaluator

NIL or a function of three arguments: the
EVOLUTIONARY-ALGORITHM object, the population vector and the fitness vector into which the fitnesses of the individuals in the population vector shall be written. By specifying MASS-EVALUATOR instead of an EVALUATOR, one can, for example, distribute costly evaluations over multiple threads. MASS-EVALUATOR has precedence over EVALUATOR.

Initargs

:mass-evaluator

Readers

mass-evaluator.

Writers

This slot is read-only.

Slot: fitness-key

A function that returns a real number for an
object returned by EVALUATOR. It is called when two fitness are to be compared. The default value is #’IDENTITY which is sufficient when EVALUATOR returns real numbers. However, sometimes the evaluator returns more information about the solution (such as fitness in various situations) and FITNESS-KEY key be used to select the fitness value.

Initform

(function identity)

Initargs

:fitness-key

Readers

fitness-key.

Writers

This slot is read-only.

Slot: generation-counter

A counter that starts from 0 and is incremented by
ADVANCE. All accessors of EVOLUTIONARY-ALGORITHM are allowed to be specialized on a subclass which allows them to be functions of GENERATION-COUNTER.

Initform

0

Readers

generation-counter.

Writers

This slot is read-only.

Slot: population-size

The number of individuals in a generation. This is
a very important parameter. Too low and there won’t be enough diversity in the population, too high and convergence will be slow.

Initargs

:population-size

Readers

population-size.

Writers

(setf population-size).

Slot: fittest

The fittest individual ever to be seen and its fittness as a cons cell.

Readers

fittest.

Writers

This slot is read-only.

Slot: fittest-changed-fn

If non-NIL, a function that’s called when FITTEST
is updated with three arguments: the EVOLUTIONARY-ALGORITHM object, the fittest individual and its fitness. Useful for tracking progress.

Initargs

:fittest-changed-fn

Readers

fittest-changed-fn.

Writers

(setf fittest-changed-fn).

Slot: population

An adjustable array with a fill-pointer that holds the individuals that make up the population.

Initform

(make-array 0 :adjustable 0 :fill-pointer t)

Readers

population.

Writers

(setf population).

Slot: nursery
Readers

nursery.

Writers

(setf nursery).

Slot: fitnesses
Readers

fitnesses.

Writers

(setf fitnesses).

Class: expression-class

An object of EXPRESSION-CLASS defines two things:
how to build a random expression that belongs to that expression class and what lisp type those expressions evaluate to.

Package

mgl-gpr.

Source

genetic-programming.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: result-type

Expressions belonging to this expression class must evaluate to a value of this lisp type.

Initargs

:result-type

Readers

result-type.

Writers

This slot is read-only.

Slot: weight

The probability of an expression class to be
selected from a set of candidates is proportional to its weight.

Initform

1

Initargs

:weight

Readers

weight.

Writers

This slot is read-only.

Class: genetic-programming

The GENETIC-PROGRAMMING class defines the search
space, how mutation and recombination occur, and hold various parameters of the evolutionary process and the individuals themselves.

Package

mgl-gpr.

Source

genetic-programming.lisp.

Direct superclasses

evolutionary-algorithm.

Direct methods
Direct slots
Slot: operators

The set of [OPERATOR][class]s from which (together with [LITERAL][class]s) individuals are built.

Initargs

:operators

Readers

operators.

Writers

This slot is read-only.

Slot: literals

The set of [LITERAL][class]s from which (together with [OPERATOR][class]s) individuals are built.

Initargs

:literals

Readers

literals.

Writers

This slot is read-only.

Slot: toplevel-type

The type of the results produced by individuals.
If the problem is to find the minimum a 1d real function then this may be the symbol REAL. If the problem is to find the shortest route, then this may be a vector. It all depends on the representation of the problem, the operators and the literals.

Initform

t

Initargs

:toplevel-type

Readers

toplevel-type.

Writers

This slot is read-only.

Slot: randomizer

Used for mutations, this is a function of three
arguments: the GP object, the type the expression must produce and current expression to be replaced with the returned value. It is called with subexpressions of individuals.

Initargs

:randomizer

Readers

randomizer.

Writers

This slot is read-only.

Slot: selector

A function of two arguments: the GP object and a
vector of fitnesses. It must return the and index into the fitness vector. The individual whose fitness was thus selected will be selected for reproduction be it copying, mutation or crossover. Typically, this defers to HOLD-TOURNAMENT.

Initargs

:selector

Readers

selector.

Writers

This slot is read-only.

Slot: copy-chance

The probability of the copying reproduction
operator being chosen. Copying simply creates an exact copy of a single individual.

Initform

0

Initargs

:copy-chance

Readers

copy-chance.

Writers

(setf copy-chance).

Slot: mutation-chance

The probability of the mutation reproduction
operator being chosen. Mutation creates a randomly altered copy of an individual. See RANDOMIZER.

Initform

0

Initargs

:mutation-chance

Readers

mutation-chance.

Writers

(setf mutation-chance).

Slot: keep-fittest-p

If true, then the fittest individual is always
copied without mutation to the next generation. Of course, it may also have other offsprings.

Initform

t

Initargs

:keep-fittest-p

Readers

keep-fittest-p.

Writers

(setf keep-fittest-p).

Class: literal

This is slightly misnamed. An object belonging to
the LITERAL class is not a literal itself, it’s a factory for literals via its [BUILDER][] function. For example, the following literal builds bytes:

(make-instance ’literal
:result-type ’(unsigned-byte 8)
:builder (lambda () (random 256)))

In practice, one rarely writes it out like that, because the LITERAL macro provides a more convenient shorthand.

Package

mgl-gpr.

Source

genetic-programming.lisp.

Direct superclasses

expression-class.

Direct methods
Direct slots
Slot: builder

A function of no arguments that returns a random literal that belongs to its literal class.

Initargs

:builder

Readers

builder.

Writers

This slot is read-only.

Class: operator

Defines how the symbol NAME in the function
position of a list can be combined arguments: how many and of what types. The following defines [‘+‘][dislocated] as an operator that adds two ‘FLOAT‘s:

(make-instance ’operator
:name ’+
:result-type float
:argument-types ’(float float))

See the macro [OPERATOR][macro] for a shorthand for the above.

Currently no lambda list keywords are supported and there is no way to define how an expression with a particular operator is to be built. See RANDOM-EXPRESSION.

Package

mgl-gpr.

Source

genetic-programming.lisp.

Direct superclasses

expression-class.

Direct methods
Direct slots
Slot: name

A symbol that’s the name of the operator.

Initargs

:name

Readers

name.

Writers

This slot is read-only.

Slot: argument-types

A list of lisp types. One for each argument of this operator.

Initargs

:argument-types

Readers

argument-types.

Writers

This slot is read-only.

Class: sansde

SaNSDE is a special DE that dynamically adjust the
crossover and mutation are performed. The only parameters are the generic EA ones: POPULATION-SIZE, EVALUATOR, etc. One also has to specify MAP-WEIGHTS-INTO-FN and CREATE-INDIVIDUAL-FN.

Package

mgl-gpr.

Source

differential-evolution.lisp.

Direct superclasses

differential-evolution.

Direct methods
Direct slots
Slot: mutation-strategy-pr
Initform

0.5

Readers

mutation-strategy-pr.

Writers

(setf mutation-strategy-pr).

Slot: mutation-factor-pr
Initform

0.5

Readers

mutation-factor-pr.

Writers

(setf mutation-factor-pr).

Slot: crossover-rate-mean
Initform

0.5

Readers

crossover-rate-mean.

Writers

(setf crossover-rate-mean).

Slot: stats
Readers

stats.

Writers

(setf stats).

Slot: mutate-fn
Initform

(quote mgl-gpr::mutate/sansde)

Slot: crossover-fn
Initform

(quote mgl-gpr::crossover/sansde)

Slot: autotune-fn
Initform

(quote mgl-gpr::tune/sansde)


6.2 Internals


6.2.1 Special variables

Special Variable: @gpr-background
Package

mgl-gpr.

Source

evolutionary-algorithm.lisp.

Special Variable: @gpr-de
Package

mgl-gpr.

Source

differential-evolution.lisp.

Special Variable: @gpr-de-sansde
Package

mgl-gpr.

Source

differential-evolution.lisp.

Special Variable: @gpr-ea
Package

mgl-gpr.

Source

evolutionary-algorithm.lisp.

Special Variable: @gpr-ea-evaluation
Package

mgl-gpr.

Source

evolutionary-algorithm.lisp.

Special Variable: @gpr-ea-population
Package

mgl-gpr.

Source

evolutionary-algorithm.lisp.

Special Variable: @gpr-ea-training
Package

mgl-gpr.

Source

evolutionary-algorithm.lisp.

Special Variable: @gpr-gp
Package

mgl-gpr.

Source

genetic-programming.lisp.

Special Variable: @gpr-gp-background
Package

mgl-gpr.

Source

genetic-programming.lisp.

Special Variable: @gpr-gp-basics
Package

mgl-gpr.

Source

genetic-programming.lisp.

Special Variable: @gpr-gp-environment
Package

mgl-gpr.

Source

genetic-programming.lisp.

Special Variable: @gpr-gp-expressions
Package

mgl-gpr.

Source

genetic-programming.lisp.

Package

mgl-gpr.

Source

evolutionary-algorithm.lisp.

Special Variable: @gpr-gp-reproduction
Package

mgl-gpr.

Source

genetic-programming.lisp.

Special Variable: @gpr-gp-search-space
Package

mgl-gpr.

Source

genetic-programming.lisp.

Special Variable: @gpr-gp-tutorial
Package

mgl-gpr.

Source

genetic-programming.lisp.

Special Variable: @gpr-manual
Package

mgl-gpr.

Source

evolutionary-algorithm.lisp.


6.2.2 Macros

Macro: dotree ((node tree &optional result-form) &body body)
Package

mgl-gpr.

Source

tree.lisp.


6.2.3 Ordinary functions

Function: breed (gp)
Package

mgl-gpr.

Source

genetic-programming.lisp.

Function: calculate-fitnesses (gp)
Package

mgl-gpr.

Source

genetic-programming.lisp.

Function: change-node-at (x index value &key internal)
Package

mgl-gpr.

Source

tree.lisp.

Function: copy-some (gp population nursery)
Package

mgl-gpr.

Source

genetic-programming.lisp.

Function: crossover-expressions (gp x y)
Package

mgl-gpr.

Source

genetic-programming.lisp.

Function: crossover-some (gp population nursery)
Package

mgl-gpr.

Source

genetic-programming.lisp.

Function: crossover/sansde (de individual-1 individual-2)
Package

mgl-gpr.

Source

differential-evolution.lisp.

Function: draw-cauchy ()
Package

mgl-gpr.

Source

differential-evolution.lisp.

Function: draw-positive-cauchy ()
Package

mgl-gpr.

Source

differential-evolution.lisp.

Function: draw-positive-normal (mean stddev)
Package

mgl-gpr.

Source

differential-evolution.lisp.

Function: draw-rate (mean stddev)
Package

mgl-gpr.

Source

differential-evolution.lisp.

Function: find-operator (gp name)
Package

mgl-gpr.

Source

genetic-programming.lisp.

Function: gaussian-random-1 ()

Return a double float of zero mean and unit variance.

Package

mgl-gpr.

Source

util.lisp.

Function: insert-into-sorted-vector (item vec &key max-length test)

Insert ITEM into VECTOR while keeping it sorted by TEST. Extend the vector if needed. Drop the first element if the size of the vector would be more than MAX-LENGTH.

Package

mgl-gpr.

Source

util.lisp.

Function: map-tree (fn tree)
Package

mgl-gpr.

Source

tree.lisp.

Function: max-position/vector (vector &key test key)

Return the maximum value (according to TEST) in VECTOR and its index.

Package

mgl-gpr.

Source

util.lisp.

Function: mutate-expression (gp x)
Package

mgl-gpr.

Source

genetic-programming.lisp.

Function: mutate-some (gp population nursery)
Package

mgl-gpr.

Source

genetic-programming.lisp.

Function: mutate/sansde (de current best population nursery)
Package

mgl-gpr.

Source

differential-evolution.lisp.

Function: node-at (x index &key internal)
Package

mgl-gpr.

Source

tree.lisp.

Function: node-expected-type (gp x xi &key internal)
Package

mgl-gpr.

Source

genetic-programming.lisp.

Function: parent-of-node-at (x index &key internal)
Package

mgl-gpr.

Source

tree.lisp.

Function: pax-pages ()
Package

mgl-gpr.

Source

doc.lisp.

Function: pax-sections ()
Package

mgl-gpr.

Source

doc.lisp.

Function: random-element (seq &key key start end sum)

Choose an element randomly from the [START,END) subsequence of SEQ with given probabilities. KEY returns the unormalized probability of an element, SUM is the sum of these unnormalized probalities contains unnormalized probabilties. Return the element chosen and its index.

Package

mgl-gpr.

Source

util.lisp.

Function: random-expression-class (expression-classes)
Package

mgl-gpr.

Source

genetic-programming.lisp.

Function: random-normal (mean stddev)
Package

mgl-gpr.

Source

util.lisp.

Function: sansde-weighted-average (ns1 ns2 nf1 nf2)
Package

mgl-gpr.

Source

differential-evolution.lisp.

Function: sum-seq (seq &key key start end)

Return the sum of elements in the [START,END) subsequence of SEQ.

Package

mgl-gpr.

Source

util.lisp.

Function: tune/sansde (de mutation-info crossover-info numeric-parent-fitness numeric-child-fitness)
Package

mgl-gpr.

Source

differential-evolution.lisp.

Function: update-sansde-strategy (de)
Package

mgl-gpr.

Source

differential-evolution.lisp.


6.2.4 Generic functions

Generic Reader: autotune-fn (object)
Package

mgl-gpr.

Methods
Reader Method: autotune-fn ((differential-evolution differential-evolution))

automatically generated reader method

Source

differential-evolution.lisp.

Target Slot

autotune-fn.

Generic Reader: crossover-rate-mean (object)
Package

mgl-gpr.

Methods
Reader Method: crossover-rate-mean ((sansde sansde))

automatically generated reader method

Source

differential-evolution.lisp.

Target Slot

crossover-rate-mean.

Generic Writer: (setf crossover-rate-mean) (object)
Package

mgl-gpr.

Methods
Writer Method: (setf crossover-rate-mean) ((sansde sansde))

automatically generated writer method

Source

differential-evolution.lisp.

Target Slot

crossover-rate-mean.

Generic Reader: fitnesses (object)
Package

mgl-gpr.

Methods
Reader Method: fitnesses ((evolutionary-algorithm evolutionary-algorithm))

automatically generated reader method

Source

evolutionary-algorithm.lisp.

Target Slot

fitnesses.

Generic Writer: (setf fitnesses) (object)
Package

mgl-gpr.

Methods
Writer Method: (setf fitnesses) ((evolutionary-algorithm evolutionary-algorithm))

automatically generated writer method

Source

evolutionary-algorithm.lisp.

Target Slot

fitnesses.

Generic Reader: mutation-factor-pr (object)
Package

mgl-gpr.

Methods
Reader Method: mutation-factor-pr ((sansde sansde))

automatically generated reader method

Source

differential-evolution.lisp.

Target Slot

mutation-factor-pr.

Generic Writer: (setf mutation-factor-pr) (object)
Package

mgl-gpr.

Methods
Writer Method: (setf mutation-factor-pr) ((sansde sansde))

automatically generated writer method

Source

differential-evolution.lisp.

Target Slot

mutation-factor-pr.

Generic Reader: mutation-strategy-pr (object)
Package

mgl-gpr.

Methods
Reader Method: mutation-strategy-pr ((sansde sansde))

automatically generated reader method

Source

differential-evolution.lisp.

Target Slot

mutation-strategy-pr.

Generic Writer: (setf mutation-strategy-pr) (object)
Package

mgl-gpr.

Methods
Writer Method: (setf mutation-strategy-pr) ((sansde sansde))

automatically generated writer method

Source

differential-evolution.lisp.

Target Slot

mutation-strategy-pr.

Generic Reader: nursery (object)
Package

mgl-gpr.

Methods
Reader Method: nursery ((evolutionary-algorithm evolutionary-algorithm))

automatically generated reader method

Source

evolutionary-algorithm.lisp.

Target Slot

nursery.

Generic Writer: (setf nursery) (object)
Package

mgl-gpr.

Methods
Writer Method: (setf nursery) ((evolutionary-algorithm evolutionary-algorithm))

automatically generated writer method

Source

evolutionary-algorithm.lisp.

Target Slot

nursery.

Generic Reader: stats (object)
Package

mgl-gpr.

Methods
Reader Method: stats ((sansde sansde))

automatically generated reader method

Source

differential-evolution.lisp.

Target Slot

stats.

Generic Writer: (setf stats) (object)
Package

mgl-gpr.

Methods
Writer Method: (setf stats) ((sansde sansde))

automatically generated writer method

Source

differential-evolution.lisp.

Target Slot

stats.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
A   B   C   D   E   F   G   H   I   K   L   M   N   O   P   R   S   T   U   W  
Index Entry  Section

(
(setf copy-chance): Public generic functions
(setf copy-chance): Public generic functions
(setf crossover-rate-mean): Private generic functions
(setf crossover-rate-mean): Private generic functions
(setf fitnesses): Private generic functions
(setf fitnesses): Private generic functions
(setf fittest-changed-fn): Public generic functions
(setf fittest-changed-fn): Public generic functions
(setf keep-fittest-p): Public generic functions
(setf keep-fittest-p): Public generic functions
(setf mutation-chance): Public generic functions
(setf mutation-chance): Public generic functions
(setf mutation-factor-pr): Private generic functions
(setf mutation-factor-pr): Private generic functions
(setf mutation-strategy-pr): Private generic functions
(setf mutation-strategy-pr): Private generic functions
(setf nursery): Private generic functions
(setf nursery): Private generic functions
(setf population): Public generic functions
(setf population): Public generic functions
(setf population-size): Public generic functions
(setf population-size): Public generic functions
(setf stats): Private generic functions
(setf stats): Private generic functions

A
add-individual: Public ordinary functions
advance: Public generic functions
advance: Public generic functions
advance: Public generic functions
advance: Public generic functions
argument-types: Public generic functions
argument-types: Public generic functions
autotune-fn: Private generic functions
autotune-fn: Private generic functions

B
breed: Private ordinary functions
builder: Public generic functions
builder: Public generic functions

C
calculate-fitnesses: Private ordinary functions
change-node-at: Private ordinary functions
copy-chance: Public generic functions
copy-chance: Public generic functions
copy-some: Private ordinary functions
count-nodes: Public ordinary functions
create-individual-fn: Public generic functions
create-individual-fn: Public generic functions
crossover-expressions: Private ordinary functions
crossover-fn: Public generic functions
crossover-fn: Public generic functions
crossover-rate-mean: Private generic functions
crossover-rate-mean: Private generic functions
crossover-some: Private ordinary functions
crossover/binary: Public ordinary functions
crossover/sansde: Private ordinary functions

D
dotree: Private macros
draw-cauchy: Private ordinary functions
draw-positive-cauchy: Private ordinary functions
draw-positive-normal: Private ordinary functions
draw-rate: Private ordinary functions

E
evaluator: Public generic functions
evaluator: Public generic functions

F
find-operator: Private ordinary functions
fitness-key: Public generic functions
fitness-key: Public generic functions
fitnesses: Private generic functions
fitnesses: Private generic functions
fittest: Public generic functions
fittest: Public generic functions
fittest-changed-fn: Public generic functions
fittest-changed-fn: Public generic functions
Function, add-individual: Public ordinary functions
Function, breed: Private ordinary functions
Function, calculate-fitnesses: Private ordinary functions
Function, change-node-at: Private ordinary functions
Function, copy-some: Private ordinary functions
Function, count-nodes: Public ordinary functions
Function, crossover-expressions: Private ordinary functions
Function, crossover-some: Private ordinary functions
Function, crossover/binary: Public ordinary functions
Function, crossover/sansde: Private ordinary functions
Function, draw-cauchy: Private ordinary functions
Function, draw-positive-cauchy: Private ordinary functions
Function, draw-positive-normal: Private ordinary functions
Function, draw-rate: Private ordinary functions
Function, find-operator: Private ordinary functions
Function, gaussian-random-1: Private ordinary functions
Function, hold-tournament: Public ordinary functions
Function, insert-into-sorted-vector: Private ordinary functions
Function, map-tree: Private ordinary functions
Function, max-position/vector: Private ordinary functions
Function, mutate-expression: Private ordinary functions
Function, mutate-some: Private ordinary functions
Function, mutate/best/1: Public ordinary functions
Function, mutate/current-to-best/2: Public ordinary functions
Function, mutate/rand/1: Public ordinary functions
Function, mutate/sansde: Private ordinary functions
Function, node-at: Private ordinary functions
Function, node-expected-type: Private ordinary functions
Function, parent-of-node-at: Private ordinary functions
Function, pax-pages: Private ordinary functions
Function, pax-sections: Private ordinary functions
Function, random-element: Private ordinary functions
Function, random-expression: Public ordinary functions
Function, random-expression-class: Private ordinary functions
Function, random-gp-expression: Public ordinary functions
Function, random-normal: Private ordinary functions
Function, sansde-weighted-average: Private ordinary functions
Function, select-distinct-random-numbers: Public ordinary functions
Function, sum-seq: Private ordinary functions
Function, tune/sansde: Private ordinary functions
Function, update-sansde-strategy: Private ordinary functions

G
gaussian-random-1: Private ordinary functions
generation-counter: Public generic functions
generation-counter: Public generic functions
Generic Function, (setf copy-chance): Public generic functions
Generic Function, (setf crossover-rate-mean): Private generic functions
Generic Function, (setf fitnesses): Private generic functions
Generic Function, (setf fittest-changed-fn): Public generic functions
Generic Function, (setf keep-fittest-p): Public generic functions
Generic Function, (setf mutation-chance): Public generic functions
Generic Function, (setf mutation-factor-pr): Private generic functions
Generic Function, (setf mutation-strategy-pr): Private generic functions
Generic Function, (setf nursery): Private generic functions
Generic Function, (setf population): Public generic functions
Generic Function, (setf population-size): Public generic functions
Generic Function, (setf stats): Private generic functions
Generic Function, advance: Public generic functions
Generic Function, argument-types: Public generic functions
Generic Function, autotune-fn: Private generic functions
Generic Function, builder: Public generic functions
Generic Function, copy-chance: Public generic functions
Generic Function, create-individual-fn: Public generic functions
Generic Function, crossover-fn: Public generic functions
Generic Function, crossover-rate-mean: Private generic functions
Generic Function, evaluator: Public generic functions
Generic Function, fitness-key: Public generic functions
Generic Function, fitnesses: Private generic functions
Generic Function, fittest: Public generic functions
Generic Function, fittest-changed-fn: Public generic functions
Generic Function, generation-counter: Public generic functions
Generic Function, keep-fittest-p: Public generic functions
Generic Function, literals: Public generic functions
Generic Function, map-weights-into-fn: Public generic functions
Generic Function, mass-evaluator: Public generic functions
Generic Function, mutate-fn: Public generic functions
Generic Function, mutation-chance: Public generic functions
Generic Function, mutation-factor-pr: Private generic functions
Generic Function, mutation-strategy-pr: Private generic functions
Generic Function, name: Public generic functions
Generic Function, nursery: Private generic functions
Generic Function, operators: Public generic functions
Generic Function, population: Public generic functions
Generic Function, population-size: Public generic functions
Generic Function, randomizer: Public generic functions
Generic Function, result-type: Public generic functions
Generic Function, selector: Public generic functions
Generic Function, stats: Private generic functions
Generic Function, toplevel-type: Public generic functions
Generic Function, weight: Public generic functions

H
hold-tournament: Public ordinary functions

I
insert-into-sorted-vector: Private ordinary functions

K
keep-fittest-p: Public generic functions
keep-fittest-p: Public generic functions

L
literal: Public macros
literals: Public generic functions
literals: Public generic functions

M
Macro, dotree: Private macros
Macro, literal: Public macros
Macro, operator: Public macros
map-tree: Private ordinary functions
map-weights-into-fn: Public generic functions
map-weights-into-fn: Public generic functions
mass-evaluator: Public generic functions
mass-evaluator: Public generic functions
max-position/vector: Private ordinary functions
Method, (setf copy-chance): Public generic functions
Method, (setf crossover-rate-mean): Private generic functions
Method, (setf fitnesses): Private generic functions
Method, (setf fittest-changed-fn): Public generic functions
Method, (setf keep-fittest-p): Public generic functions
Method, (setf mutation-chance): Public generic functions
Method, (setf mutation-factor-pr): Private generic functions
Method, (setf mutation-strategy-pr): Private generic functions
Method, (setf nursery): Private generic functions
Method, (setf population): Public generic functions
Method, (setf population-size): Public generic functions
Method, (setf stats): Private generic functions
Method, advance: Public generic functions
Method, advance: Public generic functions
Method, advance: Public generic functions
Method, argument-types: Public generic functions
Method, autotune-fn: Private generic functions
Method, builder: Public generic functions
Method, copy-chance: Public generic functions
Method, create-individual-fn: Public generic functions
Method, crossover-fn: Public generic functions
Method, crossover-rate-mean: Private generic functions
Method, evaluator: Public generic functions
Method, fitness-key: Public generic functions
Method, fitnesses: Private generic functions
Method, fittest: Public generic functions
Method, fittest-changed-fn: Public generic functions
Method, generation-counter: Public generic functions
Method, keep-fittest-p: Public generic functions
Method, literals: Public generic functions
Method, map-weights-into-fn: Public generic functions
Method, mass-evaluator: Public generic functions
Method, mutate-fn: Public generic functions
Method, mutation-chance: Public generic functions
Method, mutation-factor-pr: Private generic functions
Method, mutation-strategy-pr: Private generic functions
Method, name: Public generic functions
Method, nursery: Private generic functions
Method, operators: Public generic functions
Method, population: Public generic functions
Method, population-size: Public generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, randomizer: Public generic functions
Method, result-type: Public generic functions
Method, selector: Public generic functions
Method, stats: Private generic functions
Method, toplevel-type: Public generic functions
Method, weight: Public generic functions
mutate-expression: Private ordinary functions
mutate-fn: Public generic functions
mutate-fn: Public generic functions
mutate-some: Private ordinary functions
mutate/best/1: Public ordinary functions
mutate/current-to-best/2: Public ordinary functions
mutate/rand/1: Public ordinary functions
mutate/sansde: Private ordinary functions
mutation-chance: Public generic functions
mutation-chance: Public generic functions
mutation-factor-pr: Private generic functions
mutation-factor-pr: Private generic functions
mutation-strategy-pr: Private generic functions
mutation-strategy-pr: Private generic functions

N
name: Public generic functions
name: Public generic functions
node-at: Private ordinary functions
node-expected-type: Private ordinary functions
nursery: Private generic functions
nursery: Private generic functions

O
operator: Public macros
operators: Public generic functions
operators: Public generic functions

P
parent-of-node-at: Private ordinary functions
pax-pages: Private ordinary functions
pax-sections: Private ordinary functions
population: Public generic functions
population: Public generic functions
population-size: Public generic functions
population-size: Public generic functions
print-object: Public standalone methods
print-object: Public standalone methods

R
random-element: Private ordinary functions
random-expression: Public ordinary functions
random-expression-class: Private ordinary functions
random-gp-expression: Public ordinary functions
random-normal: Private ordinary functions
randomizer: Public generic functions
randomizer: Public generic functions
result-type: Public generic functions
result-type: Public generic functions

S
sansde-weighted-average: Private ordinary functions
select-distinct-random-numbers: Public ordinary functions
selector: Public generic functions
selector: Public generic functions
stats: Private generic functions
stats: Private generic functions
sum-seq: Private ordinary functions

T
toplevel-type: Public generic functions
toplevel-type: Public generic functions
tune/sansde: Private ordinary functions

U
update-sansde-strategy: Private ordinary functions

W
weight: Public generic functions
weight: Public generic functions


A.3 Variables

Jump to:   @  
A   B   C   E   F   G   K   L   M   N   O   P   R   S   T   W  
Index Entry  Section

@
@gpr-background: Private special variables
@gpr-de: Private special variables
@gpr-de-sansde: Private special variables
@gpr-ea: Private special variables
@gpr-ea-evaluation: Private special variables
@gpr-ea-population: Private special variables
@gpr-ea-training: Private special variables
@gpr-gp: Private special variables
@gpr-gp-background: Private special variables
@gpr-gp-basics: Private special variables
@gpr-gp-environment: Private special variables
@gpr-gp-expressions: Private special variables
@gpr-gp-links: Private special variables
@gpr-gp-reproduction: Private special variables
@gpr-gp-search-space: Private special variables
@gpr-gp-tutorial: Private special variables
@gpr-manual: Private special variables

A
argument-types: Public classes
autotune-fn: Public classes
autotune-fn: Public classes

B
builder: Public classes

C
copy-chance: Public classes
create-individual-fn: Public classes
crossover-fn: Public classes
crossover-fn: Public classes
crossover-rate-mean: Public classes

E
evaluator: Public classes

F
fitness-key: Public classes
fitnesses: Public classes
fittest: Public classes
fittest-changed-fn: Public classes

G
generation-counter: Public classes

K
keep-fittest-p: Public classes

L
literals: Public classes

M
map-weights-into-fn: Public classes
mass-evaluator: Public classes
mutate-fn: Public classes
mutate-fn: Public classes
mutation-chance: Public classes
mutation-factor-pr: Public classes
mutation-strategy-pr: Public classes

N
name: Public classes
nursery: Public classes

O
operators: Public classes

P
population: Public classes
population-size: Public classes

R
randomizer: Public classes
result-type: Public classes

S
selector: Public classes
Slot, argument-types: Public classes
Slot, autotune-fn: Public classes
Slot, autotune-fn: Public classes
Slot, builder: Public classes
Slot, copy-chance: Public classes
Slot, create-individual-fn: Public classes
Slot, crossover-fn: Public classes
Slot, crossover-fn: Public classes
Slot, crossover-rate-mean: Public classes
Slot, evaluator: Public classes
Slot, fitness-key: Public classes
Slot, fitnesses: Public classes
Slot, fittest: Public classes
Slot, fittest-changed-fn: Public classes
Slot, generation-counter: Public classes
Slot, keep-fittest-p: Public classes
Slot, literals: Public classes
Slot, map-weights-into-fn: Public classes
Slot, mass-evaluator: Public classes
Slot, mutate-fn: Public classes
Slot, mutate-fn: Public classes
Slot, mutation-chance: Public classes
Slot, mutation-factor-pr: Public classes
Slot, mutation-strategy-pr: Public classes
Slot, name: Public classes
Slot, nursery: Public classes
Slot, operators: Public classes
Slot, population: Public classes
Slot, population-size: Public classes
Slot, randomizer: Public classes
Slot, result-type: Public classes
Slot, selector: Public classes
Slot, stats: Public classes
Slot, toplevel-type: Public classes
Slot, weight: Public classes
Special Variable, @gpr-background: Private special variables
Special Variable, @gpr-de: Private special variables
Special Variable, @gpr-de-sansde: Private special variables
Special Variable, @gpr-ea: Private special variables
Special Variable, @gpr-ea-evaluation: Private special variables
Special Variable, @gpr-ea-population: Private special variables
Special Variable, @gpr-ea-training: Private special variables
Special Variable, @gpr-gp: Private special variables
Special Variable, @gpr-gp-background: Private special variables
Special Variable, @gpr-gp-basics: Private special variables
Special Variable, @gpr-gp-environment: Private special variables
Special Variable, @gpr-gp-expressions: Private special variables
Special Variable, @gpr-gp-links: Private special variables
Special Variable, @gpr-gp-reproduction: Private special variables
Special Variable, @gpr-gp-search-space: Private special variables
Special Variable, @gpr-gp-tutorial: Private special variables
Special Variable, @gpr-manual: Private special variables
stats: Public classes

T
toplevel-type: Public classes

W
weight: Public classes


A.4 Data types

Jump to:   C   D   E   F   G   L   M   O   P   S   T   U  
Index Entry  Section

C
Class, differential-evolution: Public classes
Class, evolutionary-algorithm: Public classes
Class, expression-class: Public classes
Class, genetic-programming: Public classes
Class, literal: Public classes
Class, operator: Public classes
Class, sansde: Public classes

D
differential-evolution: Public classes
differential-evolution.lisp: The mgl-gpr/src/differential-evolution․lisp file
doc.lisp: The mgl-gpr/src/doc․lisp file

E
evolutionary-algorithm: Public classes
evolutionary-algorithm.lisp: The mgl-gpr/src/evolutionary-algorithm․lisp file
expression-class: Public classes

F
File, differential-evolution.lisp: The mgl-gpr/src/differential-evolution․lisp file
File, doc.lisp: The mgl-gpr/src/doc․lisp file
File, evolutionary-algorithm.lisp: The mgl-gpr/src/evolutionary-algorithm․lisp file
File, genetic-programming.lisp: The mgl-gpr/src/genetic-programming․lisp file
File, mgl-gpr.asd: The mgl-gpr/mgl-gpr․asd file
File, package.lisp: The mgl-gpr/src/package․lisp file
File, tree.lisp: The mgl-gpr/src/tree․lisp file
File, util.lisp: The mgl-gpr/src/util․lisp file

G
genetic-programming: Public classes
genetic-programming.lisp: The mgl-gpr/src/genetic-programming․lisp file

L
literal: Public classes

M
mgl-gpr: The mgl-gpr system
mgl-gpr: The mgl-gpr package
mgl-gpr.asd: The mgl-gpr/mgl-gpr․asd file
Module, src: The mgl-gpr/src module

O
operator: Public classes

P
Package, mgl-gpr: The mgl-gpr package
package.lisp: The mgl-gpr/src/package․lisp file

S
sansde: Public classes
src: The mgl-gpr/src module
System, mgl-gpr: The mgl-gpr system

T
tree.lisp: The mgl-gpr/src/tree․lisp file

U
util.lisp: The mgl-gpr/src/util․lisp file