pop.subpop.0.species.pipe = ec.breed.MultiBreedingPipeline |
# Koza's decision here was odd... |
pop.subpop.0.species.pipe.generate-max = false |
# Subsidiary pipelines: |
pop.subpop.0.species.pipe.num-sources = 2 |
pop.subpop.0.species.pipe.source.0 = ec.gp.koza.CrossoverPipeline |
pop.subpop.0.species.pipe.source.0.prob = 0.9 |
pop.subpop.0.species.pipe.source.1 = ec.breed.ReproductionPipeline |
pop.subpop.0.species.pipe.source.1.prob = 0.1
I searched a little for the parameter "likelihood", and this is what I found in class BreedingPipeline:
public static final java.lang.String P_LIKELIHOOD
|
My best regards.Thank you very much.Please, how do I set a probability for performing the mutation operator, I mean, with probability 0.x I want the mutation operation to be performed?After checking the koza.params file, I see that like for xover, there is a gp.koza.mutate param. I've tried with gp.koza.mutate.likelihood and when printing unaccessed params, the gp.koza.mutate.likelihood appears in that list.Hi again.I've used gp.koza.xover.likelihood to set the probability of performing the crossover operator and I've seen differences in my results, what it sounds good.
2014-03-01 1:02 GMT+01:00 Francisco Lopez de la Franca <[log in to unmask]>:
Regards.Thank you anyway.Sorry for the troubles, but I've re-read the manual several times and it doesnīt clarify my question.In genetic algorithms, evolution strategies, etc, it is specified a probability of doing recombination, and another one of doing mutation. And, I want to do the same for genetic programming, an I donīt see the way to do it in ECJ.
2014-02-28 14:35 GMT+01:00 Sean Luke <[log in to unmask]>:
I think you need to read up on parameter bases in ECJ. See the manual's section on parameters and parameter databases.
Sean
On Feb 28, 2014, at 2:26 AM, Francisco Lopez de la Franca <[log in to unmask]> wrote:
> I want to specify the probability of performing mutation and the same for crossover. How do I specify it for each operator?
> I've seen the following parameters and I don`t know which one to use:
>
> <base>.likelihood
> pop.subpop.0.species.pipe.source.0.prob
> gp.koza.xover.prob
> pop.subpop.0.species.mutation-prob
> pop.subpop.0.species.crossover-prob
>
> Additionally, I'd like to know the type of mutation and crossover applied in the run. How do I know them?
>
> Thanks a lot.
>
>
> 2014-02-27 15:22 GMT+01:00 Sean Luke <[log in to unmask]>:
> If you want to specify the probability whether a given operator performs mutation (say) or just copies parents and returns them, the parameter you're looking for is 'likelihood'.
>
> If you want to specify the probability of doing mutation type 1 versus mutation type 2 versus crossover or whatever, the tool you want is called ec.breed.MultiBreedingPipeline.
>
> Sean
>
> On Feb 27, 2014, at 6:50 AM, Francisco Lopez de la Franca <[log in to unmask]> wrote:
>
> > Hi.
> >
> > I'd like to know how it's specified in the params file the probability of carrying out the recombination and mutation in genetic programming. (I think recombination is called in GP crossover, isn't it?).
> >
> > Thanks.
>