Class AbstractListChromosome<T>
- java.lang.Object
-
- org.apache.commons.math4.legacy.genetics.Chromosome
-
- org.apache.commons.math4.legacy.genetics.AbstractListChromosome<T>
-
- Type Parameters:
T- type of the representation list
- All Implemented Interfaces:
Comparable<Chromosome>,Fitness
- Direct Known Subclasses:
BinaryChromosome,RandomKey
public abstract class AbstractListChromosome<T> extends Chromosome
Chromosome represented by an immutable list of a fixed length.- Since:
- 2.0
-
-
Constructor Summary
Constructors Constructor Description AbstractListChromosome(List<T> representation)Constructor, copying the input representation.AbstractListChromosome(List<T> representation, boolean copyList)Constructor.AbstractListChromosome(T[] representation)Constructor, copying the input representation.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract voidcheckValidity(List<T> chromosomeRepresentation)Asserts thatrepresentationcan represent a valid chromosome.intgetLength()Returns the length of the chromosome.protected List<T>getRepresentation()Returns the (immutable) inner representation of the chromosome.abstract AbstractListChromosome<T>newFixedLengthChromosome(List<T> chromosomeRepresentation)Creates a new instance of the same class asthisis, with a givenarrayRepresentation.StringtoString()-
Methods inherited from class org.apache.commons.math4.legacy.genetics.Chromosome
compareTo, findSameChromosome, getFitness, isSame, searchForFitnessUpdate
-
-
-
-
Constructor Detail
-
AbstractListChromosome
public AbstractListChromosome(List<T> representation) throws InvalidRepresentationException
Constructor, copying the input representation.- Parameters:
representation- inner representation of the chromosome- Throws:
InvalidRepresentationException- iff therepresentationcan not represent a valid chromosome
-
AbstractListChromosome
public AbstractListChromosome(T[] representation) throws InvalidRepresentationException
Constructor, copying the input representation.- Parameters:
representation- inner representation of the chromosome- Throws:
InvalidRepresentationException- iff therepresentationcan not represent a valid chromosome
-
AbstractListChromosome
public AbstractListChromosome(List<T> representation, boolean copyList)
Constructor.- Parameters:
representation- inner representation of the chromosomecopyList- iftrue, the representation will be copied, otherwise it will be referenced.- Since:
- 3.3
-
-
Method Detail
-
checkValidity
protected abstract void checkValidity(List<T> chromosomeRepresentation) throws InvalidRepresentationException
Asserts thatrepresentationcan represent a valid chromosome.- Parameters:
chromosomeRepresentation- representation of the chromosome- Throws:
InvalidRepresentationException- iff therepresentationcan not represent a valid chromosome
-
getRepresentation
protected List<T> getRepresentation()
Returns the (immutable) inner representation of the chromosome.- Returns:
- the representation of the chromosome
-
getLength
public int getLength()
Returns the length of the chromosome.- Returns:
- the length of the chromosome
-
newFixedLengthChromosome
public abstract AbstractListChromosome<T> newFixedLengthChromosome(List<T> chromosomeRepresentation)
Creates a new instance of the same class asthisis, with a givenarrayRepresentation. This is needed in crossover and mutation operators, where we need a new instance of the same class, but with different array representation.Usually, this method just calls a constructor of the class.
- Parameters:
chromosomeRepresentation- the inner array representation of the new chromosome.- Returns:
- new instance extended from FixedLengthChromosome with the given arrayRepresentation
-
-