Nous avons parlé des tortues qui sont les
agents mobiles de base et probablement les
agents que vous allez utiliser le plus souvent
pour vos modèles avec NetLogo. Mais il y
a deux autres types d’agents qui existent
dans l’univers de NetLogo. D'abord, on a les patches.
Les patches sont des objets d’arrière-plan
immobiles qui existent derrière chaque espace
unique du monde. Ils ne sont pas évidents
car ils ne sont composés que de noir, mais le
monde que vous voyez ici est composé de
beaucoup de patches différents. En fait,
nous pouvons les aborder plus que nous
abordons les tortues en écrivant [commande] 'ask patches'
(demander à un patch) de faire quelque chose.
Les patches, plus que les tortues, ont une
couleur. Nous pouvons leur attribuer leur
PCOLOR qui est la couleur du patch. Nous
allons expliquer dans une seconde en quoi
c’est différent de la couleur des tortues.
Nous pouvons donner à leur PCOLOR une valeur
particulière. Alors, une chose que l’on peut faire
par exemple, est d’attribuer leur PCOLOR telle qu’elle
soit dépendante de ses coordonnées en X et
Y et pour les patches, on écrit PXCOR et PYCOR.
Dans ce cas, je demande aux patches de
prendre leur PCOLOR avec PXCOR * PYCOR :
[commande] ‘ask patches [ set pcolor pxcor * pycor ]’
et quand je clique sur ‘Entrée’, vous pouvez
voir qu’ils sont bien plus visibles, et
nous pouvons voir ici différents patches
dans l’espace. En effet, si vous vous rappelez
la première sous-partie de cette unité,
nous avons discuté de la manière dont vous
pouvez modifier les paramètres du monde pour
rajouter ou enlever des patches du monde.
Donc, nous pouvons utiliser les patches de
la même manière dont nous utilisons les tortues,
ils ont des propriétés, nous pouvons les
regarder, nous pouvons manipuler ces propriétés.
Nous pouvons inspecter un des patches et
nous pouvons voir quelles propriétés il a :
un PXCOR, PYCOR, un PCOLOR, un PLABEL et un PLABEL-COLOR.
Ce qui est intéressant à propos des patches
sur leurs interactions avec les tortues,
c'est que les tortues ont un accès direct
à toutes les variables des différents patches.
Par exemple, nous pouvons créer un tas de
tortues, [commande] ‘crt 100’, et nous
pouvons demander à ces tortues d’aller
aléatoirement à une XCOR et une YCOR. Les
voilà dispersées à travers l’écran et les
tortues peuvent déterminer les variables
des patches. Nous demandons aux tortues
d’attribuer leur couleur à la couleur de
patches [commande] : ‘ask turtles [ set pcolor color ]’.
On fait cela car chaque tortue se retrouve
toujours sur un et seul patch à la fois et
donc avec l’ensemble de variables d’un seul
patch. C’est pourquoi la variable couleur
de la tortue est nommée différemment de la
variable couleur du patch. Au fait, outre le
RANDOM-XCOR et le RANDOM-YCOR, il y a aussi
les RANDOM-PXCOR et RANDOM-PYCOR qui vous
donnent les coordonnées aléatoires d’un patch
situées au centre du patch. Nous pouvons
aussi utiliser les patches d’une autre manière.
Redonnons aux patches leur couleur noire :
[commande] ‘ask patches [ set pcolor black ]’
Nous pouvons, par exemple, avoir des tortues
qui veulent retrouver leur NetLogo patches,
nous pouvons demander aux tortues leur FACEXY
[commande] : ‘ask turtles [ facexy pxcor pycor ]’
– ce qui signifie ‘faire face à des coordonnées
X,Y particulières’. Nous allons les voir
se tourner vers les coordonnées de leur patch concerné
Cela leur fait faire une rotation vers le centre
des patches auquels elles sont liées. Ainsi,
nous avons des interactions entre les tortues
et les patches. Ils peuvent travailler
ensemble de manière efficace et vous pouvez
utiliser les patches pour manipuler les actions
de vos tortues. En addition aux patches,
il y a un autre type d’agent qui existe. Nous
n’allons pas prendre le temps d’en parler
beaucoup pour l’instant, je vais juste l’aborder.
Ce sont les types d’agents appelés liens.
Ils nous permettent de bouger au-delà des
capacités physiques des tortues en ayant
les attributs d’un réseau. Nous pouvons
demander aux tortues de créer un lien avec
d’autres tortues : [commande ]
‘ask turtles [ create-link-with one-of other turtles ]’
Nous voyons qu’elles ont toutes créé des liens.
Cette commande est un peu complexe, je vous
la dissèque un peu. Chaque tortue doit
‘create-link-with’ c’est-à-dire ‘créer un
lien particulier avec’ ‘one-of’ – qui prend
un élément au hasard parmi un ensemble,
‘other turtles’ – qui prend l’ensemble de
toutes les tortues et retire la tortue concernée
et regarde les autres tortues ; d’où la
fonction ‘create a link with one of the other turtles’.
Une chose sympa avec NetLogo est que l’interprétation
du code correspond aux termes du langage naturel.
Je vais maintenant créer un lien non-orienté.
Vous pouvez créer un lien orienté vers une
autre tortue, avec la commande ‘CREATE-LINK-TO’
ou ‘CREATE-LINK-FROM’ ('à partir de').
Je peux aussi créer des liens multiples en
même temps, avec ‘CREATE-LINKS-WITH’ avec
N autres tortues. Un dernier commentaire,
les liens sont des agents à part entière,
comme les tortues et les patches. [clic droit puis ‘Inspect Link’]
Là, nous voyons les propriétés des liens.
Une des propriétés qui sont les ‘ENDS’ (fins)
montrent les tortues auxquelles le lien
est connecté, la couleur, l’étiquette, etc.
Donc, ce sont les agents de base dans NetLogo.
Les tortues sont les plus couramment
utilisées, mais les patches et les liens
sont très importants et ont beaucoup de
propriétés et capacités semblables aux tortues.