59 lines
2.2 KiB
Markdown
59 lines
2.2 KiB
Markdown
# BUT3-IA-Jeux-PUBLIC
|
|
|
|
Dépôt pour ressource cours IA sur les jeux de BUT3.
|
|
Formellement
|
|
MATH 5.1 et DEV 5.5
|
|
|
|
évaluation.
|
|
MATH 5.1 examen sur table 100%
|
|
DEV 5.5 TPs filés et éventuel mini projet final.
|
|
soutenance probable.
|
|
note différenciée par groupe possible
|
|
|
|
|
|
Des ressources de l'an dernier sont disponibles dans le répertoire 2023-24.
|
|
|
|
# Notes de cours.
|
|
|
|
## Premier cours (5/9/2024)
|
|
|
|
Au tableau.
|
|
Réflexion sur la nature d'un jeu.
|
|
Classification de divers jeux.
|
|
Focus sur les jeux à 2 joueurs, tour par tour, à information complète, et déterministe.
|
|
Stratégie gagnante, états, graphe des états, arbre de jeu.
|
|
|
|
Illustration de méthodes possibles en math débranché avec un cahier (exemple illustratif du jeu de Nim).
|
|
|
|
Méthode explorant l'arbre de jeu : Minimax, pseudo code avec deux méthodes exploremax et exploremin pour le jeu de Nim.
|
|
|
|
Exo à faire : reprendre le pseudo code pour permettre de choisir un coup optimal pour la position donnée en paramètre tout au début.
|
|
|
|
## Second cours (en salle TP, le 12/9/2024)
|
|
|
|
Première chose à faire : implantation de ExploreMax et ExploreMin pour le jeu de Nim.
|
|
(temps estimé 15 minutes à 60 minutes)
|
|
|
|
Règles du jeux :
|
|
|
|
* Tout doit être sur un repo git mis à jour régulièrement dont le nom est exactement BUT3Jeu partagé avec moi.
|
|
* utiliser un langage objet (à terme il s'agira de refactoriser le code pour permettre de traiter d'autres jeux)
|
|
* Méthode prend en entrée le nombre d'allumettes.
|
|
En sortie -1 (perdu), 0 (match nul) ou +1 pour victoire.
|
|
* extension possible choix du premier coup optimal.
|
|
|
|
Il convient de tester de manière extensive acvec des exemples qu'on connaît.
|
|
Les tests ne sont pas forcément des tests unitaires rejouables mais il faut garder une trace.
|
|
|
|
Seconde chose à faire.
|
|
Une fonction qui joue le même rôle que la fonction du premier point ci-dessus mais qui met en oeuvre "la méthode du cahier", i.e. l'approche qui stocke les états en mettant à jour si ils sont gagnants ou perdants.
|
|
(temps estimé : 30 minutes à 120 minutes).
|
|
|
|
Troisième chose à faire.
|
|
* Reprendre le code pour le clarifier si nécessaire.
|
|
* Le documenter (javadoc si java).
|
|
* Ajout d'un readme expliquant le rôle de chaque fichier.
|
|
|
|
|
|
|