diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/404.html b/404.html new file mode 100644 index 00000000..dcab7560 --- /dev/null +++ b/404.html @@ -0,0 +1,524 @@ + + + +
+ + + + + + + + + + + + + + +Alterers are the operators that modify the population of individuals through either mutation or crossover. Crossover and mutation are two powerful ways to create new individuals from the existing population, and they are essential for the genetic algorithm to explore the search space effectively. +As such, the choice of alterer can have a significant impact on the performance of the genetic algorithm, so it is important to choose an alterer that is well-suited to the problem being solved.
+Crossover is a genetic operator that combines two parent individuals to create one or more offspring. Radiate provides a number of built-in crossover operators that can be used to customize the crossover process, or you can define your own custom crossover operators.
+Each crossover provides a rate
parameter that determines the probability that the crossover will be applied to a pair of individuals. If the rate is set to 1.0
, the crossover will always be applied, while a rate of 0.0
will never apply the crossover.
The MultiPointCrossover
is a crossover operator that combines two parent individuals by selecting multiple crossover points and swapping the genetic material between the parents at those points. This is a
+classic crossover operator.
Create a new MultiPointCrossover
with a crossover rate of 0.7
and 3 crossover points
+
The UniformCrossover
is a crossover operator creates new individuals by selecting genes from the parents with equal probability and swapping them between the parents. This is a simple crossover operator that can be effective in a wide range of problems.
Create a new UniformCrossover
with a crossover rate of 0.7
+
The PMXCrossover
is a genetic algorithm crossover technique used for problems where solutions are represented as permutations.
+ It is widely used in combinatorial optimization problems, such as the Traveling Salesman Problem (TSP),
+ where the order of elements in a solution is significant.
Create a new PMXCrossover
with a crossover rate of 0.7
+
The ShuffleCrossover
is a crossover operator used in genetic algorithms,
+particularly when working with permutations or chromosomes where order matters.
+It works by shuffling the order in which genes are exchanged between two parent chromosomes
+to introduce randomness while preserving valid gene configurations.
Create a new ShuffleCrossover
with a crossover rate of 0.7
+
The MeanCrossover
operator is a crossover mechanism designed
+for NumericGene
s. It combines the corresponding genes of two parent chromosomes by
+replacing a gene in one chromosome with the mean (average) of the two genes. This approach
+is useful when genes represent numeric values such as weights or coordinates,
+as it promotes a balanced combination of parent traits.
Create a new MeanCrossover
with a crossover rate of 0.7
+
The IntermediateCrossover
operator is a crossover mechanism designed for NumericGene
s.
+It combines the corresponding genes of two parent chromosomes by replacing a gene in one chromosome
+with a value that lies between the two parent genes. The new gene is calculated as the weighted average
+of the two parent genes, where the weight is determined by the alpha
parameter.
rate
, determining the probability of applying the operation for each gene.alpha
), which controls the weight given to each parent’s gene during crossover.Weighted Interpolation:
+Modify Genes:
+Create a new IntermediateCrossover
with a crossover rate of 0.7
and an alpha value of 0.5
+
Mutation is in charge of introducing genetic diversity into the population by randomly altering the genes of individuals. This is essential for exploring the search space of the problem. Each
+mutator has a rate
parameter that determines the probability that the mutation will be applied to a Gene
- Not an individual. If the rate is set to 1.0
, the mutation will always be applied, while a rate of 0.0
will never apply the mutation.
Note
+The mutation rate is typically set to a low value, such as 0.1
or 0.01
. If the rate is too high,
+the algorithm is essentially performing random search, which is not efficient nor likely to find a good solution. If the rate is too low, the algorithm may get stuck in local optima.
++Inputs
++
+- +
rate
: f32 - Mutation rate.- +
std_dev
: f32 - The standard deviation of the Gaussian distribution.
The GaussianMutator
operator is a mutation mechanism designed for NumericGene
s. It introduces random noise to the gene values by adding a sample from a Gaussian distribution with a specified standard deviation. This mutation operator produces small, incremental changes centered around the current gene value.
Create a new GaussianMutator
with a mutation rate of 0.1
and a standard deviation of 0.1
+
++Inputs
++
+- +
rate
: f32 - Mutation rate.
UniformMutator
is the most basic mutation operator. It randomly replaces a gene with a new instance of the gene type.
Create a new UniformMutator
with a mutation rate of 0.1
+
++Inputs
++
+- +
rate
: f32 - Mutation rate.
The ArithmeticMutator
introduces diversity into genetic algorithms by mutating numerically based genes through basic arithmetic operations. It is designed to work on genes that support addition, subtraction, multiplication, and division.
Create a new ArithmeticMutator
with a mutation rate of 0.1
+
++Inputs
++
+- +
rate
: f32 - Mutation rate.
InvertMutator
is a segment inversion mutator. It randomly selects a segment of the chromosome and inverts the order of the genes within that segment. This mutation operator can be useful for problems where the order of Gene
s matters, such as the Traveling Salesman Problem (TSP).
Create a new InvertMutator
with a mutation rate of 0.1
+
++Inputs
++
+- +
rate
: f32 - Mutation rate.
The SwapMutator
is a mutation operator designed for genetic algorithms to shuffle the positions of Gene
s in a Chromosome
. This mutator swaps two Gene
s at randomly selected indices, introducing variability while maintaining the chromosome’s structural integrity. It is particularly suited for permutation-based problems.
Create a new SwapMutator
with a mutation rate of 0.1
+