Mes Projets Informatiques
Informatique II : Devoir de Prolog - Othello 6x6
Ma formation ingénieur étant très complète (programmation impérative, fonctionnelle, objets, ...) ne pouvait faire l'impasse sur la programmation logique. C'est ainsi qu'il nous a été proposé de concevoir un joueur d'Othello 6x6 en PROLOG
PROLOG est un langage de programmation logique qui permet, par l'utilisation de prédicats et d'une liste de faits, de développer des inférences. Ainsi, nous avons conçu dans un premier temps un joueur aléatoire d'Othello. Doté d'une intelligence basique (puisque totalement dépourvu d'une quelconque possibilité de réflexion), il choisit un coup aléatoirement parmi les coups qu'il peut jouer. Très souvent, ce joueur perd. Ceci est tout a fait normal compte tenu du fait qu'il ne possède aucune stratégie. Or pour ce jeu, la stratégie est importante.
C'est pourquoi la deuxième partie du devoir était pour nous une des plus intéressantes, et surtout importantes à nos yeux. Ainsi, nous avons développer un joueur capable de suivre une stratégie. Ce joueur utilise alors un mécanisme très performant de recherche de meilleurs coups : l'Alpha-Beta. Cet algorithme va calculer le meilleur coup possible en tentant de prévoir les coups de l'adversaire. Il va ainsi pouvoir descendre, dans notre devoir, jusqu'à une profondeur de 11 coups, ce qui constitue un des records de notre promotion.
En outre, notre joueur heuristique implémente différentes stratégies permettant sa réussite. Pour plus de détails, je vous recommande vivement la lecture du rapport. Vous y trouverez toutes les stratégies implémentées en détails, les structures de données utilisées, les différents joueurs développées, etc. De plus, le code PROLOG du joueur que nous avons présenté au tournoi de notre classe est disponible. Qui dit tournoi, dit arbitre. Ce dernier était fourni par notre enseignante. Son code complet est disponible dans ce répertoire, ou bien dans cette archive qui regroupe toutes les données.