Print

Print


Hello,

I'm working in a hyper-heuristic GA to evolve machine learning algorithms.
I was using a traditional breeding pipeline (tournament selection -->
crossover --> mutation), but I decided to change it so it would look
something like this: (tournament selection -->
reproduction/crossover/mutation), in which there is 5% of chance of
reproducing (cloning) the selected individuals, 5% of chance of mutating
the individuals and 90% of chance of them suffering crossover. In other
words, the probabilities should sum to 1 considering that the selected
individuals will undergo one of the three operations at a time.

I edited my parameter file to look like this:

pop.subpop.0.species.pipe = ec.breed.MultiBreedingPipeline
pop.subpop.0.species.pipe.num-sources = 3
pop.subpop.0.species.pipe.source.0 = ec.breed.ReproductionPipeline
pop.subpop.0.species.pipe.source.0.prob = 0.05
pop.subpop.0.species.pipe.source.1 = ec.vector.breed.VectorCrossoverPipeline
pop.subpop.0.species.pipe.source.1.prob = 0.90
pop.subpop.0.species.pipe.source.2 = ec.vector.breed.VectorMutationPipeline
pop.subpop.0.species.pipe.source.2.prob = 0.05

pop.subpop.0.species.pipe.source.0.source.0 = ec.select.TournamentSelection
pop.subpop.0.species.pipe.source.1.source.0 = ec.select.TournamentSelection
pop.subpop.0.species.pipe.source.1.source.1 = same
pop.subpop.0.species.pipe.source.2.source.0 = ec.select.TournamentSelection

pop.subpop.0.species.crossover-type = one
pop.subpop.0.species.mutation-prob = 0.5
pop.subpop.0.species.mutation-type = reset

select.tournament.size = 2


Is this correct? Or am I missing something important? Apparently it works,
but I'm not sure it is working as it should.

Thank you for your help.

-- 
Rodrigo Coelho Barros, MSc.
PhD Candidate
Bioinspired Computation Laboratory (BioCom)
Department of Computer Science
University of São Paulo at São Carlos (ICMC-USP)

www.icmc.usp.br/~rcbarros
e-mail (1): [log in to unmask]
e-mail (2): [log in to unmask]

mobile: +55 16 8138-3627