net.sourceforge.cilib.coevolution
Class CoevolutionIterationStrategy

java.lang.Object
  extended by net.sourceforge.cilib.coevolution.CoevolutionIterationStrategy
All Implemented Interfaces:
Serializable, IterationStrategy<CoevolutionAlgorithm>, Cloneable
Direct Known Subclasses:
CompetitiveCoevolutionIterationStrategy

public abstract class CoevolutionIterationStrategy
extends Object
implements IterationStrategy<CoevolutionAlgorithm>

Parent class of CompetitiveCoevolutionIterationStrategy and CooperativeCoevolutionIterationStrategy.

See Also:
Serialized Form

Constructor Summary
CoevolutionIterationStrategy()
           
 
Method Summary
abstract  CoevolutionIterationStrategy getClone()
          Create a cloned copy of the current object and return it.
abstract  void performIteration(CoevolutionAlgorithm ca)
          Perform the iteration of the PopulationBasedAlgorithm.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CoevolutionIterationStrategy

public CoevolutionIterationStrategy()
Method Detail

getClone

public abstract CoevolutionIterationStrategy getClone()
Create a cloned copy of the current object and return it. In general the created copy will be a deep copy of the provided instance. As a result this operation an be quite expensive if used incorrectly.

Specified by:
getClone in interface IterationStrategy<CoevolutionAlgorithm>
Specified by:
getClone in interface Cloneable
Returns:
An exact clone of the current object instance.
See Also:
Object.clone()

performIteration

public abstract void performIteration(CoevolutionAlgorithm ca)
Perform the iteration of the PopulationBasedAlgorithm.

Due to the nature of the PopulationBasedAlgorithms, the actual manner in which the algorithm's iteration is performed is deferred to the specific iteration strategy being used.

This implies that the general structure of the iteration for a specific flavour of algorithm is constant with modifications on that algorithm being made. For example, within a Genetic Algorithm you would expect:

  1. Parent individuals to be selected in some manner
  2. A crossover process to be done on the selected parent individuals to create the offspring
  3. A mutation process to alter the generated offspring
  4. Recombine the existing parent individuals and the generated offspring to create the next generation

Specified by:
performIteration in interface IterationStrategy<CoevolutionAlgorithm>
Parameters:
ca - The algorithm to perform the iteration process on.


Copyright © 2009 CIRG. All Rights Reserved.