Print

Print


I am a bit confused. I haven't seen the usage of "likelihood" in setting
the probability of performing crossover/mutation. The following is what I
learned from the tutorials and what I continue using:

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*

Indicates the probability that the Breeding Pipeline will perform its
mutative action instead of just doing reproduction.

Not sure what this does, but I guess it is for normal EC and can be ignored
in a GP process. I could be totally wrong.


On Mon, Mar 3, 2014 at 7:14 AM, Francisco Lopez de la Franca <
[log in to unmask]> wrote:

> 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.
> 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.
>
> 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?
>
> Thank you very much.
> My best regards.
>
>
> 2014-03-01 1:02 GMT+01:00 Francisco Lopez de la Franca <
> [log in to unmask]>:
>
> 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.
>> Thank you anyway.
>> Regards.
>>
>>
>> 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:
>>> >
>>> > <Bass>.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.
>>> >
>>>
>>
>>
>