I did a little GP (note:very little) work in college and have been playing around with it recently. My question is in regards to the intial run settings (population size, number of generations, min/max depth of trees, min/max depth of initial trees, percentages to use for different reproduction operations, etc.). What is the normal practice for setting these parameters? What papers/sites do people use as a good guide?
Genetic Algorithm programs include a number of parameters including the probabilities of crossover and mutation, the population size and the number of generations. A factorial experiment has been performed to identify appropriate values for these factors that produce the best results within a given execution time.
There are two basic parameters of GA - crossover probability and mutation probability. Crossover probability: how often crossover will be performed. If there is no crossover, offspring are exact copies of parents. If there is crossover, offspring are made from parts of both parent's chromosome.
There are two basic parameters of GA - crossover probability and mutation probability. Crossover probability says how often will be crossover performed. If there is no crossover, offspring is exact copy of parents.
It has been observed that the entire population should not be initialized using a heuristic, as it can result in the population having similar solutions and very little diversity. It has been experimentally observed that the random solutions are the ones to drive the population to optimality.
You'll find that this depends very much on your problem domain - in particular the nature of the fitness function, your implementation DSL etc.
Some personal experience:
Why don't you try using a genetic algorithm to optimise these parameters for you? :)
Any problem in computer science can be solved with another layer of indirection (except for too many layers of indirection.)
-David J. Wheeler
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With