jaga.control
Class ShellIM

java.lang.Object
  |
  +--jaga.control.ShellIM
All Implemented Interfaces:
InteractionModel, java.io.Serializable
Direct Known Subclasses:
HistoryWindowIM

public class ShellIM
extends java.lang.Object
implements InteractionModel

An interaction model containing a nested interaction model inside. Designed to be extended so that an extra functionality can be added.

See Also:
Serialized Form

Constructor Summary
ShellIM(InteractionModel im)
           
 
Method Summary
 double[] evaluate(Genotype[] inds)
          Evaluates these individuals using the deployment and experiments and procedure of this model.
 double[] evaluateNext()
          Should be same as calling evaluate( pickIndividuals() );
 int evaluationsPerGeneration()
           
 void evolve()
          Evolves to the next generation of all/some of the populations involved.
 Genotype getMaxFitness()
           
 Genotype[] getNextIndividuals()
          Picks a number of individuals to be evaluated next.
 int getNumEvolvers()
           
 Population[] getPopulations()
           
 islandev.SnapshotPainter getSnapshotPainter()
           
 Genotype[] pickIndividuals()
           
 void setPopulations(Population[] pops)
          Sets the populations of the evolvers to be these
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ShellIM

public ShellIM(InteractionModel im)
Method Detail

evaluate

public double[] evaluate(Genotype[] inds)
Description copied from interface: InteractionModel
Evaluates these individuals using the deployment and experiments and procedure of this model.
Specified by:
evaluate in interface InteractionModel
Following copied from interface: jaga.control.InteractionModel
Returns:
an array of the fitnesses of the individuals.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getMaxFitness

public Genotype getMaxFitness()
Specified by:
getMaxFitness in interface InteractionModel
Returns:
The maximum fitness a genotype can achieve. ie. when evolution will stop

evaluationsPerGeneration

public int evaluationsPerGeneration()
Specified by:
evaluationsPerGeneration in interface InteractionModel
Returns:
the number of evaluations per generation to be performed

getNextIndividuals

public Genotype[] getNextIndividuals()
Picks a number of individuals to be evaluated next. These individuals can be from any of the populations as long as there is a standard interface between the caller and this method implementation as to where each come from. Example: may be first element a pac-man, and five others all ghosts..
Specified by:
getNextIndividuals in interface InteractionModel

evaluateNext

public double[] evaluateNext()
Should be same as calling evaluate( pickIndividuals() );
Specified by:
evaluateNext in interface InteractionModel
Returns:
an array of the fitnesses of the individuals.

evolve

public void evolve()
Evolves to the next generation of all/some of the populations involved.
Specified by:
evolve in interface InteractionModel

getNumEvolvers

public int getNumEvolvers()
Specified by:
getNumEvolvers in interface InteractionModel
Returns:
the number of evolvers (ie. populations) acting in this model.

pickIndividuals

public Genotype[] pickIndividuals()
Specified by:
pickIndividuals in interface InteractionModel
Returns:
randomly picked individuals from the evolvers.

getPopulations

public Population[] getPopulations()
Specified by:
getPopulations in interface InteractionModel
Returns:
the current populations of the evolvers.

setPopulations

public void setPopulations(Population[] pops)
Sets the populations of the evolvers to be these
Specified by:
setPopulations in interface InteractionModel

getSnapshotPainter

public islandev.SnapshotPainter getSnapshotPainter()
Specified by:
getSnapshotPainter in interface InteractionModel
Returns:
String displaying performance of fittest individual.