Netlogo est un language de programmation et un environnement de modélisation qui à été créé par Uri Wilensky de l'Université Nothwesten. Il a été créer pour enseigner aux gens comment construire des modèles et aussi pour être utiliser dans la recherche sur les systèmes complexes. Netologo est basé sur 2 languages de programmation plus anciennes; Logo et StarLogo. Tous les 3 ont été utilisés abondamment en éducation, allant de la petite école jusqu'au programme post-baccalauréat. Dans ce cours, nous allons utiliser NetLogo pour démontrer quelques unes des idées clés de la recherche sur les systèmes complexes et certains des outils que les personnes utilisent lorsqu'elles étudient les systèmes complexes. Dans les différents devoirs dans cette classe, vous utiliserez Netlogo afin de modifier et d'expérimenter avec des simulations existantes, et si vous choisissez les options de devoirs avancés, alors vous allez construire vos propres simulations. Dans le reste de cette unité, je vais passer en revue les principes fondamentaux du téléchargement et de l'utilisation de NetLogo. Si vous n'avez aucune expérience en programmation, ne vous inquiétez pas. NetLogo est facile à utiliser et accessible aux novices, tout en étant utile aux experts. Cependant, si vous avez déjà programmé en NetLogo, et êtes généralement familiers avec ce language, vous pouvez sauter le reste des vidéos dans cette unité, et aller directement au devoir pour l'unité 1. D'accord, nous allons commencer. Premièrement, nous allons téléchargeons NetLogo. C'est gratuit, et fonctionne sur Windows, Mac OS et Linux. Je vais faire apparaître une fenêtre de navigateur, et je vais aller sur le site de téléchargement, qui est: http://ccl.northwestern.edu/netlogo Ce lien est également sur notre page "Course Materials" du site web de notre cours. Ceci nous amène à la page de téléchargement, et il a quelques informations sur NetLogo. Je vais cliquez sur téléchargement. Vous pouvez juste aller de l'avant et télécharger. Vous pouvez entrer vos informations si vous voulez, c'est facultatif. Ok, je suis sous Mac OS X, donc je télécharge, d'accord. Je vais enregistrer ceci sur mon bureau. Et puis j'ouvre celui-ci Ok, voici un dossier appelé NetLogo 5.0.3. Si vous téléchargez ceci à une date ultérieure à laquelle ils ont fait une version plus récente, il peut avoir des chiffres plus élevés, mais je vais faire glisser ceci sur mon bureau, et me débarrasser des deux fichiers d'installation. Et maintenant j'ai ce dossier, et ici, j'ai NetLogo 5.0.3, donc vous verrez cela, ou peut-être une version ultérieure. Ceci est le fichier que je veux ouvrir. C'est la version à deux dimensions de NetLogo, il y en a aussi une à trois dimensions, NetLogo 3D, que nous allons examiner un peu plus tard. Donc, double-cliquez dessus pour l'ouvrir, oui je veux l'ouvrir. Il faut du temps pour l'ouvrir, en fonction de la rapidité de votre ordinateur. Et il est là. Maintenant, je vais montrer comment faire fonctionner un modèle NetLogo existant. NetLogo vient avec une bibliothèque de modèles existants. Vous pouvez aller à y accéder en allant dans le menu Fichier ("File"), et en choisissant la Bibliothèque des modèles ("Models Library"). Et vous pouvez regarder à travers toutes les différentes disciplines et différents modèles dans chaque discipline. Je vais aller dans la biologie, et aller au modèle de fourmis ("Ants model"), et vous pouvez lire ceci; dans ce projet une colonie de fourmis creusent pour de la nourriture. Bien que chaque fourmi suit un ensemble de règles simples, la colonie dans son ensemble agit de manière sophistiquée. Donc, nous allons ouvrir ce modèle. Bon, alors, la première chose à faire lorsque vous ouvrez un nouveau modèle NetLogo est d'aller ici à l'onglet "Info". Remarquez qu'il y a un onglet "Interface", "Info" et "Code". Donc l'onglet «Info» nous informe un peu sur le modèle. D'accord, et il parle comment il fonctionne, comment l'utiliser, choses à savoir sur le modèle, quelques idées pour comment vous pourriez le modifier, etc ... Vous pouvez jeter un oeil à cela par vous-même. Je vais revenir à l'interface. Et vous remarquerez qu'il ya deux boutons ici, "Setup" et "Go". Ceux qui apparaissent dans la plupart des modèles NetLogo, et la première chose que vous faites est toujours de peser sur "Setup". Cela crée la simulation. Donc ce que nous avons ici est un nid de fourmis, c'est ce blob pourpre avec ce cercle rouge au milieu, qui est en fait où toutes les fourmis vivent. Ce curseur ici, «Population», nous dit qu'il y a 125 fourmis. Et les trois autres blobs sont des piles de nourriture, et ce que nous allons voir est un graphique de combien de nourriture est présent dans chaque pile au fil du temps. Ainsi, les fourmis vont sortir de leur nid et chercher de la nourriture. Je vais donc cliquez sur "Go" et vous pouvez les voir se déplacer. Alors permettez-moi d'arrêter le modèle ici, en cliquant sur «Go» à nouveau, et mentionner certaines choses. Donc, vous voyez les petites fourmis se déplacer. Ils se déplacent au hasard jusqu'à ce que l'un d'eux trouve un morceau de nourriture, c'est le petit carré ici, de couleur bleue, ou une des autres piles. Et puis ils prennent la nourriture et la ramènent au nid. Mais comme ils se déplacent vers le nid, ils laissent une piste d'un produit chimique, souvent appelée "phéromone", dans le monde réel des fourmis, et d'autres fourmis peuvent revenir sur cette piste. Donc, une fourmi laisse une trace, guidant d'une certaine manière les autres fourmis vers l'emplacement de la nourriture qu'elle à trouvé. Maintenant, ces sentiers de produits chimiques diffusent selon ce taux de diffusion, ici à ce curseur, ce qui signifie qu'ils s'éparpilles de la piste originale à travers la distance, et ils s'évaporent, selon ce taux. Alors, quand les sentiers s'évaporent, nous arrêtons de voir un sentier ici. Permettez-moi de le ralentir, ce curseur vous donne la vitesse avec lequel le modèle se développe, alors laissez-moi Cliquez sur "Go" à nouveau. Ils sont un peu plus lent ici, et vous pouvez voir les sentiers étant renforcés, s'évaporant, diffusant, mais si une seule fourmi arrive à trouver la nourriture et peut revenir au nid, et que d'autres fourmis trouvent ce sentier avant de qu'il s'évapore, alors ils peuvent suivre la piste. Et vous pouvez voir ici la nourriture dans chaque pile descendre. Voici la toute dernière pile. Permettez-moi donc d'accélérer le processus à nouveau. Et vous pouvez voir les fourmis. Je vais accélérer encore plus. Alors maintenant, les fourmis vont très vite. Et maintenant, toute la nourriture a disparu, les fourmis n'ont plus rien à chercher, alors ils font juste se déplacer au hasard. Je vais donc à cliquer sur «Go» pour l'arrêter, et vous pouvez voir en fonction de ce graphique que les fourmis ont trouvé toute la nourriture en environ, nous pouvons voir le nombre de "pas de temps" ("timesteps" ) fait, soit environ 900 et quelque chose "pas de temps". Donc, ceci est avec cette valeur du paramètre. Nous pouvons réellement changer un peu ceci, donc ce qui se passe si nous augmentons la taille de la population? Donc, je vais passer aller jusqu'à un maximum de 200. Je vais cliquez sur "Setup" à nouveau, puis "Go". Et nous verrons si cela change le comportement. Bien sûr, il y a beaucoup de caractère aléatoire dans ce modèle. Les fourmis se déplacent au hasard jusqu'à ce qu'ils trouvent de la nourriture, et ils suivent la piste s'ils la rencontre. Et nous pouvons voir que lorsque la taille de la supérieure est supérieure, qu'il semble, au moins sur cette simulation, qu'ils ont trouvé toute la nourriture beaucoup plus rapidement. Mais comme il y a beaucoup de hasard, vous devrez répéter ces simulations plusieurs fois pour obtenir quelques statistiques pour voir si elles sont vraiment entrain de trouver la nourriture plus rapidement en moyenne lorsque la population est plus élevée. C'est une des points forts de NetLogo, soit que vous pouvez développer ces modèles,et puis vous pouvez faire des expériences avec ces derniers en utilisant de ces divers composantes d'interface pour définir les différentes variables. Une chose utile que je tiens à souligner est cet onglet "Help" dans le menu, qui vous permet d'accéder à divers ressources pour de l'aide, en particulier, le Manuel de l'utilisateur NetLogo, et le Dictionnaire NetLogo. Donc, si je clique sur le manuel de l'utilisateur, cela mène à une page Web, qui donne un ensemble de tutoriels sur comment apprendre à programmer en NetLogo, et beaucoup de différents outils de référence. Alors permettez-moi de revenir sur ce sujet. Donc, nous avons examiné l'onglet «Interface», et "Info", alors regardons au «Code». Ainsi, le code est écrit dans le langage de programmation NetLogo , qui est sa propre langue, qui est très facile à apprendre. Nous allons apprendre un peu de celui-ci dans ce cours, pas tous, bien sûr, parce qu'il faudrait y dédier un cours entier, mais vous développerer un instinct pour comment écrire ces modèles, et comment les déboguer, et comment les faire fonctionner. Pour ceux d'entre vous qui sont intéressés, NetLogo lui-même est basé sur Java. Il est écrit en Java, donc c'est ce qui est sous le capot ici. Mais vous ne avez pas besoin de savoir cela pour utiliser et programmer en NetLogo.