35 #if !defined(LIBEVOCOSM_FSM_TOOLS_H)
36 #define LIBEVOCOSM_FSM_TOOLS_H
88 static const double default_weights [] = { 20.0, 20.0, 20.0, 20.0, 20.0 };
Wraps a roulette wheel for selecting mutations.
Definition: fsm_tools.h:77
size_t get_index() const
Retrieve a random index.
mutation_selector()
Creation constructor.
Definition: fsm_tools.h:85
double set_weight(size_t a_index, double a_weight)
Change the weight assigned to an entry.
mutation_selector & operator=(const mutation_selector &a_source)
Assignment operator.
Definition: fsm_tools.h:118
A set of common tools for finite state machines.
Definition: fsm_tools.h:47
Mutate an output symbol.
Definition: fsm_tools.h:53
void set_weight(mutation_id a_type, double &a_new_weight)
Change a given weight.
Definition: fsm_tools.h:130
Mutate that initial state.
Definition: fsm_tools.h:57
Mutate a state transition.
Definition: fsm_tools.h:54
~mutation_selector()
Destructor.
Definition: fsm_tools.h:108
A toolkit and framework for implementing evolutionary algorithms.
Definition: evocommon.h:60
Swap two states.
Definition: fsm_tools.h:56
Replace a new state with a randomly-generated one.
Definition: fsm_tools.h:55
mutation_id
Types of mutation supported.
Definition: fsm_tools.h:51
mutation_selector(const mutation_selector &a_source)
Copy constructor.
Definition: fsm_tools.h:98
A simulated roulette wheel for weighted selection.
Definition: roulette.h:71
size_t get_index() const
Get a mutation index.
Definition: fsm_tools.h:141