Robots extracteurs de minerai avec Kedama
From OFSET Wiki
Travail Réalisé par: EL-KHADRI Adil
UE8, Université de Caen Basse-Normandie, 2006
Contents |
[edit] Introduction
Dans la cadre du devoir de l’UE8, mon travail consiste à faire une étude d'un outil de simulation multi-agent (Kedama), qui permet de programmer les comportements des agents de manière visuelle, et de les implémenter. Je ma part j’ai opté pour l’étude et l’implémentation des Robots fourrageurs, qui sont en fait des agents qui évoluent dans un labyrinthe de taille N*N, celle-ci contient des cases (espaces franchissables par des agents), et des blocs de minerai qui sont placés aléatoirement, où l’objectif est de ramener des échantillons à une base fixe.
[edit] Commentaires
Comme c'est montré sur l'image ci-dessous, la grille contient des robots qu’on a représenté par des ellipses blanches, contient aussi des minerais vertes, et en fin une base rouge permettant d’accueillir les minerais apportés par les robots.
Le bouton « scène initialiser » permet de redessiner les minerais et d’effacer les marques laissées par les robots lors de la dernière exécution.
Le compteur à gauche de l’image permet d’afficher à chaque instant le nombre de minerais qui sont dans la base.
[edit] Description
Conformément au sujet donné, j'ai donc considéré que mes robots sont des agents situés c’est à d agissent de manière totalement réflexe aux états de leur environnement, et donc la position d’un robot dans son environnement détermine ce qu'il perçoit, et il doit se déplacer sans communications directes avec les autres agents. Les règles de comportements des robots sont les suivantes.
- Explorer de manière aléatoire :
- Je ne porte rien et je ne perçois aucun minerai Alors Aller Nord.
- Je ne porte rien et je ne perçois aucun minerai Alors Aller Sud.
- Je ne porte rien et je ne perçois aucun minerai Alors Aller Est.
- Je ne porte rien et je ne perçois aucun minerai Alors Aller Ouest.
- Prendre un échantillon de minerai :
- Je ne porte rien et je perçois du minerai Alors prendre un échantillon.
- Retourner à la base et déposer minerai:
- Je porte un minerai et base Nord Alors Aller Nord.
- Je porte un minerai et base Sud Alors Aller Sud.
- Je porte un minerai et base Est Alors Aller Est.
- Je porte un minerai et base Ouest Alors Aller Ouest.
- Je porte un minerai et je suis à la base alors déposer minerai.
[edit] Agents Réactifs
En utilisant un système de marquage on peut améliorer le comportement des robot, en effet les échanges d'informations passent par une modification de l'environnement à travers les traces laissés par les robots lors de leurs déplacements entre les sources de minerai et la base. Et donc on va passer à un autre type d’agents qu’on appelles les agents réactifs.
Les règles de comportements seraient :
- Si je ne porte rien
- Et je ne perçois aucun minerai
- Et je ne perçois aucune marque
- Alors explorer de manière aléatoire.
- Si je ne porte rien
- Et je ne perçois aucun minerai
- Et je perçois une marque
- Alors se diriger vers cette marque.
- Si je ne porte rien
- Et je perçois du minerai
- Alors prendre un échantillon de minerai.
- Si je porte du minerai
- Et je ne suis pas à la base
- Alors retourner à la base et déposer une marque.
- Si je porte du minerai
- Et je suis à la base
- Alors déposer le minerai.
Tout robot ayant trouvé du minerai qui retourne vers la base va créer un "chemin d'odeur", c'est-à-dire une suite de marques déposées sur le sol. Les robots en train d'explorer vont se trouver captés par le chemin et auront donc tendance à suivre les traces ce qui les amènera normalement vers la source de minerai. De ce fait, avec le temps, de plus en plus de robots seront amenés à trouver cette même source, donc eux-mêmes à marquer le chemin en déposant des marques, ce qui aura pour effet de renforcer encore la tendance des robots à suivre ce chemin.
Cependant, si la source de minerai est éteinte et s'il reste des marques, alors les agents seront conduits à suivre les marques pour aboutir à un endroit maintenant vide. Ce que on propose c’est d’avoir un système de marques dynamiques capables de disparaître lorsqu'il n'y a plus d'échantillon dans un endroit, donc des marques volatiles qui disparaissent si le chemin n'est pas constamment renforcé par le dépôt de nouvelles marques.




