Université Montpellier 2 / Maîtrise Informatique / 1999-2000 / Intelligence Artificielle |
Dans le cadre de ce module, a été réalisé
en JAVA, de début Mars à fin Juin, un projet par groupe de 3
personnes (les 2 autres étant Gauthier HADERER et Eric BOULAT).Il s'agissait
de résoudre le célèbre problème du "monde
du Wumpus". Un agent est enfermé dans un labyrinthe. Dans ce
labyrinthe, il y a des pièges (les puits), un monstre (le Wumpus) et
un trésor (l'or). L'agent doit éviter les puits et le Wumpus.
Il dispose d'une flèche qu'il peut tirer dans une salle voisine afin
de tuer le Wumpus. L'agent sent les dangers quand il se trouve sur une salle
voisine de la salle où il y a le danger (un courant d'air pour un puits,
ou une puanteur pour le Wumpus), mais il ne sent ni l'intensité, ni
la direction. Forts de tout ce que nous avons appris sur les graphes, nous
sommes le seul groupe qui achoisi de poser et résoudre le problème
sur des graphes (et non pas sur de simples cadrillages représentés
par des matrices comme les autres). Les graphes ont été représentés
en mémoire par des listes d'adjacence. La seule contrainte, est qu'il
n'y ait pas de piège sur la case de départ, et que le graphe
soit connexe (on peut aller partout).
Eric BOULAT s'est occupé de trouver une représentation
simple pour les graphes connexes quelconques (on répartit les sommets
équitablement sur un cercle et on les relie). Voici d'ailleurs unexemple:
Gauthier HADERER s'est occupé de la classe de base fournissant l'interfaçage entre les agents et les environnements. Quant à moi, je me suis passionné pour les algorithmes et j'ai donc vraiment fait de l'IA. J'ai réalisé 8 types d'agents (qui deviennent progressivement de plus en plus intelligents).
Voici d'ailleurs le graphes du nombre d'actions mis par les agents
pourtrouver la solution en fonction de la taille du graphe (moyenne calculée
pour 10 essais par agent et par graphe).
Le meilleur agent est donc l'agent 7, dont le temps d'exécution est très rapide. Comme nous avons pris des graphes, ce projet est général et peut s'adapter à diverses mondes (mondes en 2 dimensions, éventuellement avec des passages secrets entre des salles éloignées (monde en 2 dimensions généralisé) comme dans Chip's Challenge; ou en 3 dimensions comme dans Doom, ou 3 dimensions généralisées (comme dans Hexen)). applet de démo(pas toutes les
fonctionnalités) Pour utiliser l'agent 8, vous aurez besoin en plus de vos outils habituels de la librairie
JPL 1.0.1 (version Linux).
|