net.sourceforge.cilib.problem.coevolution
Class CompetitiveCoevolutionGameLearningOptimizationProblem

java.lang.Object
  extended by net.sourceforge.cilib.problem.OptimisationProblemAdapter
      extended by net.sourceforge.cilib.problem.coevolution.PerformanceEvaluationOptimizationProblem
          extended by net.sourceforge.cilib.problem.coevolution.GameLearningOptimizationProblem
              extended by net.sourceforge.cilib.problem.coevolution.CompetitiveCoevolutionGameLearningOptimizationProblem
All Implemented Interfaces:
Serializable, CoevolutionOptimisationProblem, OptimisationProblem, Problem, Cloneable

public class CompetitiveCoevolutionGameLearningOptimizationProblem
extends GameLearningOptimizationProblem
implements CoevolutionOptimisationProblem

This class is used by CoevolutionAlgorithm to optimize a Game.

Author:
leo
See Also:
Serialized Form

Field Summary
 
Fields inherited from class net.sourceforge.cilib.problem.coevolution.GameLearningOptimizationProblem
game
 
Fields inherited from class net.sourceforge.cilib.problem.coevolution.PerformanceEvaluationOptimizationProblem
fitnessCalculation, numberOfEvaluations
 
Fields inherited from class net.sourceforge.cilib.problem.OptimisationProblemAdapter
dataSetBuilder, fitnessEvaluations
 
Constructor Summary
CompetitiveCoevolutionGameLearningOptimizationProblem()
           
CompetitiveCoevolutionGameLearningOptimizationProblem(CompetitiveCoevolutionGameLearningOptimizationProblem copy)
          Copy constructor
 
Method Summary
protected  Fitness calculateFitness(Type solution)
          Determine the Fitness of the current Problem instance based on the provided solution.
 Fitness evaluateEntity(int populationID, int evaluationRound, Blackboard<Enum<?>,Type> entityData)
          This method evaluates an entity with regards to a number of groups of entities depending on the instance of the problem
 int getAmountSubPopulations()
          this will correlate with the amount of groups of entites an individual required for evaluation
 DomainRegistry getSubPopulationDomain(int populationNo)
          This method is used by the coevolution algorithm to assign an optimization problem instance to each sub population this optimization problem needs to define the domain for that specific sub population
 void initializeEntities(PopulationBasedAlgorithm pba, int populationID)
          This method adds any problem specific entries to the all the populations entites's blackboards.
 
Methods inherited from class net.sourceforge.cilib.problem.coevolution.GameLearningOptimizationProblem
getBehaviouralDomain, getClone, getDomain, getGame, playGame, setGame
 
Methods inherited from class net.sourceforge.cilib.problem.coevolution.PerformanceEvaluationOptimizationProblem
getNumberOfEvaluations, setFitnessCalculation, setNumberOfEvaluations
 
Methods inherited from class net.sourceforge.cilib.problem.OptimisationProblemAdapter
accept, changeEnvironment, getChangeStrategy, getDataSetBuilder, getFitness, getFitnessEvaluations, setChangeStrategy, setDataSetBuilder
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CompetitiveCoevolutionGameLearningOptimizationProblem

public CompetitiveCoevolutionGameLearningOptimizationProblem()

CompetitiveCoevolutionGameLearningOptimizationProblem

public CompetitiveCoevolutionGameLearningOptimizationProblem(CompetitiveCoevolutionGameLearningOptimizationProblem copy)
Copy constructor

Parameters:
copy -
Method Detail

evaluateEntity

public Fitness evaluateEntity(int populationID,
                              int evaluationRound,
                              Blackboard<Enum<?>,Type> entityData)
This method evaluates an entity with regards to a number of groups of entities depending on the instance of the problem

Specified by:
evaluateEntity in interface CoevolutionOptimisationProblem
entityData - the blackboard of the Entity being evaluated. This contains the solution vector, scoreboard and competitor list
Returns:
the entitie's fitness

calculateFitness

protected Fitness calculateFitness(Type solution)
Determine the Fitness of the current Problem instance based on the provided solution.

Overrides:
calculateFitness in class GameLearningOptimizationProblem
Parameters:
solution - The Type representing the candidate solution.
Returns:
The Fitness of the solution in the current Problem.
See Also:
OptimisationProblemAdapter.getFitness(Type, boolean)

initializeEntities

public void initializeEntities(PopulationBasedAlgorithm pba,
                               int populationID)
This method adds any problem specific entries to the all the populations entites's blackboards.

Specified by:
initializeEntities in interface CoevolutionOptimisationProblem
Parameters:
pba - the sub population to initialize
populationID - the populationID of the sub population

getAmountSubPopulations

public int getAmountSubPopulations()
this will correlate with the amount of groups of entites an individual required for evaluation

Specified by:
getAmountSubPopulations in interface CoevolutionOptimisationProblem
Returns:
the amount of sub population for this problem

getSubPopulationDomain

public DomainRegistry getSubPopulationDomain(int populationNo)
This method is used by the coevolution algorithm to assign an optimization problem instance to each sub population this optimization problem needs to define the domain for that specific sub population

Specified by:
getSubPopulationDomain in interface CoevolutionOptimisationProblem
Parameters:
populationNo - the population number for the sub population for which this problem is generated
Returns:
the optimization problem for the sub population


Copyright © 2009 CIRG. All Rights Reserved.