diff --git a/GenTunic/gen_util.py b/GenTunic/gen_util.py index c63b5c2..56c4d7f 100644 --- a/GenTunic/gen_util.py +++ b/GenTunic/gen_util.py @@ -102,8 +102,11 @@ def mutation(population, MUTATION_RATE, GEN_SIZE): for individual_index in mutation_indecies: bit_index = np.random.randint(0, GEN_SIZE) - bit_to_mutate = population[individual_index]["population"][bit_index] - mutated_grey = bit_to_grey(bit_to_mutate) ^ 1 - population[individual_index]["population"][bit_index] = grey_to_bit(mutated_grey) + bit_to_mutate = population[individual_index]["population"] + + grey_to_mutate = bit_to_grey(bit_to_mutate) + grey_to_mutate[bit_index] ^= 1 + + population[individual_index]["population"] = grey_to_bit(grey_to_mutate) return population \ No newline at end of file