Hi Michelangelo, I enjoyed your work and want to share some ideas. I'd like to congratulate with you for the README, it was very clear making it easy to understand the code. The game rules you designed are interesting and unconventional, good job. The variation of opponents and shifts when calculating fitness is a clever touch for more robust results. The range of weights is correct, but consider using real numbers from 0 onward to more easily evaluate the convergence of suboptimal strategies. Your implementation is good, but you could introduce a random choice based on the weights for strategy selection and maybe increment the number of games for each individual in order to avoid same fitness results for different individuals. I suggest adding intermediate outputs or a graph to visualize the evolution of the weights. Finally, label the graphs as a best practice for immediate understanding. I hope you find these suggestions useful. Good work!
Hi Michelangelo, I enjoyed your work and want to share some ideas. I'd like to congratulate with you for the README, it was very clear making it easy to understand the code. The game rules you designed are interesting and unconventional, good job. The variation of opponents and shifts when calculating fitness is a clever touch for more robust results. The range of weights is correct, but consider using real numbers from 0 onward to more easily evaluate the convergence of suboptimal strategies. Your implementation is good, but you could introduce a random choice based on the weights for strategy selection and maybe increment the number of games for each individual in order to avoid same fitness results for different individuals. I suggest adding intermediate outputs or a graph to visualize the evolution of the weights. Finally, label the graphs as a best practice for immediate understanding. I hope you find these suggestions useful. Good work!