org.biojavax.ga.util
Class GATools

java.lang.Object
  extended by org.biojavax.ga.util.GATools

public final class GATools
extends Object

Utility methods for the GA library

Since:
1.5
Version:
1.0
Author:
Mark Schreiber

Constructor Summary
GATools()
           
 
Method Summary
static SymbolList createBinary(String binarySequence)
          Creates a SymbolList in the GABinary Alphabet
static FiniteAlphabet getBinaryAlphabet()
          Gets a Reference to the FlyWeight GA_Binary Alphabet.
static AtomicSymbol one()
           
static OrderNDistribution standardMutationDistribution(FiniteAlphabet a)
          Makes a mutation Distribution where the probability of a Symbol being mutated to itself is zero and the probability of it being changed to any other Symbol in the Alphabet a is 1.0 / (a.size() - 1.0)
static OrderNDistribution uniformMutationDistribution(FiniteAlphabet a)
          Makes a 1st order distribution which is infact uniform (equivalent to a uniform zero order distribution).
static AtomicSymbol zero()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GATools

public GATools()
Method Detail

getBinaryAlphabet

public static FiniteAlphabet getBinaryAlphabet()
Gets a Reference to the FlyWeight GA_Binary Alphabet. It contains the Symbols one and zero.

Returns:
the finite, flyweight Binary Alphabet

one

public static AtomicSymbol one()
Returns:
the GA_Binary symbol "one"

createBinary

public static SymbolList createBinary(String binarySequence)
                               throws IllegalSymbolException
Creates a SymbolList in the GABinary Alphabet

Parameters:
binarySequence - a String like "01010000101010101" with no white space
Returns:
a SymbolList parsed from binarySequence
Throws:
IllegalSymbolException - if a character other than 1 or 0 is found.

zero

public static AtomicSymbol zero()
Returns:
the GA_Binary symbol "zero"

uniformMutationDistribution

public static OrderNDistribution uniformMutationDistribution(FiniteAlphabet a)
                                                      throws IllegalAlphabetException
Makes a 1st order distribution which is infact uniform (equivalent to a uniform zero order distribution).

Parameters:
a - the zero order Alphabet which will be multiplied into the 1st order alphabet
Returns:
the "1st order" distribution
Throws:
IllegalAlphabetException - if the Distribution cannot be constructed from a.

standardMutationDistribution

public static OrderNDistribution standardMutationDistribution(FiniteAlphabet a)
                                                       throws IllegalAlphabetException
Makes a mutation Distribution where the probability of a Symbol being mutated to itself is zero and the probability of it being changed to any other Symbol in the Alphabet a is 1.0 / (a.size() - 1.0)

Parameters:
a - the FiniteAlphabet which mutations are sampled from.
Returns:
A Distribution suitable for use in a MutationFunction
Throws:
IllegalAlphabetException - if the Distribution cannot be made over the FiniteAlphabet