Free cookie consent management tool by TermsFeed Policy Generator

Changes between Initial Version and Version 1 of Manipulators


Ignore:
Timestamp:
06/08/10 21:08:19 (14 years ago)
Author:
mkofler
Comment:

Added manipulator description page

Legend:

Unmodified
Added
Removed
Modified
  • Manipulators

    v1 v1  
     1[[PageOutline]]
     2= Manipulators =
     3Manipulators are HeuristicLab 3.3 operators that implement the `IManipulator` interface. Manipulators are specific for a particular solution encoding.
     4
     5----
     6[=#Binary]
     7== 1. Manipulators for !BinaryVectorEncoding ==
     8=== 1.1 !SinglePositionBitflipManipulator ===
     9Flips exactly one bit of a binary vector. It is implemented as described in (Michalewicz 1999).
     10
     11=== 1.2 !SomePositionBitflipManipulator ===
     12Flips 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).
     13
     14[=#Integer]
     15== 2. Manipulators for !IntegerVectorEncoding ==
     16=== 2.1 !UniformOnePositionManipulator ===
     17Uniformly distributed change of a single position of an integer vector. It is implemented as described in (Michalewicz 1999).
     18
     19[=#Permutation]
     20== 3. Manipulators for !PermuationEncoding ==
     21=== 3.1 !InsertionManipulator ===
     22An 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).
     23
     24=== 3.2 !InversionManipulator ===
     25An operator which inverts a randomly chosen part of a permutation. It is implemented as described in (Eiben and Smith 2003).
     26
     27=== 3.3 !MultiPermutationManipulator ===
     28Randomly selects and applies one of its manipulators every time it is called.
     29
     30=== 3.4 !ScrambleManipulator ===
     31An 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
     33=== 3.5 !Swap2Manipulator ===
     34An operator which manipulates a permutation array by swapping to randomly chosen elements. It is implemented as described in (Eiben and Smith 2003).
     35
     36=== 3.6 !Swap3Manipuator ===
     37An 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
     39=== 3.7 !TranslocationInversionManipulator ===
     40An operator which inverts a randomly chosen part of a permutation and inserts it at a random position. It is implemented as described in (Fogel 1993).
     41
     42=== 3.8 !TranslocationManipulator ===
     43An operator which Manipulates a permutation array by moving a randomly chosen interval of elements to another (randomly chosen) position in the array. It is implemented as described in (Michalewicz 1992).
     44
     45[=#Real]
     46== 4. Manipulators for !RealvectorEncoding ==
     47=== 4.1 !BreederGeneticAlgorithmManipulator ===
     48It is implemented as described by (Mühlenbein and Schlierkamp-Voosen 1993).
     49
     50=== 4.2 !MichalewiczNonUniformAllPositionsManipulator ===
     51It is implemented as described in (Michalewicz 1999).
     52
     53=== 4.3 !MichalewiczNonUniformOnePositionManipulator ===
     54It is implemented as described in (Michalewicz 1999).
     55
     56=== 4.4 !MultiRealVectorManipulator ===
     57Randomly selects and applies one of its manipulators every time it is called.
     58
     59=== 4.5 !NormalAllPositionsManipulator ===
     60This 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
     62=== 4.6 !PolynomialAllPositionManipulator ===
     63The 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
     65=== 4.7 !PolynomialOnePositionManipulator ===
     66The 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
     68=== 4.8 !UniformOnePositionManipulator ===
     69Changes 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).
     70
     71[=#Trees]
     72== 5. Manipulators for !SymbolicExpressionTreeEncoding ==
     73
     74=== 5.1 !ArgumentCreater ===
     75Manipulates a symbolic expression by creating a new argument within one function-defining branch.
     76
     77=== 5.2 !ArgumentDeleter ===
     78Manipulates a symbolic expression by deleting an argument from an existing function defining branch.
     79
     80=== 5.3 !ArgumentDuplicater ===
     81Manipulates a symbolic expression by duplicating an existing argument node of a function-defining branch.
     82
     83=== 5.4 !ChangeNodeTypeManipulation ===
     84Selects a random tree node and changes the symbol size.
     85
     86=== 5.5 !FullTreeShaker ===
     87Manipulates all nodes that have local parameters.
     88
     89=== 5.6 !MultiSymbolicExpressionTreeArchitectureManipulator ===
     90Randomly selects and applies one of its architecture manipulators every time it is called.
     91
     92=== 5.7 !MultiSymbolicExpressionTreeManipulator ===
     93Randomly selects and applies one of its manipulators every time it is called.
     94
     95=== 5.8 !OnePointShaker ===
     96Selects a random node with local parameters and manipulates the selected node.
     97
     98=== 5.9 !SubroutineCreater ===
     99Manipulates 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
     101=== 5.10 !SubroutineDeleter ===
     102Manipulates a symbolic expression by deleting a preexisting function-defining branch.
     103
     104=== 5.11 !SubroutineDuplicater ===
     105Manipulates a symbolic expression by duplicating a preexisting function-defining branch.
     106
     107----
     108== References ==
     109 * Beyer, H.-G. and Schwefel, H.-P. 2002. Evolution Strategies - A Comprehensive Introduction Natural Computing, 1, pp. 3-52.
     110 * Deb, K. & Goyal, M. A. 1996. Combined Genetic Adaptive Search (GeneAS) for Engineering Design Computer Science and Informatics, 26, pp. 30-45.
     111 * Eiben, A.E. and Smith, J.E. 2003. Introduction to Evolutionary Computation. Natural Computing Series. Springer-Verlag Berlin Heidelberg.
     112 * Fogel, D.B. 1988. An Evolutionary Approach to the Traveling Salesman Problem, Biological Cybernetics, 60, pp. 139-144.
     113 * Michalewicz, Z. 1999. Genetic Algorithms + Data Structures = Evolution Programs. Third, Revised and Extended Edition, Spring-Verlag Berlin Heidelberg.
     114 * Mühlenbein, H. and Schlierkamp-Voosen, D. 1993. Predictive Models for the Breeder Genetic Algorithm - I. Continuous Parameter Optimization. Evolutionary Computation, 1(1), pp. 25-49.
     115 * Syswerda, G. 1991. Schedule Optimization Using Genetic Algorithms. In Davis, L. (Ed.) Handbook of Genetic Algorithms, Van Nostrand Reinhold, New York, pp 332-349.