org.apache.commons.math3.genetics

## Class BinaryChromosome

- java.lang.Object
- - org.apache.commons.math3.genetics.Chromosome
  - - org.apache.commons.math3.genetics.AbstractListChromosome<java.lang.Integer>
    - - org.apache.commons.math3.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:
  $Id: BinaryChromosome.java 1416643 2012-12-03 19:37:14Z tn $

### 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.math3.genetics.AbstractListChromosome

`getLength, getRepresentation, newFixedLengthChromosome, toString`

### Methods inherited from class org.apache.commons.math3.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.math3.genetics.Fitness

`fitness`

### Constructor Detail

#### BinaryChromosome

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

Constructor.

Parameters:
  `representation` - list of {0,1} values representing the chromosome
Throws:
  `InvalidRepresentationException` - iff the `representation` can not represent a valid chromosome

#### BinaryChromosome

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

Constructor.

Parameters:
  `representation` - array of {0,1} values representing the chromosome
Throws:
  `InvalidRepresentationException` - iff the `representation` can not represent a valid 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)

Description copied from class: `Chromosome`
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