Changes between Version 1 and Version 2 of Manipulators
- Timestamp:
- 06/08/10 21:56:08 (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Manipulators
v1 v2 6 6 [=#Binary] 7 7 == 1. Manipulators for !BinaryVectorEncoding == 8 9 '''Common Operator Parameters:''' 10 The following paramters are present for all Manipulators that can be applied solutions encoded as binary vectors: 11 12 ||= Parameter =||= Description =|| 13 || !BinaryVector || The vector which should be manipulated. || 14 || Random || The pseudo random number generator which should be used for stochastic manipulation operators. || 15 8 16 === 1.1 !SinglePositionBitflipManipulator === 9 17 Flips exactly one bit of a binary vector. It is implemented as described in (Michalewicz 1999). … … 11 19 === 1.2 !SomePositionBitflipManipulator === 12 20 Flips some bits of a binary vector, each position is flipped with a probability of pm. It is implemented as described in (Eiben and Smith 2003, p. 43). 21 22 '''Additional Operator Parameters:''' 23 ||= Parameter =||= Description =|| 24 || !MutationProbability || The mutation probability for each position (Default: 0.2) || 13 25 14 26 [=#Integer] … … 17 29 Uniformly distributed change of a single position of an integer vector. It is implemented as described in (Michalewicz 1999). 18 30 31 '''Operator Parameters:''' 32 ||= Parameter =||= Description =|| 33 || !IntegerVector || The integer vector which should be manipulated. || 34 || Maximum || Maximum of the sampling range for the vector element (excluded) || 35 || Minimum || Minimum of the sampling range for the vector element (included) || 36 || Random || The pseudo random number generator which should be used for stochastic manipulation operators. || 37 19 38 [=#Permutation] 20 39 == 3. Manipulators for !PermuationEncoding == 40 41 '''Common Operator Parameters:''' 42 The following paramters are present for all Manipulators that can be applied solutions encoded as permutations: 43 44 ||= Parameter =||= Description =|| 45 || Permutation || The permutation which should be manipulated. || 46 || Random || The pseudo random number generator which should be used for stochastic manipulation operators. || 47 21 48 === 3.1 !InsertionManipulator === 22 49 An operator which moves randomly one element to another position in the permutation (Insertion is a special case of Translocation). It is implemented as described in (Fogel 1988). … … 28 55 Randomly selects and applies one of its manipulators every time it is called. 29 56 57 '''Additional Operator Parameters:''' 58 ||= Parameter =||= Description =|| 59 || 0-6|| 7 mutation operators || 60 || Probabilities || The array of relative probabilities for each operator (Default: {{{[1,1,1,1,1,1,1]}}}) || 61 30 62 === 3.4 !ScrambleManipulator === 31 63 An operator which manipulates a permutation array by randomly scrambling the elements in a randomly chosen interval. It is implemented as described in (Syswerda 1991). 32 64 33 === 3.5 !Swap2Manipulator ===65 === 3.5 Swap2Manipulator === 34 66 An operator which manipulates a permutation array by swapping to randomly chosen elements. It is implemented as described in (Eiben and Smith 2003). 35 67 36 === 3.6 !Swap3Manipuator ===68 === 3.6 Swap3Manipuator === 37 69 An operator which manipulates a permutation array by swaping three randomly chosen elements. It is implemented such that first 3 positions are randomly chosen in the interval [0;N) with N = length of the permutation with all positions being distinct from each other. Then position 1 is put in place of position 3, position 2 is put in place of position 1 and position 3 is put in place of position 2. 38 70 … … 45 77 [=#Real] 46 78 == 4. Manipulators for !RealvectorEncoding == 79 80 '''Common Operator Parameters:''' 81 The following paramters are present for all Manipulators that can be applied solutions encoded as real vectors: 82 83 ||= Parameter =||= Description =|| 84 || Bounds || The lower and upper bounds of the real vector. || 85 || Random || The pseudo random number generator which should be used for stochastic manipulation operators. || 86 || !RealVector|| The vector which should be manipulated. || 87 47 88 === 4.1 !BreederGeneticAlgorithmManipulator === 48 89 It is implemented as described by (Mühlenbein and Schlierkamp-Voosen 1993). 49 90 91 '''Additional Operator Parameters:''' 92 ||= Parameter =||= Description =|| 93 || !SearchIntervalFactor || The factor determining the size of the search interval, that will be added/removed to/from the allele selected for manipulation. E.g. a value of 0.1 means 10% of the range will be maximally added/removed. (Default: 0.1) || 94 50 95 === 4.2 !MichalewiczNonUniformAllPositionsManipulator === 51 96 It is implemented as described in (Michalewicz 1999). 52 97 98 '''Additional Operator Parameters:''' 99 ||= Parameter =||= Description =|| 100 || !IterationDependency || Specifies the degree of dependency on the number of iterations. A value of 0 means no dependency and the higher the value the stronger the progress towards maximum iterations will be taken into account by sampling closer around the current position. Value must be >= 0. (Default: 5) || 101 || Iterations || Current iteration of the algorithm || 102 || !MaximumIterations || Maximum number of iterations || 103 53 104 === 4.3 !MichalewiczNonUniformOnePositionManipulator === 54 105 It is implemented as described in (Michalewicz 1999). 55 106 107 '''Additional Operator Parameters:''' 108 ||= Parameter =||= Description =|| 109 || !IterationDependency || Specifies the degree of dependency on the number of iterations. A value of 0 means no dependency and the higher the value the stronger the progress towards maximum iterations will be taken into account by sampling closer around the current position. Value must be >= 0. (Default: 5) || 110 || Iterations || Current iteration of the algorithm || 111 || !MaximumIterations || Maximum number of iterations || 112 56 113 === 4.4 !MultiRealVectorManipulator === 57 114 Randomly selects and applies one of its manipulators every time it is called. 58 115 116 '''Additional Operator Parameters:''' 117 ||= Parameter =||= Description =|| 118 || 0-6|| 7 mutation operators || 119 || Probabilities || The array of relative probabilities for each operator (Default: {{{[1,1,1,1,1,1,1]}}}) || 120 59 121 === 4.5 !NormalAllPositionsManipulator === 60 122 This manipulation operator adds a value sigma_i * N(0,1) to the current value in each position i. The values for sigma_i are taken from the strategy vector, if there are less elements in the strategy vector than positions, then the strategy vector is cycled. It is implemented as described in (Beyer and Schwefel 2002). 61 123 124 '''Additional Operator Parameters:''' 125 ||= Parameter =||= Description =|| 126 || !StrategyParameter || The vector containing the endogenous strategy parameters. || 127 62 128 === 4.6 !PolynomialAllPositionManipulator === 63 129 The polynomial manipulation is implemented as described in (Deb and Goyal 1996). In this operator it is performed on all positions of the real vector. 64 130 131 '''Additional Operator Parameters:''' 132 ||= Parameter =||= Description =|| 133 || Contiguity || Specifies whether the manipulation should produce far stretching (small value) or close (large value) manipulations with higher probability. Valid values must be greater or equal to 0. (Default: 2) || 134 || !MaximumManipulation || Specifies the maximum value that should be added or subtracted by the manipulation. If this value is set to 0 no mutation will be performed. (Default: 1 || 135 65 136 === 4.7 !PolynomialOnePositionManipulator === 66 137 The polynomial manipulation is implemented as described in (Deb and Goyal 1996). In this operator it is performed on a single randomly chosen position of the real vector. 67 138 139 '''Additional Operator Parameters:''' 140 ||= Parameter =||= Description =|| 141 || Contiguity || Specifies whether the manipulation should produce far stretching (small value) or close (large value) manipulations with higher probability. Valid values must be greater or equal to 0. (Default: 2) || 142 || !MaximumManipulation || Specifies the maximum value that should be added or subtracted by the manipulation. If this value is set to 0 no mutation will be performed. (Default: 1 || 143 68 144 === 4.8 !UniformOnePositionManipulator === 69 145 Changes a single position in the vector by sampling uniformly from the interval [Minimum_i, Maximum_i) in dimension i. It is implemented as described in (Michalewicz 1999). … … 72 148 == 5. Manipulators for !SymbolicExpressionTreeEncoding == 73 149 150 '''Common Operator Parameters:''' 151 The following paramters are present for all Manipulators that can be applied solutions encoded as symbolic expression trees: 152 153 ||= Parameter =||= Description =|| 154 || !MaxTreeHeight || The maximal height of the symbolic expression tree (a tree with one node has height = 0). || 155 || !MaxTreeSize || The maximal size (number of nodes) of the symbolic expression tree. || 156 || Random || The pseudo random number generator which should be used for stochastic crossover operators. || 157 || !SymbolicExpressionGrammar || The grammar that defines the allowed symbols and syntax of the symbolic expression trees. || 158 || !SymbolicExpressionTree || The symbolic expression tree on which the operator should be applied. || 159 74 160 === 5.1 !ArgumentCreater === 75 161 Manipulates a symbolic expression by creating a new argument within one function-defining branch. 76 162 163 '''Additional Operator Parameters:''' 164 ||= Parameter =||= Description =|| 165 || !FailedManipulationEvents || The number of failed manipulation events. (Default: 0) || 166 || !MaxFunctionArguments || The maximal allowed number of arguments of a newly created function. || 167 || !MaxFunctionDefiningBranches || The maximal allowed number of function defining branches. || 168 77 169 === 5.2 !ArgumentDeleter === 78 170 Manipulates a symbolic expression by deleting an argument from an existing function defining branch. 79 171 172 '''Additional Operator Parameters:''' 173 ||= Parameter =||= Description =|| 174 || !FailedManipulationEvents || The number of failed manipulation events. (Default: 0) || 175 || !MaxFunctionArguments || The maximal allowed number of arguments of a newly created function. || 176 || !MaxFunctionDefiningBranches || The maximal allowed number of function defining branches. || 177 80 178 === 5.3 !ArgumentDuplicater === 81 179 Manipulates a symbolic expression by duplicating an existing argument node of a function-defining branch. 82 180 181 '''Additional Operator Parameters:''' 182 ||= Parameter =||= Description =|| 183 || !FailedManipulationEvents || The number of failed manipulation events. (Default: 0) || 184 || !MaxFunctionArguments || The maximal allowed number of arguments of a newly created function. || 185 || !MaxFunctionDefiningBranches || The maximal allowed number of function defining branches. || 186 83 187 === 5.4 !ChangeNodeTypeManipulation === 84 188 Selects a random tree node and changes the symbol size. 85 189 190 '''Additional Operator Parameters:''' 191 ||= Parameter =||= Description =|| 192 || !FailedManipulationEvents || The number of failed manipulation events. (Default: 0) || 193 86 194 === 5.5 !FullTreeShaker === 87 195 Manipulates all nodes that have local parameters. 88 196 197 '''Additional Operator Parameters:''' 198 ||= Parameter =||= Description =|| 199 || !FailedManipulationEvents || The number of failed manipulation events. (Default: 0) || 200 89 201 === 5.6 !MultiSymbolicExpressionTreeArchitectureManipulator === 90 202 Randomly selects and applies one of its architecture manipulators every time it is called. 91 203 204 '''Additional Operator Parameters:''' 205 ||= Parameter =||= Description =|| 206 || 0-5 || 6 mutation operators || 207 || !MaxFunctionArguments || The maximal allowed number of arguments of a newly created function. || 208 || !MaxFunctionDefiningBranches || The maximal allowed number of function defining branches. || 209 || Probabilities || The array of relative probabilities for each operator (Default: {{{[1,1,1,1,1,1]}}}) || 210 92 211 === 5.7 !MultiSymbolicExpressionTreeManipulator === 93 212 Randomly selects and applies one of its manipulators every time it is called. 94 213 214 '''Additional Operator Parameters:''' 215 ||= Parameter =||= Description =|| 216 || 0-2 || 3 mutation operators || 217 || Probabilities || The array of relative probabilities for each operator (Default: {{{[1,1,1]}}}) || 218 95 219 === 5.8 !OnePointShaker === 96 220 Selects a random node with local parameters and manipulates the selected node. 97 221 222 '''Additional Operator Parameters:''' 223 ||= Parameter =||= Description =|| 224 || !FailedManipulationEvents || The number of failed manipulation events. (Default: 0) || 225 98 226 === 5.9 !SubroutineCreater === 99 227 Manipulates a symbolic expression by adding one new function-defining branch containing a proportion of a preexisting branch and by creating a reference to the new branch. 100 228 229 '''Additional Operator Parameters:''' 230 ||= Parameter =||= Description =|| 231 || !FailedManipulationEvents || The number of failed manipulation events. (Default: 0) || 232 || !MaxFunctionArguments || The maximal allowed number of arguments of a newly created function. || 233 || !MaxFunctionDefiningBranches || The maximal allowed number of function defining branches. || 234 101 235 === 5.10 !SubroutineDeleter === 102 236 Manipulates a symbolic expression by deleting a preexisting function-defining branch. 103 237 238 '''Additional Operator Parameters:''' 239 ||= Parameter =||= Description =|| 240 || !FailedManipulationEvents || The number of failed manipulation events. (Default: 0) || 241 || !MaxFunctionArguments || The maximal allowed number of arguments of a newly created function. || 242 || !MaxFunctionDefiningBranches || The maximal allowed number of function defining branches. || 243 104 244 === 5.11 !SubroutineDuplicater === 105 245 Manipulates a symbolic expression by duplicating a preexisting function-defining branch. 246 247 '''Additional Operator Parameters:''' 248 ||= Parameter =||= Description =|| 249 || !FailedManipulationEvents || The number of failed manipulation events. (Default: 0) || 250 || !MaxFunctionArguments || The maximal allowed number of arguments of a newly created function. || 251 || !MaxFunctionDefiningBranches || The maximal allowed number of function defining branches. || 106 252 107 253 ----