alcides/GeneticEngine

Fitness as list

Leoningel opened this issue · 1 comments

For multi-objective GP we need the fitness of individuals to be represented as lists in stead of single values. This would allow the incorporation of selection methods like lexicase selection.
We should think about how this would fit single-objective selection methods. We could just choose the first fitness, or choose the average.

My take is that users of the GP class may specify either:

  • Fitness returning a single value
  • Minimize being bool

or

  • Fitness returning a list of values
  • Minimize being a list of bools ([True, False, True] means to minimize the first and third objectives, and maximize the second.

But after creating the object, we should detect the first case and convert it to the second, having a list of a single objective.