/*
  Copyright 2006 by Sean Luke
  Licensed under the Academic Free License version 3.0
  See the file "LICENSE" for more information
*/


package ec.steadystate;
import ec.*;

/* 
 * SteadyStateStatisticsForm.java
 * 
 * Created: Fri Nov  9 20:45:26 EST 2001
 * By: Sean Luke
 */

/**
 * This interface defines the hooks for SteadyStateEvolutionState objects
 * to update themselves on.  Note that the the only methods in common
 * with the standard statistics are initialization and final. This is an
 * optional interface: SteadyStateEvolutionState will complain, but
 * will permit Statistics objects that don't adhere to it, though they will
 * only have their initialization and final statistics methods called!
 *
 * 

See SteadyStateEvolutionState for how regular Statistics objects' * hook methods are called in steady state evolution. * * @author Sean Luke * @version 1.0 */ public interface SteadyStateStatisticsForm { /** Called when we created an empty initial Population. */ public void enteringInitialPopulationStatistics(SteadyStateEvolutionState state); /** Called when we have filled the initial population and are entering the steady state. */ public void enteringSteadyStateStatistics(int subpop, SteadyStateEvolutionState state); /** Called each time new individuals are bred during the steady-state process. */ public void individualsBredStatistics(SteadyStateEvolutionState state, Individual[] individuals); /** Called each time new individuals are evaluated during the steady-state process, NOT including the initial generation's individuals. */ public void individualsEvaluatedStatistics(SteadyStateEvolutionState state, Individual[] newIndividuals, Individual[] oldIndividuals, int[] subpopulations, int[] indices); /** Called when the generation count increments */ public void generationBoundaryStatistics(final EvolutionState state); /** Called immediately before checkpointing occurs. */ public void preCheckpointStatistics(final EvolutionState state); /** Called immediately after checkpointing occurs. */ public void postCheckpointStatistics(final EvolutionState state); /** Called immediately before the pre-breeding exchange occurs. */ public void prePreBreedingExchangeStatistics(final EvolutionState state); /** Called immediately after the pre-breeding exchange occurs. */ public void postPreBreedingExchangeStatistics(final EvolutionState state); /** Called immediately before the post-breeding exchange occurs. */ public void prePostBreedingExchangeStatistics(final EvolutionState state); /** Called immediately after the post-breeding exchange occurs. */ public void postPostBreedingExchangeStatistics(final EvolutionState state); /** Called immediately after the run has completed. result is either state.R_FAILURE, indicating that an ideal individual was not found, or state.R_SUCCESS, indicating that an ideal individual was found. */ public void finalStatistics(final EvolutionState state, final int result); }

Ads help maintain this website.