Print

Print


You are probably looking for the class Evaluator and its subclasses. The
loops for evaluation is probably in evaluatePopulation() method of these
classes.

SimpleEvaluator is a good example. Just dwell deeper and you should find it.


On Tue, Jul 29, 2014 at 1:29 PM, Márcio Basgalupp <[log in to unmask]>
wrote:

> Thanks, but there is no loop in the method evolve() of my
> EvolutionState.java.
>
> public int evolve()
>
>         throws InternalError, FileNotFoundException, IOException,
> Exception { return R_NOTDONE; }
>
>
> The same for SimpleEvolutionState.java
>
>
> This loop (varying the children/individuals) is exactly what I'm looking
> for.
>
> Best,
> Márcio
>
>
>
> --------
> Prof. Dr. Márcio Porto Basgalupp
> Instituto de Ciência e Tecnologia (ICT)
> Universidade Federal de São Paulo (UNIFESP)
> Tel: +55 12 3309-9582
>
>
> On Tue, Jul 29, 2014 at 12:23 PM, Eric 'Siggy' Scott <[log in to unmask]>
> wrote:
> > The post-evaluation stage is only for running statistics.
> >
> > Look in the evolve() method of your EvolutionState -- that has the
> > high-level loop.  You'll probably want to customize your Evaluator to
> add a
> > post-processing step, leaving the EvolutionState as is.
> >
> > Siggy
> >
> >
> > On Tue, Jul 29, 2014 at 11:02 AM, Márcio Basgalupp <[log in to unmask]>
> > wrote:
> >>
> >> Thank you Ye.
> >>
> >> That's true.
> >>
> >> But my question is: where (in the code) is this post-evaluation stage?
> >>
> >> Best,
> >> Márcio
> >> --------
> >> Prof. Dr. Márcio Porto Basgalupp
> >> Instituto de Ciência e Tecnologia (ICT)
> >> Universidade Federal de São Paulo (UNIFESP)
> >> Tel: +55 12 3309-9582
> >>
> >>
> >> On Tue, Jul 29, 2014 at 11:40 AM, Xiaomeng Ye <[log in to unmask]>
> >> wrote:
> >> > It has been a while since I last used ECJ. I could be totally wrong.
> >> >
> >> > I remember there is a post-evaluation stage for each generation in the
> >> > evolution. If I am going to divide all fitness values by the biggest
> >> > one. I
> >> > will do it in this post-evaluation stage.
> >> >
> >> > This post-evaluation stage is probably between the evaluation stage
> >> > (where
> >> > the fitness are calculated) and the breeding stage (where
> >> > crossover/mutation
> >> > happens).
> >> >
> >> >
> >> > On Tue, Jul 29, 2014 at 10:18 AM, Márcio Basgalupp <
> [log in to unmask]>
> >> > wrote:
> >> >>
> >> >> Dear all,
> >> >>
> >> >> I'm using ECJ for implementing a GP based-program. After evaluating
> >> >> (compute fitness) all individuals, I would like to "update" these
> >> >> fitness values (for example, divide all fitness values by the biggest
> >> >> one). However, I couldn't find where (which class) I have to do that.
> >> >> It should be where ECJ calls the method evaluate() for each
> >> >> individual, then I could update before proceeding to the next steps
> >> >> (select, genetic operators, ...).
> >> >>
> >> >> I would appreciate if someone help me.
> >> >>
> >> >> Best,
> >> >> Márcio
> >> >>
> >> >> --------
> >> >> Prof. Dr. Márcio Porto Basgalupp
> >> >> Instituto de Ciência e Tecnologia (ICT)
> >> >> Universidade Federal de São Paulo (UNIFESP)
> >> >> Tel: +55 12 3309-9582
> >> >
> >> >
> >
> >
> >
> >
> > --
> >
> > Ph.D student in Computer Science
> > George Mason University
> > http://mason.gmu.edu/~escott8/
>