HAMEL Emilien GM5
Projet d’Intelligence Artificielle
SOMMAIRE
SOMMAIRE 2
I. Rappel des règles du jeu 3
II. Eco-résolution 4
III. Problème des fourmis par l’eco-résolution 6
IV. Modélisation : 7
1. Jeu 9
2. EcoMoteur 9
Choix des Eléments 9
Satisfaction 9
Gestion 9
3. EcoAgent 10
Gestion de l’état 10
4. EcoEnvironnement & EnviFourmi 10
5. Fourmi 11
CODE 12
Jeu.java 12
Ecomoteur.java 14
Ecoagent.java 16
EcoEnvironnment.java 19
EnviFourmi.java 19
Fourmi.java 21
I. Rappel des règles du jeu
Le but de jeu est de simuler un ensemble de N fourmis cannibales.
On supposera que l’ensemble des fourmis se trouve dans un lieu clos, sur une surface
rectangulaire de taille L1*L2
Le but du jeu est d’arriver à une seule survivante.
Pour cela chaque fourmi peut effectuer les opérations suivantes :
o Se déplacer
o Fuir
o Manger
o attaquer
Chacune de ces actions est conditionnée par ce qui se passe sur le plateau de jeux ( le
territoire).
On supposera pour l’intérêt du jeu que les fourmis ont une vision limitée de l’espace
sur lequel elles se situent ( par exemple un rayon de 2 cases ).
Chaque fourmi possède une force c’est à dire un caractère offensif. Ce caractère est
représenté par un nombre ( donné aléatoirement au début de la partie).
Attaquer
Idéalement, quand une fourmi voit une autre fourmi de force inférieure, elle décide de
l’attaquer. Pour cela elle doit se rapprocher d’elle et donc arriver sur la même case.
Dans le cas où dans son champ de vision se trouvent plusieurs fourmis de niveau
inférieur, la fourmi doit choisir un déplacement qui la rapproche de la fourmi la plus proche.
De façon à équilibrer les chances et de faire en sorte que la fourmi la plus forte puisse
être attaquée, et que la fourmi la plus faible puisse attaquer, on testera plutôt si la force de
l’adversaire est inférieure a 1.5 celle de la fourmi : on peut attaquer des fourmis plus fortes (
moitie plus forte en fait)
Fuir
Quand une fourmi se trouve en présence d’une fourmi plus forte, elle doit tenter de
fuir, c’est à dire augmenter le plus possible la distance entre les 2. On assimile cette action à
une agression.
De même, que dans le cas précédent, on testera si la force a un coefficient 3/2 .
Manger
Une fourmi mange une autre fourmi quand les 2 se situent sur la même case. Afin
d’équilibrer les chances et de faire en sorte que la fourmi la plus forte au départ ne mange pas
toutes les autres, la fourmi attaquante tire 2 nombres aléatoires assimilables à une attaque et
une défense :
attaque : le nombre obtenu est une variable aléatoire entre 0 et la force de la
fourmi.
Défense : le nombre obtenu est une variable aléatoire entre 0 et la force de la
fourmi attaquée.
Si le jet d’attaque est supérieur au jet de défense, la fourmi mange l’autre fourmi. Et sa
force augmente de la valeur de la force de sa rivale.
Dans le cas contraire, il ne se passe rien. Bien sûr quand vient le tour de la fourmi
assaillie, elle tentera de s’enfuir ou de manger l’autre fourmi ( selon l’écart entre les
forces ).
Se déplacer
Les déplacements suivent les règles définies au-dessus. Cependant dans le cas ou la
fourmi n’est ni attaquée, ni en position d’attaquer, le déplacement sera aléatoire( On
pourra faire en sorte cependant qu’il y ait plus de chances que la fourmi se dirige vers
le centre du terrain.)
II. Eco-résolution
Le principe de l’eco-résolution est de définir un ensemble d’eco-agents qui vont agir. (
On peut faire un parallèle avec l’écologie ). On crée un certain nombre d’agent qui vont
chercher à obtenir chacun une satisfaction et obtenir une satisfaction globale ( qui correspond
à la résolution du problème )
Chaque agent possède un ensemble de règles et un enchaînement des actions prédéfini (=
comportement ). Les actions possibles, sont : fuir, agresser, chercher la satisfaction.
Selon les cas, ces actions correspondront « physiquement » à des actions différentes. Par
exemple, l’agression dans le monde des cubes n’est pas la même chose que pour le problème
des Tours de Hanoi.
On définit 4 états pour un agent : satisfait, en recherche de satisfaction, en recherche
de fuite ,ou en fuite .
De même on définit 2 éléments supplémentaires : le fait de savoir si l’on est agressé, et
le fait de savoir si l’on est gêné.
Le « schéma de comportement » d’un eco-agent correspond au schéma suivant :
Agressé, gêné ou
non=> Rien
Agressé,
gêné=>agresse
Non agressé, gené ou non
RechercheSatisfaction
Agressé, gêné
ou non=> rien
Agressé ,gêné ou
non=> rien
Non agressé,
gêné ou non
=>agresse
Agressé ,non gêné =>
recherche de fuite
Non agressé,
gêné ou non=>
rien
Non Agressé,
gêné=> agresse
Non Agressé, non
gêné=>
rechercheSatisfaction
Fuite
Recherche
Satisfaction
Satisfait
1 / 28 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !