The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Documentation

Canonical Genetic Algorithm on a simple fitness function
Find the dot maximally covered by (random) rectangles
Implementation of the Tide optimization using A::E
Optimization of the tide function using A::E

Modules

Perl module for performing paradigm-free evolutionary algorithms.
Class for setting up an experiment with algorithms and population
Façade for any function so that it can be used as fitness
Base class for fitness functions
Error Correcting codes problem generator
Fitness function for the knapsack problem
Massively Multimodal Deceptive Problem
Fitness function for the ONEMAX or count-ones problem
P Peaks problem generator
Implementation of Rastrigin's function
Mitchell's Royal Road function
Base class for string-based fitness functors
'Trap' fitness function for evolutionary algorithms
Zitzler-Deb-Thiele #1 Multiobjective test function
wP Peaks problem generator - weighted version of P_Peaks
Random selector of things depending on probabilities
Wrapper around any Perl data structure, turns it into a Chromosome
Base class for chromosomes that knows how to build them, and has some helper methods.
Classic bitstring individual for evolutionary computation; usually called chromosome
Classic bitstring individual for evolutionary computation; usually called chromosome, and using a different implementation from Algorithm::Evolutionary::Individual::BitString
A character string to be evolved. Useful mainly in word games
A Direct Acyclic Graph, or tree, useful for Genetic Programming-Style stuff
Array as an individual for evolutionary computation
Creates an animated GIF, a frame per generation. Useful for binary strings.
Arithmetic crossover operator; performs the average of the n parents crossed
Base class for Algorithm::Evolutionary operators,
Even more customizable single generation for an evolutionary algorithm.
Like Breeder, only it tries to cross only individuals that are different
Canonical Genetic Algorithm, with any representation
Canonical Genetic Algorithm that does not rank population
Increases/decreases by one atom the length of the string
Combinator of several operators of the same arity, unary or binary
Checks for termination of an algorithm, returns true if a certain percentage of the population is the same
Operator that generates groups of individuals, of the intended class
n-point crossover operator; puts fragments of the second operand into the first operand
Termination condition for an algorithm; checks that the difference of the best to a target is less than a delta
Single step for a Estimation of Distribution Algorithm
evolutionary algorithm, single generation, with variable operators.
Multiobjecttive evolutionary algorithm, single generation, with variable operators
General and simple population evaluator
Multiobjective evaluator based on Pareto rank
Skeleton class for a fully-featured evolutionary algorithm
Changes numeric chromosome components following the gaussian distribution.
n-point crossover operator that restricts crossing point to gene boundaries
Customizable single generation for an evolutionary algorithm.
Even more customizable single generation for an evolutionary algorithm.
Checks for termination of an algorithm.
Increments/decrements by one the value of one of the components of the string, takes into account the char class
Michalewicz's inver-over Operator.
Used by Simulated Annealing algorithms, reduces temperature lineally.
Bitflip mutation, changes several bits in a bitstring, depending on the probability
Checks for termination of an algorithm; terminates when several generations transcur without change
Mutation guaranteeing new individual is not in the population
Flexible population printing class
N-point crossover operator that changes operands
Uniform crossover, but interchanges only those atoms that are different
Incorporate individuals into the population replacing the worst ones but only if they are different.
Incorporate individuals into the population replacing the worst ones
Fitness-proportional selection, using a roulette wheel.
Abstract base class for population selectors
An operator that performs the simulated annealing algorithm on an individual, using an external freezing schedule
Applies the op and keeps the result
randomly change chars in a string
Single character string mutation
Tournament selector, takes individuals from one population and puts them into another
GP-like mutation operator for trees
interchanges a set of atoms from one parent to the other.
Uniform crossover, but interchanges only those atoms that are different
Crossover for Algorithm::Evolutionary::Individual::Vector.
Class for setting up an experiment with algorithms and population
Container module with a hodgepodge of functions
Random selector of things depending on probabilities