Go to file
2024-09-17 16:47:14 +02:00
game_optimized.py Ajout du travail de la séance. 2024-09-17 16:47:14 +02:00
game.py Ajout du travail de la séance. 2024-09-17 16:47:14 +02:00
README.md Ajout du travail de la séance. 2024-09-17 16:47:14 +02:00

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