Thanks. But it's not clear for me. It should have an easier way, a place (a loop already done) where I can just set the new fitness for each individual. A loop where ECJ calls evaluate() method for each individual, something like children[i].evaluate(). -------- 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 2:48 PM, Eric 'Siggy' Scott <[log in to unmask]> wrote: > The loop proper is in EvolutionState.run(). > > SimpleEvolutionState.evolve() contains the logic for a single iteration of > the loop. In particular, it calls evaluator.evalutePopulation() once each > generation. So you want to inherit from SimpleEvaluator and override > evaluatePopulation(), adding your logic after the call to > super.evaluatePopulation(). > > Siggy > > > > > 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/ > > > > > -- > > Ph.D student in Computer Science > George Mason University > http://mason.gmu.edu/~escott8/