Chapitre 5: Développer un MMA avec NetLogo Up Chapitre 5: Développer un MMA avec NetLogo Section 5.2: Eléments du langage NetLogo 

5.1 Qu’est-ce NetLogo?

NetLogo est une plateforme spécifiquement développée pour concevoir des MMA. Il s’agit d’un logiciel libre open source, disponible pour les principaux systèmes d’exploitation. Il est développé par Uri Wilensky et bénéficie du soutien de l’Université de Northwestern. Il résulte de l’extension du langage Logo qui a été initialement développé au MIT, dans les années 70, pour apprendre aux enfants à programmer, dans une démarche de pédagogie active, inspirée par Jean Piaget. Avec le langage Logo, les enfants apprenaient à programmer des tortues à se déplacer sur un écran d’ordinateur. Malgré sa complétude, le langage Logo va se marginaliser du fait de certains de ses limites, mais va préparer le terrain pour le développement d’autres langages basés sur les mêmes principes. NetLogo s’en inspire pour proposer une plateforme et un langage très complets pour la modélisation multi-agents (MMA). Un reste de cet héritage est par exemple le fait que chaque programme NetLogo contient par défaut des agents qui s’appellent des tortues (turtles). Mais il est bien sûr parfaitement possibles d’inclure dans un MMA réalisé avec le NetLogo tous types d’agents (consommateurs, firmes, etc.), avec des caractéristiques différenciées.
NetLogo est donc une plateforme de programmation avec une interface graphique adaptée, formée de trois panneaux (Figure 5.1↓) :
Les choses importantes se passent dans »Code « et les choses amusantes dans »Interface « . On voit en bas du panneau Interface, dans la Figure 5.1↓, le Centre de commande de NetLogo où vous pouvez exécuter des petites instructions.
Nous allons maintenant présenter les composantes principales d’un programme NetLogo.
figure images/netlogo-interface-vide.png
Figure 5.1 L’interface au démarrage de NetLogo

5.1.1 Habitants d’un monde NetLogo

Un programme NetLogo peut contenir différents types d’agents  :

5.1.2 Autres éléments

Le modèle va en général aussi contenir :

5.1.3 A l’aide!

Ce chapitre vise à présenter les bases de NetLogo et il devrait vous permettre de mettre le pied à l’étrier, mais il ne nous est pas possible de couvrir toutes les possibilités et les finesses de cette plateforme. Vous pouvez facilement élargir vos compétences grâce à une documentation très riche. En effet, l’un des avantages majeurs de NetLogo est sa documentation très complète qui facilite considérablement son apprentissage :
Par ailleurs, il existe aussi des ouvrages complets couvrant les MMA et les possibilités offertes par NetLogo. La référence principale est devenu celui écrit récemment par l’inventeur même de NetLogo [Wilensky, 2015]. Un duo qui a l’habitude de proposer des formations annuelles à NetLogo a aussi écrit des ouvrages antérieurs assez complets [Railsback, 2012].
Nous allons maintenant introduire les principaux éléments du langage NetLogo que nous allons utiliser pour développer les MMA.

 Chapitre 5: Développer un MMA avec NetLogo Up Chapitre 5: Développer un MMA avec NetLogo Section 5.2: Eléments du langage NetLogo 
Sommaire
(c) Murat Yildizoglu, 2021-