Vous êtes sur la page 1sur 4

Projet Java 2e anne e

5 octobre 2004

Objectifs
Le but de ce module est de raliser toutes les tapes de la construction dun projet ` partir e e a dun cahier des charges textuel dnissant la structure gnrale du syst`me et les scnarii dutilie e e e e sation possibles. La modlisation de lapplication se fera en utilisant UML et la ralisation devra e e seectuer en JAVA. Chaque groupe de 4 tudiants est suivi par un enseignant. Le rythme normal des rencontres e entre un groupe et lenseignant est dune fois par semaine. Cest au correspondant l`ve de chaque ee groupe de contacter lenseignant par mail pour xer les rendez-vous.

Prsentation du sujet e
Prsentation de la thmatique e e
Une branche de lthologie (charge de ltude du comportement animal) cherche ` expliquer e e e a comment des animaux parviennent ` sorganiser pour rsoudre un probl`me pos ` la collectivit. a e e ea e Les socits dinsectes ont focalis beaucoup dattention puisque ces animaux sont dots de capaee e e cits cognitives rduites mais parviennent nanmoins ` mettre des comportements collectifs qui e e e ae peuvent tre qualis dintelligents. e e Pour expliquer ce foss entre comportement individuel et collectif (construction de nids, ree cherche de plus court chemin, tri collectifs, ...) dans les colonies dinsectes, certains biologistes ont mis en avant un type de processus particulier. Il sagit du processus de stigmergie selon lequel le travail guide louvrier. Dans ce type de processus, les insectes interagissent entre eux par lintermdiaire de lenvironnement et nutilisent pas de plan complexe ou de reprsentation des e e autres insectes. Chaque insecte est dcrit par des r`gles rexes de type stimulus-rponse. Ces e e e e r`gles associent une rponse lmentaire ` chaque perception de lenvironnement. La mani`re dont e e ee a e fonctionne ce processus est alors la suivante : un insecte peroit une partie de lenvironnement et c dclenche une certaine action. Cette action modie lenvironnement et en consquence les percepe e tions quen ont les autres insectes. Le comportement de ceux-ci est alors altr et ils sont amens ` ee e a mettre une autre action qui, ` son tour, modie le comportement des autres insectes. Ce cha e a nage dactions-ractions lmentaires construit progressivement, par lintermdiaire de lenvironnement, e ee e une solution au probl`me pos mais il reste dicile de prdire a priori le comportement global qui e e e va en merger. e Pour ce faire, un courant de lthologie utilise de plus en plus loutil informatique comme e outil permettant une premi`re validation dhypoth`ses. Pour cela, les thologues expriment dans e e e un premier temps leurs hypoth`ses concernant les comportements individuels des animaux et e leurs interactions possibles. Ils vrient ensuite par simulation informatique si le comportement e collectif reproduit ` partir de ces hypoth`ses correspond eectivement au comportement qui a pu a e tre observ dans la nature. e e Le projet que nous vous proposons traitera de la simulation dun phnom`ne collectif particulier e e bas sur la stigmergie : le phnom`ne de fourragement dans les colonies de fourmis. e e e

Le phnom`ne biologique e e
Les colonies de fourmis parviennent ` retrouver des sources de nourriture loignes de leur nid a e e et ` former des cha a nes continues permettant de rapporter la nourriture. Un mod`le propos en 1990 par Deneubourg fournit une explication ` ce phnom`ne. Les e e a e e fourmis se dplacent de mani`re alatoire dans leur environnement. Lorsquelles trouvent de la e e e nourriture, elles rentrent au nid en dposant sur leur chemin des marqueurs chimiques appels e e phromones. En retour, ces phromones attirent les autres fourmis qui sont incites ` suivre la e e e a mme piste. La conjonction de lvaporation des phromones et de la pose de phromones par les e e e e fourmis aboutit ` lapparition dune piste unique entre le nid et la source de nourriture. Cette a piste sav`re en outre tre le chemin le plus court reliant ces deux points. e e Ce mod`le a t utilis pour rsoudre des probl`mes poss en informatique (probl`me du e ee e e e e e voyageur de commerce, etc ...) et a donn lieu ` une heuristique appele ACO (Ant Colony Optie a e misation) utilise dans les probl`mes doptimisation combinatoire. e e Nous vous proposons de construire une application destine ` des thologues. Lobjectif de e a e cette application est de simuler une colonie de fourmis cherchant de la nourriture dans leur environnement et de vrier si le mod`le propos parvient ` reproduire le phnom`ne observ dans la e e e a e e e nature.

Mod`le ` simuler e a
La simulation devra se baser sur ce mod`le donn par les thologues (qui sapproche du mod`le e e e e propos par Deneubourg) : e Lenvironnement est dcrit par un certain nombre de points stratgiques dans lenvironnement. e e Chacune de ces position est localise dans un espace ` deux dimensions. Les fourmis peuvent eme a prunter certains chemins (connus a priori) entre ces positions. On suppose les chemins rectilignes : la distance du chemin est gale la distance ` vol doiseau entre les deux positions. e a Lenvironnement contient un seul nid et peut contenir une ou plusieurs sources de nourriture. Chaque source de nourriture contient un nombre dlments donn et est caractrise par une ee e e e qualit (une valeur correspondant ` lintrt des fourmis pour la nourriture prsente sur le site). e a ee e Les fourmis sont disposes en nombre quelconque dans lenvironnement. Elles ne se gnent pas e e (plusieurs fourmis peuvent se trouver au mme endroit ou sur le mme chemin au mme moment). e e e A leur tour, elles peuvent se dplacer sur les chemins et ne prennent des dcisions quaux points e e stratgiques (correspondant aux lieux de rencontre de plusieurs chemins). La mani`re dont une e e fourmi se dplace est dirente selon quelle poss`de de la nourriture ou non. e e e Si la fourmi ne poss`de pas de nourriture, elle se dplace alatoirement et a tendance ` suivre e e e a les chemins marqus par des phromones. A chaque intersection, elle dcide du chemin ` e e e a emprunter parmi les chemins quelle observe de sa position courante (excepte le chemin par lequel la fourmi vient darriver). Ce choix seectue en fonction dune densit de probabilit e e dpendant de la quantit de phromones dispose sur les chemins : Ainsi, chaque chemin i est e e e e valu par lexpression V (chemini ) = (K +phi )2 (K dsigne une constante et phi la quantit e e e e de phromones sur ce chemin). La probabilit de suivre le chemin i est proportionnelle ` cette e e a valuation : e (K + phi )2 Vi = P (suivrei ) = 2 j Vj j (K + phj ) Enn, chaque fourmi mmorise la suite de dplacements quelle a pu eectuer depuis son e e nid. Si la fourmi arrive sur une source de nourriture alors quelle nen poss`de pas, elle prend e instantanment un lment de la source de nourriture. e ee Si la fourmi poss`de de la nourriture, elle retourne au nid en suivant en sens inverse le chemin e quelle a mmoris pour arriver ` la source de nourriture. A chaque intersection, la fourmi e e a 2

pose une quantit de phromones sur le chemin quelle vient demprunter (on suppose que e e cette quantit est repartie sur lensemble du chemin est sera perue ` lautre extrmit). La e c a e e quantit de phromones dpose est proportionnelle ` la qualit de la source de nourriture e e e e a e quelle a dcouverte. e Si la fourmi arrive sur son nid et quelle poss`de de la nourriture, elle la pose instantanment e e et va en chercher ` nouveau conformment aux lois comportementales prcdentes. a e e e Les vitesses de dplacement des fourmis sont direntes selon que la fourmi considre porte e e ee quelque chose ou non mais ces deux vitesses sont identiques pour toutes les fourmis. Nous ferons lhypoth`se simplicatrice que les phromones permettent en outre de caractriser e e e une direction. Ainsi, non seulement elles indiquent le chemin qua emprunt la fourmi qui dpose e e ces phromones mais encore le sens de dplacement de la fourmi sur ce chemin. Lors du dplacement e e e des fourmis, lvaluation du chemin ne sera bas que sur les phromones correspondant ` la direce e e a tion adquate. Enn, toutes les secondes, un taux constant de phromones svapore sur chaque e e e chemin. La simulation sera base sur un moteur de simulation ` vnements discrets. Cela signie e a e e que le temps ne sera pas discrtis uniformment mais gr par lutilisation dvnements : les e e e ee e e entits mettent des vnements dats (en fonction du temps mis pour eectuer une action par e e e e e exemple), ces vnements sont stocks dans une structure adquate, lhorloge est mise ` lheure e e e e a de lvnement le plus rcent. Enn, cet vnement est trait et gn`re de nouveaux vnements e e e e e e e e e e ` prendre en compte. Le moteur de simulation sera donc charg dagencer de cette mani`re les a e e activits des fourmis de la colonie et de faire voluer lenvironnement. Plus prcisment, il aura e e e e pour objectif de grer lenvironnement de la simulation (volution du temps, vaporation des phromones) e e e e de dterminer quelle fourmi considrer ` quel instant (en fonction du temps mis pour se e e a dplacer sur les chemins et des actions des fourmis) e de rsoudre les action engages par les fourmis (en modiant ltat de lenvironnement et de e e e la fourmi) A ltat initial, chaque fourmi commence au nid sans nourriture. Leur premi`re action au lieu e e ` une date alatoire comprise entre 0 et 10 secondes. a e

Fonctionnalits e
Les thologues sont particuli`rement intresss par une application de type laboratoire vire e e e tuel. Ce genre dapplication doit leur permettre de pouvoir modier les conditions initiales et les param`tres dune exprience. e e Ainsi, ils attendent de pouvoir prparer une simulation. Un prparateur peut rednir les e e e direntes constantes qui caracterisent le mod`le, dcrire lenvironnement dans lequel se droulera e e e e lexperience et ajouter des fourmis dans lenvironnement. Les ethologues souhaitent suivre lvolution de lapplication au cours de son execution et vrier e e les capacits dadaptation des colonies de fourmis ` des environnements variables et changeant. Ils e a dsirent une interface graphique leur permettant de suivre lvolution des dirents constituants e e e du syst`me (position des fourmis, concentration de pheromones, ...) de mani`re lisible. On vous e e demande aussi dinclure la possibilit de modier les parametres de la simulation ainsi que lajout e et le retrait de sources de nourriture et de fourmis au cours de lexecution de la simulation. Ils vous demandent dintegrer des outils danalyse an de permettre ` un tudiant travaillant a e sur ce sujet de pouvoir analyser rapidement les rsultats obtenus par votre implmentation du e e mod`le. Il faut pour cela e pouvoir fournir le plus court chemin entre chaque source de nourriture et le nid (obtenu par programmation dynamique) trouver le chemin le plus marqu ` partir dune source de nourriture (lalgorithme est le e a suivant : on part de la source de nourriture et on prend le chemin le plus marqu et ainsi de e 3

suite jusquau nid) generer plusieurs chemins vers les sources de nourriture par une fourmi pose initialement e sur le nid pouvoir comparer les distances de ces chemins Enn, ces analyses se feront ` plusieurs dates au cours de la mme simulation pour vrier la a e e stabilit des chemins obtenus. Un gestionnaire de simulation devra permettre de dnir ces dates e e danalyse. La simulation devra alors pouvoir sexcuter sans aide extrieure et faire les analyses e e aux dates correspondantes. Pour nir, on vous demande dinclure la possibilit dajouter des points de suivi sur les fourmis e (permettant de sauvegarder en mmoire leurs dplacements) et la possibilit de sauvegarder la e e e trace dexcution (cest ` dire toutes les informations concernant les vnements et les dcisions e a e e e qui ont pu se produire au cours de la simulation).

Planning
Documents ` rendre ` lenseignant qui suit votre groupe a a
Semaine 42 Analyse des besoins (cas dutilisation, scenarii), ralise sous un diteur quele e e conque. Analyse (diagrammes de classes, danalyse, de squences, dactivits) ralise e e e e en utilisant Rational Rose. Conception (diagrammes de classes de conception, de squences) ralise en e e e utilisant Rational Rose. Une dmonstration des premi`res fonctionnalits sera demande. e e e e Sources du programme java sans interface graphique. Une dmonstration du e fonctionnement de lapplication devra tre faite. e Sources du programme java avec interface graphique, rapport nal. Soutenance des projets.

Semaine 46

Semaine 48

Semaine 50 Semaine 51

Semaine 4 Semaine 4 et 5