evolution

Concrete Elements for Evolutionary Processes.

Subpackages

Package Contents

Classes

ModularRobotEvolution

An object to encapsulate the general functionality of an evolutionary process for modular robots.

class ModularRobotEvolution(parent_selection: experimentation.evolution.abstract_elements.Selector, survivor_selection: experimentation.evolution.abstract_elements.Selector, evaluator: experimentation.evolution.abstract_elements.Evaluator, reproducer: experimentation.evolution.abstract_elements.Reproducer, learner: experimentation.evolution.abstract_elements.Learner | None = None)

Bases: experimentation.evolution.abstract_elements.Evolution

Inheritance diagram of experimentation.evolution.ModularRobotEvolution

An object to encapsulate the general functionality of an evolutionary process for modular robots.

step(population: TPopulation, **kwargs: Any) TPopulation

Step the current evolution by one iteration.

This implementation follows the following schedule:

[Parent Selection] ———> [Reproduction]

^ | | | | ⌄

[Survivor Selection] <—– [Evaluation of Children]

The schedule can be easily adapted and reorganized for your needs.

Parameters:
  • population – The current population.

  • kwargs – Additional keyword arguments to use in the step.

Returns:

The population resulting from the step