public abstract class Gene extends Object implements Prototype
In addition to serialization for checkpointing, Genes may read and write themselves to streams in three ways.
Default Base
vector.gene
| Modifier and Type | Field and Description |
|---|---|
static String |
P_GENE |
private static String |
P_VECTOR_GENE
Deprecated.
|
| Constructor and Description |
|---|
Gene() |
| Modifier and Type | Method and Description |
|---|---|
Object |
clone()
Creates a new individual cloned from a prototype,
and suitable to begin use in its own evolutionary
context.
|
Parameter |
defaultBase()
Returns the default base for this prototype.
|
abstract boolean |
equals(Object other)
Unlike the standard form for Java, this function should return true if this
gene is "genetically identical" to the other gene.
|
abstract int |
hashCode()
Generates a hash code for this gene -- the rule for this is that the hash code
must be the same for two genes that are equal to each other genetically.
|
void |
mutate(EvolutionState state,
int thread)
Mutate the gene.
|
void |
printGene(EvolutionState state,
int verbosity,
int log)
Prints the gene in a way that can be read by readGene().
|
void |
printGene(EvolutionState state,
PrintWriter writer)
Prints the gene in a way that can be read by readGene().
|
void |
printGeneForHumans(EvolutionState state,
int verbosity,
int log)
Nice printing.
|
String |
printGeneToString()
Prints the gene to a string in a fashion readable by readGeneFromString and parseable by readGene(state, reader).
|
String |
printGeneToStringForHumans()
Prints the gene to a string in a human-readable fashion.
|
void |
readGene(EvolutionState state,
DataInput dataInput)
Override this if you need to read rules in from a binary stream
|
void |
readGene(EvolutionState state,
LineNumberReader reader)
Reads a gene printed by printGene(...).
|
void |
readGeneFromString(String string,
EvolutionState state)
Reads a gene from a string, which may contain a final '\n'.
|
abstract void |
reset(EvolutionState state,
int thread)
The reset method randomly reinitializes the gene.
|
void |
setup(EvolutionState state,
Parameter base)
Sets up the object by reading it from the parameters stored
in state, built off of the parameter base base.
|
void |
writeGene(EvolutionState state,
DataOutput dataOutput)
Override this if you need to write rules out to a binary stream
|
public static final String P_GENE
private static final String P_VECTOR_GENE
public void setup(EvolutionState state, Parameter base)
PrototypeFor prototypes, setup(...) is typically called once for the prototype instance; cloned instances do not receive the setup(...) call. setup(...) may be called more than once; the only guarantee is that it will get called at least once on an instance or some "parent" object from which it was ultimately cloned.
public Parameter defaultBase()
PrototypedefaultBase in interface Prototypepublic Object clone()
PrototypeTypically this should be a full "deep" clone. However, you may share certain elements with other objects rather than clone hem, depending on the situation:
Implementations.
public Object clone()
{
try
{
return super.clone();
}
catch ((CloneNotSupportedException e)
{ throw new InternalError(); } // never happens
}
public Object clone()
{
try
{
MyObject myobj = (MyObject) (super.clone());
// put your deep-cloning code here...
}
catch ((CloneNotSupportedException e)
{ throw new InternalError(); } // never happens
return myobj;
}
public Object clone()
{
MyObject myobj = (MyObject) (super.clone());
// put your deep-cloning code here...
return myobj;
}
public abstract int hashCode()
public abstract boolean equals(Object other)
public abstract void reset(EvolutionState state, int thread)
public void mutate(EvolutionState state, int thread)
public void printGeneForHumans(EvolutionState state, int verbosity, int log)
public String printGeneToStringForHumans()
public String printGeneToString()
public void readGeneFromString(String string, EvolutionState state)
public void printGene(EvolutionState state, int verbosity, int log)
public void printGene(EvolutionState state, PrintWriter writer)
public void readGene(EvolutionState state, LineNumberReader reader) throws IOException
IOExceptionpublic void writeGene(EvolutionState state, DataOutput dataOutput) throws IOException
IOExceptionpublic void readGene(EvolutionState state, DataInput dataInput) throws IOException
IOExceptionCopyright © 2014 Evolutionary Computation Laboratory at George Mason University. All rights reserved.