Thanks for answers.
So if I needed to change probability for crossover pipeline I would need
to change parameter "prob" in BreedingSource class?
Because I don't want every individual that is selected to be crossed over.
I would like for example 20% of individuals for reproduction pipeline
and 80% for crossover.
One more question: these min-gene and max-gene values in ecsuite.params
are only for rastrigin problem?
If so, what are values for other problems?
In the literature I found:
- rastrigin: -5.12, 5.12
- sphere: -100, 100
- rosenbrock: -2048, 2048
- griewangk: -600, 600
So for other 3 problems I don't know what values should I use.
Regards,
Martin
Christopher Vo wrote:
> Martin V. wrote:
>
>> - Do all of 7 functions have minimum at 0.0?
> Many of the functions in ECSuite are inverted so that ECJ can perform
> maximization instead of minimization. You can see how the functions
> are implemented and look at the fitness of the ideal individuals
> inside the evaluate() method in ec/app/ecsuite/ECSuite.java.
>
> There you can see that with the Rosenbrock, Rastrigrin, Sphere, and
> Step problem types, an individual's fitness is ideal when the fitness
> is equal to 0.0f. Noisy quartic, Booth, and Griewangk have no ideal
> fitness value defined.
>> - What is the probability of crossover (one-type)? No parameter is
>> specified in ecsuite.params, like the one for mutation probability
>> (0.005).
> VectorCrossoverPipeline (which is used in ecsuite.params) grabs
> individuals from the two sources and always performs the crossover.
> Note that there also exists a parameter
> "pop.subpop.0.species.crossover-prob", however it is only for use with
> any-point crossover.
>> - How can I find ideal individual (minimum of the function), do I
>> need to change some parameters? Now for rastrigin (default function)
>> I find the best individual have value of about -235 (towards zero is
>> better).
>> I have run the evolution few times with random seed but with no luck
>> to get fitnes towards 0. Maybe I need to change mutation probability,
>> the number of generations, the number of individuals, the size of the
>> genome...etc.?
> Rastrigin is a function with a lot of local minima. You will have to
> do your own experimentation with the various parameters to find what
> parameters work well. Note that with floating point vectors, you may
> not be able to get exactly 0.0, but approximately 0.0. Actually, in my
> experience, if you see "Found Ideal Individual" on one of the ECSuite
> problems, it is often an indicator that something went wrong...
>
> Try increasing the population size (pop.subpop.0.size). Also, just to
> make sure things are working, you may just want to try the same
> function with a smaller genome size. For example, try 10 genes instead
> of 50. You can adjust the genome size via the genome-size parameter.
> You might also try experimenting with Gaussian mutation instead of
> reset mutation for this problem.
>
> --Chris Vo
>
|