Created by Scott Robert Ladd at Coyote Gulch Productions.
Implements reproduction. More...
#include <function_optimizer.h>
Handles reproduction for solutions.
libevocosm::function_reproducer::function_reproducer | ( | double | p_crossover_rate = 1.0 | ) | [inline] |
Creates a new reproducer with a given crossover rate.
libevocosm::function_reproducer::function_reproducer | ( | const function_reproducer & | a_source | ) | [inline] |
Duplicates an existing object.
a_source | - The source object |
virtual libevocosm::function_reproducer::~function_reproducer | ( | ) | [inline, virtual] |
Satisfies the requirements of the base class; does nothing at this time.
virtual vector<function_solution> libevocosm::function_reproducer::breed | ( | const vector< function_solution > & | a_population, |
size_t | p_limit | ||
) | [virtual] |
Breeds new solutions, by cloning or the combination of elements from parent organisms. By default, the crossover rate is 1.0 (100%), meaning that all children stem from crossover between two parents. The crossover is implemented on a argument-by-argument basis; in other words, crossover occurs between corresponding elements of the parent solutions.
a_population | - A population of solutions |
p_limit | - Maximum number of children |
Implements libevocosm::reproducer< function_solution >.
double libevocosm::function_reproducer::crossover_rate | ( | ) | const [inline] |
Returns the crossover rate set for this reproducer.
function_reproducer& libevocosm::function_reproducer::operator= | ( | const function_reproducer & | a_source | ) | [inline] |
Assigns the state of one object to another.
a_source | - The source object |
© 1996-2005 Scott Robert Ladd. All rights reserved.
HTML documentation generated by Dimitri van Heesch's excellent Doxygen tool.