Class Statistics
- java.lang.Object
-
- ec.Statistics
-
- Direct Known Subclasses:
- ChartableStatistics, MonaStatistics, MyStatistics, RandomRestarts, SimpleShortStatistics, SimpleStatistics, TarpeianStatistics
public class Statistics extends java.lang.Object implements Singleton
Statistics and its subclasses are Cliques which generate statistics during the run. Statistics are arranged in a tree hierarchy -- The root statistics object may have "children", and when the root is called, it calls its children with the same message. You can override this behavior however you see fit.There are lots of places where statistics might be nice to print out. These places are implemented as hooks in the Statistics object which you can override if you like; otherwise they call the default behavior. If you plan on allowing your Statistics subclass to contain children, you should remember to call the appropriate super.foo() if you override any foo() method.
While there are lots of hooks, various EvolutionState objects only implement a subset of them. You'll need to look at the EvolutionState code to see which ones are implemented to make sure that your statistics hooks are called appropriately!
Statistics objects should set up their statistics logs etc. during setup(...). Remember to make the log restartable in case of restarting from a checkpoint.
Steady-State Statistics. For convenience, Statistics contains default implementations of the SteadyStateStatisticsForm methods but does not implement SteadyStateStatisticsForm. This mostly is intended to keep SteadyStateStatistcsForm implementations from having to call functions on all their children: instead they can just call foo.super();
Parameters
base.num-children
int >= 0(number of child statistics objects) base.child.n
classname, inherits or equals ec.Statistics(the class of child statistics object number n) Parameter bases
base.child.n species (child statistics object number n) - See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field and Description Statistics[]childrenstatic java.lang.StringP_CHILDstatic java.lang.StringP_MUZZLEstatic java.lang.StringP_NUMCHILDRENstatic java.lang.StringP_SILENTstatic java.lang.StringP_SILENT_FILEstatic java.lang.StringP_SILENT_PRINTbooleansilentFilebooleansilentPrint
-
Constructor Summary
Constructors Constructor and Description Statistics()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidenteringInitialPopulationStatistics(SteadyStateEvolutionState state)STEADY-STATE: called when we created an empty initial Population.voidenteringSteadyStateStatistics(int subpop, SteadyStateEvolutionState state)STEADY-STATE: called when a given Subpopulation is entering the Steady-State.voidfinalStatistics(EvolutionState state, int result)Called immediately after the run has completed.voidgenerationBoundaryStatistics(EvolutionState state)STEADY-STATE: called each time the generation count incrementsvoidindividualsBredStatistics(SteadyStateEvolutionState state, Individual[] individuals)STEADY-STATE: called each time new individuals are bred during the steady-state process.voidindividualsEvaluatedStatistics(SteadyStateEvolutionState state, Individual[] newIndividuals, Individual[] oldIndividuals, int[] subpopulations, int[] indices)STEADY-STATE: called each time new individuals are evaluated during the steady-state process.voidpostBreedingStatistics(EvolutionState state)GENERATIONAL: Called immediately after breeding occurs.voidpostCheckpointStatistics(EvolutionState state)Called immediately after checkpointing occurs.voidpostEvaluationStatistics(EvolutionState state)GENERATIONAL: Called immediately after evaluation occurs.voidpostInitializationStatistics(EvolutionState state)GENERATIONAL: Called immediately after population initialization occurs.voidpostPostBreedingExchangeStatistics(EvolutionState state)Called immediately after the post-breeding exchange occurs.voidpostPreBreedingExchangeStatistics(EvolutionState state)Called immediately after the pre-breeding exchange occurs.voidpreBreedingStatistics(EvolutionState state)GENERATIONAL: Called immediately before breeding occurs.voidpreCheckpointStatistics(EvolutionState state)Called immediately before checkpointing occurs.voidpreEvaluationStatistics(EvolutionState state)GENERATIONAL: Called immediately before evaluation occurs.voidpreInitializationStatistics(EvolutionState state)Called immediately before population initialization occurs.voidprePostBreedingExchangeStatistics(EvolutionState state)Called immediately before the post-breeding exchange occurs.voidprePreBreedingExchangeStatistics(EvolutionState state)Called immediately before the pre-breeding exchange occurs.voidsetup(EvolutionState state, Parameter base)Sets up the object by reading it from the parameters stored in state, built off of the parameter base base.
-
-
-
Field Detail
-
P_NUMCHILDREN
public static final java.lang.String P_NUMCHILDREN
- See Also:
- Constant Field Values
-
P_CHILD
public static final java.lang.String P_CHILD
- See Also:
- Constant Field Values
-
P_SILENT
public static final java.lang.String P_SILENT
- See Also:
- Constant Field Values
-
P_MUZZLE
public static final java.lang.String P_MUZZLE
- See Also:
- Constant Field Values
-
P_SILENT_PRINT
public static final java.lang.String P_SILENT_PRINT
- See Also:
- Constant Field Values
-
P_SILENT_FILE
public static final java.lang.String P_SILENT_FILE
- See Also:
- Constant Field Values
-
children
public Statistics[] children
-
silentFile
public boolean silentFile
-
silentPrint
public boolean silentPrint
-
-
Method Detail
-
setup
public void setup(EvolutionState state, Parameter base)
Description copied from interface:SetupSets up the object by reading it from the parameters stored in state, built off of the parameter base base. If an ancestor implements this method, be sure to call super.setup(state,base); before you do anything else.
-
preInitializationStatistics
public void preInitializationStatistics(EvolutionState state)
Called immediately before population initialization occurs.
-
postInitializationStatistics
public void postInitializationStatistics(EvolutionState state)
GENERATIONAL: Called immediately after population initialization occurs.
-
preCheckpointStatistics
public void preCheckpointStatistics(EvolutionState state)
Called immediately before checkpointing occurs.
-
postCheckpointStatistics
public void postCheckpointStatistics(EvolutionState state)
Called immediately after checkpointing occurs.
-
preEvaluationStatistics
public void preEvaluationStatistics(EvolutionState state)
GENERATIONAL: Called immediately before evaluation occurs.
-
postEvaluationStatistics
public void postEvaluationStatistics(EvolutionState state)
GENERATIONAL: Called immediately after evaluation occurs.
-
prePreBreedingExchangeStatistics
public void prePreBreedingExchangeStatistics(EvolutionState state)
Called immediately before the pre-breeding exchange occurs.
-
postPreBreedingExchangeStatistics
public void postPreBreedingExchangeStatistics(EvolutionState state)
Called immediately after the pre-breeding exchange occurs.
-
preBreedingStatistics
public void preBreedingStatistics(EvolutionState state)
GENERATIONAL: Called immediately before breeding occurs.
-
postBreedingStatistics
public void postBreedingStatistics(EvolutionState state)
GENERATIONAL: Called immediately after breeding occurs.
-
prePostBreedingExchangeStatistics
public void prePostBreedingExchangeStatistics(EvolutionState state)
Called immediately before the post-breeding exchange occurs.
-
postPostBreedingExchangeStatistics
public void postPostBreedingExchangeStatistics(EvolutionState state)
Called immediately after the post-breeding exchange occurs.
-
finalStatistics
public void finalStatistics(EvolutionState state, int result)
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.
-
enteringInitialPopulationStatistics
public void enteringInitialPopulationStatistics(SteadyStateEvolutionState state)
STEADY-STATE: called when we created an empty initial Population.
-
enteringSteadyStateStatistics
public void enteringSteadyStateStatistics(int subpop, SteadyStateEvolutionState state)STEADY-STATE: called when a given Subpopulation is entering the Steady-State.
-
individualsBredStatistics
public void individualsBredStatistics(SteadyStateEvolutionState state, Individual[] individuals)
STEADY-STATE: called each time new individuals are bred during the steady-state process.
-
individualsEvaluatedStatistics
public void individualsEvaluatedStatistics(SteadyStateEvolutionState state, Individual[] newIndividuals, Individual[] oldIndividuals, int[] subpopulations, int[] indices)
STEADY-STATE: called each time new individuals are evaluated during the steady-state process. You can look up the individuals in state.newIndividuals[]
-
generationBoundaryStatistics
public void generationBoundaryStatistics(EvolutionState state)
STEADY-STATE: called each time the generation count increments
-
-
DMelt 3.0 © DataMelt by jWork.ORG