Core evolutionary algorithm engine.
Provides a stream-based interface for running evolutionary algorithms with pluggable strategies for fitness, mutation, selection, and crossover.
Summary
Functions
Perform a single evolution step.
Run an evolutionary algorithm with the given configuration.
Functions
@spec evolution_step( Jido.Evolve.State.t(), module(), module(), module(), module(), map() ) :: Jido.Evolve.State.t()
Perform a single evolution step.
@spec evolve([any()], Jido.Evolve.Config.t(), module()) :: Enumerable.t()
Run an evolutionary algorithm with the given configuration.
Returns a stream of Jido.Evolve.State structs representing each generation.
The stream is lazy, so generations are only computed when consumed.
Options
:mutation- Module implementingJido.Evolve.Mutation(default from config):selection- Module implementingJido.Evolve.Selection(default from config):crossover- Module implementingJido.Evolve.Crossover(default from config):context- Context map passed to fitness evaluation