All Classes and Interfaces

Class
Description
AbstractAlterer<G extends Gene<?,G>,C extends Comparable<? super C>>
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.
Alterer<G extends Gene<?,G>,C extends Comparable<? super C>>
The Alterer is responsible for the changing/recombining the Population.
AltererResult<G extends Gene<?,G>,C extends Comparable<? super C>>
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 to create genes without explicit implementing the Chromosome interface.
Gene implementation, which allows to create genes without explicit implementing the Gene interface.
Helper class for parsing command line arguments.
Array implementation class.
Minimal interface for accessing an underlying array structure.
Mutable reference of an underlying array Store.
 
 
Helper class which contains array helper methods.
 
Makes the XMLStreamReader interface AutoCloseable.
Makes the XMLStreamWriter interface AutoCloseable.
General base interface for an ordered, fixed sized, mutable, object sequence.
 
General base interface for an ordered, fixed sized, object sequence.
 
 
This object contains mathematical helper functions.
Numeric chromosome implementation which holds arbitrary sized integer numbers.
Numeric chromosome implementation which holds an arbitrary sized integer number.
This class represents a fixed sized array of bit or boolean values, backed by a byte[] array.
Implementation of the classical BitChromosome.
Implementation of a BitGene.
Some bit utils.
This class contains methods for parsing and formatting context-free grammars in BNF format.
BoltzmannSelector<G extends Gene<?,G>,N extends Number & Comparable<? super N>>
In this Selector, the probability for selection is defined as.
This class contains basic and secondary boolean operations.
BoundedChromosome<A extends Comparable<? super A>,G extends BoundedGene<A,G>>
Chromosome interface for BoundedGenes.
BoundedGene<A extends Comparable<? super A>,G extends BoundedGene<A,G>>
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.
Base class for all tokenizers.
 
Chromosome<G extends Gene<?,G>>
A chromosome consists of one or more genes.
Codec<T,G extends Gene<?,G>>
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.
CombineAlterer<G extends Gene<?,G>,C extends Comparable<? super C>>
Alters a chromosome by replacing two genes by the result of a given combiner function.
Represents a complexity measure if a given program tree.
ConcatEngine<G extends Gene<?,G>,C extends Comparable<? super C>>
The ConcatEngine lets you concatenate two (or more) evolution Engine, with different configurations, and let it use as one engine EvolutionStreamable.
This Spliterator takes a list of other spliterators which are concatenated and a limiting predicate.
 
Represents an operation which always returns the same, constant, value.
Constraint<G extends Gene<?,G>,C extends Comparable<? super C>>
This interface allows you to define constraints on single phenotypes.
This class rewrites constant expressions to its single value.
This interface indicates that a class can create a copy of type T.
Crossover<G extends Gene<?,G>,C extends Comparable<? super C>>
Performs a Crossover of two Chromosome.
CyclicEngine<G extends Gene<?,G>,C extends Comparable<? super C>>
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.
This class implements the the Kahan summation algorithm, which significantly reduces the numerical error when adding double values.
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.
EliteSelector<G extends Gene<?,G>,C extends Comparable<? super C>>
The EliteSelector copies a small proportion of the fittest candidates, without changes, into the next generation.
Contains static Seq definitions.
 
 
Engine<G extends Gene<?,G>,C extends Comparable<? super C>>
Genetic algorithm engine which is the main class.
Engine.Builder<G extends Gene<?,G>,C extends Comparable<? super C>>
Builder class for building GA Engine instances.
Engine.Setup<G extends Gene<?,G>,C extends Comparable<? super C>>
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.
 
Evaluator<G extends Gene<?,G>,C extends Comparable<? super C>>
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.
Evolution<G extends Gene<?,G>,C extends Comparable<? super C>>
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.
EvolutionInit<G extends Gene<?,G>>
Represents the initialization value of an evolution stream/iterator.
EvolutionInterceptor<G extends Gene<?,G>,C extends Comparable<? super C>>
The evolution interceptor allows updating the EvolutionStart object, before the evolution start, and update the EvolutionResult object after the evolution.
EvolutionParams<G extends Gene<?,G>,C extends Comparable<? super C>>
This class collects the parameters which control the behavior of the evolution process.
EvolutionParams.Builder<G extends Gene<?,G>,C extends Comparable<? super C>>
Builder class for the evolution parameter.
EvolutionResult<G extends Gene<?,G>,C extends Comparable<? super C>>
Represents a state of the GA after an evolution step.
EvolutionSpliterator<G extends Gene<?,G>,C extends Comparable<? super C>>
The Spliterator implementation of the EvolutionStream.
EvolutionStart<G extends Gene<?,G>,C extends Comparable<? super C>>
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.
EvolutionStream<G extends Gene<?,G>,C extends Comparable<? super C>>
The EvolutionStream class extends the Java Stream and adds a method for limiting the evolution by a given predicate.
EvolutionStreamable<G extends Gene<?,G>,C extends Comparable<? super C>>
This interface defines the capability of creating EvolutionStreams from a given EvolutionStart object.
EvolutionStreamImpl<G extends Gene<?,G>,C extends Comparable<? super C>>
 
ExponentialRankSelector<G extends Gene<?,G>,C extends Comparable<? super C>>
An alternative to the "weak" LinearRankSelector is to assign survival probabilities to the sorted individuals using an exponential function.
 
FitnessNullifier<G extends Gene<?,G>,C extends Comparable<? super C>>
This class allows forcing a reevaluation of the fitness function.
FlatTree<V,T extends FlatTree<V,T>>
Tree specification, where the nodes of the whole tree are stored in an array.
Default implementation of the FlatTree interface.
This class allows you to convert a sequence of tokens, which represents some kind of (mathematical) formula, into a tree structure.
Builder for building new FormulaParser instances.
Builder class for building binary operators with its precedence.
Conversion function which is used for converting tokens into another type.
The token types the parser recognizes during the parsing process.
GaussianMutator<G extends NumericGene<?,G>,C extends Comparable<? super C>>
The GaussianMutator class performs the mutation of a NumericGene.
Gene<A,G extends Gene<A,G>>
Genes are the atoms of the Jenetics library.
Generator interface for generating sentences/derivation trees from a given grammar.
 
Genotype<G extends Gene<?,G>>
The central class the GA is working with, is the Genotype.
Static methods for simple and efficient hash-code calculation.
HPRMutator<G extends Gene<?,G>,C extends Comparable<? super C>>
The Hybridizing PSM and RSM Operator (HPRM) constructs an offspring from a pair of parents by hybridizing two mutation operators, PSM and RSM.
Comparator for int values.
Numeric chromosome implementation which holds 32-bit integer numbers.
NumericGene implementation which holds a 32-bit integer number.
IntermediateCrossover<G extends NumericGene<?,G>,C extends Comparable<? super C>>
This alterer takes two chromosomes (treating it as vectors) and creates a linear combination of these vectors as a result.
Resizable-int array implementation
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.
Int reference class, which allows the usage in an lambda expression.
Value objects which contains statistical summary information.
InvertibleCodec<T,G extends Gene<?,G>>
This interface extends the Codec and allows to encode an object from the problem space to a corresponding Genotype, which is the inverse functionality of the codec.
Class for object serialization.
Immutable, ordered, fixed sized sequence.
Class for lazy value initialization.
Interfaces and classes for handling resource (AutoCloseable) objects.
Extends the AutoCloseable with methods for wrapping the thrown exception into unchecked exceptions or ignoring them.
This class allows collecting one or more AutoCloseable objects into one.
This class represents a closeable value.
This class allows collecting one or more AutoCloseable objects into one.
A method which takes an argument and can throw an exception.
A function which takes an argument and can throw an exception.
Runnable task/method, which might throw an exception E.
This class represents a closeable value.
This class contains factory methods for creating predicates, which can be used for limiting the evolution stream.
Extends the Spliterator interface by an additional proceed predicate.
LinearRankSelector<G extends Gene<?,G>,C extends Comparable<? super C>>
In linear-ranking selection the individuals are sorted according to their fitness values.
LineCrossover<G extends NumericGene<?,G>,C extends Comparable<? super C>>
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.
MathRewriteAlterer<G extends TreeGene<Op<Double>,G>,C extends Comparable<? super C>>
Prunes a given mathematical tree with the given alterer probability.
A mixin interface for genes which can have a mean value.
MeanAlterer<G extends Gene<?,G> & Mean<G>,C extends Comparable<? super C>>
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.
MLEvolutionStrategy<G extends Gene<?,G>,C extends Comparable<? super C>>
Setup for a (μ, λ)-Evolution Strategy.
Collectors for collecting final pareto-set for multi-objective optimization.
MonteCarloSelector<G extends Gene<?,G>,C extends Comparable<? super C>>
The Monte Carlo selector selects the individuals from a given population randomly.
MpLEvolutionStrategy<G extends Gene<?,G>,C extends Comparable<? super C>>
Setup for a (μ + λ)-Evolution Strategy.
Mutable, ordered, fixed sized sequence.
MultiPointCrossover<G extends Gene<?,G>,C extends Comparable<? super C>>
Multiple point crossover
Mutator<G extends Gene<?,G>,C extends Comparable<? super C>>
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.
NSGA2Selector<G extends Gene<?,G>,C extends Comparable<? super C>>
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-II
NumericChromosome<N extends Number & Comparable<? super N>,G extends NumericGene<N,G>>
Numeric chromosome interface.
NumericGene<N extends Number & Comparable<? super N>,G extends NumericGene<N,G>>
Base interface for numeric genes.
 
Op<T>
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.
Parser implementation for parsing a given token sequences.
Exception thrown in the case of a parse error.
PartialAlterer<G extends Gene<?,G>,C extends Comparable<? super C>>
This alterer wraps a given alterer which works on a given section of the genotype's chromosomes.
The PartiallyMatchedCrossover (PMX) guarantees that all Genes are found exactly once in each chromosome.
This chromosome can be used to model permutations of a given (sub) set of alleles.
Phenotype<G extends Gene<?,G>,C extends Comparable<? super C>>
The Phenotype consists of a Genotype, the current generation and an optional fitness value.
This class contains some common predicates
Mathematical functions regarding probabilities.
ProbabilitySelector<G extends Gene<?,G>,C extends Comparable<? super C>>
Probability selectors are a variation of fitness proportional selectors and selects individuals from a given population based on its selection probability P(i).
Problem<T,G extends Gene<?,G>,C extends Comparable<? super C>>
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 to access 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.
 
Some random helper functions.
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.
Recombinator<G extends Gene<?,G>,C extends Comparable<? super C>>
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.
Some helper methods for creating hash codes and comparing values.
RetryConstraint<G extends Gene<?,G>,C extends Comparable<? super C>>
This simple Constraint implementation repairs an invalid phenotype by creating new individuals until a valid one has been created.
RouletteWheelSelector<G extends Gene<?,G>,N extends Number & Comparable<? super N>>
The roulette-wheel selector is also known as fitness proportional selector, but in the Jenetics library it is implemented as probability selector.
RSMutator<G extends Gene<?,G>,C extends Comparable<? super C>>
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.
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.
Selector<G extends Gene<?,G>,C extends Comparable<? super C>>
Selectors are responsible for selecting a given number of individuals from the population.
Self<S extends Self<S>>
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.
Helper methods needed for implementing the Java serializations.
Object reader interface
Object writer interface.
SimulatedBinaryCrossover<G extends NumericGene<?,G>,C extends Comparable<? super C>>
Performs the simulated binary crossover (SBX) on a Chromosome of NumericGenes such that each position is either crossed contracted or expanded with a certain probability.
SingleNodeCrossover<G extends TreeGene<?,G>,C extends Comparable<? super C>>
Swaps two, randomly chosen, nodes (subtrees) from two given trees.
SinglePointCrossover<G extends Gene<?,G>,C extends Comparable<? super C>>
Single point crossover
StochasticUniversalSelector<G extends Gene<?,G>,N extends Number & Comparable<? super N>>
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.
This class creates random subsets of size k from a set of n elements.
SwapMutator<G extends Gene<?,G>,C extends Comparable<? super C>>
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.
This interface represents a parsed token.
Represents the type of the token, with a given type code and type name.
Interface for all tokenizers.
Parser implementation for parsing explicit Token sequences.
TournamentSelector<G extends Gene<?,G>,C extends Comparable<? super C>>
In tournament selection the best individual from a random sample of s individuals is chosen from the population Pg.
Tree<V,T extends Tree<V,T>>
General purpose tree structure.
This class represents the path to child within a given tree.
Chromosome for tree shaped genes.
TreeCrossover<G extends TreeGene<?,G>,C extends Comparable<? super C>>
Abstract implementation of tree base crossover recombinator.
Definition of different tree formatter strategies.
TreeGene<A,G extends TreeGene<A,G>>
Representation of tree shaped gene.
Implementation of a pattern-based tree matcher.
The result of a tree match operation.
TreeMutator<A,G extends TreeGene<A,G>,C extends Comparable<? super C>>
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.
TreeRewriteAlterer<A,G extends TreeGene<A,G>,C extends Comparable<? super C>>
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.
TruncationSelector<G extends Gene<?,G>,C extends Comparable<? super C>>
In truncation selection, individuals are sorted according to their fitness.
UFTournamentSelector<G extends Gene<?,G>,C extends Comparable<? super C>>
Unique fitness based tournament selection.
UniformCrossover<G extends Gene<?,G>,C extends Comparable<? super C>>
The uniform crossover uses swaps single genes between two chromosomes, instead of whole ranges as in single- and multipoint crossover.
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.
WeaselMutator<G extends Gene<?,G>,C extends Comparable<? super C>>
Mutator implementation which is part of the Weasel program algorithm.
WeaselProgram<G extends Gene<?,G>,C extends Comparable<? super C>>
Configures the evolution engine to execute the Weasel program algorithm.
WeaselSelector<G extends Gene<?,G>,C extends Comparable<? super C>>
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.