Print

Print


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
>