Package-level declarations

Functions

Link copied to clipboard
inline fun <V, F> CellEvolveScope<V, F>.mutation(chance: Double, mutation: (chromosome: Chromosome<V, F>) -> Unit)

Performs a mutation step for population in CellularGA that modify in-place the input chromosomes. Mutates CellEvolveScope.cell.

Link copied to clipboard
@JvmName(name = "mutFlipBitBooleanArray")
fun <F> CellEvolveScope<BooleanArray, F>.mutFlipBit(chance: Double, flipBitChance: Double)
@JvmName(name = "mutFlipBitIntArray")
fun <F> CellEvolveScope<IntArray, F>.mutFlipBit(chance: Double, flipBitChance: Double)

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
fun <F> CellEvolveScope<DoubleArray, F>.mutGaussian(mean: Double, stddev: Double, chance: Double, gaussianChance: Double)

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
fun <F> CellEvolveScope<DoubleArray, F>.mutPolynomialBounded(eta: Double, low: Double, up: Double, chance: Double, polynomialBoundedChance: Double)

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
@JvmName(name = "mutShuffleIndexesArray")
fun <T, F> CellEvolveScope<Array<T>, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double)
@JvmName(name = "mutShuffleIndexesBooleanArray")
fun <F> CellEvolveScope<BooleanArray, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double)
@JvmName(name = "mutShuffleIndexesByteArray")
fun <F> CellEvolveScope<ByteArray, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double)
@JvmName(name = "mutShuffleIndexesCharArray")
fun <F> CellEvolveScope<CharArray, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double)
@JvmName(name = "mutShuffleIndexesDoubleArray")
fun <F> CellEvolveScope<DoubleArray, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double)
@JvmName(name = "mutShuffleIndexesFloatArray")
fun <F> CellEvolveScope<FloatArray, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double)
@JvmName(name = "mutShuffleIndexesIntArray")
fun <F> CellEvolveScope<IntArray, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double)
@JvmName(name = "mutShuffleIndexesLongArray")
fun <F> CellEvolveScope<LongArray, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double)
@JvmName(name = "mutShuffleIndexesShortArray")
fun <F> CellEvolveScope<ShortArray, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double)
@JvmName(name = "mutShuffleIndexesMutableList")
fun <T, F> CellEvolveScope<MutableList<T>, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double)

Executes a shuffle the attributes of the input chromosome. Usually this mutation is applied on vector of indices.

Link copied to clipboard
@JvmName(name = "mutUniformDoubleArray")
fun <F> CellEvolveScope<DoubleArray, F>.mutUniform(low: Double, up: Double, chance: Double, uniformChance: Double)
@JvmName(name = "mutUniformIntArray")
fun <F> CellEvolveScope<IntArray, F>.mutUniform(low: Int, up: Int, chance: Double, uniformChance: Double)
@JvmName(name = "mutUniformLongArray")
fun <F> CellEvolveScope<LongArray, F>.mutUniform(low: Long, up: Long, chance: Double, uniformChance: Double)

Executes a uniform mutation for the attributes of the input chromosome.