Package-level declarations
Functions
Link copied to clipboard
inline suspend fun <V, F> PanmicticEvolveScope<V, F>.mutation(chance: Double, parallelismLimit: Int, crossinline mutation: (chromosome: Chromosome<V, F>, random: Random) -> Unit)
Performs a mutation step for population in PanmicticGA that modify in-place the input chromosomes.
Link copied to clipboard
suspend fun <F> PanmicticEvolveScope<BooleanArray, F>.mutFlipBit(chance: Double, flipBitChance: Double, parallelismLimit: Int = parallelismConfig.workersCount)
suspend fun <F> PanmicticEvolveScope<IntArray, F>.mutFlipBit(chance: Double, flipBitChance: Double, parallelismLimit: Int = parallelismConfig.workersCount)
Flip the value of the attributes of the input chromosome. The chromosome is expected to be a BooleanArray. This mutation is usually applied on boolean individuals.
Link copied to clipboard
suspend fun <F> PanmicticEvolveScope<DoubleArray, F>.mutGaussian(mean: Double, stddev: Double, chance: Double, gaussianChance: Double, parallelismLimit: Int = parallelismConfig.workersCount)
Applies a gaussian mutation of mean mean and standard deviation stddev on the input chromosome. This mutation expects Chromosome.value of floating point numbers.
Link copied to clipboard
suspend fun <F> PanmicticEvolveScope<DoubleArray, F>.mutPolynomialBounded(eta: Double, low: Double, up: Double, chance: Double, polynomialBoundedChance: Double, parallelismLimit: Int = parallelismConfig.workersCount)
Polynomial mutation as implemented in original NSGA-II algorithm in C by Deb. This mutation expects Chromosome.value of floating point numbers.
Link copied to clipboard
suspend fun <T, F> PanmicticEvolveScope<Array<T>, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double, parallelismLimit: Int = parallelismConfig.workersCount)
suspend fun <F> PanmicticEvolveScope<BooleanArray, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double, parallelismLimit: Int = parallelismConfig.workersCount)
suspend fun <F> PanmicticEvolveScope<ByteArray, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double, parallelismLimit: Int = parallelismConfig.workersCount)
suspend fun <F> PanmicticEvolveScope<CharArray, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double, parallelismLimit: Int = parallelismConfig.workersCount)
suspend fun <F> PanmicticEvolveScope<DoubleArray, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double, parallelismLimit: Int = parallelismConfig.workersCount)
suspend fun <F> PanmicticEvolveScope<FloatArray, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double, parallelismLimit: Int = parallelismConfig.workersCount)
suspend fun <F> PanmicticEvolveScope<IntArray, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double, parallelismLimit: Int = parallelismConfig.workersCount)
suspend fun <F> PanmicticEvolveScope<LongArray, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double, parallelismLimit: Int = parallelismConfig.workersCount)
suspend fun <F> PanmicticEvolveScope<ShortArray, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double, parallelismLimit: Int = parallelismConfig.workersCount)
suspend fun <T, F> PanmicticEvolveScope<MutableList<T>, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double, parallelismLimit: Int = parallelismConfig.workersCount)
Executes a shuffle the attributes of the input chromosome. Usually this mutation is applied on vector of indices.
Link copied to clipboard
suspend fun <F> PanmicticEvolveScope<DoubleArray, F>.mutUniform(low: Double, up: Double, chance: Double, uniformChance: Double, parallelismLimit: Int = parallelismConfig.workersCount)
suspend fun <F> PanmicticEvolveScope<IntArray, F>.mutUniform(low: Int, up: Int, chance: Double, uniformChance: Double, parallelismLimit: Int = parallelismConfig.workersCount)
suspend fun <F> PanmicticEvolveScope<LongArray, F>.mutUniform(low: Long, up: Long, chance: Double, uniformChance: Double, parallelismLimit: Int = parallelismConfig.workersCount)
Executes a uniform mutation for the attributes of the input chromosome.