Package-level declarations

Functions

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

Performs a crossover step for population in CellularGA that modify in-place the input chromosomes.

Link copied to clipboard
@JvmName(name = "crossoverUniformArray")
fun <T, F> CellEvolveScope<Array<T>, F>.crossoverUniform(chance: Double, chanceUniform: Double)
@JvmName(name = "crossoverUniformBooleanArray")
fun <F> CellEvolveScope<BooleanArray, F>.crossoverUniform(chance: Double, chanceUniform: Double)
@JvmName(name = "crossoverUniformByteArray")
fun <F> CellEvolveScope<ByteArray, F>.crossoverUniform(chance: Double, chanceUniform: Double)
@JvmName(name = "crossoverUniformCharArray")
fun <F> CellEvolveScope<CharArray, F>.crossoverUniform(chance: Double, chanceUniform: Double)
@JvmName(name = "crossoverUniformDoubleArray")
fun <F> CellEvolveScope<DoubleArray, F>.crossoverUniform(chance: Double, chanceUniform: Double)
@JvmName(name = "crossoverUniformFloatArray")
fun <F> CellEvolveScope<FloatArray, F>.crossoverUniform(chance: Double, chanceUniform: Double)
@JvmName(name = "crossoverUniformIntArray")
fun <F> CellEvolveScope<IntArray, F>.crossoverUniform(chance: Double, chanceUniform: Double)
@JvmName(name = "crossoverUniformLongArray")
fun <F> CellEvolveScope<LongArray, F>.crossoverUniform(chance: Double, chanceUniform: Double)
@JvmName(name = "crossoverUniformShortArray")
fun <F> CellEvolveScope<ShortArray, F>.crossoverUniform(chance: Double, chanceUniform: Double)
@JvmName(name = "crossoverUniformMutableList")
fun <T, F> CellEvolveScope<MutableList<T>, F>.crossoverUniform(chance: Double, chanceUniform: Double)

Executes a uniform crossover that modify in-place the input chromosomes. The attributes are swapped according to the chanceUniform probability.

Link copied to clipboard
@JvmName(name = "cxBlendDoubleArray")
fun <F> CellEvolveScope<DoubleArray, F>.cxBlend(chance: Double, alpha: Double)
@JvmName(name = "cxBlendFloatArray")
fun <F> CellEvolveScope<FloatArray, F>.cxBlend(chance: Double, alpha: Float)

Executes a blend crossover that modify in-place the input chromosomes. The blend crossover expects Chromosome.value of floating point numbers.

Link copied to clipboard
@JvmName(name = "cxKPointArray")
fun <T, F> CellEvolveScope<Array<T>, F>.cxKPoint(count: Int, chance: Double)
@JvmName(name = "cxKPointBooleanArray")
fun <F> CellEvolveScope<BooleanArray, F>.cxKPoint(count: Int, chance: Double)
@JvmName(name = "cxKPointByteArray")
fun <F> CellEvolveScope<ByteArray, F>.cxKPoint(count: Int, chance: Double)
@JvmName(name = "cxKPointCharArray")
fun <F> CellEvolveScope<CharArray, F>.cxKPoint(count: Int, chance: Double)
@JvmName(name = "cxKPointDoubleArray")
fun <F> CellEvolveScope<DoubleArray, F>.cxKPoint(count: Int, chance: Double)
@JvmName(name = "cxKPointFloatArray")
fun <F> CellEvolveScope<FloatArray, F>.cxKPoint(count: Int, chance: Double)
@JvmName(name = "cxKPointIntArray")
fun <F> CellEvolveScope<IntArray, F>.cxKPoint(count: Int, chance: Double)
@JvmName(name = "cxKPointLongArray")
fun <F> CellEvolveScope<LongArray, F>.cxKPoint(count: Int, chance: Double)
@JvmName(name = "cxKPointShortArray")
fun <F> CellEvolveScope<ShortArray, F>.cxKPoint(count: Int, chance: Double)
@JvmName(name = "cxKPointMutableList")
fun <T, F> CellEvolveScope<MutableList<T>, F>.cxKPoint(count: Int, chance: Double)

Executes a K point crossover on the input sequence individuals. The two values are modified in place.

Link copied to clipboard
@JvmName(name = "cxOnePointArray")
fun <T, F> CellEvolveScope<Array<T>, F>.cxOnePoint(chance: Double)
@JvmName(name = "cxOnePointBooleanArray")
fun <F> CellEvolveScope<BooleanArray, F>.cxOnePoint(chance: Double)
@JvmName(name = "cxOnePointByteArray")
fun <F> CellEvolveScope<ByteArray, F>.cxOnePoint(chance: Double)
@JvmName(name = "cxOnePointCharArray")
fun <F> CellEvolveScope<CharArray, F>.cxOnePoint(chance: Double)
@JvmName(name = "cxOnePointDoubleArray")
fun <F> CellEvolveScope<DoubleArray, F>.cxOnePoint(chance: Double)
@JvmName(name = "cxOnePointFloatArray")
fun <F> CellEvolveScope<FloatArray, F>.cxOnePoint(chance: Double)
@JvmName(name = "cxOnePointIntArray")
fun <F> CellEvolveScope<IntArray, F>.cxOnePoint(chance: Double)
@JvmName(name = "cxOnePointLongArray")
fun <F> CellEvolveScope<LongArray, F>.cxOnePoint(chance: Double)
@JvmName(name = "cxOnePointShortArray")
fun <F> CellEvolveScope<ShortArray, F>.cxOnePoint(chance: Double)
@JvmName(name = "cxOnePointMutableList")
fun <T, F> CellEvolveScope<MutableList<T>, F>.cxOnePoint(chance: Double)

Executes a one point crossover on the input sequence individuals. The two values are modified in place.

Link copied to clipboard
@JvmName(name = "cxOrderedIntArray")
fun <F> CellEvolveScope<IntArray, F>.cxOrdered(chance: Double)

Executes an ordered crossover (OX) on the input chromosome values. The two value are modified in place. This crossover expects Chromosome.value as IntArray. Mixes indexes without conflicts, preserving parental relationships.

Link copied to clipboard
@JvmName(name = "cxSimulatedBinaryDoubleArray")
fun <F> CellEvolveScope<DoubleArray, F>.cxSimulatedBinary(chance: Double, eta: Double)

Executes a simulated binary crossover that modify in-place the input chromosomes. The simulated binary crossover expects Chromosome.value of floating point numbers.

Link copied to clipboard
@JvmName(name = "cxSimulatedBinaryBoundedDoubleArray")
fun <F> CellEvolveScope<DoubleArray, F>.cxSimulatedBinaryBounded(chance: Double, eta: Double, low: Double, up: Double)

Executes a simulated binary crossover that modify in-place the input chromosomes. The simulated binary crossover expects Chromosome.value of floating point numbers.