/* Copyright 2006 by Sean Luke Licensed under the Academic Free License version 3.0 See the file "LICENSE" for more information */ package ec; import ec.steadystate.*; import ec.util.*; /* * Statistics.java * * Created: Tue Aug 10 21:10:48 1999 * By: Sean Luke */ /** * 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) |