mutShuffleIndexes

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

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.

parallelismLimit

limit of parallel workers