Search code examples
selectiongenetic-algorithmgenetic-programming

Selecting who should breed with whom from a list of qualified parents?


This is a beginner' question, so please bear with me. I am learning about genetic algorithms, and my question is this:

If I start with a population of N, and then I use some selection technique such as stochastic universal sampling to find good parents for the next generation (call this subset P). I then want to generate N children again so that the size of the new population is the same as the old one. What is the best way of selecting who should breed with whom from the list of chosen parents? To clarify, this is after the selection based on fitness in this case has already been run. Should I just select two random entries in the P list, crossover/mutate them and then repeat the process until I have N children? Or should I traverse the list in some other way, breeding each adjacent parent or something similar? What is a reasonable way of doing this?


Solution

  • I would just pair them up randomly. If you rely on the ordering imparted by the selection strategy you may end up unintentionally biasing which individuals are combined. It depends on the details of your selection strategy and how it's implemented but there's a chance you'd end up having pairs of parents that were very similar to each other, which might hinder the exploration of the search space.