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/
|