Répartition du travail parmi les différents membres du groupe. Alain TRAN va travailler sur l'algorithme MinMax tandis que LLoyd MACE et Cassandre CRESCENDRE vont travailler sur
l'algorithme de Monte Carlo recherche arborescente.
La méthode meilleurCoup va permettre à l'ordinateur de choisir le coup qui dispose du meilleur score et donc de la meilleur chance de gagner. Cette méthode sera celle qui
sera override par la méthode meilleurCoup déjà existante dans la classe AlgoRecherche. Celle-ci utilisera également une autre méthode récursive minmax pas encore crée.
## Classe AlgoRechercheMinMax - Méthode minmax
## Classe AlgoRechercheMinMax - Méthode minmax (terminé)
Création et modification de la méthode minmax dans la classe AlgoRechercheMinMax.
...
...
@@ -82,27 +87,27 @@ Création et modification de la méthode minmax dans la classe AlgoRechercheMinM
Cette méthode est récursive et est celle qui va nous permettre de faire des simulations selon les coups joués et d'attribuer un score à chaque configuration possible à
partir d'une configuration donnée (par la liste des coups possibles et joués pour tel joueur).
## Classe AlgoRechercheMinMax_9x9 - Méthode evaluation
## Classe AlgoRechercheMinMax_9x9 - Méthode evaluation (terminé)
Création d'une classe similaire à AlgoRechercheMinMax mais pour jouer avec la grille 9x9. En particulier, nous avons besoin d'une nouvelle méthode evaluation.
Nous devons ici utiliser une méthode évaluation et une heuristique car contrairement à la version 3x3, le MinMax prend trop de temps à s'exécuter ici, il faut donc faire
évoluer les critères d'évaluation en attribuant par exemple 10 ou -10 selon si le joueur 1 ou 2 a gagné une case 3x3 ou non.
## Amélioration alpha beta
## Amélioration alpha beta (terminé)
Amélioration de la complexité du MinMax en l'implementant avec la méthode alpha beta
L'algorithme MinMax peut prendre un certain temps avant de déterminer le meilleur coup possible en particulier pour la grille 9x9, ainsi j'ai implémenté l'amélioration
alpha beta qui consiste à supprimer certains cas non optimaux avant même de les parcourir.
alpha beta qui consiste à supprimer certains cas non optimaux avant même de les parcourir d'abord sur le 3x3 puis ensuite sur le 9x9.