implement bit_flip_mutation

This commit is contained in:
2026-01-31 12:02:12 +01:00
parent 7cb9407e61
commit fcfb934d8c

View File

@@ -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 {