Files
BUT3-JEU/TP1&TP2/Readme.md
James Boutaric b9c926f493 ajout TP3
2025-10-09 10:20:53 +02:00

97 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 |