Evocosm - A C++ Framework for Evolutionary Computing

Main Index

Created by Scott Robert Ladd at Coyote Gulch Productions.


Public Member Functions | List of all members
libevocosm::function_mutator Class Reference

Mutates solutions. More...

#include <function_optimizer.h>

Inheritance diagram for libevocosm::function_mutator:
libevocosm::mutator< function_solution > libevocosm::fopt_global libevocosm::globals

Public Member Functions

 function_mutator (double a_mutation_rate)
 Creation constructor. More...
 
 function_mutator (const function_mutator &a_source)
 Copy constructor. More...
 
virtual ~function_mutator ()
 Virtual destructor. More...
 
function_mutatoroperator= (const function_mutator &a_source)
 Assignment operator. More...
 
double mutation_rate () const
 Gets the mutation rate. More...
 
void mutate (vector< function_solution > &a_population)
 Performs mutations. More...
 
- Public Member Functions inherited from libevocosm::mutator< function_solution >
virtual ~mutator ()
 Virtual destructor. More...
 

Additional Inherited Members

- Protected Types inherited from libevocosm::fopt_global
typedef vector< double > t_function(vector< double > a_args)
 Definition of a function type. More...
 
- Static Protected Member Functions inherited from libevocosm::globals
static size_t rand_index (size_t n)
 Static function to allow use of g_random function pointer in random_shuffle.
 
static void set_seed (uint32_t a_seed)
 Set the seed for the random number generator.
 
static uint32_t get_seed ()
 Set the seed for the random number generator.
 
static std::string version ()
 Get version number.
 
- Static Protected Attributes inherited from libevocosm::globals
static prng g_random
 A shared random number generator.
 
static std::string g_version
 Version number.
 
- Static Protected Attributes inherited from libevocosm::fopt_global
static evoreal g_evoreal
 Provides mutation and crossover services for doubles.
 

Detailed Description

Implements chance-based mutation of solutions.

Constructor & Destructor Documentation

libevocosm::function_mutator::function_mutator ( double  a_mutation_rate)
inline

Creates a new mutator with a given mutation rate.

libevocosm::function_mutator::function_mutator ( const function_mutator a_source)
inline

Duplicates an existing object.

Parameters
a_source- The source object
virtual libevocosm::function_mutator::~function_mutator ( )
inlinevirtual

Satisfies the requirements of the base class; does nothing at this time.

Member Function Documentation

void libevocosm::function_mutator::mutate ( vector< function_solution > &  a_population)
virtual

Mutates a solution using the facilities provided by g_evoreal.

Parameters
a_population- Solutions to be mutated

Implements libevocosm::mutator< function_solution >.

double libevocosm::function_mutator::mutation_rate ( ) const
inline

Returns the mutation rate set for this mutator.

Returns
Mutation rate
function_mutator& libevocosm::function_mutator::operator= ( const function_mutator a_source)
inline

Assigns the state of one object to another.

Parameters
a_source- The source object
Returns
A reference to this

The documentation for this class was generated from the following file:

© 1996-2005 Scott Robert Ladd. All rights reserved.
HTML documentation generated by Dimitri van Heesch's excellent Doxygen tool.