public abstract class EvoCompositeChromManipulatorBO<H extends CompositeChromosome<C,E>,C,E> extends EvoChromManipulatorBO<H,C>
| Modifier and Type | Field and Description |
|---|---|
protected com.banda.core.domain.ValueBound<E>[] |
codeElementValueBounds |
protected Class<E>[] |
elementClasses |
bitMutationType, chromosomeRF, codeSize, pertrubMutationStrength| Constructor and Description |
|---|
EvoCompositeChromManipulatorBO(ReflectionProvider<H> chromosomeRF,
int codeSize,
BitMutationType bitMutationType,
Double pertrubMutationStrength,
Class<E> elementClass) |
EvoCompositeChromManipulatorBO(ReflectionProvider<H> chromosomeRF,
int codeSize,
BitMutationType bitMutationType,
Double pertrubMutationStrength,
Class<E>[] elementClasses,
com.banda.core.domain.ValueBound<E>[] codeElementValueBounds) |
EvoCompositeChromManipulatorBO(ReflectionProvider<H> chromosomeRF,
int codeSize,
BitMutationType bitMutationType,
Double pertrubMutationStrength,
Class<E> elementClass,
com.banda.core.domain.ValueBound<E> sharedCodeElementValueBound) |
EvoCompositeChromManipulatorBO(ReflectionProvider<H> chromosomeRF,
int codeSize,
BitMutationType bitMutationType,
Double pertrubMutationStrength,
Class<E> sharedElementClass,
com.banda.core.domain.ValueBound<E>[] codeElementValueBounds) |
| Modifier and Type | Method and Description |
|---|---|
Collection<H> |
crossOverShuffle(H parent1,
H parent2,
int firstParentPositionNum)
Performs the cross over operation on given parents producing two new offsprings.
|
Collection<H> |
crossOverSplit(H parent1,
H parent2,
int position)
Performs the cross over operation on given parents producing two new offsprings.
|
protected E |
generatePerturbatedElement(E value,
com.banda.core.domain.ValueBound<E> codeElementValueBound,
Double strength) |
H |
generateRandomChromosome()
Creates new test samples and discard old if any.
|
protected E |
generateRandomCodeElement(int index) |
void |
mutateBySwapping(H chromosome) |
protected void |
mutateElement(H chromosome,
int pos) |
void |
mutateElements(H chromosome,
int elementsNum)
Mutates the given number of elements in chromosome code.
|
void |
mutateOneBit(H chromosome) |
void |
mutatePerBit(H chromosome,
double mutationPerBitProbability) |
void |
mutateTwoBits(H chromosome) |
cloneChromosome, createBlankCode, createNewChromosomeprotected final com.banda.core.domain.ValueBound<E>[] codeElementValueBounds
public EvoCompositeChromManipulatorBO(ReflectionProvider<H> chromosomeRF, int codeSize, BitMutationType bitMutationType, Double pertrubMutationStrength, Class<E>[] elementClasses, com.banda.core.domain.ValueBound<E>[] codeElementValueBounds)
public EvoCompositeChromManipulatorBO(ReflectionProvider<H> chromosomeRF, int codeSize, BitMutationType bitMutationType, Double pertrubMutationStrength, Class<E> sharedElementClass, com.banda.core.domain.ValueBound<E>[] codeElementValueBounds)
public EvoCompositeChromManipulatorBO(ReflectionProvider<H> chromosomeRF, int codeSize, BitMutationType bitMutationType, Double pertrubMutationStrength, Class<E> elementClass)
public EvoCompositeChromManipulatorBO(ReflectionProvider<H> chromosomeRF, int codeSize, BitMutationType bitMutationType, Double pertrubMutationStrength, Class<E> elementClass, com.banda.core.domain.ValueBound<E> sharedCodeElementValueBound)
public Collection<H> crossOverSplit(H parent1, H parent2, int position)
EvoChromManipulatorBOcrossOverSplit in class EvoChromManipulatorBO<H extends CompositeChromosome<C,E>,C>parent1 - The first parentparent2 - The second parentposition - The position in the chromosome code where crossover is executedpublic Collection<H> crossOverShuffle(H parent1, H parent2, int firstParentPositionNum)
EvoChromManipulatorBOcrossOverShuffle in class EvoChromManipulatorBO<H extends CompositeChromosome<C,E>,C>parent1 - The first parentparent2 - The second parentfirstParentPositionNum - The position in the chromosome code where crossover is executedpublic H generateRandomChromosome()
EvoChromManipulatorBOgenerateRandomChromosome in class EvoChromManipulatorBO<H extends CompositeChromosome<C,E>,C>protected E generateRandomCodeElement(int index)
protected E generatePerturbatedElement(E value, com.banda.core.domain.ValueBound<E> codeElementValueBound, Double strength)
public void mutateOneBit(H chromosome)
mutateOneBit in class EvoChromManipulatorBO<H extends CompositeChromosome<C,E>,C>public void mutateTwoBits(H chromosome)
mutateTwoBits in class EvoChromManipulatorBO<H extends CompositeChromosome<C,E>,C>public void mutateBySwapping(H chromosome)
mutateBySwapping in class EvoChromManipulatorBO<H extends CompositeChromosome<C,E>,C>public void mutatePerBit(H chromosome, double mutationPerBitProbability)
mutatePerBit in class EvoChromManipulatorBO<H extends CompositeChromosome<C,E>,C>protected void mutateElement(H chromosome, int pos)
public void mutateElements(H chromosome, int elementsNum)
elementsNum - The number of elements to mutate.Copyright © 2014. All Rights Reserved.