game_optimized.py | ||
game.py | ||
README.md |
BUT3 Jeu
Groupe : Dylan LANDRIN, Killian SCHIED
Séance du 12/09/24
Au cours de cette séance, nous avons implémenté 3 algorithmes en python:
exploreMax
Le but d'explore max est de déterminer si le joueur 1 peux faire un coup qui mettrais en echec joueur 2.
exploreMin
Le but de Min est l'inverse, il voit s'il peut mettre joueur 1 en échec
miniMax
miniMax appelle les explorations
Séance du 17/09/24
Au cours de cette séance, nous avons apportés des modifications dans les fonctions utilisées dans l'algorithme miniMax() ainsi qu'un affichage de l'objet Game.
exploreMax() et exploreMin()
Des optimisations ont été apportés dans ces fonctions afin de stopper la recherche lorsque une solution a été trouvée.
Exemple :
Avant
Test avec 5 allumettes :
$ python3 game.py
-----------------------
Game and algorithm data
-----------------------
== Game data ==
Remaining matches : 5
Game state : 0
Actual player : 1
== Algorithm data ==
exploreMax calls = 17
exploreMin calls = 19
First player winning ? = False
Test avec 14 allumettes :
-----------------------
Game and algorithm data
-----------------------
== Game data ==
Remaining matches : 14
Game state : 0
Actual player : 1
== Algorithm data ==
exploreMax calls = 916
exploreMin calls = 913
First player winning ? = True
Après
Test avec 5 allumettes :
$ python3 game_optimized.py
-----------------------
Game and algorithm data
-----------------------
== Game data ==
Remaining matches : 5
Game state : 0
Actual player : 1
== Algorithm data ==
exploreMax calls = 3
exploreMin calls = 3
First player winning ? = False
Test avec 14 allumettes :
-----------------------
Game and algorithm data
-----------------------
== Game data ==
Remaining matches : 14
Game state : 0
Actual player : 1
== Algorithm data ==
exploreMax calls = 8
exploreMin calls = 7
First player winning ? = True