ec.vector.breed
Class GeneDuplicationPipeline
java.lang.Object
ec.BreedingSource
ec.BreedingPipeline
ec.vector.breed.GeneDuplicationPipeline
- All Implemented Interfaces:
- Prototype, Setup, SteadyStateBSourceForm, RandomChoiceChooser, java.io.Serializable, java.lang.Cloneable
public class GeneDuplicationPipeline
- extends BreedingPipeline
GeneDuplicationPipeline is designed to duplicate a sequence of genes from the chromosome and append
them to the end of the chromosome. The sequence of genes copied are randomly determined. That is to
say a random begining index is selected and a random ending index is selected from the chromosome. Then
this area is then copied (begining inclusive, ending exclusive) and appended to the end of the chromosome.
Since randomness is a factor several checks are performed to make sure the begining and ending indicies are
valid. For example, since the ending index is exclusive, the ending index cannot equal the begining index (a
new ending index would be randomly seleceted in this case). Likewise the begining index cannot be larger than the
ending index (they would be swapped in this case).
Default Base
ec.vector.breed.GeneDuplicationPipeline
- See Also:
- Serialized Form
Method Summary |
Parameter |
defaultBase()
Returns the default base for this prototype. |
int |
numSources()
Returns the number of sources to this pipeline. |
int |
produce(int min,
int max,
int start,
int subpopulation,
Individual[] inds,
EvolutionState state,
int thread)
Produces n individuals from the given subpopulation
and puts them into inds[start...start+n-1],
where n = Min(Max(q,min),max), where q is the "typical" number of
individuals the BreedingSource produces in one shot, and returns
n. |
Methods inherited from class ec.BreedingPipeline |
clone, finishProducing, individualReplaced, maxChildProduction, minChildProduction, preparePipeline, prepareToProduce, produces, reproduce, setup, sourcesAreProperForm, typicalIndsProduced |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
P_DUPLICATION
public static final java.lang.String P_DUPLICATION
- See Also:
- Constant Field Values
NUM_SOURCES
public static final int NUM_SOURCES
- See Also:
- Constant Field Values
GeneDuplicationPipeline
public GeneDuplicationPipeline()
defaultBase
public Parameter defaultBase()
- Description copied from interface:
Prototype
- Returns the default base for this prototype.
This should generally be implemented by building off of the static base()
method on the DefaultsForm object for the prototype's package. This should
be callable during setup(...).
numSources
public int numSources()
- Description copied from class:
BreedingPipeline
- Returns the number of sources to this pipeline. Called during
BreedingPipeline's setup. Be sure to return a value > 0, or
DYNAMIC_SOURCES which indicates that setup should check the parameter
file for the parameter "num-sources" to make its determination.
- Specified by:
numSources
in class BreedingPipeline
produce
public int produce(int min,
int max,
int start,
int subpopulation,
Individual[] inds,
EvolutionState state,
int thread)
- Description copied from class:
BreedingSource
- Produces n individuals from the given subpopulation
and puts them into inds[start...start+n-1],
where n = Min(Max(q,min),max), where q is the "typical" number of
individuals the BreedingSource produces in one shot, and returns
n. max must be >= min, and min must be >= 1. For example, crossover
might typically produce two individuals, tournament selection might typically
produce a single individual, etc.
- Specified by:
produce
in class BreedingSource