01.01.2015 Views

Table des matières - Gilles Daniel

Table des matières - Gilles Daniel

Table des matières - Gilles Daniel

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

390 Modélisation et simulation multi-agents pour Sciences de l'Homme et de la Société.<br />

numéro de la cellule qu’il laisse vacante. Il se positionne ensuite sur la cellule<br />

précédemment choisie.<br />

to ChoisirHabitation<br />

let [:a pick ListeHabitationslibres<br />

:b ( ((xcor + screen-half-height) * screen-width ) +<br />

(ycor + screen-half-width) )]<br />

set ListeHabitationslibres remove-element :a<br />

ListeHabitationslibres<br />

set ListeHabitationslibres insert (1+(random length<br />

ListHabitationslibres)) ListeHabitationslibres :b<br />

setx ((:a div screen-width) - screen-half-width)<br />

sety ((:a mod screen-width) - screen-half-height)<br />

end<br />

Enfin la procédure itérer représente l’enchaînement <strong>des</strong> procédures dans une<br />

boucle, ici asynchrone.<br />

to itérer<br />

set iteration iteration + 1 ; variable globale<br />

CréerListeHabitationsLibres ; crée la liste <strong>des</strong> maisons libres<br />

set ListeAgents List-of-turtles ; la liste de tous les agents<br />

Loop [<br />

; faire une boucle<br />

ifelse empty ListeAgents<br />

; si la liste est vide<br />

[stop]<br />

; on sort de la boucle, sinon<br />

[let [:toi pick ListeAgents] ; variable locale<br />

set ListeAgents remove-element :toi ListeAgents<br />

ask-turtle :toi [ ; l’agent sélectionné<br />

ObserveVoisinage] ; observe son voisinage<br />

Demenage]<br />

; et fait le test<br />

]<br />

]<br />

end<br />

Le lien entre la partie algorithmique du modèle, le Control Center, et la partie<br />

fenêtre de simulation, l’unité Starlogo, se fait par l’intermédiaire de boutons sur<br />

l’interface graphique (Figure 17.4). Le bouton setup permet d’initialiser l’espace de<br />

simulation, de créer les agents en fonction de la densité voulue et de choisir le<br />

nombre de groupes d’agents. Les boutons asynchrone et synchrone font un<br />

adressage en boucle à la procédure d’itération correspondant au mode en question,<br />

en l’occurrence à la procédure itérer précédente pour le bouton asynchrone. Il est<br />

enfin possible de faire varier le seuil de tolérance au cours de la simulation.<br />

L’exemple de la Figure 17.5 illustre la dynamique du système composé de trois<br />

groupes.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!