org.apache.commons.math.genetics

## Class BinaryChromosome

- java.lang.Object
- - org.apache.commons.math.genetics.Chromosome
  - - org.apache.commons.math.genetics.AbstractListChromosome<java.lang.Integer>
    - - org.apache.commons.math.genetics.BinaryChromosome

All Implemented Interfaces:
  java.lang.Comparable<Chromosome>, Fitness

    public abstract class BinaryChromosome
    extends AbstractListChromosome<java.lang.Integer>

Chromosome represented by a vector of 0s and 1s.

Since:
  2.0
Version:
  $Revision: 811685 $ $Date: 2009-09-05 19:36:48 +0200 (sam. 05 sept. 2009) $

### Constructor Summary

Constructors
Constructor and Description
`BinaryChromosome(java.lang.Integer[] representation)` Constructor.
`BinaryChromosome(java.util.List<java.lang.Integer> representation)` Constructor.

### Method Summary

Methods
`protected void` `checkValidity(java.util.List<java.lang.Integer> chromosomeRepresentation)` Asserts that `representation` can represent a valid chromosome.
`protected boolean` `isSame(Chromosome another)` Returns `true`iff `another` has the same representation and therefore the same fitness.``
`static java.util.List<java.lang.Integer>` `randomBinaryRepresentation(int length)` Returns a representation of a random binary array of length `length`.

### Methods inherited from class org.apache.commons.math.genetics.AbstractListChromosome

`getLength, getRepresentation, newFixedLengthChromosome, toString`

### Methods inherited from class org.apache.commons.math.genetics.Chromosome

`compareTo, findSameChromosome, getFitness, searchForFitnessUpdate`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.apache.commons.math.genetics.Fitness

`fitness`

### Constructor Detail

#### BinaryChromosome

    public BinaryChromosome(java.util.List<java.lang.Integer> representation)

Constructor.

Parameters:
  `representation` - list of {0,1} values representing the chromosome

#### BinaryChromosome

    public BinaryChromosome(java.lang.Integer[] representation)

Constructor.

Parameters:
  `representation` - array of {0,1} values representing the chromosome

### Method Detail

#### checkValidity

    protected void checkValidity(java.util.List<java.lang.Integer> chromosomeRepresentation)
                          throws InvalidRepresentationException

Asserts that `representation` can represent a valid chromosome.

Specified by:
  `checkValidity` in class `AbstractListChromosome<java.lang.Integer>`
Parameters:
  `chromosomeRepresentation` - representation of the chromosome
Throws:
  `InvalidRepresentationException` - iff the `representation` can not represent a valid chromosome

#### randomBinaryRepresentation

    public static java.util.List<java.lang.Integer> randomBinaryRepresentation(int length)

Returns a representation of a random binary array of length `length`.

Parameters:
  `length` - length of the array
Returns:
  a random binary array of length `length`

#### isSame

    protected boolean isSame(Chromosome another)

Returns `true`iff `another` has the same representation and therefore the same fitness. By default, it returns false -- override it in your implementation if you need it.``

Overrides:
  `isSame` in class `Chromosome`
Parameters:
  `another` - chromosome to compare
Returns:
  true if `another` is equivalent to this chromosome