Module io.jenetics.base
Package io.jenetics.engine
Interface Evolution<G extends Gene<?,G>,C extends Comparable<? super C>>
- Type Parameters:
G- the gene typeC- the fitness result type
- All Known Implementing Classes:
Engine
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface
public interface Evolution<G extends Gene<?,G>,C extends Comparable<? super C>>
This functional interface defines the evolution function, which takes an
EvolutionStart object, evolves the population, and returns an
EvolutionResult object.- Since:
- 5.1
- Version:
- 5.1
-
Method Summary
Modifier and TypeMethodDescriptionevolve(EvolutionStart<G, C> start) Perform one evolution step with the given evolutionstartobject New phenotypes are created with the fitness function defined by this enginedefault EvolutionResult<G, C> Perform one evolution step with the givenpopulationandgeneration.
-
Method Details
-
evolve
Perform one evolution step with the given evolutionstartobject New phenotypes are created with the fitness function defined by this engine- Parameters:
start- the evolution start object- Returns:
- the evolution result
- Throws:
NullPointerException- if the given evolutionstartisnull- Since:
- 3.1
- See Also:
- API Note:
- The implementation of this method must be thread-safe.
-
evolve
Perform one evolution step with the givenpopulationandgeneration.This method is thread-safe.
- Parameters:
population- the population to evolvegeneration- the current generation; used for calculating the phenotype age.- Returns:
- the evolution result
- Throws:
NullPointerException- if the givenpopulationisnullIllegalArgumentException- if the givengenerationis smaller then one- See Also:
-