# Jido Evolve v1.0.0 - Table of Contents

> Evolutionary algorithms for Elixir with a simple evolve API

## Pages

- [Jido.Evolve](readme.md)
- [Changelog](changelog.md)
- [Contributing](contributing.md)

- Guides
  - [Getting Started](getting-started.md)

## Modules

- [Jido.Evolve](Jido.Evolve.md): Jido.Evolve is a generic evolutionary algorithm framework for Elixir.
- [Jido.Evolve.Config](Jido.Evolve.Config.md): Canonical configuration structure for evolutionary algorithms.
- [Jido.Evolve.Crossover](Jido.Evolve.Crossover.md): Protocol for crossover operations between two parent entities.
- [Jido.Evolve.Crossover.MapUniform](Jido.Evolve.Crossover.MapUniform.md): Uniform crossover for map genomes.
- [Jido.Evolve.Crossover.PMX](Jido.Evolve.Crossover.PMX.md): Partially Mapped Crossover (PMX) for permutations.
- [Jido.Evolve.Crossover.String](Jido.Evolve.Crossover.String.md): Single-point crossover implementation for strings.
- [Jido.Evolve.Crossover.Uniform](Jido.Evolve.Crossover.Uniform.md): Uniform crossover implementation for lists.
- [Jido.Evolve.Engine](Jido.Evolve.Engine.md): Core evolutionary algorithm engine.
- [Jido.Evolve.Error](Jido.Evolve.Error.md): Centralized error handling for Jido.Evolve using Splode.

- [Jido.Evolve.Evolvable](Jido.Evolve.Evolvable.md): Protocol for making any data structure evolvable.
- [Jido.Evolve.Evolvable.HParams](Jido.Evolve.Evolvable.HParams.md): Evolvable protocol implementation for hyperparameter maps.
- [Jido.Evolve.Evolvable.Permutation](Jido.Evolve.Evolvable.Permutation.md): Helper functions for working with permutation genomes.
- [Jido.Evolve.Examples.HelloWorld](Jido.Evolve.Examples.HelloWorld.md): A simple example of evolving text towards a target string.
- [Jido.Evolve.Examples.HyperparameterTuning](Jido.Evolve.Examples.HyperparameterTuning.md): Hyperparameter Optimization: Evolve ML model hyperparameters for best performance.
- [Jido.Evolve.Examples.Knapsack](Jido.Evolve.Examples.Knapsack.md): Knapsack Problem: Select items to maximize value without exceeding weight capacity.
- [Jido.Evolve.Examples.TravelingSalesman](Jido.Evolve.Examples.TravelingSalesman.md): Traveling Salesman Problem (TSP): Find the shortest route visiting all cities.
- [Jido.Evolve.Examples.Utils](Jido.Evolve.Examples.Utils.md): Shared utilities for Jido.Evolve examples.

- [Jido.Evolve.Fitness](Jido.Evolve.Fitness.md): Behaviour for fitness evaluation functions.
- [Jido.Evolve.Mutation](Jido.Evolve.Mutation.md): Behaviour for mutation strategies.
- [Jido.Evolve.Mutation.AdaptiveText](Jido.Evolve.Mutation.AdaptiveText.md): Adaptive text mutation strategy that adjusts mutation rate based on fitness.
- [Jido.Evolve.Mutation.Binary](Jido.Evolve.Mutation.Binary.md): Bit-flip mutation for binary genomes.
- [Jido.Evolve.Mutation.HParams](Jido.Evolve.Mutation.HParams.md): Schema-driven mutation for hyperparameter maps.
- [Jido.Evolve.Mutation.Permutation](Jido.Evolve.Mutation.Permutation.md): Mutation strategies for permutation genomes.
- [Jido.Evolve.Mutation.Random](Jido.Evolve.Mutation.Random.md): Random mutation strategy for any evolvable entity.
- [Jido.Evolve.Mutation.Text](Jido.Evolve.Mutation.Text.md): Text-specific mutation strategy that works directly with strings.
- [Jido.Evolve.Options](Jido.Evolve.Options.md): Canonical option validation and normalization for `Jido.Evolve.evolve/1`.

- [Jido.Evolve.Selection](Jido.Evolve.Selection.md): Behaviour for selection strategies.
- [Jido.Evolve.Selection.Tournament](Jido.Evolve.Selection.Tournament.md): Tournament selection strategy.
- [Jido.Evolve.State](Jido.Evolve.State.md): Represents the state of an evolutionary algorithm at a given generation.

- Exceptions
  - [Jido.Evolve.Error.Config](Jido.Evolve.Error.Config.md): Configuration error class.
  - [Jido.Evolve.Error.ConfigError](Jido.Evolve.Error.ConfigError.md): Error raised for invalid configuration.
  - [Jido.Evolve.Error.Execution](Jido.Evolve.Error.Execution.md): Execution error class.
  - [Jido.Evolve.Error.ExecutionError](Jido.Evolve.Error.ExecutionError.md): Error raised for execution failures.
  - [Jido.Evolve.Error.Internal](Jido.Evolve.Error.Internal.md): Internal error class.
  - [Jido.Evolve.Error.InternalError](Jido.Evolve.Error.InternalError.md): Error raised for unexpected internal failures.
  - [Jido.Evolve.Error.Invalid](Jido.Evolve.Error.Invalid.md): Invalid input error class.
  - [Jido.Evolve.Error.InvalidInputError](Jido.Evolve.Error.InvalidInputError.md): Error raised for invalid input.

## Mix Tasks

- [mix jido_evolve.install](Mix.Tasks.JidoEvolve.Install.md): Install and configure Jido.Evolve for use in an application.

