Fitness proportional (and inverse proportional) individual selection operator.
More...
#include <SelFitnessProportionalOp.h>
List of all members.
Public Member Functions |
bool | initialize (StateP) |
| Selection operator initialization. Must be called before individual selection.
|
IndividualP | select (const std::vector< IndividualP > &) |
| Select one individual from a set.
|
std::vector< IndividualP > | selectMany (const std::vector< IndividualP > &, uint) |
| Repeatedly select from the same pool (duplicates allowed).
|
bool | setSelPressure (double) |
| Set selection pressure value.
|
Protected Attributes |
double | selPressure_ |
| the ratio of selection probability of the best and worst individual in the set
|
Detailed Description
Fitness proportional (and inverse proportional) individual selection operator.
- Functionality
- The selection operator assigns a positive value 'S' to each individual, and chooses an individual with proportion to the value 'S'. The selection pressure parameter 'P' states how much is the best individual 'better' than the worst, i.e. how greater chance of selection has the best individual related to the worst one. (the worst individual always has S = 1, and the best S = P)
- Inverse proportional selection
- For elimination purpose, the P may be set to a value lower than 1; in that case, the worst individual will have the greatest chance of selection, and the best individual the lowest chance.
- Examples
- if P = 10, then the best individual has the selection value 10 and worst value 1
- if P = 0.1, then the best individual has the selection value 0.1 (i.e. has 10 times lesser chance to be selected than the worst individual!)
Definition at line 26 of file SelFitnessProportionalOp.h.
The documentation for this class was generated from the following files: