This package provides a framework for working with genetic
algorithms. A genetic algorithm is an evolutionary technique,
inspired by biological evolution, to evolve entities that perform
as good as possible in terms of a predefined criterion (the scoring
function). Note: lower scores are assumed to indicate better entities.
The GA module provides a type class for defining entities and the
functions that are required by the genetic algorithm.
Checkpointing in between generations is available, as is automatic
restoring from the last available checkpoint.