Jeu de plateau Othello avec une intelligence artificielle développée en Python
Ce projet consiste en la création d'un jeu de plateau Othello avec une IA développée en Python. Le jeu utilise la librairie Pygame afin de gérer l'interface graphique. L'IA utilise l'algorithme Minimax avec élagage alpha-bêta pour prendre des décisions stratégiques. Ce projet a été réalisé en groupe de trois lors du semestre 6 de la licence informatique.
Notre IA utilise une stratégie adaptative qui évolue au cours de la partie. Son intelligence repose sur l'algorithme Minimax avec élagage alpha-bêta et une fonction d'évaluation qui analyse plusieurs aspects clés du jeu.
Contrairement aux apparences, avoir beaucoup de pions n'est pas toujours avantageux, surtout en début de partie. Ce critère devient crucial uniquement en fin de jeu.
Avoir plus d'options de mouvement que l'adversaire offre une flexibilité stratégique essentielle, particulièrement en début de partie.
Les coins sont les positions les plus précieuses du plateau, car une fois capturés, ils ne peuvent plus être repris par l'adversaire.
Certaines positions sont plus difficiles à capturer pour l'adversaire. L'IA cherche à maximiser ses pions stables tout au long de la partie.
Occuper les cases proches des coins peut être risqué si le coin n'est pas déjà sécurisé, car cela peut donner à l'adversaire l'opportunité de capturer le coin au tour suivant.
La fonction d'évaluation combine tous ces critères avec des poids adaptés à chaque phase du jeu : Score = wP·P + wM·M + wC·C + wS·S + wD·D
Notre IA adapte sa stratégie selon les trois phases principales de la partie :
L'IA se concentre sur la mobilité (garder des options de jeu) et évite d'occuper des cases risquées près des coins. Le nombre de pions n'est pas prioritaire à ce stade.
L'attention se porte sur la capture des coins et l'augmentation de la stabilité des positions. La mobilité reste importante mais moins prioritaire qu'en début de partie.
L'objectif devient de maximiser le nombre de pions et de verrouiller les positions stratégiques. La partie se joue désormais sur le décompte final.
Notre IA adapte intelligemment sa stratégie au fil du jeu : d'abord flexible et prudente, puis agressive sur les positions clés, et finalement concentrée sur la victoire numérique.
Le principal défi de ce projet a été l'implémentation d'une IA performante capable de prendre des décisions stratégiques face à un joueur humain. L'algorithme Minimax avec élagage alpha-bêta a été choisi pour sa capacité à explorer efficacement l'arbre des possibilités tout en limitant le temps de calcul.
La conception des heuristiques d'évaluation des positions a nécessité une compréhension approfondie de la stratégie du jeu Othello. Nous avons implémenté plusieurs critères d'évaluation comme la mobilité (nombre de coups possibles), la parité (nombre de pions) et la valeur positionnelle (importance stratégique de certaines cases).
La gestion des différents niveaux de difficulté a également été un défi, car il fallait équilibrer la profondeur de recherche de l'algorithme et le temps de réponse de l'IA pour offrir une expérience fluide aux joueurs de tous niveaux.