# petri v0.1.0 - Table of Contents

> A multi-representation genetic algorithm library. Supports real, permutation, and binary chromosomes with representation-specific crossover and mutation operators.

## Modules

- [Petri](Petri.md): A multi-representation genetic algorithm library.
- [Petri.Chromosome](Petri.Chromosome.md)
- [Petri.Chromosome.Binary](Petri.Chromosome.Binary.md): A chromosome whose genes are bits (0 or 1).
- [Petri.Chromosome.Permutation](Petri.Chromosome.Permutation.md): A chromosome whose genes are a permutation of integers, e.g. a TSP tour.
Validity requires every gene to be an integer with no duplicates.

- [Petri.Chromosome.Real](Petri.Chromosome.Real.md): A chromosome whose genes are real-valued floats with per-gene bounds.
- [Petri.Config](Petri.Config.md): Typed config validation for `Petri.run/2`.
- [Petri.Crossover.Binary](Petri.Crossover.Binary.md)
- [Petri.Crossover.Permutation](Petri.Crossover.Permutation.md)
- [Petri.Crossover.Real](Petri.Crossover.Real.md)
- [Petri.Engine](Petri.Engine.md)
- [Petri.Initialization](Petri.Initialization.md): Random initialization per chromosome representation.
- [Petri.Mutation.Binary](Petri.Mutation.Binary.md)
- [Petri.Mutation.Permutation](Petri.Mutation.Permutation.md)
- [Petri.Mutation.Real](Petri.Mutation.Real.md)
- [Petri.Operator.Binary](Petri.Operator.Binary.md): Dispatches configuration atoms to concrete binary operators.

- [Petri.Operator.Permutation](Petri.Operator.Permutation.md): Dispatches configuration atoms to concrete permutation operators.

- [Petri.Operator.Real](Petri.Operator.Real.md): Dispatches configuration atoms to concrete real-valued operators.

- [Petri.RNG](Petri.RNG.md): Seeding policy for Petri's stochastic operators.

- [Petri.Recorder](Petri.Recorder.md): Records per-generation statistics from a population.
- [Petri.Result](Petri.Result.md): The return value of `Petri.run/2`.
- [Petri.Selection](Petri.Selection.md): Representation-agnostic parent selection.
- [Petri.State](Petri.State.md)
- [Petri.Termination](Petri.Termination.md): Stop conditions for the generational loop.

