All Classes and Interfaces
Class
Description
Abstract implementation of the alterer interface.
The abstract base implementation of the Chromosome interface.
Abstract base implementation of a
TreeChromosome
.Abstract implementation of the
TreeGene
interface..This interface lets you accumulate elements of type
T
to a result of
type R
.The Alterer is responsible for the changing/recombining the Population.
Represents the result pair of a
Alterer.alter(Seq, long)
call, which
consists of the altered population and the number of altered individuals.Chromosome
implementation, which allows creating genes without
explicit implementing the Chromosome
interface.Gene
implementation, which allows creating genes without explicit
implementing the Gene
interface.Makes the
XMLStreamReader
interface AutoCloseable
.Makes the
XMLStreamWriter
interface AutoCloseable
.General base interface for an ordered, fixed sized, object sequence.
Batch executor interface, which is used for evaluating a batch of
runnables.
Numeric chromosome implementation which holds arbitrary sized integer numbers.
Numeric chromosome implementation which holds an arbitrary sized integer
number.
Implementation of the classical BitChromosome.
Implementation of a BitGene.
This class contains methods for parsing and formatting context-free
grammars in
BNF
format.
In this
Selector
, the probability for selection is defined as.This class contains basic and secondary boolean operations.
Chromosome interface for
BoundedGene
s.Base interface for genes where the alleles are bound by a minimum and a
maximum value.
Functional interface for creating bounded genes.
Represents a context-free grammar
(CFG).
Represents one expression (list of alternative symbols) a
production rule consists of.
Represents the non-terminal symbols of the grammar (
NT
).Represents a production rule of the grammar (
R
).Represents the symbols the BNF grammar consists.
Represents a terminal symbols of the grammar (
T
).Character chromosome which represents character sequences.
Character gene implementation.
This class is used for holding the valid characters of an
CharacterGene
.A chromosome consists of one or more genes.
A problem
Codec
contains the information about how to encode a given
argument type into a Genotype
.This class contains factory methods for creating common problem encodings.
Represents a mapping of a finite set of integers to symbol indexes.
Alters a chromosome by replacing two genes by the result of a given
combiner function.
Represents a complexity measure if a given program tree.
The
ConcatEngine
lets you concatenate two (or more) evolution
Engine
, with different configurations, and let it
use as one engine EvolutionStreamable
.Represents an operation which always returns the same, constant, value.
This interface allows you to define constraints on single phenotypes.
This class rewrites constant expressions to its single value.
This class contains methods for converting from and to the primitive arrays
int[]
, long[]
and double[]
.This interface indicates that a class can create a copy of type
T
.
Performs a
Crossover of two
Chromosome
.This class contains helper classes, which are the building blocks for handling
CSV files.
Holds the column indexes, which should be part of the split or join
operation.
This class joins an array of columns into one CSV line.
This class reads CSV files and splits it into lines.
Splitting a CSV line into columns (records).
Holds the CSV column quote character.
Holds the CSV column separator character.
The
CyclicEngine
lets you concatenate two (or more) evolution
Engine
, with different configurations, and let it
use as one engine EvolutionStreamable
.Standard implementation of a derivation-tree generator.
Numeric chromosome implementation which holds 64-bit floating point numbers.
Implementation of the NumericGene which holds a 64-bit floating point number.
Value objects which contains statistical moments.
A state object for collecting statistics such as count, min, max, sum, mean,
variance, skewness and kurtosis.
Double range class.
Value objects which contains statistical summary information.
Defines the order of two elements of a given vector type
V
.Defines the distance of two elements of a given vector type
V
.The
EliteSelector
copies a small proportion of the fittest candidates,
without changes, into the next generation.Genetic algorithm engine which is the main class.
Builder class for building GA
Engine
instances.This interface represents a recipe for configuring (setup) a given
Engine.Builder
.
Gene which holds enumerable (countable) genes.
Implementation of an ephemeral constant.
This function calculates the overall error of a given program tree.
This interface allows defining different strategies for evaluating the
fitness functions of a given population.
This class contains factory methods for creating commonly usable
Evaluator
implementations.This functional interface defines the evolution function, which takes an
EvolutionStart
object, evolves the population, and returns an
EvolutionResult
object.This class contains timing information about one evolution step.
Represents the initialization value of an evolution stream/iterator.
The evolution interceptor allows updating the
EvolutionStart
object,
before the evolution start, and update the EvolutionResult
object after the evolution.This class collects the parameters which control the behavior of the
evolution process.
Builder class for the evolution parameter.
Represents a state of the GA after an evolution step.
Represents a state of the GA at the start of an evolution step.
This class can be used to gather additional statistic information of an
evolution process.
The
EvolutionStream
class extends the Java Stream
and adds a
method for limiting the evolution by a given predicate.This interface defines the capability of creating
EvolutionStream
s
from a given EvolutionStart
object.
An alternative to the "weak"
LinearRankSelector
is to assign
survival probabilities to the sorted individuals using an exponential
function.This class allows forcing a reevaluation of the fitness function.
Tree specification, where the nodes of the whole tree are stored in an array.
Default implementation of the
FlatTree
interface.The GaussianMutator class performs the mutation of a
NumericGene
.Genes are the atoms of the Jenetics library.
Generator interface for generating sentences/derivation trees
from a given grammar.
The central class the GA is working with, is the
Genotype
.The Hybridizing PSM and RSM Operator (HPRM) constructs an offspring from a
pair of parents by hybridizing two mutation operators, PSM and RSM.
Numeric chromosome implementation which holds 32-bit integer numbers.
NumericGene implementation which holds a 32-bit integer number.
This alterer takes two chromosomes (treating it as vectors) and creates a
linear combination of these vectors as a result.
Value objects which contains statistical moments.
A state object for collecting statistics such as count, min, max, sum, mean,
variance, skewness and kurtosis.
Integer range class.
Value objects which contains statistical summary information.
Class for object serialization.
Immutable, ordered, fixed sized sequence.
This class contains factory methods for creating predicates, which can be
used for limiting the evolution stream.
In linear-ranking selection the individuals are sorted according to their
fitness values.
This alterer takes two chromosomes (treating it as vectors) and creates a
linear combination of these vectors as a result.
Numeric chromosome implementation which holds 64-bit integer numbers.
NumericGene implementation which holds a 64-bit integer number.
Value objects which contains statistical moments.
A state object for collecting statistics such as count, min, max, sum, mean,
variance, skewness and kurtosis.
Long range class.
Value objects which contains statistical summary information.
This function evaluates how well an evolved program tree fits the given
sample data set.
This class defines factories for different CFG ↔ Chromosome mappings
(encodings).
Contains methods for parsing mathematical expression.
This class contains operations for performing basic numeric operations.
Prunes a given mathematical tree with the given alterer probability.
A mixin interface for genes which can have a mean value.
Alters a chromosome by replacing two genes by its mean value.
This consumer class is used for calculating the min and max value
according to the given
Comparator
.Setup for a (μ, λ)-Evolution Strategy.
Collectors for collecting final pareto-set for multi-objective
optimization.
The Monte Carlo selector selects the individuals from a given population
randomly.
Setup for a (μ + λ)-Evolution Strategy.
Mutable, ordered, fixed sized sequence.
Multiple point crossover
This class is for mutating the chromosomes of a given population.
Represents the result pair of one of the four
Mutator.mutate
calls.Clock implementation with nano second precision.
This selector selects the first
count
elements of the population,
which has been sorted by the Crowded-Comparison Operator, as
described in
A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-IINumeric chromosome interface.
Base interface for numeric genes.
Operation interface.
This
enum
determines whether the GA should maximize or minimize the
fitness function.Object wrapper, which makes the wrapped value
Comparable
, by defining
a separate Comparator
.Low-level utility methods for doing pareto-optimal calculations.
This class only contains non-dominate (Pareto-optimal) elements according to
a given dominance measure.
This alterer wraps a given alterer which works on a given section of the
genotype's chromosomes.
The
PartiallyMatchedCrossover
(PMX) guarantees that all Gene
s
are found exactly once in each chromosome.This chromosome can be used to model permutations of a given (sub) set of
alleles.
The
Phenotype
consists of a Genotype
, the current generation
and an optional fitness value.Probability selectors are a variation of fitness proportional selectors and
selects individuals from a given population based on its selection
probability P(i).
This interface describes a problem which can be solved by the GA
evolution
Engine
.This class composes a given operation tree to a new operation, which can
serve as a sub program in another operation tree.
Holds the nodes of the operation tree.
This gene represents a program, build upon an AST of
Op
functions.This sorting methods doesn't sort a given array directly; instead,
an index lookup array is returned which allows accessing the array in a
sorted order.
The comparator used for comparing two array elements at the specified
indexes.
Implementation of the quantile estimation algorithm published by
Some places in the Java API still require a
Random
object instead of
the new RandomGenerator
.This class holds the
RandomGenerator
engine used for the GA.XML reader class, used for reading objects in XML format.
This class contains static fields and methods, for creating chromosome- and
genotype readers for different gene types.
Bit chromosome reader methods, which reads XML-representations of
bit-chromosomes.
Reader methods for
BoundedChromosome
objects.Reader methods for
CharacterChromosome
objects.Reader methods for
DoubleChromosome
objects.Writer methods for
Genotype
objects.This class contains static reader methods for
Genotype
objects.Reader methods for
IntegerChromosome
objects.Reader methods for
LongChromosome
objects.Reader methods for
PermutationChromosome
objects.
An enhanced genetic algorithm (EGA) combine elements of existing solutions in
order to create a new solution, with some of the properties of each parent.
This class implements a symbolic regression problem.
This simple
Constraint
implementation repairs an invalid
phenotype by creating new individuals until a valid one has been created.The roulette-wheel selector is also known as fitness proportional selector,
but in the Jenetics library it is implemented as probability selector.
The reverse sequence mutation, two positions i and j are randomly chosen The
gene order in a chromosome will then be reversed between this two points.
Represents a sample point used for the symbolic regression task.
This class holds the actual sample values which are used for the symbolic
regression example.
Interface for creating continuous random samples, with a given
distribution.
This class defines some default samplers.
This interface represents a set of sample points, which can be evaluated with
a given evolved program.
This class represents the result of a sample calculation, which contains
the array of calculated values and a corresponding array with expected
sample values.
Selectors are responsible for selecting a given number of individuals from
the population.
This interface defines a recursive generic type
S
, which
represents the type of the implementing class.Standard implementation of a sentence generator.
Defines the expansion strategy used when generating the sentences.
General interface for a ordered, fixed sized, object sequence.
The shift mutation applies mutation between two randomly chosen points.
This class defines the
Chromosome
shift indexes.Functional interface for creating random shift ranges objects for
shifting sequences of a given length.
The shuffle mutation, changes the order of the genes between two randomly
chosen positions.
Represents the chromosome range which will be shuffled
Functional interface for creating random range objects for
shuffling sequences of a given length.
Performs the simulated binary crossover (SBX) on a
Chromosome
of
NumericGene
s such that each position is either crossed contracted or
expanded with a certain probability.Swaps two, randomly chosen, nodes (subtrees) from two given trees.
Single point crossover
StochasticUniversalSelector
is a method for selecting a
population according to some given probability in a way that minimizes chance
fluctuations.This class allows creating a reactive
Flow.Publisher
from a given
Java Stream
.This class contains factory methods for (flat) mapping stream elements.
The
SwapMutation
changes the order of genes in a chromosome, with the
hope of bringing related genes closer together, thereby facilitating the
production of building blocks.Functional interface for selecting a
Cfg.Symbol
by its index within a
rule.In tournament selection the best individual from a random sample of s
individuals is chosen from the population Pg.
General purpose tree structure.
This class represents the path to child within a given tree.
Chromosome for tree shaped genes.
Abstract implementation of tree base crossover recombinator.
Definition of different tree formatter strategies.
Representation of tree shaped gene.
Implementation of a pattern-based tree matcher.
The result of a tree match operation.
Abstract class for mutating tree chromosomes.
A general purpose node in a tree data-structure.
This class serves two purposes.
A sealed interface, which constitutes the nodes of a pattern tree.
This class represents a constant pattern value, which can be part of a
whole subtree.
Represents a placeholder (variable) for an arbitrary subtree.
This alterer uses a
TreeRewriter
for altering the TreeChromosome
.Interface for rewriting a given tree.
Represents a tree rewrite rule.
This class represents a Tree Rewrite System, which consists of a set of
Tree Rewrite Rules.
In truncation selection, individuals are sorted according to their fitness.
Unique fitness based tournament selection.
The uniform crossover uses swaps single genes between two chromosomes, instead
of whole ranges as in single- and multipoint crossover.
The
UniformOderBasedCrossover
guarantees that all Gene
s
are found exactly once in each chromosome.This is the sealed base class for unmodifiable values.
Represents the program variables.
The
Vec
interface represents the fitness result of a multi-objective
fitness function.This interface allows creating a vector object from a given array type
T
.This interface lets you check an object for validity.
Mutator implementation which is part of the
Weasel program
algorithm.
Configures the evolution engine to execute the
Weasel program
algorithm.
Selector implementation which is part of the
Weasel program
algorithm.
XML writer interface, used for writing objects in XML format.
This class contains static fields and methods, for creating chromosome- and
genotype writers for different gene types.
This class contains static writer methods for
BitChromosome
objects.This class contains static writer methods for
BoundedChromosome
objects.This class contains static writer methods for
CharacterChromosome
objects.This class contains static writer methods for
DoubleChromosome
objects.This class contains static writer methods for
Genotype
objects.This class contains static writer methods for
Genotype
objects.This class contains static writer methods for
IntegerChromosome
objects.This class contains static writer methods for
LongChromosome
objects.This class contains static writer methods for
PermutationChromosome
objects.This class contains helper methods for creating
XMLStreamReader
and
XMLStreamWriter
objects.