abstract_elements

An Abstraction Layer for Elements in an Evolutionary Process.

Package Contents

Classes

Evaluator

An Evaluator object that enables evaluation of individuals in an evolutionary process.

Evolution

An abstract object to encapsulate an evolutionary process.

Learner

A Learner object that enables learning for individuals in an evolutionary process.

Reproducer

A Reproducer object that enables the reproduction of individuals in an evolutionary process.

Selector

A Selector object that enables selection of individuals in an evolutionary process.

class Evaluator

Bases: abc.ABC

Inheritance diagram of experimentation.evolution.abstract_elements.Evaluator

An Evaluator object that enables evaluation of individuals in an evolutionary process.

abstract evaluate(population: TPopulation) list[float]

Evaluate individuals from a population.

Parameters:

population – The population for evaluation.

Returns:

The results of the evaluation.

class Evolution

Bases: abc.ABC

Inheritance diagram of experimentation.evolution.abstract_elements.Evolution

An abstract object to encapsulate an evolutionary process.

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

Step the current evolution by one iteration..

Parameters:
  • population – The current population.

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

Returns:

The population resulting from the step

class Learner

Bases: abc.ABC

Inheritance diagram of experimentation.evolution.abstract_elements.Learner

A Learner object that enables learning for individuals in an evolutionary process.

The learner is dependent on its reward function, which is: a measure that drives learning. Depending on the learning method used, the reward can simply equal task performance.

Task performance on the other hand is a measure that reflects how well a task is performed. In a robot system with multiple tasks, there are multiple definitions of task performance. Task performance can be used to define fitness and/or reward functions.

For more information wait for Prof. Dr. A.E. Eiben`s book on evolutionary robotics, or ask him directly.

abstract learn(population: TPopulation) TPopulation

Make Individuals from a population learn.

Parameters:

population – The population.

Returns:

The learned population.

class Reproducer

Bases: abc.ABC

Inheritance diagram of experimentation.evolution.abstract_elements.Reproducer

A Reproducer object that enables the reproduction of individuals in an evolutionary process.

abstract reproduce(population: TPopulation, **kwargs: Any) TPopulation

Make Individuals Reproduce.

Parameters:
  • population – The population.

  • kwargs – Additional arguments.

Returns:

The children.

class Selector

Bases: abc.ABC

Inheritance diagram of experimentation.evolution.abstract_elements.Selector

A Selector object that enables selection of individuals in an evolutionary process.

abstract select(population: TPopulation, **kwargs: Any) tuple[TPopulation, KWArgs]

Select individuals from a population.

Parameters:
  • population – The population for selection.

  • kwargs – Possible metrics for selection.

Returns:

The selected subset of the population and additional kwargs.