SEANCE 2 : éléments de programmation



Documents pareils
Programmation orientée agents #1. v 1.3. M1 S2 - Université de Montpellier II"

Master IAC Philippe Caillou DÉVELOPPEMENT DE SMA. Cours 1b

La Programmation Orientée Agent Les Agents Réactifs

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Petit guide d utilisation Prezi

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Tutorial créer une machine virtuell.doc Page 1/9

Modélisation et Gestion des bases de données avec mysql workbench

Utilisation du logiciel ModellingSpace

Une liste des distributeurs Paxton se trouve sur le site Internet -

Structurer ses données : les tableaux. Introduction à la programmation

Gnuplot. Chapitre Lancer Gnuplot. 3.2 Options des graphes

TUTORIEL PAINTPOT. Louise Henninot - Anne- Cécile Patou - Julie Roquefort

Module 24 : Analyse de scénarios

Eclipse atelier Java

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Cours 7 : Utilisation de modules sous python

«Petit guide d utilisation Prezi» par Marc Nolet

GROOBAX. cliquer sur le «G» Cliquer sur «options» Sélectionner le dossier qui contiendra les paramètres => Cliquer A chercher le dossier créé en 2/

Tutoriel Prise en Main de la Plateforme MetaTrader 4. Mise à jour : 7/09/

WHS FutureStation Nano Extras\Options: Général

Comme cet outil est un des outils majeurs professionnels, Facebook vous propose également une Aide.

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

LOGIcIEL WZP. QUICKSTART-logiciel-WZP-6004V1.2

Service des ressources informatiques - Conseil Scolaire de District Catholique Centre-Sud Page 1

Logitech Tablet Keyboard for Windows 8, Windows RT and Android 3.0+ Setup Guide Guide d installation

AVerMedia CM3000 Manuel d utilisation

Figure 3.1- Lancement du Gambit

Débuter avec Easyweb B

Styler un document sous OpenOffice 4.0

Manuel de l Administrateur

Mise en place d un firewall d entreprise avec PfSense

Silhouette Studio Leçon N 2

5004H103 Ed. 02. Procédure d installation du logiciel AKO-5004

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Travaux pratiques Détermination de la capacité de stockage des données

Le langage C. Séance n 4

Mode d emploi de la boîte vocale. Table des matières

PRESENTATION DE LA SOLUTION. CybEx E_Trade

Manuel d'utilisation avec le superviseur ISCANSERVER et le client VEHICLE Network System

MANUEL ADMINISTRATEUR KIWI BACKUP VERSION 2

Guide de l utilisateur Communauté virtuelle de pratique en gestion intégrée des risques

Ce dont nous avons besoin pour suivre ce tutorial :

Gestion d un VIDÉOPROJECTEUR. ou d un ÉCRAN SECONDAIRE

L import massif introduit plusieurs nouvelles fonctionnalités, selon que l on importe un thésaurus, un ensemble de valeurs contrôlées ou un corpus.

Comment sélectionner des sommets, des arêtes et des faces avec Blender?

Tutoriel de formation SurveyMonkey

Google Drive, le cloud de Google

Conférence Web sur demande de TELUS Guide de référence rapide

Table des matières. Télécharger MetaTrader 4. Première connexion à MetaTrader 4. Se connecter à MetaTrader 4. Modifier la langue

point On obtient ainsi le ou les points d inter- entre deux objets».

Lions Clubs International e-clubhouse Section réservée aux seuls membres du Lions Club Manuel d utilisation

Formation. Module WEB 4.1. Support de cours

Virtual PBX Quick User Guide

AP1.1 : Montages électroniques élémentaires. Électricité et électronique

L écran du marais : Comment configurer le viewer OpensSim

Taxnet Pro. Fiche de consultation rapide

Introduction aux outils BI de SQL Server Fouille de données avec SQL Server Analysis Services (SSAS)

BASE. Vous avez alors accès à un ensemble de fonctionnalités explicitées ci-dessous :

Microsoft Windows XP. Movie Maker 2

Découverte des applications de la suite

Correction du baccalauréat ES/L Métropole 20 juin 2014

Logitech Speaker System Z553 Setup Guide Guide d installation

Fête de la science Initiation au traitement des images

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

Fonctionnement Kiwi Syslog + WhatsUP Gold

SOMMAIRE. Accéder à votre espace client. Les Fichiers communs. Visualiser les documents. Accéder à votre espace client. Changer de Workspace

We are here. Let's talk! Objets Objets 2011 FIN DE STOCK

MANUEL D UTILISATION PRO-FACE

Vous avez cliqué sur le lien disponible sur le Site Uniformation. Vous venez d arriver sur cette page.

Création et utilisation de formulaire pdf

Guide d utilisation pour

Documentation Honolulu 14 (1)

Installation de SQL Server Reporting Services avec l intégration dans un site Windows SharePoint Services V3

ECLIPSE ET PDT (Php development tools)

Effectuer une sauvegarde avec Nero BackItUp

Guide d utilisation. Trésorerie Générale du Royaume. Inscription en ligne via le Portail Internet de la. Trésorerie Générale du Royaume. Version 1.

UTILISATION DU MODULE PHOCAGALLERY

Veuillez noter que vous devez changer de Code d Accès Internet tous les 60 jours pour des raisons de sécurité.

Réalisation de cartes vectorielles avec Word

Logiciel PICAXE Programming Editor

INFORM :: DEMARRAGE RAPIDE A service by KIS

Super rapport qualité/prix

Logiciel XLSTAT version rue Damrémont PARIS

Guide d installation de SugarCRM Open Source version 4.5.1

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

ZEROSHELL NET BALANCING. Julien Dabin Page 1

LOGICIEL DC4D MONITOR

Europresse.com. Pour les bibliothèques publiques et de l enseignement. Votre meilleur outil de recherche en ligne. Guide version 1.

Once the installation is complete, you can delete the temporary Zip files..

Partie 1 : Tutorial de vérification de backup par ABGX 1.0.5

Guide de connexion pour les sites sécurisés youroffice & yourassets

GUIDE D UTILISATION DE L ISU SEPTEMBRE 2013 GUIDE D UTILISATION DU NAVIGATEUR UIS.STAT (VERSION BÊTA)

ALERT NOTICE D UTILISATION DU DRIVER PC-TEXTE

INSCRIPTION EN LIGNE COMMENT ÇA MARCHE?

LE CONCEPT. Vous pouvez aussi charger une version sur votre PC afin d'assurer votre présentation dans une salle non connectée.

Windows Serveur 2012 : DHCP. Installation et mise en place

Transcription:

NETLOGO Étude et modélisation de phénomènes collectifs à l aide d un logiciel de développement dédié Netlogo SEANCE 2 : éléments de programmation 1

«Agents» Tortues Création de tortues : par l observateur, ( par les patches) Coordonnées d une tortue : xcor, ycor Patches Coordonnées d un patch : pxcor, pycor, au centre du monde (0,0), Nombre de patches : défini par world-width,world-height par défaut 35 => 35x35 = 1225 patches Le monde des patches est comme une grille circulaire Les commandes «Commands»: commandes qui définissent les actions à exécuter par les «agents» Elles sont de 2 types : Primitives : commandes pré-définis dans NetLogo Procédures : commandes définis par le programmeur Une commande procédure est définie par un nom, précédé par le mot clé to, et se terminant par le mot clé Exemple : commande procédure setup to setup ca crt 10 ;; nettoyer l écran ;; créer 10 tortues 2

Commandes primitives Ce sont des commandes prédéfinies dans NetLogo exemples : ca (clear all), crt (create turtles), lt (left turn), rt (right turn), fd (forward), set (affectation de variable), ask, peuvent avoir des valeurs en entrée : crt 100 rt 50 Exemple to setup ca crt 100 ask turtles [set color red ;; couleur des tortues en rouge : variable color rt random 360 ;; orienter chacune au hasard fd 50 ] ;; les faire avancer de 50 pas ask patches [ if (pxcor > 0) ;; les patches du coté droit : variable pxcor [set pcolor green] ] ;; de l écran en vert : variable pcolor 3

Les variables de tortues, de patchs Soit construites par NetLogo Chaque tortue a une valeur pour chacune des variables de tortue : xcor, ycor, color, heading, shape, pareil pour les variables de patch pxcor, pycor, pcolor Soit définies par le programmeur ainsi : Turtles-own [energy] Patches-own [friction] La commande ask La commande ask spécifie les commandes que doivent exécuter les tortues ou les patches lorsqu on est dans une procédure associée à l observateur Exemple : procédure command setup to setup ca crt 100 ask turtles ;; demander à toutes les tortues [set color red ;; couleur des tortues en rouge rt random-float 360 ;; orienter chacune au hasard fd 50 ] ;; les faire avancer de 50 pas ask patches ;; demander à tous les patchs [ if (pxcor > 0) ;; les patches du coté droit [set pcolor green] ] ;; de l écran en vert 4

Reporters «Reporters» : exécutent une opération et retournent un résultat soit à une commande soit à un autre reporter (un peu comme une fonction) Reporters primitive : prédéfinis dans NetLogo random, random-float Reporters procédures : définis par le programmeur Boutons Les Boutons de l interface fournissent un moyen simple de contrôler le modèle En général un modèle a : Un bouton «setup» pour initialiser l état du monde Un bouton «go» pour exécuter le modèle en continue Éventuellement d autres boutons pour exécuter d autres actions Un bouton contient du code Netlogo qui s exécute quand on clique sur le bouton «once-button» : le code est exécuté une fois «forever-button» : le code s exécute indéfiniment jusqu à ce qu on le clique à nouveau, ou si le code exécute la commande «stop» Il faut spécifier qui exécutera le code associé au bouton : l observateur toutes les tortues tous les patches 5

Les variables globales Variables Globales : peuvent être lues ou positionnées à tous moments par n importe quel agent Soit définies par un slider ou un switch Soit déclarées dans le programme par le mot clé globals : globals [ nbvivants nbchgts] Affichage de résultats Plotting : Pour suivre l évolution de variables trace des courbes Exemple : placer une boite «Plot» de nom «évolution des opinions» dans l interface Y construire un plot pen ( un stylo) de nom «point» Programmer dans les procédures set-current-plot "évolution des opinions ;;nécessaire seulement si plusieurs boites Plot set-current-plot-pen "point ;; nécessaire ssi plusieurs stylo pour la boite plot opinion Monitor : pour afficher une valeur en évolution 6

Tutoriel de NetLogo Suivre le tutoriel n 3 du manuel utilisateur : Tutorial # 3 : Procedures http://ccl.northwestern.edu/netlogo/docs / Étude de cas : dynamique d opinion «Mixing beliefs among interacting agents» Deffuant, Neau, Amblard, Weisbuch 2000 Modèle basique : N agents i, chacun une opinion Xi Réajuste éventuellement leur opinion à la rencontre (discussion) avec un autre agent Si X X < d X=X + µ (X X) X =X + µ (X X ) 7

Modèle dynamique d opinion Quels sont les paramètres de ce modèle? => Faire des sliders Quels affichages sont intéressants? => Faire des plot, monitor Modèle dynamique d opinion Paramètres? Sliders : number (de 0 à 1000 pour le nombre d agents) seuil (de 0 à 100 pour d) facteur ( de 0 à 50 pour µ) Affichages? plot : «évolution des opinions», plot pen : «point» 8

; add model procedures here turtles-own [opinion certitude] globals [nbdiscussion chgtopi ] to setup ca crt number ask turtles [randomize-position set opinion (random-float 1) set color scale-color red (opinion * 50) 0 50 set shape "ant" ; ou "bug" ] 9

to go ;; commande de l observateur ask turtles [step maj-opinion set color scale-color red (opinion * 50) 0 50 set-current-plot "évolution des opinions" set-current-plot-pen "point" plot opinion ] to randomize-position ;; positionne de manière aléatoire la tortue setxy random-xcor random-ycor to step ;; fait avancer la tortue d un pas de manière aléatoire rt random-float 50 lt random-float 50 fd 1 10

to maj-opinion ;; met à jour l opinion de la tortue ;; on déclare 2 variables locales avecki : avec quelle tortue discuter, dij : distance entre les opinions des 2 tortues let avecki 0 let dij 0 set avecki one-of turtles-on neighbors ;; voir dans l aide NetLogo les différentes possibilités de voisinage neighbors, if (avecki!= nobody) and (avecki!= self) [ set dij ( opinion - ([opinion] of avecki)) if ( (abs dij) < seuil / 100.0 ) [ set opinion ( opinion - (facteur * dij) / 100.0 ) set ([opinion] of avecki) ( ([opinion] of avecki) + (facteur * dij) / 100.0) ] ] Modifier le programme pour afficher le nombre total de discussion, le nombre total de chgt d opinion Les 2 variables nbdiscussion et chgtopi Créer 2 moniteurs Modifier le pgme pour mettre a jour ces 2 valeurs 11

Création du moniteur pour nombre de discussions monitor : dans Reporter mettre nbdiscussion Faire la même chose pour le nombre de changements d opinion to maj-opinion let avecki 0 let dij 0 set avecki one-of turtles-on neighbors if (avecki!= nobody) and (avecki!= self) [ set nbdiscussion nbdiscussion + 1 set dij ( opinion - ([opinion] of avecki)) if ( (abs dij) < seuil / 100.0 ) [ set opinion ( opinion - (facteur * dij) / 100.0 ) set ([opinion] of avecki) ( ([opinion] of avecki) + (facteur * dij) / 100.0 ) set chgtopi (chgtopi + 2) ] ] 12

Etudiez l influence des paramètres Seuil d : Fixer µ à 0,5 Faire varier d : plus il est petit plus Le facteur µ : Fixer d à 0,2 Faire varier µ plus il est petit plus Imaginer d autres scénarios Introduction initiale d un nombre (pourcentage) d extrémistes opinion-cours-extrémiste.nlogo Rre le seuil d variable selon le degré «d ouverture d esprit» d une population opinion-cours-ouver-esprit.nlogo Les agents couvrent toute la surface (un agent par patch) mais ne se déplacent pas : réseaux sociaux opinion-cours-socialnetwork.nlogo Imaginez 2 campus géographiquement assez proches avec des opinions initiales différentes, mais quelques agents «à la frontière» 13