Class BitVectorSpecies
- java.lang.Object
-
- ec.Species
-
- ec.vector.VectorSpecies
-
- ec.vector.BitVectorSpecies
-
public class BitVectorSpecies extends VectorSpecies
BitVectorSpecies is a subclass of VectorSpecies with special constraints for boolean vectors, namely BitVectorIndividual.BitVectorSpecies can specify some parameters globally, per-segment, and per-gene. See VectorSpecies for information on how to this works.
BitVectorSpecies provides support for two ways of mutating a gene.
- reset Replacing the gene's value with a value uniformly drawn from the gene's range [true, false].
- flipFlipping the bit of the gene value. This is the default.
BitVectorSpecies provides support for two ways of initializing a gene. The initialization procedure is determined by the choice of mutation procedure as described above. If the mutation is floating-point (reset, gauss, polynomial), then initialization will be done by resetting the gene to uniformly chosen double floating-point value between the minimum and maximum legal gene values, inclusive. If the mutation is integer (integer-reset, integer-random-walk), then initialization will be done by performing the same kind of reset, but restricting values to integers only.
Parameters
base.mutation-type or
base.segment.segment-number.mutation-type or
base.mutation-prob.gene-number
reset, flip, (default=flip)(the mutation type) - See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field and Description static intC_FLIP_MUTATIONstatic intC_RESET_MUTATIONstatic java.lang.StringP_MUTATIONTYPEstatic java.lang.StringV_FLIP_MUTATIONstatic java.lang.StringV_RESET_MUTATION-
Fields inherited from class ec.vector.VectorSpecies
C_ANY_POINT, C_GEOMETRIC, C_INTERMED_RECOMB, C_LINE_RECOMB, C_NONE, C_ONE_POINT, C_ONE_POINT_NO_NOP, C_SIMULATED_BINARY, C_TWO_POINT, C_TWO_POINT_NO_NOP, C_UNIFORM, chunksize, crossoverDistributionIndex, crossoverProbability, crossoverType, dynamicInitialSize, genomeIncreaseProbability, genomeResizeAlgorithm, genomeSize, lineDistance, maxInitialSize, minInitialSize, P_CHUNKSIZE, P_CROSSOVER_DISTRIBUTION_INDEX, P_CROSSOVERPROB, P_CROSSOVERTYPE, P_DUPLICATE_RETRIES, P_GENOMESIZE, P_GEOMETRIC_PROBABILITY, P_LINEDISTANCE, P_MUTATIONPROB, P_NUM_SEGMENTS, P_SEGMENT, P_SEGMENT_END, P_SEGMENT_START, P_SEGMENT_TYPE, P_UNIFORM_MAX, P_UNIFORM_MIN, P_VECTORSPECIES, V_ANY_POINT, V_GEOMETRIC, V_INTERMED_RECOMB, V_LINE_RECOMB, V_ONE_POINT, V_ONE_POINT_NO_NOP, V_SIMULATED_BINARY, V_TWO_POINT, V_TWO_POINT_NO_NOP, V_UNIFORM
-
Fields inherited from class ec.Species
f_prototype, i_prototype, P_FITNESS, P_INDIVIDUAL, P_PIPE, pipe_prototype
-
-
Constructor Summary
Constructors Constructor and Description BitVectorSpecies()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description intmutationType(int gene)voidsetup(EvolutionState state, Parameter base)The default version of setup(...) loads requested pipelines and calls setup(...) on them and normalizes their probabilities.-
Methods inherited from class ec.vector.VectorSpecies
defaultBase, duplicateRetries, mutationProbability, newIndividual
-
Methods inherited from class ec.Species
clone, newIndividual, newIndividual
-
-
-
-
Field Detail
-
P_MUTATIONTYPE
public static final java.lang.String P_MUTATIONTYPE
- See Also:
- Constant Field Values
-
V_RESET_MUTATION
public static final java.lang.String V_RESET_MUTATION
- See Also:
- Constant Field Values
-
V_FLIP_MUTATION
public static final java.lang.String V_FLIP_MUTATION
- See Also:
- Constant Field Values
-
C_RESET_MUTATION
public static final int C_RESET_MUTATION
- See Also:
- Constant Field Values
-
C_FLIP_MUTATION
public static final int C_FLIP_MUTATION
- See Also:
- Constant Field Values
-
-
Method Detail
-
mutationType
public int mutationType(int gene)
-
setup
public void setup(EvolutionState state, Parameter base)
Description copied from class:SpeciesThe default version of setup(...) loads requested pipelines and calls setup(...) on them and normalizes their probabilities. If your individual prototype might need to know special things about the species (like parameters stored in it), then when you override this setup method, you'll need to set those parameters BEFORE you call super.setup(...), because the setup(...) code in Species sets up the prototype.- Specified by:
setupin interfacePrototype- Specified by:
setupin interfaceSetup- Overrides:
setupin classVectorSpecies- See Also:
Prototype.setup(EvolutionState,Parameter)
-
-
DMelt 3.0 © DataMelt by jWork.ORG