← Retour à l'accueil← Back to homepage

Ressource pédagogiqueEducational resource

Des modèles NetLogoNetLogo models

Vous connaissez NetLogo ?Do you know NetLogo?

NetLogo est un langage de programmation et un environnement de modélisation pour le développement de systèmes multi-agents. Développé par l'université Northwestern et financé par la National Science Foundation, NetLogo a été conçu et rédigé par Uri Wilensky, directeur de l'université de Northwestern.NetLogo is a programming language and modelling environment for developing multi-agent systems. Developed by Northwestern University and funded by the National Science Foundation, NetLogo was designed and written by Uri Wilensky, a professor at Northwestern University.

Il est utilisé dans l'enseignement et dans le domaine professionnel car il permet de modéliser des phénomènes dans certains domaines sans demander de connaissances en programmation. De même, il est particulièrement adapté pour la modélisation de systèmes complexes sur un parcours de temps. De nombreux modèles (biologie, physique, chimie, psychologie, économie, etc.) y sont présents et l'utilisateur a la possibilité d'en ajouter ou d'en modifier.It is used both in education and in professional settings, since it allows phenomena in certain fields to be modelled without requiring any programming knowledge. It is also particularly well suited for modelling complex systems over time. Many models (biology, physics, chemistry, psychology, economics, etc.) are already available, and users can add their own or modify existing ones.

NetLogo software interface

Un modèle pour simuler la dérive génétique avec des PokémonA model to simulate genetic drift using Pokémon

Voici un modèle qui simule les effets de la dérive génétique. On part d'une population de Pokémon qui possèdent un gène « Pouvoir » et trois allèles pour ce gène : l'allèle « Feu »Salamèche, l'allèle « Eau »Carapuce, et l'allèle « Plante »Bulbizarre.Here is a model that simulates the effects of genetic drift. We start with a population of Pokémon that carry a "Power" gene with three alleles: the "Fire" alleleCharmander, the "Water" alleleSquirtle, and the "Grass" alleleBulbasaur.

Le modèle permet de fixer un effectif de population initial, un effectif de population maximal et un taux de mutation. À chaque génération (« tick » du modèle) les Pokémon ont une probabilité aléatoire de mourir. Ceux qui ne sont pas morts ont une probabilité aléatoire de se reproduire. Au bout d'une centaine de générations en moyenne, et en l'absence de mutations, il ne reste plus qu'un seul allèle dans la population.The model lets you set an initial population size, a maximum population size, and a mutation rate. At each generation (a model "tick"), Pokémon have a random probability of dying. Those that survive have a random probability of reproducing. After about a hundred generations on average, and in the absence of mutations, only a single allele remains in the population.

Il est possible de suivre en continu l'évolution des fréquences alléliques sur le graphe en haut à droite, ou au moyen de compteurs en bas à droite.You can continuously track the evolution of allele frequencies on the graph in the top right, or using the counters in the bottom right.

Salamèche Carapuce Bulbizarre
Screenshot of the genetic drift model in the NetLogo web console
Sur la capture d'écran ci-dessus, on voit l'apparence de la console NetLogo en ligne, une fois que le modèle Pokemons1 a été importé (commande « upload a model » en haut à droite), et après avoir initialisé le modèle (commande « Setup » en haut à gauche).In the screenshot above, you can see the NetLogo web console once the Pokemons1 model has been imported (the "upload a model" command in the top right), and after initialising the model (the "Setup" command in the top left).
  1. Téléchargez le modèle.
  2. Rendez-vous sur la page NetLogo en ligne.
  3. Dans le menu « upload a model », sélectionnez le modèle Pokemons1.nlogo là où vous l'avez enregistré.
  4. Cliquez sur le bouton « Setup » pour initialiser le modèle.
  5. Pour simuler une génération, cliquez une fois sur « go » ; pour simuler un nombre ininterrompu de générations, cliquez sur le bouton « go forever ». Pour stopper une boucle « forever », cliquez une seconde fois sur le bouton « go forever ».
  1. Download the model.
  2. Go to the NetLogo web page.
  3. In the "upload a model" menu, select the Pokemons1.nlogo model wherever you saved it.
  4. Click the "Setup" button to initialise the model.
  5. To simulate one generation, click "go" once; to simulate an uninterrupted number of generations, click the "go forever" button. To stop a "forever" loop, click the "go forever" button a second time.

Un modèle pour simuler la sélection naturelle avec des PokémonA model to simulate natural selection using Pokémon

Ce modèle est une variante du précédent, dans lequel on peut mettre en évidence les effets de la sélection naturelle.This model is a variant of the previous one, in which the effects of natural selection can be highlighted.

Les boutons sont quasiment les mêmes que précédemment, mais on peut spécifier un degré de sélection naturelle (si la sélection est à zéro, on revient au modèle précédent). Le facteur de sélection est la couleur de l'environnement : si le fond est plutôt rouge, les Pokémon « Feu » auront un avantage sélectif ; si il est plutôt vert, les Pokémon « Plante » auront un avantage sélectif, etc.The controls are almost the same as before, but you can now specify a degree of natural selection (if selection is set to zero, this reverts to the previous model). The selection factor is the colour of the environment: if the background is mostly red, "Fire" Pokémon will have a selective advantage; if it is mostly green, "Grass" Pokémon will have a selective advantage, and so on.

Salamèche Carapuce Bulbizarre
Screenshot of the natural selection model in the NetLogo web console
Sur la capture d'écran ci-dessus, on voit l'apparence de la console NetLogo en ligne, une fois que le modèle Pokemons2 a été importé (commande « upload a model » en haut à droite), et après avoir initialisé le modèle (commande « Setup » en haut à gauche).In the screenshot above, you can see the NetLogo web console once the Pokemons2 model has been imported (the "upload a model" command in the top right), and after initialising the model (the "Setup" command in the top left).

Télécharger le modèle (Pokemons2.nlogo)Download the model (Pokemons2.nlogo)

Un modèle pour simuler les effets des quotas de pêche sur les populations de thonA model to simulate the effects of fishing quotas on tuna populations

Ce modèle est inspiré du logiciel Sim'Thon.This model is inspired by the Sim'Thon software.

À chaque « tick » les poissons grossissent. À partir d'un certain âge, ils se reproduisent. Il est possible de faire varier l'effectif maximal de la population, ainsi que des éléments de réglementation de la pêche : pêche autorisée, pêche avec quotas, pêche avec des critères d'âge. On peut commencer par ne pas autoriser la pêche du tout, et voir comment évolue une population « naturelle ».At each "tick" the fish grow. From a certain age onward, they reproduce. You can vary the maximum population size, as well as fishing regulation settings: fishing allowed, fishing with quotas, fishing with age criteria. You can start by not allowing any fishing at all, and see how a "natural" population evolves.

Le graphique en bas à droite indique l'âge maximal (courbe rouge), l'âge moyen (courbe bleue) et l'âge minimal (courbe verte).The chart in the bottom right shows the maximum age (red curve), the average age (blue curve) and the minimum age (green curve).

Tuna Tuna (variant) Tuna Tuna (variant)
Screenshot of the fishing quota model in the NetLogo web console
Sur la capture d'écran ci-dessus, on voit l'apparence de la console NetLogo en ligne, une fois que le modèle popThon a été importé (commande « upload a model » en haut à droite).In the screenshot above, you can see the NetLogo web console once the popThon model has been imported (the "upload a model" command in the top right).

Télécharger le modèle (PopThon.nlogo)Download the model (PopThon.nlogo)