xegaGpAllCross2Gene {xegaGpGene} | R Documentation |
Crossover of 2 derivation tree genes
Description
xegaGpAllCross2Gene()
swaps two randomly extracted
subtrees between 2 genes. Subtrees must have the same
root in order to be compatible. The current implementation
performs at most maxtrials
trials to find compatible
subtrees. If this fails, the original genes are returned.
Usage
xegaGpAllCross2Gene(ng1, ng2, lF)
Arguments
ng1 |
Derivation tree. |
ng2 |
Derivation tree. |
lF |
Local configuration of the genetic algorithm. |
Details
Crossover is controlled by one local parameter:
-
lF$MaxTrials()
: Maximal number of trials to find compatible subtrees. If compatible subtrees are not found, the gene is returned unchanged.
Value
List of 2 derivation trees.
See Also
Other Crossover:
xegaGpAllCrossGene()
,
xegaGpFilterCross2Gene()
,
xegaGpFilterCrossGene()
Examples
gene1<-xegaGpInitGene(lFxegaGpGene)
gene2<-xegaGpInitGene(lFxegaGpGene)
xegaGpDecodeGene(gene1, lFxegaGpGene)
xegaGpDecodeGene(gene2, lFxegaGpGene)
newgenes<-xegaGpAllCross2Gene(gene1, gene2, lFxegaGpGene)
xegaGpDecodeGene(newgenes[[1]], lFxegaGpGene)
xegaGpDecodeGene(newgenes[[2]], lFxegaGpGene)
[Package xegaGpGene version 1.0.0.0 Index]