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 >