Hi, I'm here to review your code. Here are some of my thoughts on it:
The use of dataclasses to represent individuals simplifies the management of information associated with each individual and make the system modular and easy to understand.
Tracking the performance of the bit mutation through the __better_with_0_1 list and dynamically adapting the probability are positive aspects for improving the algorithm during execution.
A small suggestion: you could have added a condition to halt the algorithm once the fitness reaches 100%, avoiding unnecessary iterations
Considering all this, I think your code is well-structured and achieves good results, although it may not find a solution for all problem dimensions
We didn't implement a condition to halt the fitness function once it reached 100% because we assumed to not know the maximum value of the fitness function.
Anyway, thank you for your feedback
Hi, I'm here to review your code. Here are some of my thoughts on it:
__better_with_0_1
list and dynamically adapting the probability are positive aspects for improving the algorithm during execution.Considering all this, I think your code is well-structured and achieves good results, although it may not find a solution for all problem dimensions