- [Documentation] - Each example now has a README file with a description of the problem and the solution
- [Configuration] - All
_callback
methods inConfiguration
can now benil
(i.e., optional) - [Configuration] - Renamed
Configuration#next_generation_callback
toConfiguration#generation_start_callback
- [Configuration] - Removed
Configuration#target_genes
- [API] -
Member#fitness_function
method is not exposed publicly anymore
- Added
Configuration
class for customizing the parameters of the evolutionary algorithm. - Added
Member
class to represent an individual in the population. - Added
Metadata
class to keep track of the evolution process. - Added
World
class to run the evolutionary algorithm. - Initial implementation of evolutionary algorithm operations, including selection, crossover, and mutation.
- Added fitness function support for evaluating the quality of individuals in the population.
- Added callback functions for various events in the evolution process, including when a new highest fitness is found, when the maximum number of generations is reached, and when the end condition is met.
- Included an example of using the library to solve a simple genetic algorithm problem (lazy dog example).
- Included an example of using the library to solve the Traveling Salesperson Problem (salesperson example).