mutShuffleIndexes

@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 = "mutShuffleIndexesMutableList")
fun <T, F> CellEvolveScope<MutableList<T>, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double)
@JvmName(name = "mutShuffleIndexesShortArray")
fun <F> CellEvolveScope<ShortArray, F>.mutShuffleIndexes(chance: Double, shuffleIndexesChance: Double)

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

Example:

Before mutation: 0, 1, 2, 3, 4
After mutation: 1, 4, 0, 3, 2 // genes change only position

Parameters

chance

chance of mutation between a pair of chromosomes

shuffleIndexesChance

the probability of each attribute to be moved.