implement bit_flip_mutation
This commit is contained in:
@@ -172,6 +172,15 @@ uniform_crossover :: proc(
|
||||
return
|
||||
}
|
||||
|
||||
bit_flip_mutation :: proc(chrom: ^Chromosome, mutation_rate: f32 = 0.01) {
|
||||
for i in 0 ..< NUMBER_OF_ITEMS {
|
||||
if rand.float32() < mutation_rate {
|
||||
current := bit_array.get(chrom, i)
|
||||
bit_array.set(chrom, i, !current)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
main :: proc() {
|
||||
items, ok := read_data(DATA_FILE)
|
||||
if !ok {
|
||||
|
||||
Reference in New Issue
Block a user