|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectec.Species
ec.vector.VectorSpecies
public class VectorSpecies
VectorSpecies is a species which can create VectorIndividuals. Different VectorSpecies are used for different kinds of VectorIndividuals: a plain VectorSpecies is probably only applicable for BitVectorIndividuals.
VectorSpecies supports the following recombination methods:
Note that for LongVectorIndividuals, there are certain values that will never be created by line and intermediate recombination, because the recombination is calculated using doubles and then rounded to the nearest long. For large enough values (but still smaller than the maximum long), the difference between one double and the next is greater than one.
VectorSpecies contains a number of parameters guiding how the individual crosses over and mutates.
Parameters
base.n.genome-size int >= 1 |
(size of the genome) |
base.n.chunk-size 1 <= int <= genome-size (default=1) |
(the chunk size for crossover (crossover will only occur on chunk boundaries)) |
base.crossover-type string, one of: one, two, any |
(default crossover type (one-point, two-point, any-point (uniform), line, or intermediate) |
base.crossover-prob 0.0 >= float >= 1.0 |
(probability that a gene will get crossed over during any-point crossover) |
base.mutation-prob 0.0 <= float <= 1.0 |
(probability that a gene will get mutated over default mutation) |
base.line-extension float >= 0.0 |
(for line and intermediate recombination, how far along the line or outside of the hypercube children can be. If this value is zero, all children must be within the hypercube.) |
Default Base
vector.species
Field Summary | |
---|---|
static int |
C_ANY_POINT
|
static int |
C_INTERMED_RECOMB
|
static int |
C_LINE_RECOMB
|
static int |
C_ONE_POINT
|
static int |
C_TWO_POINT
|
int |
chunksize
How big of chunks should we define for crossover? |
float |
crossoverProbability
Probability that a gene will cross over -- ONLY used in V_ANY_POINT crossover |
int |
crossoverType
What kind of crossover do we have? |
int |
genomeSize
How big of a genome should we create on initialization? |
double |
lineDistance
How far along the long a child can be located for line or intermediate recombination |
float |
mutationProbability
Probability that a gene will mutate |
static java.lang.String |
P_CHUNKSIZE
|
static java.lang.String |
P_CROSSOVERPROB
|
static java.lang.String |
P_CROSSOVERTYPE
|
static java.lang.String |
P_GENOMESIZE
|
static java.lang.String |
P_LINEDISTANCE
|
static java.lang.String |
P_MUTATIONPROB
|
static java.lang.String |
P_VECTORSPECIES
|
static java.lang.String |
V_ANY_POINT
|
static java.lang.String |
V_INTERMED_RECOMB
|
static java.lang.String |
V_LINE_RECOMB
|
static java.lang.String |
V_ONE_POINT
|
static java.lang.String |
V_TWO_POINT
|
protected boolean |
warned
|
Fields inherited from class ec.Species |
---|
f_prototype, i_prototype, P_FITNESS, P_INDIVIDUAL, P_PIPE, pipe_prototype |
Constructor Summary | |
---|---|
VectorSpecies()
|
Method Summary | |
---|---|
Parameter |
defaultBase()
Returns the default base for this prototype. |
Individual |
newIndividual(EvolutionState state,
int thread)
Provides a brand-new individual to fill in a population. |
void |
setup(EvolutionState state,
Parameter base)
The default version of setup(...) loads requested pipelines and calls setup(...) on them and normalizes their probabilities. |
protected void |
warnAboutGene(int gene)
|
Methods inherited from class ec.Species |
---|
clone, newIndividual, newIndividual |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String P_VECTORSPECIES
public static final java.lang.String P_CROSSOVERTYPE
public static final java.lang.String P_CHUNKSIZE
public static final java.lang.String V_ONE_POINT
public static final java.lang.String V_TWO_POINT
public static final java.lang.String V_ANY_POINT
public static final java.lang.String V_LINE_RECOMB
public static final java.lang.String V_INTERMED_RECOMB
public static final java.lang.String P_MUTATIONPROB
public static final java.lang.String P_CROSSOVERPROB
public static final java.lang.String P_GENOMESIZE
public static final java.lang.String P_LINEDISTANCE
public static final int C_ONE_POINT
public static final int C_TWO_POINT
public static final int C_ANY_POINT
public static final int C_LINE_RECOMB
public static final int C_INTERMED_RECOMB
public float mutationProbability
public float crossoverProbability
public int crossoverType
public int genomeSize
public int chunksize
public double lineDistance
protected boolean warned
Constructor Detail |
---|
public VectorSpecies()
Method Detail |
---|
protected void warnAboutGene(int gene)
public Parameter defaultBase()
Prototype
public void setup(EvolutionState state, Parameter base)
Species
setup
in interface Prototype
setup
in interface Setup
setup
in class Species
Prototype.setup(EvolutionState,Parameter)
public Individual newIndividual(EvolutionState state, int thread)
Species
newIndividual
in class Species
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |