graph.png | ||
MiniMaxOptiCarnet.class | ||
MiniMaxOptiCarnet.java | ||
MiniMaxPetiteOpti.java | ||
MiniMaxSansOpti.java | ||
RapportNim.md | ||
README.md |
12/09/2024
Question 1 fait (voir nim.java)
Le joueur1 va faire un explore max de ces choix possible et lance exploreMin sur ces choix et ensuite exploreMax sur sont choix etc jusqua que l'un des joueur doit choisir 1 ce qui garantie la victoire/la perte de cette branche. Dans exploreMax, si il y a une possibilité de perdre dans une branche elle vaudra -1 si elle est obligatoirement victorieuse elle vaudra 1 et inversement pour exploreMin. exploreMin represente le meilleur choix du joueur2 (qui est le pire choix pour joueur1 d'ou exploreMIN).
Question 2 pas fait Stocker tous les états possibles.
17/09/2024
Optimisation du nim.java
au lieu de faire les coup NBallumette-1, NBallumette-2 et NBallumette-3 le code execute les coups NBallumette-3, NBallumette-2 et NBallumette-1 dans cette ordre maintenant.
Optimisation 2 Stockes les different resultats a l'instar du carnet dans des array de int si le nombre d'allumette en particulier est perdant. Au prochaine executions d'exploreMax ou exploreMin si le resultat a deja été calculer il ne sera pas calculer a nouveau.