Wraps a roulette wheel for selecting mutations.
More...
#include <machine_tools.h>
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:
- 20% MUTATE_OUTPUT_SYMBOL
- 20% MUTATE_TRANSITION
- 20% MUTATE_REPLACE_STATE
- 20% MUTATE_SWAP_STATES
- 20% MUTATE_INIT_STATE
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::machine_tools::mutation_selector::mutation_selector |
( |
| ) |
|
|
inline |
libevocosm::machine_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::machine_tools::mutation_selector::~mutation_selector |
( |
| ) |
|
|
inline |
Destroys a mutation selector, freeing resources.
Member Function Documentation
Assigns the state of one mutation selector to another.
- Parameters
-
a_source | - The source object |
void libevocosm::machine_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().
The documentation for this class was generated from the following file: