Changes between Initial Version and Version 1 of Ticket #1496
- Timestamp:
- 04/29/11 14:28:57 (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #1496
- Property Owner changed from swagner to abeham
- Property Status changed from new to assigned
-
Ticket #1496 – Description
initial v1 3 3 The operator is described in Tate1995 as follows: 4 4 "Instead, we selected parent strings by choosing a uniform random number between 1 and sqrt(m) (where m is the population size), then squaring it. The result was truncated and taken to be the rank of the selected parent (where string zero is the fittest string in the population). This approach can be generalized to give an arbitrary degree of preference or even varied dynamically during a given run by changing the power of the root of m during subsequent generations." 5 6 Unfortunately the authors did not name this operator, so my idea would be to call it `GeneralizedRankSelection` 7 8 The formular for calculating the index of the selected solution (assuming the solutions are sorted from best to worst) thus is as follows: 9 {{{ 10 #!c 11 int randomNumber = 1 + rand() * (pow(m, 1.0 / pressure) - 1); 12 int selectedIndex = floor(pow(randomNumber, pressure) - 1); 13 }}} 14 15 The variable //pressure// lies in the open interval [1;infinity). If //pressure// equals 1, this is similar to random selection. The higher //pressure// becomes, the more likely better solutions are selected.