Projet « Systèmes Multi-agents » 2010-2011
I. Etude documentaire sur la systémique
Choisissez une personne à étudier :
• René Decartes
• Norbert Wiener
• Ferdinand de Saussure
• Claude Shannon
• Ludwig von Bertalanffy
• Darwin, Lamarck
• etc
Cette étude peut porter sur :
• Sa biographie
• Son travail principal lié à la systémique
II. Développement d’un système multi-agents : algorithme fourmis
1. Le problème
Ce projet consiste à développer un système multi-agents simple en Java pour simuler la recherche d’un plus court chemin par une colonie de fourmis.
Une colonie de fourmis vit dans un terrain où il y a sa fourmilière et une source de nourriture. Les fourmis exploreront ce terrain à la recherche de la nourriture. Leur but est de déterminer le plus court chemin à partir de la fourmilière jusqu’à la source de nourriture grâce à l’interaction des fourmis.
2. La modélisation
Nous discutons quelques points importants de la modélisation.
2.1 L’environnement
L’environnement est le terrain où évoluent les fourmis. Il est essentiellement constitué d’un tableau à deux dimensions. Chaque case du tableau contient au moins les informations suivantes :
Le niveau de phéromone dans la case
La quantité de nourriture dans la case 2.2 Les agents
Les agents sont des fourmis pouvant se déplacer dans l’environnement.
L’aspect structurel :
Une fourmi possède une orientation qui détermine son champ de vision : 5 ou 7 cases sur 8 cases voisines à sa case actuelle peuvent être vu par une fourmi en prenant compte de l’interdiction de demi-tour
Une fourmi possède une mémoire dans laquelle est stockée la liste des cases qu’elle a parcourue avant de trouver de la nourriture
Une fourmi possède un niveau de charge de nourriture qu’elle est en train de transporter éventuellement
L’aspect comportemental :
Une fourmi est dans un état parmi les suivants :
Recherche de la nourriture
Retour à la fourmilière 2.3 Les probabilités de direction
Les phéromones sont des éléments qui attirent les fourmis quand elles ne transportent pas de nourriture.
Quand une fourmi se déplace vers une case voisine, le choix de case est déterminé par la probabilité de direction. Nous considérons deux cas : sans phéromones et avec phéromones
Sans phéromone : la probabilité de direction p1 est fixée, et déterminée par une stratégie.
Avec phéromone : la probabilité de direction p peut être calculée comme : o p = a * p1 + (1-a) * p2
p1 est la probabilité de direction sans phéromone
p2 = ph/(somme de ph des cases possibles)
a est une coefficient dans [0, 1]
3. La démarche de développement
Développez votre système en suivant les cinq étapes et fournissez des diagrammes UML avec des descriptions textuelles nécessaires:
• 1. Spécification :
o élaborez un diagramme de cas d'utilisation
o élaborez un diagramme de classe « Système » qui regroupe tous les opérations systèmes
• 2. Analyse :
o élaborez un diagramme de classes d'analyse pour décrire la structure du système o élaborez des diagrammes d’états-transitions, ou des diagrammes d'activités pour
décrire le comportement des fourmis
• 3. Conception :
o élaborez un diagramme de classes de conception pour définir les structures de données des attributs et des opérations de chaque classe d’analyse
o élaborez une interface graphique de type MVC (Model-View-Control)
• 4. Codage :
o Codez chaque classe du diagramme de classes de conception en Java
• 5. Test :
o Tester le code avec les données d’essai
III. Evaluation
Le projet sera fait en binôme dans la mesure possible, et deux rapports et une soutenance seront prévus.
Le rapport à mi-chemin comporte :
• Pour Partie I
1. L’étude documentaire (Partie I)
• Pour Partie II
1. La description du problème de la recherche de nourriture par une colonie de fourmis
2. La spécification 3. L’analyse
Le rapport final comporte (Partie II):
• La description du problème
• La spécification
• L’analyse
• La conception
• Le codage
• Le test
Vous devez rendre un rapport mi-chemin la semaine avant la vacance d’Avril. Les dates de la soumission du rapport final et de la soutenance seront prévues dans le planning.