Evocosm - A C++ Framework for Evolutionary Computing

Main Index

Created by Scott Robert Ladd at Coyote Gulch Productions.


libevocosm::fsm_tools::mutation_selector Class Reference

Wraps a roulette wheel for selecting mutations. More...

#include <fsm_tools.h>

List of all members.

Public Member Functions


Detailed Description

This class encapsulates a roulette wheel for selecting mutations. By default, the simple_fsm::mutate operator uses a pre-defined mutation_selector with default percentages of:

The default values were chosen based on my past experience. You can define your own mutation_selector with different weights, and pass it to simple_fsm::mutate.

See also:
roulette_wheel

Constructor & Destructor Documentation

libevocosm::fsm_tools::mutation_selector::mutation_selector (  )  [inline]

Constructs a new mutation_selector with the default weights for the roulette wheel.

libevocosm::fsm_tools::mutation_selector::mutation_selector ( const mutation_selector a_source  )  [inline]

Creates a copy of an existing object.

Parameters:
a_source - The source object to be copied

libevocosm::fsm_tools::mutation_selector::~mutation_selector (  )  [inline]

Destroys a mutation selector, freeing resources.


Member Function Documentation

mutation_selector& libevocosm::fsm_tools::mutation_selector::operator= ( const mutation_selector a_source  )  [inline]

Assigns the state of one mutation selector to another.

Parameters:
a_source - The source object

References m_selector.

void libevocosm::fsm_tools::mutation_selector::set_weight ( mutation_id  a_type,
double &  a_new_weight 
) [inline]

Changes a specific mutation weight to a new value.

Parameters:
a_type - Identifies the specific mutation weight to be set
a_new_weight - New weight to be assigned

References libevocosm::roulette_wheel::set_weight().

Referenced by libevocosm::simple_fsm< InSize, OutSize >::set_mutation_weight(), and libevocosm::fuzzy_machine< InSize, OutSize >::set_mutation_weight().


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.