lundi 26 janvier 2009

Projet IA41 (Intelligence Artificielle) : Force 3


L'UV d'IA41 nous permet d'acquérir les bases des concepts d'intelligence artificielle.

Nous y étudions notamment les langage PROLOG et LISP.

Dans cette UV nous avons eu un "gros" projet à réaliser (par groupe de quatre personnes).

Avec les membres de mon groupe nous avion choisi le sujet "Force 3 ", voici un rappel du sujet qui nous a été donné :

"
Nombre de joueurs : 2

Matériel :

– plateau carré de 9 cases
– 6 pions ronds (3 d'une couleur et 3 d'une autre)
– 8 pions carrés de couleur claire

But du jeu :

Aligner ses trois pions ronds horizontalement, verticalement ou en diagonale.
Description du jeu :
Les 8 pions carrés sont disposés sur le plateau autour de la case centrale. Les joueurs utilisent les
pions ronds en choisissant chacun une couleur avant de commencer à jouer. Ils jouent à tour de rôle
en effectuant un des trois mouvements suivants :
– pose d'un pion rond sur un carré inoccupé,
– déplacement par glissement d'un carré (occupé ou non par un pion rond) vers une case vide,
– déplacement d'un pion rond déjà en place vers n'importe quel carré libre.
Si la case vide se trouve au bord du plateau, le joueur peut déplacer deux carrés d'un seul coup. Son
adversaire n'aura pas le droit d'effectuer au tour suivant le mouvement inverse pour remettre les
carrés dans leur position initiale. Il pourra cependant en déplacer un seul. Le premier joueur qui
parvient à aligner ses trois pions a gagné.

Objectif du projet :

Permettre à l'utilisateur de jouer à Force 3 contre l'ordinateur. L'utilisateur devra choisir au début de
la partie s'il désire jouer avec les blancs ou les noirs, ou s'il désire regarder l'ordinateur jouer contre
lui-même."

Après de nombreuses heures de travail, nous avons abouti à un résultat très satisfaisant. En effet, nous avons une interface graphique (codée en JAVA) qui permet de jouer contre l'ordinateur ou de laisser l'ordinateur jouer contre lui même). L'intelligence artificielle (codée en PROLOG avec notamment l'algorithme Minmax et une évaluation efficace) que nous avons développé possède un bon niveau, il est très difficile de la battre.

ZIP des sources ( .jar et src)
PDF du rapport
PDF de l'annexe du rapport

0 commentaires:

Enregistrer un commentaire