Pruning will be up to you.  But you have two ways you can hook into ECJ to do it.

1. You can create a BreedingPipeline which prunes the trees handed it by its children.  This is essentially a mutation mechanism during breeding of individuals.  You'd probably set this up as the top-level pipeline, with the standard Koza pipeline structure underneath it, so it's the last thing that operates on new individuals.

2. Perhaps a better approach would be simply to prune the individual during fitness evaluation prior to testing it.

Sean

Begin forwarded message:

> From: Bojan Janisch <[log in to unmask]>
> Date: April 25, 2013 5:27:32 PM EDT
> To: [log in to unmask]
> Subject: AW: Re: Postprocessing in ec.gp
> Reply-To: ECJ Evolutionary Computation Toolkit <[log in to unmask]>
> 
> Hi Uday,
> I already have a plan how the represented rule should be evaluated. I'll write an 
> API to JBoss Drools, which is a rule-based System. The Output of the System will 
> be compared to a goldstandard by a comparator which I have to write. It returns a 
> F-Score or something similar to it. The Score goes into the fitness function. 
> 
> But my problem is the pruning. I need a step where I can check a syntax tree for useless
> part-trees. Otherwise the trees have no limits on how big it can grow. I wanted to check 
> while post-processing the tree, but seems that ECJ does not support it. 
> 
> How did you solve the chunk-condition problem for rules?
> 
> Greetings 
> Bojan
> 
> 
> ----- Ursprüngliche Mail -----
> Von: Uday kamath <[log in to unmask]>
> An: [log in to unmask]
> Gesendet: Thu, 25 Apr 2013 17:28:38 +0200 (CEST)
> Betreff: Re: Postprocessing in ec.gp
> 
> Bojan
> There are no pre written post processing out of the box as it depends on
> the problem (function set of GP). I will give a short background which you
> may find useful for what you are doing.
> For generating automated Rules to discriminate certain patterns, i had my
> GP have basic terminals and non-terminals required for the Rule. I would
> collect my "exceptional" Rules as a memory pad outside of evolutionary
> runs, everytime i see some well performing ones. Finally i get a Rule set
> and wrote my Custom "interpreter" that can parse the GP Individuals as
> s-expression to evaluate. So ECJ gives you GP and Evolution for free, you
> need to write custom functions and interpreter for them.
> Hope that helps
> Uday
> 
> 
> On Thu, Apr 25, 2013 at 10:29 AM, Bojan Janisch <
> [log in to unmask]> wrote:
> 
>> Hello everyone,
>> 
>> is there a post-processing-step in the Genetic Programming algorithm? I've
>> search through the manual,
>> but did not find an explanation about this topic.
>> 
>> Thank you and greetings,
>> Bojan
>>