culebra.trainer.ea.abc module

Abstract base classes for different evolutionary trainers.

This module provides several abstract classes for different kind of evolutionary trainers.

Regarding the homogeneity of their operators:

  • HomogeneousEA: Defines an EA model in which all the sub-populations have the same configuration

  • HeterogeneousEA: Allows a different configuration for each sub-population in multi-population approaches

With respect to the number of populations being trained:

  • SinglePopEA: A base class for all the single population evolutionary trainers

  • MultiPopEA: A base class for all the multiple population evolutionary trainers

Different multi-population approaches are also provided:

  • IslandsEA: Abstract base class for island-based evolutionary approaches

  • CooperativeEA: Abstract base class for cooperative co-evolutionary trainers

Finally, two types of islands-based models are also defined:

  • HomogeneousIslandsEA: Abstract base class for island-based evolutionary approaches where all the islands share the same hyperparameters

  • HeterogeneousIslandsEA: Abstract base class for island-based evolutionary approaches where each island can have each own configuration