cx Uniform
suspend fun <T, F> PanmicticEvolveScope<Array<T>, F>.cxUniform(chance: Double, chanceUniform: Double, parallelismLimit: Int = parallelismConfig.workersCount, crossoverType: CrossoverType = CrossoverType.Iterative)
suspend fun <F> PanmicticEvolveScope<BooleanArray, F>.cxUniform(chance: Double, chanceUniform: Double, parallelismLimit: Int = parallelismConfig.workersCount, crossoverType: CrossoverType = CrossoverType.Iterative)
suspend fun <F> PanmicticEvolveScope<ByteArray, F>.cxUniform(chance: Double, chanceUniform: Double, parallelismLimit: Int = parallelismConfig.workersCount, crossoverType: CrossoverType = CrossoverType.Iterative)
suspend fun <F> PanmicticEvolveScope<CharArray, F>.cxUniform(chance: Double, chanceUniform: Double, parallelismLimit: Int = parallelismConfig.workersCount, crossoverType: CrossoverType = CrossoverType.Iterative)
suspend fun <F> PanmicticEvolveScope<DoubleArray, F>.cxUniform(chance: Double = 0.9, chanceUniform: Double, parallelismLimit: Int = parallelismConfig.workersCount, crossoverType: CrossoverType = CrossoverType.Iterative)
suspend fun <F> PanmicticEvolveScope<FloatArray, F>.cxUniform(chance: Double, chanceUniform: Double, parallelismLimit: Int = parallelismConfig.workersCount, crossoverType: CrossoverType = CrossoverType.Iterative)
suspend fun <F> PanmicticEvolveScope<IntArray, F>.cxUniform(chance: Double, chanceUniform: Double, parallelismLimit: Int = parallelismConfig.workersCount, crossoverType: CrossoverType = CrossoverType.Iterative)
suspend fun <F> PanmicticEvolveScope<LongArray, F>.cxUniform(chance: Double, chanceUniform: Double, parallelismLimit: Int = parallelismConfig.workersCount, crossoverType: CrossoverType = CrossoverType.Iterative)
suspend fun <T, F> PanmicticEvolveScope<MutableList<T>, F>.cxUniform(chance: Double, chanceUniform: Double, parallelismLimit: Int = parallelismConfig.workersCount, crossoverType: CrossoverType = CrossoverType.Iterative)
suspend fun <F> PanmicticEvolveScope<ShortArray, F>.cxUniform(chance: Double, chanceUniform: Double, parallelismLimit: Int = parallelismConfig.workersCount, crossoverType: CrossoverType = CrossoverType.Iterative)
Executes a uniform crossover that modify in-place the input chromosomes. The attributes are swapped according to the chanceUniform probability.
Parameters
chance
chance of crossover between a pair of chromosomes
chance Uniform
probability for index swapping
parallelism Limit
limit of parallel workers
crossover Type
describes the strategy of the crossing stage in PanmicticGA