Print

Print


I've got this line in my params file that I don't understand:

breed.reproduce.prob = 0.1

I did a search through all of the ECJ code, and the only appearance of the base "breed.reproduce" is in ec.breed.ReproductionPipeline. The trouble is, there's no parameter "prob" for this class.

Am I missing something, or is this just a case where the documentation has become out of sync with the code?

I'm guessing this is parameter controls the likelihood of reproducing an individual rather than producing a new one through crossover or mutation, but guessing makes me very nervous.

Some context, in case it helps:

breed.multibreed.generate-max = false
breed.multibreed.num-sources = 2
breed.multibreed.source.0 = ec.gp.koza.CrossoverPipeline
breed.multibreed.source.1 = ec.breed.ReproductionPipeline
breed.reproduce.prob = 0.1
gp.koza.xover.prob = 0.9

(Does the Koza pipeline not include the possibility of reproduction?)

Peter Drake
http://www.lclark.edu/~drake/