Tutoriel 1 : Les modèles

NetLogo 4.0.4   Manuel de l'utilisateur  

Si vous avez lu la section Exemple de modèle : La réception, vous avez eu une bref aperçu de ce qu'est une interaction avec un modèle NetLogo. Cette section va bien plus loin dans l'étude des fonctionnalités mises à votre disposition pour explorer les modèles de la Bibliothèque des modèles.

Dans tous ces tutoriels, il vous sera demandé de faire des prédictions sur les effets produits par les modifications apportées aux modèles. Gardez à l'esprit que ces effets sont souvent surprenants. Nous pensons que ces surprises sont stimulantes et offrent d'excellentes opportunités d'apprentissage.

Certaines personnes ont trouvé utile d'imprimer les tutoriels avant de les travailler. Quand les tutoriels sont imprimés, il y a plus de place sur l'écran de l'ordinateur pour le modèle NetLogo avec lequel vous êtes en train de travailler.

Exemple de modèle : Prédation loups-moutons

Nous allons ouvrir l'un des exemples de modèles pour l'explorer en détails. Essayons un modèle biologique: la prédation loups-moutons, un modèle simulant les interactions prédateurs–proies entre une population de loups et une population de moutons.

Le panneau Interface se remplit de tout un tas de boutons, de commutateurs, de curseurs et de moniteurs. Ces éléments de l'interface vous permettent d'interagir avec le modèle. Les boutons sont bleus : ils initialisent, démarrent et stoppent la simulation. Les curseurs et les commutateurs sont verts : ils modifient les réglages du modèle. Les moniteurs et les traceurs de courbes sont beiges : ils affichent des données.

Si vous voulez agrandir la fenêtre pour avoir une meilleure vision de tous ces éléments, vous pouvez utiliser les boutons de zoom de fenêtre habituels propres à chaque système d'exploitation.

Quand vous ouvrez le modèle, vous constatez que la Vue est vide (entièrement noire). Pour pouvoir commencer la simulation, vous devez d'abord l'initialiser.

Que voyez-vous apparaître dans la Vue?

Que se passe-t-il avec les populations de loups et de moutons au cours de la simulation?

Contrôler la simulation : les boutons

Quand un bouton est pressé, le modèle répond par une action. Un bouton peut être un bouton « une fois » ou un bouton « pour toujours ». Vous pouvez différencier ces deux types de boutons grâce au symbole qui figure dans leur coin inférieur droit. Les boutons « pour toujours » sont signalés par deux flèches courbes, comme ici :

screen shot

Les bouton « une fois » n'ont pas de telles flèches, comme ce bouton-ci :

screen shot

Les boutons « une fois » déclenchent une action puis stoppent. Quand l'action est terminée, le bouton remonte en position déclenché.

Les boutons « pour toujours » déclenchent une action encore et encore. Quand vous voulez interrompre la simulation, pressez encore une fois ce bouton. L'action en cours se termine et le bouton remonte en position déclenché.

La plupart des modèles, y compris le modèle Prédation Loup-Mouton ont un bouton « une fois » appelé "setup" et un bouton « pour toujours » appelé "go". Plusieurs modèles possèdent aussi un bouton « une fois » appelé "go once" ou "step once" qui agit comme "go" sauf qu'il ne fait progresser (avancer) le modèle que d'un pas (d'une unité de temps) à la fois. L'utilisation d'un tel bouton permet d'observer la progression de la simulation de manière bien plus fine.

Déclencher un bouton « pour toujours » est la manière normale de stopper une simulation. Il n'y a aucun risque de mettre en pause une simulation en pressant le bouton « pour toujours » puis de la relancer en pressant encore une fois ce bouton car la simulation reprend là où elle avait été interrompue. Vous pouvez aussi stopper une simulation en pressant la commande "Halt" du menu "Tools", mais vous ne devriez le faire que si votre simulation se fige (plante) pour une raison ou une autre. L'utilisation de "Halt" peut interrompre la simulation au milieu d'une action mais il est alors fort probable que le modèle ne se comportera plus correctement si on reprend ensuite la simulation.

Obtenez-vous toujours des résultats différents si vous démarrez plusieurs fois la simulation avec les mêmes réglages initiaux?

Contrôler la vitesse de simulation : le curseur "Speed" (vitesse)

Le curseur vitesse permet de contrôler la vitesse de la simulation, c'est-à-dire la vitesse à laquelle les tortues se déplacent, les patches changent de couleur, et ainsi de suite.

screen shot

Quand vous déplacez le curseur vers la gauche, la simulation ralentit car les pauses entre chaque pas de simulation sont plus longues. Ce qui permet de mieux voir ce qui se passe. Vous pouvez même ralentir la simulation à tel point qu'il est possible d'observer précisément ce que fait une tortue particulière.

Quand vous déplacez le curseur vers la droite au-delà du milieu, ("normal speed") la simulation accélère. NetLogo commence de sauter des images, c'est-à-dire qu'il ne met pas l'affichage à jour à la fin de chaque plus de la simulation, mais seulement après quelques pas. Afficher l'état du monde prend du temps, donc l'afficher moins souvent signifie que la simulation peut progresser plus rapidement.

Notez que si vous déplacez le curseur assez loin vers la droite, le rafraîchissement de la vue peut se faire à une fréquence telle que le modèle semble ralentir. Ce n'est pourtant pas le cas, comme vous pouvez le constater en observant le compteur de pas. Seule la fréquence des rafraîchissements a diminué.

Ajuster les réglages: curseur et commutateurs

Les réglages d'un modèle vous donnent la possibilité de tester différents scénarios ou hypothèses. Modifier les réglages et relancer la simulation pour voir comment le modèle réagit à ces changements peut vous amener à une meilleure compréhension du phénomène simulé. Les commutateurs et les curseurs permettent de régler les valeurs des paramètres du modèle.

Voici les commutateurs et les curseurs du modèle Prédation Loups-Moutons :

screen shot

Expérimentons leurs effets sur le comportement du modèle.

Qu'arrive-t-il aux moutons au cours du temps?

Observez ce qui se passe avec les moutons si vous modifiez l'un des paramètres.

Quel est l'effet de ce commutateur sur la simulation?

Le résultat est-il le même que lors de l'essai précédent?

Tout comme les boutons, les commutateurs sont associés à des informations. Dans leur cas, cette information est de type on/off. Les commutateurs activent/désactivent des ensembles de directives différents. Ces directives ne sont généralement pas nécessaires pour le déroulement de la simulation, mais elles peuvent apporter une autre dimension au modèle. Activer le commutateur "grass?" affecte le résultat de la simulation. Dans la première simulation (commutateur sur "Off"), la croissance de l'herbe était constante. Ce qui ne correspond pas à une représentation réaliste de la relation prédateur-proie. Donc, en initialisant et en activant un taux de croissance de l'herbe, nous sommes capables de modéliser et de simuler les trois facteurs que sont les populations de moutons, de loups et d'herbe.

Les curseurs permettent un autre type de réglage des paramètres que les commutateurs. Un commutateur ne peut avoir que deux valeurs : enclenché ou déclenché. Un curseur permet le réglage d'un paramètre avec toute une série de valeurs numériques. Par exemple, le curseur "initial-number-sheep" (nombre initial de moutons) a pour valeur minimale 0 et pour valeur maximale 250. La simulation peut démarrer avec 0 mouton ou avec 250 moutons ou avec n'importe quel nombre de moutons entre ces deux valeurs. Essayez et voyez ce qui se passe. Quand vous déplacez la poignée de la valeur minimale à la valeur maximale, le nombre affiché à la droite du curseur change : il reflète la valeur spécifiée par la poignée du curseur.

Examinez les curseurs de la Prédation Loups-Moutons.

Le panneau "Information" est un guide qui donne une information globale concernant le modèle. Dans ce panneau, vous trouverez une description et une explication du modèle, des suggestions concernant ce qu'il convient de tester, et d'autres informations encore. Vous pouvez soit lire le contenu du panneau "Information" avant de lancer la simulation, soit commencer tout de suite l'expérimentation puis jeter ensuite un oeil sur ce panneau.

Qu'arriverait-il à la population de moutons s'il y avait plus de moutons et moins de loups au début de la simulation?

Faites tourner la simulation plusieurs fois avec ces réglages.

Qu'arrive-t-il à la population de moutons?

Le résultat vous surprend-il?

Quels autres curseurs ou commutateurs pourraient être ajustés pour aider la population de moutons?

Qu'arrive-t-il aux loups au cours de cette simulation?

Quand vous ouvrez un modèle, tous les curseurs et commutateurs sont réglés à leur valeur par défaut. Si vous ouvrez un nouveau modèle ou quittez le programme, les paramètres que vous avez modifiés ne sont pas sauvegardés, à moins que vous ne choisissiez de le faire.

Note : en plus des curseurs et des commutateurs, certains modèles possèdent un troisième type de réglage, appelé sélecteur. Toutefois, le modèle Prédation Loups-Moutons n'en possède pas.

Recueillir des informations : Traceurs et Moniteurs

L'un des buts de la simulation à l'aide de modèles est la récolte d'informations (de données) concernant un sujet ou un thème qu'il serait très difficile d'obtenir par des expériences réelles. NetLogo peut afficher les données obtenues de deux manières : à l'aide de traceurs ou de moniteurs.

Les traceurs

Le traceur de courbes de la Prédation Loups-Moutons contient trois courbes représentant les populations de moutons, de loups et d'herbe. (Le nombre représentant la quantité d'herbe est divisé par quatre pour qu'il ne soit pas trop grand et n'«écrase» pas les autres courbes dans l'affichage). Les courbes montrent ce qui se passe dans la simulation au cours du temps. (Pour savoir ce que représente chaque courbe, cliquez sur "Pens" dans le coin supérieur de la fenêtre du graphe pour afficher la légende des courbes. Une information s'affiche pour indiquer ce que chaque courbe représente. Dans notre cas, il s'agit du nombre d'individus de chaque population. - Obsolète avec les dernières versions de NetLogo car la légende des courbes est affichée par défaut.)

Quand la fenêtre du traceur est presque pleine, l'échelle horizontale (les abscisses) est modifiée (elle devient plus petite) et les données récoltées avant l'instant présent sont comprimées pour occuper moins d'espace, laissant ainsi de la place pour permettre aux courbes de représenter les données à venir.

Si vous voulez sauvegarder les données d'un graphique pour les visualiser ou les analyser dans un autre programme, vous pouvez utiliser le commande "Export Plot" du menu "File". Cette commande enregistre ces données sur votre mémoire de masse dans un fichier dont le format peut être lu par un tableur ou une base de données. Vous pouvez aussi exporter un graphe avec Ctrl-clic (Mac) ou clic-droit (Windows) puis sélectionner "Export...") dans le menu contextuel qui s'affiche.

Les monitors

Les moniteurs sont un autre moyen d'afficher les informations d'une simulation. Voici les moniteurs utilisés dans la Prédation Loups-Moutons :

screen shot

Le moniteur appelé "time-ticks" indique le temps écoulé (en pas ou cycles de simulation) depuis le lancement de la simulation. Ce moniteur n'est plus utilisés dans les versions récentes de cette simulation puisque cette information est fournie par défaut dans la barre de titre de la Vue.

Les autres moniteurs affichent la population de moutons ("sheeps"), de loups ("wolves") et la quantité d'herbe ("grass / 4"). (Rappelez-vous que la quantité d'herbe est divisée par quatre pour que le graphique ne devienne pas trop grand.)

Les valeurs affichées dans les moniteurs sont continuellement mises à jour pour refléter l'état actuel du système tant que la simulation tourne, alors que les graphes affichent les données pour toute la durée de la simulation.

Notez que NetLogo possède encore un autre type de moniteur appelé "agent monitors". Il sera présenté dans le Tutoriel 2.

Contrôler la Vue

Si vous examinez le panneau "Interface", vous verrez toute une série de contrôles placés le long du bord supérieur de la barre d'outils. Ces contrôles permettent de modifier différents aspects de la Vue.

Testez les effets de ces contrôles :

Que se passe-t-il?

Ce curseur est utile si la simulation tourne trop vite pour vous permettre de voir ce qui se passe en détail.

Que se passe-t-il?

Augmenter la vitesse de la simulation et désactiver le rafraîchissement de la vue est utile si vous êtes impatients et voulez que la simulation tourne plus vite. Augmenter la vitesse (déplacer la poignée du curseur vitesse vers la droite) fait sauter certaines mises à jour de la Vue de manière à ce que la simulation puisse tourner plus rapidement car le rafraîchissement de la vue prend du temps.

Quand le rafraîchissement de la vue est complètement désactivé, la simulation continue de tourner en arrière-plan, mais les traceurs et moniteurs sont toujours mis à jours. Si vous voulez voir ce qui se passe, vous devez réactiver le rafraîchissement de la vue en réactivant le bouton "view updates" prévu à cet effet. La plupart des modèles tournent beaucoup plus vite quand le rafraîchissement de la vue est désactivé.

La taille de la vue est déterminée par cinq réglages : Min et Max X, Min et Max Y et Patch Size. Observons ce qui se passe quand nous modifions les dimensions de la vue dans le modèle Prédation Loups-Moutons.

Il y a bien plus de réglages pour la Vue et le Monde qu'il n'y a de place pour eux dans la barre d'outils. Le bouton "Settings..." donne accès à tous ces autres réglages.

La boîte de dialogue "Model settings" qui s'ouvre contient tous les réglages pour la Vue :

screen shot

Quels sont les valeurs actuelles pour "max-pxcor", "min-pxcor", "max-pycor", "min-pycor" et "Patch size" ?

Vous noterez que le pointeur se transforme en croix.

La vue est maintenant sélectionnée, ce que NetLogo vous fait savoir en l'entourant d'une large bordure grise.

Quelles sont les valeurs qui ont été modifiées?

Quelles sont les valeurs qui n'ont pas été modifiées?

Le monde NetLogo est une grille de patches (plaques, carreaux, cases) à deux dimensions. Les patches sont les carrés de la grille.

Quand le commutateur "grass?" est activé dans le monde de la Prédation Loups-Moutons, les patches sont bien visibles car certains sont verts alors que les autres sont bruns.

Considérez les patches comme étant des cases carrées formant le sol d'une chambre. Par défaut, la case placée au milieu de la pièce est désignée par (0,0), ce qui signifie que si la pièce est divisée en deux dans un sens puis aussi en deux dans l'autre sens, les deux lignes marquant les divisions se croisent au milieu, sur cette case. Nous avons maintenant un système de coordonnées qui pourra nous aider à localiser les objets dans la pièce :

screen shot

De combien de patches le patch (0,0) est-il éloigné du bord droit de la pièce?

De combien de patches le patch (0,0) est-il éloigné du bord gauche de la pièce?

En NetLogo, le nombre de patches du bord gauche au bord droit est la largeur du monde. Et le nombre de patches du bord supérieur au bord inférieur est la hauteur du monde. Ces nombres sont définis par les frontières supérieure, inférieure, gauche et droite.

screen shot

screen shot

Dans ces diagrammes, "max-pxcor" vaut 3 , "min-pxcor" vaut -3, "max-pycor" vaut 2 et "min-pycor" vaut -2.

Quand vous modifiez la taille des patches, le nombre de patches (de carreaux) ne change pas, les patches sont dessinés soit plus grands, soit plus petits sur l'écran.

Observons maintenant les effets d'une modification des coordonnées minima et maxima du monde.

Qu'arrive-t-il à la forme de la Vue?

Vous pouvez voir maintenant que de nouveaux patches ont été créés.

Qu'arrive-t-il à la taille de la Vue?   Est-ce que sa forme change?

L'édition de la Vue permet aussi de modifier d'autres réglages, tels que la taille des caractères des étiquettes ou l'utilisation des formes. N'hésitez pas à essayer tous les réglages disponibles.

Une fois que vous aurez fini d'explorer le modèle Prédation Loup-Mouton, vous pourrez passez quelque temps à explorer quelques-uns des modèles de la Bibliothèque des modèles.

Remarque : quand vous quittez le modèle, cliquez le bouton "Discard" pour que les modifications que vous avez apportées au modèle ne soient pas enregistrées dans le modèle original. Si vous voulez conservez les modifications faites au modèle, sauvegardez-le sous un autre nom.

La bibliothèque des modèles

Cette bibliothèque comporte cinq sections : Sample Models (Exemples de modèles), Perspective Demos (Démos de perspective), Curricular Models (Modèles de plan d'étude), Code Examples (Exemples de code) et HubNet Computer Activities (Activités informatiques HubNet).

"Sample Models"

Cette section est organisée par sujets et contient actuellement plus de 210 modèles. Nous travaillons constamment pour y en ajouter de, c'est pourquoi nous vous invitons à la visiter de temps en temps pour y découvrir les nouveautés.

Certains répertoires de cette section contiennent des sous-répertoires intitulés "(unverified)" (non vérifiés). Les modèles qui s'y trouvent sont complets et fonctionnent bien, mais ils sont encore en cours de vérifications quand à leur contenu, leur précision et la qualité de leur code.

"Perspective Demos"

Ces modèles sont tous des modèles qui se trouvent dans la section "Sample Models" mais qui ont été légèrement modifiés pour démontrer les fonctionnalités d'affichage en perspective de NetLogo.

"Curricular Models"

Ces modèles ont été développés pour être utilisés dans les écoles dans le contexte du plan d'études développé par le CCl de la Northwestern University. Certains de ces modèles se trouvent aussi dans la section "Sample Models", d'autres sont spécifiques à cette section. Consultez aussi le panneau "Information" de ces modèles pour avoir plus d'informations concernant le plan d'étude auquel ils sont rattachés.

"Code Examples"

Ce sont de simples démonstrations de certaines fonctionnalités particulières de NetLogo. Elles vous seront utiles par la suite quand vous compléterez des modèles existants ou quand vous construirez vos propres modèles. Par exemple, si vous voulez afficher un histogramme dans l'un de vos modèles, étudiez le modèle "Histogram Example" pour voir comment vous y prendre.

"HubNet Computer Activities"

Cette section contient des simulations à utiliser en réseau dans le cadre d'une classe. Pour en savoir plus au sujet de HubNet, voir le Guide HubNet.

Et ensuite?

Si vous voulez apprendre comment explorer les modèles plus à fond, le Tutoriel 2 : Les commandes vous donnera une introduction au langage de modélisation de NetLogo.

Dans le Tutoriel 3 : Les procédures vous apprendrez comment modifier et compléter les modèles existants ou même comment créer vos propres modèles.