La Programmation Orientée Agent Les Agents Réactifs



Documents pareils
SEANCE 2 : éléments de programmation

Modélisation multi-agents - Agents réactifs

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

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

Tutorial Terminal Server sous

Tutoriel de formation SurveyMonkey

Guide d Utilisation du logiciel Diagnostic Commerce

Groupe Eyrolles, 2003, ISBN : X

Troisième projet Scribus

MANUEL D UTILISATION DES OUTILS «MapCERN»

Infolettre #18 : Les graphiques avec Excel 2010

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

Support de formation Notebook

Réalisation de cartes vectorielles avec Word

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont

Systèmes Multi-Agents : Modélisation et simulation informatique de comportements collectifs. Chapitre III

TD de supervision. J.P. Chemla. Polytech Tours Département productique 2ème année

Tutoriaux : Faites vos premiers pas avec Microsoft Visio 2010

PROGRAMMATION D UN ENREGISTREUR NUMÉRIQUE PERSONNEL (ENP) À PARTIR D ILLICO WEB. Guide d utilisation v 1.0

GUIDE DU NOUVEL UTILISATEUR

Prise en main rapide

Module 24 : Analyse de scénarios

Tutoriel QSOS. Version /02/2013

Comment se connecter au VPN ECE sous vista

KM2 W1 EVC1 M3~ Manuel AUTOMSIM API 24V. BP Dcy 1MINI 1MAXI.

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

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

SPECIFICATIONS TECHNIQUES : Gestion des Médicaments et des commandes de médicaments

Améliorer le contenu d une encyclopédie collaborative. Faire preuve d esprit critique

EXERCICE N 9. Base Centrale de pilotage. Notions abordées : Création d objets personnels. Utilisation de fonctions numériques

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

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Création du projet : 1 sur 13

Ripper vos DVD (extraire vos fichier du DVD pour les mettre sur votre pc)

Les tableaux croisés dynamiques

Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation.

ESPACE COLLABORATIF. L Espace Collaboratif : votre espace de partage entre acteurs régionaux

Mode Opératoire Ciel Gestion commerciale V 12 et s (2006)

Plateforme de support en ligne. Guide d utilisation

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

GUIDE Excel (version débutante) Version 2013

Création d un service web avec NetBeans 5.5 et SJAS 9

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

SpeechiTablet Notice d utilisation

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

Procédure de sauvegarde pour AB Magique

PRISE EN MAIN D ILLUSTRATOR

Module 10 : Supplément 2

INTRODUCTION. Pour réaliser une pièce sur Charlyrobot, il faut le faire en trois étapes :

Manuel d utilisation du logiciel Signexpert Paraph

Support de TD ArcGIS Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT e année ingénieur

Silhouette Studio Leçon N 2

Tél. : (241) / Fax : (241) eqc@bgfi.com.

PROFIS Installation. Module 4: Module 3D Design

Assistant d e tablissement de Tableaux

Fiches d aide à l utilisation

Correction des Travaux Pratiques Organiser son espace de travail

La carte de contrôle chômage complet

Manuel d utilisation du Guichet électronique V2

Sélection du contrôleur

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2

Guide de l utilisateur Mikogo Version Windows

MESUREZ L'IMPACT DE VOS CAMPAGNES!

Tapez le titre de la page «BASTIA ville méditerranéenne», puis allez deux fois à la ligne à l aide de la touche Entrée.

Réalisez votre propre carte de vœux Éléctronique

DIDACTIEL ACHAT DE PLACES SITE WEB DFCO

Chapitre 22 Optimisation pour diffusion à l'écran, pour le web

GanttProject : guide utilisateur

INSCRIRE MON ENFANT SUR UN SÉJOUR

Guide d utilisation commandes des pièces de rechange Rev.1.0.3

GUIDE D UTILISATION DU LOGICIEL DE TELE-MAINTENANCE. TEAM VIEWER Version 7.

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs

Construire des plug-ins pour SAS Management Console SAS 9.1

CEGID - Business Suite Gestion commerciale

Création d un document PublishView

Paramètres d accessibilité des systèmes d exploitation Windows et Mac

Environnements de développement (intégrés)

MEDIA NAV Guide de téléchargement de contenus en ligne

UltraVNC, UltraVNC SC réglages et configurations

Gérer les règles de prix catalogue sur Magento

Les journaux, suivi des flux financiers

Lycée polyvalent Langevin-Wallon Champigny sur Marne Val de Marne

Guide d installation CLX.PayMaker Office (3PC)

Guide de démarrage rapide. (pour la version 5.0.)

Présentation... 2 Mise en place Fiche Article... 2 Commande Client... 3 Commande Fournisseur Gestion de la contremarque...

Cours Excel : les bases (bases, texte)

ESPACE COLLABORATIF SHAREPOINT

Guide d utilisation 2012

FICHIERS ET DOSSIERS

CONFIGURATION DE L AUTOMATE SIEMENS

CAISSE. Ce logiciel nécessite une licence pour fonctionner.

Outils, langage et approche Android Une introduction. Nicolas Stouls lyon.fr

Super HUD- Guide Utilisateur

Guide d utilisation du logiciel

Étape 1 : Création d une adresse courriel GMAIL

La création de vêtements, éléments de génétiques, et de maquillage.

WEBVIEW. Serveur Web embarqué dans DIRIS G NOTICE D UTILISATION. com/webview_ software


Utilisation de Sarbacane 3 Sarbacane Software

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

Transcription:

La Programmation Orientée Agent Les Agents Réactifs Emmanuel ADAM Université de Valenciennes et du Hainaut-Cambrésis UVHC/ISTV-LAMIH E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 1 / 29

Plan 1 Présentation des agents réactifs 2 Les automates cellulaires Présentation des automates cellulaires Le jeu de la Vie Programmation Java du jeu de la Vie Programmation NetLogo du jeu de la Vie Tutorial NetLogo : Jeu de la Vie Art cellulaire E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 2 / 29

Présentation des agents réactifs Présentation des agents réactifs 1/4 Description générale Les agents réactifs possèdent une représentations très limitée d eux-mêmes, de leur environnement, des autres agents. Une organisation d agents réactifs n est pas définie a priori, elle résulte de leurs activités, de leurs rôles. émergence auto-organisation E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 3 / 29

Présentation des agents réactifs Présentation des agents réactifs 1/4 Description générale Les agents réactifs possèdent une représentations très limitée d eux-mêmes, de leur environnement, des autres agents. Une organisation d agents réactifs n est pas définie a priori, elle résulte de leurs activités, de leurs rôles. émergence auto-organisation E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 3 / 29

Présentation des agents réactifs Présentation des agents réactifs 2/4 Description générale Les agents réactifs possèdent un fonctionnement simple : Stimulii-réponses, actions-réactions Réponse aux signaux de l environnement Communication simple : Propagation de signaux Utilisation de l environnement Pas de plan global partagé, de mémoire partagée E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 4 / 29

Présentation des agents réactifs Présentation des agents réactifs 2/4 Description générale Les agents réactifs possèdent un fonctionnement simple : Stimulii-réponses, actions-réactions Réponse aux signaux de l environnement Communication simple : Propagation de signaux Utilisation de l environnement Pas de plan global partagé, de mémoire partagée E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 4 / 29

Présentation des agents réactifs Présentation des agents réactifs 2/4 Description générale Les agents réactifs possèdent un fonctionnement simple : Stimulii-réponses, actions-réactions Réponse aux signaux de l environnement Communication simple : Propagation de signaux Utilisation de l environnement Pas de plan global partagé, de mémoire partagée E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 4 / 29

Présentation des agents réactifs Présentation des agents réactifs 3/4 Cadre d applications Recherches inspirées de : Insectes sociaux fourmis, termites, abeilles, guêpes,... Eco-systèmes Phytosociologie Utilisation en : Simulation d organisation Robots collecteur Résolution distribuée de problème Recherche du plus court chemin dans un réseau,... E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 5 / 29

Présentation des agents réactifs Présentation des agents réactifs 3/4 Cadre d applications Recherches inspirées de : Insectes sociaux fourmis, termites, abeilles, guêpes,... Eco-systèmes Phytosociologie Utilisation en : Simulation d organisation Robots collecteur Résolution distribuée de problème Recherche du plus court chemin dans un réseau,... E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 5 / 29

Présentation des agents réactifs Présentation des agents réactifs 4/4 Applications Simulations : d écoulement de flux (de liquides, de gaz,...), de propriétés magnétiques, de développement urbain, trafic routier, de la propagation d un feu de forêt,... Identification de comportements collectifs,... E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 6 / 29

Présentation des agents réactifs Présentation des agents réactifs 4/4 Applications Simulations : d écoulement de flux (de liquides, de gaz,...), de propriétés magnétiques, de développement urbain, trafic routier, de la propagation d un feu de forêt,... Identification de comportements collectifs,... E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 6 / 29

Automate cellulaire Les automates cellulaires Présentation des automates cellulaires Description générale Premières versions dans les années 1940. Les automates cellulaires sont des grilles dont les cellules possèdent des états. Les automates cellulaires peuvent produire des motifs stables, périodiques, chaotiques, complexes. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 7 / 29

Automate cellulaire Les automates cellulaires Présentation des automates cellulaires Description générale Premières versions dans les années 1940. Les automates cellulaires sont des grilles dont les cellules possèdent des états. Les automates cellulaires peuvent produire des motifs stables, périodiques, chaotiques, complexes. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 7 / 29

Automate cellulaire Les automates cellulaires Présentation des automates cellulaires Description générale Premières versions dans les années 1940. Les automates cellulaires sont des grilles dont les cellules possèdent des états. Les automates cellulaires peuvent produire des motifs stables, périodiques, chaotiques, complexes. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 7 / 29

Jeu de la Vie Les automates cellulaires Le jeu de la Vie Définition du jeu de la Vie (Conway1969) Le Jeu de la vie consiste à faire évoluer sur un grille un ensemble cellules selon les règles suivantes : Si une cellule active est entourée de moins de 2 cellules : elle manque de contact et se désactive. Si une cellule active est entourée de plus de 3 cellules : elle est en milieu surpeuplé et se désactive. Si une cellule inactive est entourée de 3 cellules, alors elle s active. Dans les autres cas, la cellule garde son état. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 8 / 29

Jeu de la Vie Les automates cellulaires Le jeu de la Vie Définition du jeu de la Vie (Conway1969) Le Jeu de la vie consiste à faire évoluer sur un grille un ensemble cellules selon les règles suivantes : Si une cellule active est entourée de moins de 2 cellules : elle manque de contact et se désactive. Si une cellule active est entourée de plus de 3 cellules : elle est en milieu surpeuplé et se désactive. Si une cellule inactive est entourée de 3 cellules, alors elle s active. Dans les autres cas, la cellule garde son état. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 8 / 29

Jeu de la Vie Les automates cellulaires Le jeu de la Vie Définition du jeu de la Vie (Conway1969) Le Jeu de la vie consiste à faire évoluer sur un grille un ensemble cellules selon les règles suivantes : Si une cellule active est entourée de moins de 2 cellules : elle manque de contact et se désactive. Si une cellule active est entourée de plus de 3 cellules : elle est en milieu surpeuplé et se désactive. Si une cellule inactive est entourée de 3 cellules, alors elle s active. Dans les autres cas, la cellule garde son état. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 8 / 29

Jeu de la Vie Les automates cellulaires Le jeu de la Vie Définition du jeu de la Vie (Conway1969) Le Jeu de la vie consiste à faire évoluer sur un grille un ensemble cellules selon les règles suivantes : Si une cellule active est entourée de moins de 2 cellules : elle manque de contact et se désactive. Si une cellule active est entourée de plus de 3 cellules : elle est en milieu surpeuplé et se désactive. Si une cellule inactive est entourée de 3 cellules, alors elle s active. Dans les autres cas, la cellule garde son état. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 8 / 29

Jeu de la Vie Les automates cellulaires Le jeu de la Vie Définition du jeu de la Vie (Conway1969) Le Jeu de la vie consiste à faire évoluer sur un grille un ensemble cellules selon les règles suivantes : Si une cellule active est entourée de moins de 2 cellules : elle manque de contact et se désactive. Si une cellule active est entourée de plus de 3 cellules : elle est en milieu surpeuplé et se désactive. Si une cellule inactive est entourée de 3 cellules, alors elle s active. Dans les autres cas, la cellule garde son état. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 8 / 29

Jeu de la Vie : Exemple Le jeu de la Vie E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 9 / 29

Jeu de la Vie : Programmation Un automate cellulaire se programme simplement sur base d un langage permettant une gestion rapide des tableaux (C, Java,...). Il est également possible de se baser sur une plateforme dédiée à la programmation d agents réactifs (NetLogo, Madkit, Swarm,...). L utilisation d une plateforme permet l utilisation de méthodes et d outils dédiés à ce type de problème. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 10 / 29

Jeu de la Vie : Programmation Un automate cellulaire se programme simplement sur base d un langage permettant une gestion rapide des tableaux (C, Java,...). Il est également possible de se baser sur une plateforme dédiée à la programmation d agents réactifs (NetLogo, Madkit, Swarm,...). L utilisation d une plateforme permet l utilisation de méthodes et d outils dédiés à ce type de problème. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 10 / 29

Programmation Java du jeu de la Vie 1/3 Eléments nécessaires pour une programmation Java En java, il est nécessaire de développer entièrement au moins 2 classes : une représentation d une cellule ; une représentation de la grille. PB : réutilisation pour d autres problèmes possibles mais nécessite beaucoup de modifications. Pour exempe, deux squelettes de classes Java pour Jeu de la Vie... E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 11 / 29

Programmation Java du jeu de la Vie 1/3 Eléments nécessaires pour une programmation Java En java, il est nécessaire de développer entièrement au moins 2 classes : une représentation d une cellule ; une représentation de la grille. PB : réutilisation pour d autres problèmes possibles mais nécessite beaucoup de modifications. Pour exempe, deux squelettes de classes Java pour Jeu de la Vie... E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 11 / 29

Programmation Java du jeu de la Vie 1/3 Eléments nécessaires pour une programmation Java En java, il est nécessaire de développer entièrement au moins 2 classes : une représentation d une cellule ; une représentation de la grille. PB : réutilisation pour d autres problèmes possibles mais nécessite beaucoup de modifications. Pour exempe, deux squelettes de classes Java pour Jeu de la Vie... E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 11 / 29

Programmation Java du jeu de la Vie 2/3 c l a s s C e l l u l e implements C l o n e a b l e { / n a t u r e de l a c e l l u l e / boolean vivante ; / s e u i l à p a r t i r d u q u e l l a c e l l u l e meurt de s o u s p o p u l a t i o n / s t a t i c f i n a l i n t s o u s P o p u l a t i o n = 1 ; / s e u i l à p a r t i r d u q u e l l a c e l l u l e meurt de s u r p o p u l a t i o n / s t a t i c f i n a l i n t s u r P o p u l a t i o n = 4 ; / s e u i l minimum à p a r t i r d u q u e l l a c e l l u l e v i t / s t a t i c f i n a l i n t m i n P o p R e g e n e r a t r i c e = 3 ; / s e u i l maximum à p a r t i r d u q u e l l a c e l l u l e v i t / s t a t i c f i n a l i n t m a x P o pregeneratrice = 3 ; / r é f é r e n c e à l a g r i l l e des c e l l u l e / C e l l u l e [ ] [ ] g r i l l e ; C e l l u l e (){ } C e l l u l e ( C e l l u l e [ ] [ ] g r i l l e, i n t x, i n t y, / coordonnee de l a c e l l u l e dans l a g r i l l eboolean / v i v a n t e ) { } i n t x, y ; / d é t e r m i n e l e p r o c h a i n é t a t de l a c e l l u l e en f o n c t i o n des c e l l u l e s v o i s i n e s / v o i d e v o l u e r ( ) { } / surcharge de clone, r e t o u r n e une c o p i e de l a c e l l u l e / p u b l i c Object c l o n e ( ) { O b ject o = n u l l ; t r y { o = s u p e r. c l o n e ( ) ; } catch ( CloneNotSupportedException e ) { System. e r r. p r i n t l n ( e ) ; } r e t u r n o ; } } E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 12 / 29

Programmation Java du jeu de la Vie 3/3 c l a s s TableauGraphique extends JFrame { / g r i l l e a l i n s t a n t t / C e l l u l e [ ] [ ] g r i l l e ; / i n i t i a l i s e l e s g r i l l e s à t e t t 1 : a j o u t de c e l l u l e s mortes e t a p p e l de i n i t H a s a r d / v o i d i n i t G r i l l e (){} / g r i l l e a l i n s t a n t t 1 / C e l l u l e [ ] [ ] g r i l l e A n c i e n n e ; / t a i l l e de l a g r i l l e / i n t t a i l l e ; / nb c e l l u l e s v i v a n t e s i n i t i a l e m e n t / i n t n b C e l l u l e s I n i t i a l e s = 1 0 ; / zone de d e s s i n / JPanel j p a n e l ; / temps d a t t e n t e e n t r e a f f i c h a g e s / double tempo = 0 ; / p l a c e au h a s a r d des c e l l u l e s v i v a n t e s dans l e s g r i l l e s / v o i d i n i t H a s a r d (){} / d e s s i n de l a g r i l l e e t des c e l l u l e s / v o i d d e s s i n G r i l l e ( Graphics2D g2d ) {} / c o p i e l a g r i l l e a l i n s t a n t t dans l a g r i l l e a l i n s t a n t t 1 / v o i d c o p i e G r i l l e s (){} / demande a t o u t e s l e s c e l l u l e s / c o n s t r u c t e u r i n i t i a l i s a n t l a t a i l l e, de l a g r i l l e t d e v o l u e r, l e nombre de c e l l u l e s i n i t i a l e s, l e tempo, a p p e l l e c o p i e G r i l l e s / a i n s i que l e s g r i l l e s à t e t t 1 / v o i d a n i m G r i l l e ( ) {} TableauGraphique ( i n t t a i l l e, i n t n b C e l l u l e s I n i t i a l e s, double tempo){} / a p p e l du d e s s i n de d e s s i n G r i l l e, animgrille, attente, et / i n i t i a l i s e l a f e n ê t r e : t a i l l e, demande de r e a f f i c h a g e / zone de d e s s i n,... Appel de i n i t G r i l l e / p u b l i c v o i d p a i n t ( G r a p h i c s g ) {} v o i d i n i t (){} } E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 13 / 29

Programmation NetLogo du jeu de la Vie 1/2 Utilisation d une plateforme multi-agent réactifs : NetLogo Utilisation de types cellules (patches), agents (turtles) et grille. Possibilité d utiliser des indicateurs dédiés aux états des cellules, agents (compteurs, graphiques) Cas particulier de NetLogo : programmation à la Logo et affichage 3D possible... E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 14 / 29

Programmation NetLogo du jeu de la Vie 1/2 Utilisation d une plateforme multi-agent réactifs : NetLogo Utilisation de types cellules (patches), agents (turtles) et grille. Possibilité d utiliser des indicateurs dédiés aux états des cellules, agents (compteurs, graphiques) Cas particulier de NetLogo : programmation à la Logo et affichage 3D possible... E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 14 / 29

Programmation NetLogo du jeu de la Vie 1/2 Utilisation d une plateforme multi-agent réactifs : NetLogo Utilisation de types cellules (patches), agents (turtles) et grille. Possibilité d utiliser des indicateurs dédiés aux états des cellules, agents (compteurs, graphiques) Cas particulier de NetLogo : programmation à la Logo et affichage 3D possible... E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 14 / 29

Programmation NetLogo du jeu de la Vie 2/3 NetLogo pour le Jeu de la Vie Pas d agent pour les automates cellulaires, utilisation de cellules (patches) uniquement. Une cellule possède un état (vivante) et le nombre de ses voisines vivantes Si une cellule est morte, elle prend la couleur du fond Quatre fonctions suffisent alors pour implémenter le jeu de la Vie. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 15 / 29

Programmation NetLogo du jeu de la Vie 2/3 NetLogo pour le Jeu de la Vie Pas d agent pour les automates cellulaires, utilisation de cellules (patches) uniquement. Une cellule possède un état (vivante) et le nombre de ses voisines vivantes Si une cellule est morte, elle prend la couleur du fond Quatre fonctions suffisent alors pour implémenter le jeu de la Vie. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 15 / 29

Programmation NetLogo du jeu de la Vie 2/3 NetLogo pour le Jeu de la Vie Pas d agent pour les automates cellulaires, utilisation de cellules (patches) uniquement. Une cellule possède un état (vivante) et le nombre de ses voisines vivantes Si une cellule est morte, elle prend la couleur du fond Quatre fonctions suffisent alors pour implémenter le jeu de la Vie. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 15 / 29

Programmation NetLogo du jeu de la Vie 2/3 NetLogo pour le Jeu de la Vie Pas d agent pour les automates cellulaires, utilisation de cellules (patches) uniquement. Une cellule possède un état (vivante) et le nombre de ses voisines vivantes Si une cellule est morte, elle prend la couleur du fond Quatre fonctions suffisent alors pour implémenter le jeu de la Vie. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 15 / 29

Programmation NetLogo du jeu de la Vie 3/3 I ; ; a t t r i b u t s d une c e l l u l e ; ; i n d i c a t e u r de v i e ; ; nb de v o i s i n e s v i v a n t s patches own [ v i v a n t e? v o i s i n e s V i v a n t e s ] ; ; i n i t i a l i s a t i o n de l a g r i l l e ; ; i n i t i a l e m e n t une c e l l u l e a 35% de chance d e t r e a c t i v e to i n i t H a s a r d ask p a t c h e s [ i f e l s e random f l o a t 100.0 < 3 5. 0 [ n a i s s a n c e C e l l ] [ m o r t C e l l ] ] end E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 16 / 29

Programmation NetLogo du jeu de la Vie 3/3 II ; ; n a i s s a n c e > c o u l e u r de c e l l u l e to n a i s s a n c e C e l l s e t v i v a n t e? t r u e s e t p c o l o r c o u l e u r C e l l end ; ; mort > c o u l e u r du fond to m o r t C e l l s e t v i v a n t e? f a l s e s e t p c o l o r c o u l e u r F o n d end E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 17 / 29

Programmation NetLogo du jeu de la Vie 3/3 III ; ; f o n c t i o n n e m e n t de l automate to go end ; ; demande aux c e l l u l e s de compter l e nb de v o i s i n s v i v a n t s ask p a t c h e s [ s e t v o i s i n e s V i v a n t e s count n e i g h b o r s with [ v i v a n t e? ] ] ; ; demande aux c e l l u l e s de m o d i f i e r l e u r s e t a t s ask p a t c h e s [ i f e l s e v o i s i n e s V i v a n t e s = 3 [ n a i s s a n c e C e l l ] [ i f v o i s i n e s V i v a n t e s!= 2 [ m o r t C e l l ] ] ] E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 18 / 29

Tutorial NetLogo : Jeu de la Vie 1/7 Création de l interface de dialogue NetLogo Au lancement, NetLogo présente une grille vide de 34 2 cases centrée. La cellule (-17,-17) se trouve en bas à gauche et la cellule (17,17) en haut à droite. Possibilité de créer des boutons, des glisseurs, des listes de choix, des zones d affichage et des graphiques reportant des états de cellules ou d agents, des zones de texte et des labels. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 19 / 29

Tutorial NetLogo : Jeu de la Vie 1/7 Création de l interface de dialogue NetLogo Au lancement, NetLogo présente une grille vide de 34 2 cases centrée. Possibilité de créer des boutons, des glisseurs, des listes de choix, des zones d affichage et des graphiques reportant des états de cellules ou d agents, des zones de texte et des labels. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 19 / 29

Tutorial NetLogo : Jeu de la Vie 2/7 Ajout des boutons Pour créer un bouton : cliquer sur Button et cliquer sur l endroit désiré. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 20 / 29

Tutorial NetLogo : Jeu de la Vie 2/7 Ajout des boutons Dans Commands : indiquer la fonction à lancer ou le code à exécuter. Ici, la fonction est initvide Le texte par défaut du bouton est le nom de la fonction Le bouton est relatif à la grille ( Observer ) Dès la fin de l action, la vue est réinitialisée ( Force view update after each run ) E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 20 / 29

Tutorial NetLogo : Jeu de la Vie 2/7 Ajout des boutons Si la commande initvide n existe pas dans l onglet Procedures, un problème est détecté. En ré-éditant le bouton (clic droit puis Edit ), la raison de l erreur est présentée. La fonction sera donnée dans les transparents suivants. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 20 / 29

Tutorial NetLogo : Jeu de la Vie 3/7 Autres boutons classiques du Jeu de la Vie Créer un bouton pour la fonction inithasard. Créer deux boutons poussoirs (Forever) pour ajoutcells, retraitcells. Créer deux boutons liés à la méthode go : avancer d un pas : bouton classique lancer : bouton poussoir E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 21 / 29

Tutorial NetLogo : Jeu de la Vie 3/7 Autres boutons classiques du Jeu de la Vie Créer un bouton pour la fonction inithasard. Créer deux boutons poussoirs (Forever) pour ajoutcells, retraitcells. Créer deux boutons liés à la méthode go : avancer d un pas : bouton classique lancer : bouton poussoir E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 21 / 29

Tutorial NetLogo : Jeu de la Vie 3/7 Autres boutons classiques du Jeu de la Vie Créer un bouton pour la fonction inithasard. Créer deux boutons poussoirs (Forever) pour ajoutcells, retraitcells. Créer deux boutons liés à la méthode go : avancer d un pas : bouton classique lancer : bouton poussoir E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 21 / 29

Tutorial NetLogo : Jeu de la Vie 3/7 Autres boutons classiques du Jeu de la Vie Créer un bouton pour la fonction inithasard. Créer deux boutons poussoirs (Forever) pour ajoutcells, retraitcells. Créer deux boutons liés à la méthode go : avancer d un pas : bouton classique lancer : bouton poussoir E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 21 / 29

Tutorial NetLogo : Jeu de la Vie 4/7 Gestion des couleurs par glisseurs 1/2 Créer un glisseur en positionnant un Slider. Une fenêtre de dialogue apparaît alors. Associer le glisseur à la variable globale couleurcell. Permettre de donner à la couleur une valeur allant de 0 à 140 et donner une valeur initiale de 65. Associer un autre glisseur à la variable globale couleurfond de valeur initiale 0. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 22 / 29

Tutorial NetLogo : Jeu de la Vie 4/7 Gestion des couleurs par glisseurs 1/2 Créer un glisseur en positionnant un Slider. Une fenêtre de dialogue apparaît alors. Associer le glisseur à la variable globale couleurcell. Permettre de donner à la couleur une valeur allant de 0 à 140 et donner une valeur initiale de 65. Associer un autre glisseur à la variable globale couleurfond de valeur initiale 0. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 22 / 29

Tutorial NetLogo : Jeu de la Vie 4/7 Gestion des couleurs par glisseurs 1/2 Créer un glisseur en positionnant un Slider. Une fenêtre de dialogue apparaît alors. Associer le glisseur à la variable globale couleurcell. Permettre de donner à la couleur une valeur allant de 0 à 140 et donner une valeur initiale de 65. Associer un autre glisseur à la variable globale couleurfond de valeur initiale 0. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 22 / 29

Tutorial NetLogo : Jeu de la Vie 4/7 Gestion des couleurs par glisseurs 1/2 Créer un glisseur en positionnant un Slider. Une fenêtre de dialogue apparaît alors. Associer le glisseur à la variable globale couleurcell. Permettre de donner à la couleur une valeur allant de 0 à 140 et donner une valeur initiale de 65. Associer un autre glisseur à la variable globale couleurfond de valeur initiale 0. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 22 / 29

Tutorial NetLogo : Jeu de la Vie 5/7 Gestion des couleurs par glisseurs 2/2 Créer un bouton nommé recolorer associé aux cellules ( Patches ) Associer le bouton au code suivant : i f e l s e v i v a n t e? [ s e t p c o l o r c o u l e u r C e l l ] [ s e t p c o l o r c o u l e u r F o n d ] E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 23 / 29

Tutorial NetLogo : Jeu de la Vie 5/7 Gestion des couleurs par glisseurs 2/2 Créer un bouton nommé recolorer associé aux cellules ( Patches ) Associer le bouton au code suivant : i f e l s e v i v a n t e? [ s e t p c o l o r c o u l e u r C e l l ] [ s e t p c o l o r c o u l e u r F o n d ] E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 23 / 29

Tutorial NetLogo : Jeu de la Vie 6/7 Ajout d un moniteur Un moniteur permet de suivre les états des cellules et des agents. Il existe des moniteurs numériques et des moniteurs graphiques. Créer un moniteur en sélectionnant l outil monitor de nom densité courante Dans la zone reporter, placer le code comptant le pourcentage de cellules vivantes : ( count p a t c h e s with [ v i v a n t e? ] / count p a t c h e s ) 100 Le calcul est effectué à chaque pas. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 24 / 29

Tutorial NetLogo : Jeu de la Vie 6/7 Ajout d un moniteur Un moniteur permet de suivre les états des cellules et des agents. Il existe des moniteurs numériques et des moniteurs graphiques. Créer un moniteur en sélectionnant l outil monitor de nom densité courante Dans la zone reporter, placer le code comptant le pourcentage de cellules vivantes : ( count p a t c h e s with [ v i v a n t e? ] / count p a t c h e s ) 100 Le calcul est effectué à chaque pas. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 24 / 29

Tutorial NetLogo : Jeu de la Vie 6/7 Ajout d un moniteur Un moniteur permet de suivre les états des cellules et des agents. Il existe des moniteurs numériques et des moniteurs graphiques. Créer un moniteur en sélectionnant l outil monitor de nom densité courante Dans la zone reporter, placer le code comptant le pourcentage de cellules vivantes : ( count p a t c h e s with [ v i v a n t e? ] / count p a t c h e s ) 100 Le calcul est effectué à chaque pas. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 24 / 29

Tutorial NetLogo : Jeu de la Vie 6/7 Ajout d un moniteur Un moniteur permet de suivre les états des cellules et des agents. Il existe des moniteurs numériques et des moniteurs graphiques. Créer un moniteur en sélectionnant l outil monitor de nom densité courante Dans la zone reporter, placer le code comptant le pourcentage de cellules vivantes : ( count p a t c h e s with [ v i v a n t e? ] / count p a t c h e s ) 100 Le calcul est effectué à chaque pas. E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 24 / 29

Tutorial NetLogo : Jeu de la Vie 7/7 3 fonctions sont à ajouter à celles précédemment décrites : ; ; i n i t i a l i s a t i o n de l a g r i l l e avec des c e l l u l e s mortes to i n i t V i d e ask p a t c h e s [ m o r t C e l l ] end ; ; a j o u t de c e l l u l e s par c l i c s o u r i s to a j o u t C e l l s w h i l e [ mouse down? ] [ ask patch at mouse x c o r mouse y c o r [ n a i s s a n c e C e l l ] ] end ; ; r e t r a i t de c e l l u l e s par c l i c s o u r i s to r e t r a i t C e l l s w h i l e [ mouse down? ] [ ask patch at mouse x c o r mouse y c o r [ m o r t C e l l ] ] end E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 25 / 29

Art Cellulaire Les automates cellulaires Art cellulaire Automate cellulaire à 1 dimension L art cellulaire se base sur un automate cellulaire à une dimension : une ligne Le temps est représenté par la seconde dimension : la ligne i + 1 correspond à la ligne i au temps t + 1 Pour une cellule, selon son état et l état de ses deux voisines, 16 règles de passage possibles. Dans : OOO, OOI, OIO, OII, IOO, IOI, IIO, III La cellule centrale devient active (I) ou inactive (O) E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 26 / 29

Art Cellulaire Les automates cellulaires Art cellulaire Automate cellulaire à 1 dimension L art cellulaire se base sur un automate cellulaire à une dimension : une ligne Le temps est représenté par la seconde dimension : la ligne i + 1 correspond à la ligne i au temps t + 1 Pour une cellule, selon son état et l état de ses deux voisines, 16 règles de passage possibles. Dans : OOO, OOI, OIO, OII, IOO, IOI, IIO, III La cellule centrale devient active (I) ou inactive (O) E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 26 / 29

Art Cellulaire Les automates cellulaires Art cellulaire Automate cellulaire à 1 dimension L art cellulaire se base sur un automate cellulaire à une dimension : une ligne Le temps est représenté par la seconde dimension : la ligne i + 1 correspond à la ligne i au temps t + 1 Pour une cellule, selon son état et l état de ses deux voisines, 16 règles de passage possibles. Dans : OOO, OOI, OIO, OII, IOO, IOI, IIO, III La cellule centrale devient active (I) ou inactive (O) E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 26 / 29

Art Cellulaire Les automates cellulaires Art cellulaire Automate cellulaire à 1 dimension L art cellulaire se base sur un automate cellulaire à une dimension : une ligne Le temps est représenté par la seconde dimension : la ligne i + 1 correspond à la ligne i au temps t + 1 Pour une cellule, selon son état et l état de ses deux voisines, 16 règles de passage possibles. Dans : OOO, OOI, OIO, OII, IOO, IOI, IIO, III La cellule centrale devient active (I) ou inactive (O) E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 26 / 29

Art cellulaire Art Cellulaire : Exemple monochrome E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 27 / 29

Art Cellulaire coloré Les automates cellulaires Art cellulaire Automate cellulaire à 1 dimension coloré Il est possible d introduire la couleur : La prochaine couleur d une cellule dépend sa couleur actuelle et de celles de ses voisines. Introduction d une variable de couleur C dans chaque cellule et calcul des composantes Rouge, V erte et Bleue. Exemple, avec des constantes et équations arbitraires : C i (0, 2 C i 1 + 0, 3 C i + 0, 6 C i+1 ) mod 100 R i C i sin(t π/480) V i (100 C i ) sin(t π/480) B i 90 0, 8 C i E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 28 / 29

Art Cellulaire coloré Les automates cellulaires Art cellulaire Automate cellulaire à 1 dimension coloré Il est possible d introduire la couleur : La prochaine couleur d une cellule dépend sa couleur actuelle et de celles de ses voisines. Introduction d une variable de couleur C dans chaque cellule et calcul des composantes Rouge, V erte et Bleue. Exemple, avec des constantes et équations arbitraires : C i (0, 2 C i 1 + 0, 3 C i + 0, 6 C i+1 ) mod 100 R i C i sin(t π/480) V i (100 C i ) sin(t π/480) B i 90 0, 8 C i E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 28 / 29

Art Cellulaire coloré Les automates cellulaires Art cellulaire Automate cellulaire à 1 dimension coloré Il est possible d introduire la couleur : La prochaine couleur d une cellule dépend sa couleur actuelle et de celles de ses voisines. Introduction d une variable de couleur C dans chaque cellule et calcul des composantes Rouge, V erte et Bleue. Exemple, avec des constantes et équations arbitraires : C i (0, 2 C i 1 + 0, 3 C i + 0, 6 C i+1 ) mod 100 R i C i sin(t π/480) V i (100 C i ) sin(t π/480) B i 90 0, 8 C i E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 28 / 29

Art Cellulaire : Exemple coloré Art cellulaire E. ADAM University of Valenciennes La Programmation Orientée Agent Les Agents RéactifsUVHC/ISTV-LAMIH 29 / 29