# Changes between Version 4 and Version 5 of Documentation/Reference/Genetic Programming Crossovers

Ignore:
Timestamp:
01/31/12 10:58:21 (9 years ago)
Comment:

Renamed confusing attachment file names and updated image tags.

### Legend:

Unmodified
 v4 - It selects a compatible subtree in parent1 (subject to size limits and grammar constraints) - It performs the swap and returns the (now different) parent0 The selection (step 2) above is influenced by a configurable bias towards internal or leaf nodes, given by the InternalCrossoverPointProbability parameter2. The selection (step 2) above is influenced by a configurable bias towards internal or leaf nodes, given by the !InternalCrossoverPointProbability parameter2. === 2 Probabilistic functional crossover === - The behavioral distances between node ''i'' and every node ''j'' from parent1 are computed using a formula that takes into account the minimum and maximum values computed by the two nodes during evaluation: [[Image(http://dev.heuristiclab.com/trac/hl/core/raw-attachment/wiki/Crossovers/71lyxpreview1.png)]] [[Image(http://dev.heuristiclab.com/trac/hl/core/raw-attachment/wiki/Crossovers/01-PFX-behavioral-distance.png)]] - Once all the behavioral distances between node ''i'' and every node ''j'' have been calculated, they are normalized: [[Image(http://dev.heuristiclab.com/trac/hl/core/raw-attachment/wiki/Crossovers/72lyxpreview1.png)]] [[Image(http://dev.heuristiclab.com/trac/hl/core/raw-attachment/wiki/Crossovers/02-PFX-normalized-behavioral-distance.png)]] and turned into selection probabilities (weights): [[Image(http://dev.heuristiclab.com/trac/hl/core/raw-attachment/wiki/Crossovers/73lyxpreview1.png)]] [[Image(http://dev.heuristiclab.com/trac/hl/core/raw-attachment/wiki/Crossovers/03-PFX-selection-probabilities.png)]] - A node   from the second parent is probabilistically chosen and swapped with node ''i'' from the first parent - The sampling semantic distance (SSD) between two nodes (subtrees) is defined as the absolute mean between their corresponding sampling semantics: [[Image(http://dev.heuristiclab.com/trac/hl/core/raw-attachment/wiki/Crossovers/77lyxpreview1.png)]] [[Image(http://dev.heuristiclab.com/trac/hl/core/raw-attachment/wiki/Crossovers/04-SSX-sampling-semantic-distance.png)]] where S1 and S2 are the two subtrees, and ''U'', ''V'' are their respective sampling semantics. - Two nodes are deemed similar if their SSD falls within a predefined interval [alfa,beta]: [[Image(http://dev.heuristiclab.com/trac/hl/core/raw-attachment/wiki/Crossovers/83lyxpreview1.png)]] [[Image(http://dev.heuristiclab.com/trac/hl/core/raw-attachment/wiki/Crossovers/05-SSX-similarity-condition.png)]] The crossover procedure chooses a crossover point from parent0, then picks the first node in parent1 that satisfies the similarity condition (5). === 6 Depth-constrained crossover === The depth-constrained crossover only acts within a specific depth range, in accordance with the DepthRange parameter that can take three values (for a tree of depth ''d'') - HighLevel (acting on the upper tree levels between 0 and 0.25*d  ) The depth-constrained crossover only acts within a specific depth range, in accordance with the !DepthRange parameter that can take three values (for a tree of depth ''d'') - !HighLevel (acting on the upper tree levels between 0 and 0.25*d  ) - Standard (acting on the mid-area of the tree between depth levels 0.25*d and 0.57*d  ) - LowLevel (acting on the lower levels between 0.75*d and d) - !LowLevel (acting on the lower levels between 0.75*d and d) === References ===