Evolving Strategies for the Prisoner's Dilemma

ie.errity.pd.genetic
Class Genetic

java.lang.Object
  |
  +--ie.errity.pd.genetic.Genetic

public class Genetic
extends java.lang.Object

Provides Genetic operations


Constructor Summary
Genetic()
           
 
Method Summary
static java.util.BitSet[] crossover(java.util.BitSet parenta, java.util.BitSet parentb)
          Mate two parents using random, one point crossover
static java.util.BitSet mutate(java.util.BitSet original, double mProb)
          Mutate (Flip a bit in the bitset) with probability mProb
static int[][] scale(int[][] curPop)
          Linear fitness scaling of a 2D array
static int[] scale(Prisoner[] curPopulation)
          Linear fitness scaling of an array of Prisoners
Based on the Prisoner's Scores
static int[][] scale(Prisoner[][] curPop)
          Linear fitness scaling of a 2D array of Prisoners
Based on the Prisoner's Scores
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Genetic

public Genetic()
Method Detail

crossover

public static java.util.BitSet[] crossover(java.util.BitSet parenta,
                                           java.util.BitSet parentb)
Mate two parents using random, one point crossover

Parameters:
parenta - first parent (BitSet representation)
parentb - second parent (BitSet representation)
Returns:
an array containing the two children (BitSet representation)

mutate

public static java.util.BitSet mutate(java.util.BitSet original,
                                      double mProb)
Mutate (Flip a bit in the bitset) with probability mProb

Parameters:
original - the entity to be mutated
mProb - the probability of a bit being mutated
Returns:
the (possibly) mutated entity

scale

public static int[] scale(Prisoner[] curPopulation)
Linear fitness scaling of an array of Prisoners
Based on the Prisoner's Scores

Parameters:
curPopulation - the array of Prisoners to be scaled
Returns:
the scaled fitnesses

scale

public static int[][] scale(Prisoner[][] curPop)
Linear fitness scaling of a 2D array of Prisoners
Based on the Prisoner's Scores

Parameters:
curPop - the array of Prisoners to be scaled
Returns:
the scaled fitnesses

scale

public static int[][] scale(int[][] curPop)
Linear fitness scaling of a 2D array

Parameters:
curPop - the array to be scaled
Returns:
the scaled fitnesses

Andrew Errity [99086921]