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:

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]