Jido.Evolve.Engine (Jido Evolve v1.0.0)

Copy Markdown View Source

Core evolutionary algorithm engine.

Provides a stream-based interface for running evolutionary algorithms with pluggable strategies for fitness, mutation, selection, and crossover.

Summary

Functions

evolution_step(state, fitness_module, mutation_module, selection_module, crossover_module, context)

@spec evolution_step(
  Jido.Evolve.State.t(),
  module(),
  module(),
  module(),
  module(),
  map()
) ::
  Jido.Evolve.State.t()

Perform a single evolution step.

evolve(initial_population, config, fitness_module)

@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