Objectif de la séance Concevoir et programmer un système multi-agent pour simuler un phénomène (simple) Accent sur la démarche plutôt que sur le problème Utilisation dun outil de simulation (Starlogo)
Énoncé du phénomène Dynamique de population –Lapins dans le jardin modéliser lévolution dune population de lapins en fonction de ressources renouvelables de lenvironnement
Modélisation multi-agent 1.Environnement 2.Les agents 3.Dynamique 4.Cycle du système
Modélisation de lenvironnement Damier 2D Caractéristique –Hauteur de lherbe (la ressource) Dynamique –Croît à chaque cycle –Peut être mangée (par les lapins) donc diminue Initialisation: hauteur aléatoire Affichage –Selon la hauteur (+ c eau + c verre)
Modélisation des agents (lapins) –Variable interne énergie –Comportement Se déplace Mange Vit (dépense de lénergie, mort, ou reproduction) –Initialisation Énergie
Modélisation de la dynamique: Pour chaque cycle –Pour tous les lapins Manger Se déplacer Vivre (mourir ou se reproduire ou rien) –Pour chaque case Faire pousser lherbe –Faire des statistiques (?) Assurée par loutil
Bases en starlogo Environnement logiciel –2 fenêtres de base Graphique ou « programmation » –Gestion de projet –Interfaçage graphique facilité
Bases en starlogo (manip 0) Lancement du simulateur Mode commande –Observateur : Effacer, mettre de lherbe, créer 10 tortues Les faire avancer
Effet
Bases en Starlogo Les concepts de base –Les patch, les tortues, laffichage, la programmation Lenvironnement de développement –Contrôleur: observateur, tortues –Affichage: monde, boutons, etc. –Sortie : texte, graphique
Bases en Starlogo Patch – « cases » de lenvironnement –Attributs: hauteur de lherbe, couleur –Comportement : croître,.. Tortues: –Les agents –Attributs, comportements Dont : fd (forward),lt (left), rt (right), bk (back)
Bases en Starlogo Point de vue : –Observateur (le monde) ou tortues Interprète: –Ligne de commande pour les tortues ou pour lobservateur Programmation: langage « simple », variables, procédures, conditionnelles, etc Ex: to bouger fd 1 rt random 50 lt random 50 end to setup.. end
Implantation du système Définition et initialisation de lenvironnement Créer des tortues-lapins les initialiser Les faire bouger Les faire manger Rafraîchir laffichage
Au boulot (manip1) Mode programme –Observateur: Initialisation de lenvironnement et des tortues –Tortue : programmer setup, Interface: –Créer un « slider » pour le nombre de tortues –Créer un bouton qui initialise Exécuter
On se bouge (manip 2) Programmer bouger (tortue) Faire un bouton « active » qui exécute la fonction bouger
Mangeons de lherbe (manip 3) Les lapins mangent de lherbe et bougent, meurent (die) ou se reproduise (hatch []) Lherbe repousse Mettons tout cela ensemble dans un cycle (bouton) Et en plus on dessine (on programme ou on utilise le « Wizard ») to manger if hauteur > 0 [set energie energie + min qte hauteur set hauteur max ( hauteur - qte) 0 ] End to cycle ask-turtles [active] ask-patches [set hauteur hauteur + ( taux / 100) scale-pc green hauteur 0 10] plot count-turtles End
Pour aller plus loin Maladie: –Certains lapins sont initialement malades –Quand ils en rencontrent dautres, ils se contaminent –La transmission dépend du niveau dénergie –On peut guérir ….