Ah, I understand. ECJ's steady-state evaluator does not support lazy
evaluation. It doesn't mean it can't be hacked in -- but it's not
there by default.
While it's true you can generate a population from a previous
population without having to create all the individuals, that doesn't
help you much when you're trying to identify the best individual you
discover along the way though.
On Oct 30, 2006, at 2:12 PM, Serethos wrote:
> Sure its all a matter of definition. But afaik tournament selection
> is one of the most popular
> steady state selection, because not all individuals are evaluated.
> there is no replacement
> of a whole generation (if you assume, the not evaluated individuals
> do not use reproduction).
> Sean Luke wrote:
>> Generations are independent of the selection procedure. In
>> generational selection, individuals are evaluated, and then
>> through a process of selection and breeding, a new population is
>> formed. Once the new population is in place, it replaces the old
>> one and the cycle repeats. That's one generation.
>> The only exception to this is in steady state evolution, where ECJ
>> used to abuse the "generation" marker to mean something else --
>> but we've since changed that and there is a formal definition in
>> steady state evolution as to what everything is.
>> On Oct 30, 2006, at 8:41 AM, Serethos wrote:
>>> I am wondering how a Generation is defined in ECJ if Tournament
>>> is used. Is there a generation change, after _one_ tournament has
>>> been executed
>>> or after enough individuals have been produced so that
>>> numWinners == numIndividualsOfPopulation?