## 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 13:36:48 -0400 (Sat, 05 Sep 2009) $

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

Method Summary
`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

Copyright (c) 2003-2011 Apache Software Foundation