Files
BUT3-JEU/TP1&TP2/Readme.md

97 lines
4.2 KiB
Markdown
Raw Normal View History

2025-10-09 10:20:53 +02:00
Ce fichier repertorie et explique les code qui se trouve dans ce fichier.
## MiniMax_versionBase
Ce code est la version de base vu en cours du jeu de Nim.
Il fonctionne et donne bien -1 en resultat.
# Tableau d'états visité
| n (allumettes) | Nombre de nœuds explorés |
|----------------|--------------------------|
| 5 | 46 |
| 7 | 157 |
| 13 | 6 094 |
| 19 | 235 957 |
| 31 | 353 693 521 |
## MiniMax_versionprofondeur
Ce code est une version optimisé de la version vu en cours du jeu de Nim.
Celui-ci a un autre paramètre qui est profoncdeur qui limite les calcul et donne une approximation.
Il fonctionne et donne bien 0 en resultat si la profonceur est inférieur à 6 et si elle est de 6 ou plus elle donne bien -1 car 6 est la profondeur maximal de l'abre du jeu de Nim.
# Tableau d'états visité
| Nombre dallumettes | Profondeur max | Nombre de nœuds (états) |
|---------------------|----------------|-------------------------|
| 5 | 6 | 46 |
| 7 | 8 | 157 |
| 13 | 14 | 6 094 |
| 19 | 20 | 235 957 |
| 31 | 32 | 353 693 521 |
## MiniMax_versionarret
Ce code est une version optimisé de la version vu en cours du jeu de Nim.
Celui-ci a une autre condition d'arret qui limite les calcul qui est donné par un chemin où il y a une victiore ou une défaite.
Il fonctionne et donne bien -1 en resultat si le nombre d'allumettes est de 5 et si elle est de 4, elle donne bien 1.
# Tableau d'états visité
| Nombre dallumettes | Nœuds visités |
|---------------------:|-------------:|
| 5 | 36 |
| 7 | 74 |
| 13 | 1 828 |
| 19 | 25 610 |
| 31 | 8 784 458 |
## MiniMax_versionMemoisation
Ce code est une version optimisé de la version vu en cours du jeu de Nim.
Celui-ci garde en mémoire avec un tableau pour le min et le max pour éviter de recalculer des sous-arbres déjà vu précédemment.
Il fonctionne avec les tests effectué.
# Tableau d'états visité
| Nombre dallumettes | Nœuds distincts (états) visités |
|---------------------:|-------------------------------:|
| 5 | 25 |
| 7 | 37 |
| 13 | 73 |
| 19 | 109 |
| 31 | 181 |
## MiniMax_version_AlphaBeta
Ce code est une version optimisé de la version vu en cours du jeu de Nim.
Celui-ci permet de coupé des partie de l'arbre de jeux, donc de visité moins de noeuds.
Il fonctionne avec les tests effectué.
# Tableau d'états visité
| Nombre dallumettes | Nœuds visités |
|--------------------:|--------------:|
| 5 | 41 |
| 7 | 107 |
| 13 | 2 244 |
| 19 | 31 898 |
| 31 | 9 523 124 |
## Différence de noeud visité entre MiniMax_version_AlphaBeta et MiniMax_versionBase
La différence entre le nombre de noeuds visité car alpha_beta ne regarde pas tous les sous-arbres, contrairement à la version de base, cela se voit surtout avec une grande longueur de l'arbre de jeux.
## Nombre d'états visités dans chaque version
| Version | Paramètres initiaux | États explorés |
|--------------------------------|-----------------------------------|----------------|
| MiniMax_versionBase | `nbr_allumettes = 5` | 46 |
| MiniMax_versionarret | `nbr_allumettes = 5` | 36 |
| MiniMax_versionprofondeur | `nbr_allumettes = 5, profondeur=6`| 46 |
| MiniMax_versionMemoisation | `nbr_allumettes = 5` | 25 |
| MiniMax_version_AlphaBeta | `nbr_allumettes = 5` | 41 |