On Apr 14, 2008, at 4:41 PM, Shane wrote: > I would like to see the results of each gp individual in the > out.stat file, instead of just the best individual in each > generation. I specifically want to see the string representation > of the tree for each individual. Is this possible? I will be > using a small population size for testing. It's not built-in. But it's very simple to write your own Statistics object, and then you just add it to the Statistics chain. Or if you're just adding to the existing statistics file, you can just subclass from KozaStatistics and override it: public class MyStatistics extends KozaStatistics { // we're going to steal KozaStatistics's 'statisticslog' variable, which makes this easy // since KozaStatistics sets the log to point to out.stat for us already // let's override this one function public void postEvaluationStatistics(final Evaluation state) { super.postEvaluationStatistics(); state.output.println("========== CHILDREN ===========", Output.V_NO_GENERAL, statisticslog); for(int x=0;x<state.population.subpops.length;x++) { state.output.println("+++++ Subpop " + x + " +++++", Output.V_NO_GENERAL, statisticslog); for(int y=0; y< state.population.subpops[x].individuals.length; y++) { state.output.println("----- Individual " + y + " -----", Output.V_NO_GENERAL, statisticslog); // notice log and output verbosity are switched here, it's a // historical stupidity in ECJ state.population.subpops[x].individuals [y].printIndividualForHumans(state, statisticslog, Output.V_NO_GENERAL); } } } } Something like that. Now you can replace KozaStatistics with MyStatistics, something like adding the parameter: stat = edu.gmu.cs.MyStatistics Your other option is to just write a direct subclass of Statistics and output to a separate file (you need to ask Output to create a log for you in your setup() method). Look at SimpleStatistics and how it does it. Then you can add that new Statistics object to your statistics chain. Each Statistics object has N children (typically at most 1) who are also called. So you could do: ;;; keep this as before: ;;; stat = ec.gp.koza.KozaStatistics stat.num-children = 1 stat.0 = edu.gmu.cs.MyOtherStatistics Now you have two statistics objects. Sean