rogierz / ComputationalIntelligence2022

Computiational Intelligence @ Politecnico di Torino A.A. 2022/2023

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Lab3 Review using Issues by Diego Gasco (s296762)

Diegomangasco opened this issue · comments

NIM GAME

Hi @rogierz! I decided to review your work on the agents creation that can play Nim game.
I tried locally your code and understood your purposes, I hope that my suggestions can be useful for you!

TASK 3.1

  • I like your strategy build with predefined parameters ("aggressivity", "longest_first" and "how_many"), they seem reasonable and easy to parameterized. Also the definition of the play is very well done, it avoids inadmissible cases.
  • The code that describes the other strategies is a bit confused, I didn't understand well where they would be applied and how.

TASK 3.2

  • The parameterization of 3.1 is good and the idea of playing against different strategies (with different parameters) for each individual is nice!
  • I can suggest you to train your model also against a random player, it is an opponent that can improve your parameters, since in some cases it does smart decisions with a certain probability.
  • In your GA you implemented the concept of inheritance, I haven't seen it before, and it is great, I like it a lot! To do a better and more "biological" algorithm, you can think about flanking your inheritance with a mutation or crossover or both.

TASK 3.3

  • Your MinMax code is very similar to mine, and the logic is correct!
  • I can suggest you to try different approaches to make it more time efficient, like alpha-beta pruning and limit depth.

GENERAL STUFFS

  • I was sorry to not see an implementation for 3.4 (Reinforcement Learning agent), since your ideas are nice, I would be curious to see your work about that!
  • Unfortunately your README is poor of descriptions and results, I hope you can improve it!
  • The code is well commented and understandable in almost all its parts.
  • I would like to see an implementation for a match in 3.1, with fixed parameters.

CONCLUSIONS

Good approaches in a lot of parts of the work, I liked reviewing your code, it helps me to discover new possible strategies!