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.

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

' de traitement <strong>des</strong> cellules, stocké dans le tableau Rg() :<br />

Public Sub RangsAleatoires(Nb As Integer, Rg() As Integer)<br />

Dim i As Integer, j As Integer, tampon As Integer<br />

'on initialise avec les rangs identiques<br />

ReDim Rg(Nb) As Integer<br />

For i = 0 To Nb - 1<br />

Rg(i) = i<br />

Next i<br />

'on perturbe les rangs par <strong>des</strong> permutations aléatoires<br />

Randomize<br />

For i = 0 To Nb - 1<br />

j = Int(Nb * Rnd) 'on choisit j aléatoirement dans [0..Nb[<br />

'on permute i avec j :<br />

tampon = Rg(i)<br />

Rg(i) = Rg(j)<br />

Rg(j) = tampon<br />

Next i<br />

End Sub<br />

17.4.3. Implémentation sous SpaCelle<br />

17.4.3.1. Position du problème<br />

Sous SpaCelle, la démarche de modélisation est radicalement différente pour<br />

plusieurs raisons. La première vient du fait que SpaCelle est un véritable automate<br />

cellulaire, mais seulement un automate cellulaire. De ce fait, la seule opération<br />

qu’une cellule « sait » faire, est de calculer son nouvel état en fonction de son état<br />

actuel et de celui <strong>des</strong> cellules voisines. C’est la fonction de transition qui effectue ce<br />

traitement, et c’est le même pour toutes les cellules. L’automate est donc incapable,<br />

par exemple, de déplacer un « habitant » d’une cellule à une autre, pour la bonne<br />

raison qu’il ne peut y avoir « d’habitant » dans une cellule et que la fonction de<br />

transition ne sait pas traiter un déplacement, mais seulement un changement d’état<br />

cellulaire. Le modèle général d’un automate cellulaire et donc très simple. La classe<br />

<strong>des</strong> modèles que l’on peut simuler est donc limitée. Ainsi, il faut penser le modèle<br />

dans ce contexte particulier.<br />

La deuxième différence fondamentale est que la <strong>des</strong>cription de la fonction de<br />

transition que doit saisir l’utilisateur n’est pas écrite dans un langage algorithmique<br />

comme Logo ou VBA. Elle est fondée sur l’écriture de règles dont l’ordre n’a<br />

aucune importance. Ces règles peuvent s’écrire dans un premier temps en langage<br />

naturel, puis, à partir d’un schéma d’écriture qui est unique, on code ces règles dans<br />

le langage de SpaCelle. La forme syntaxique d’une règle s’écrit:<br />

action = évaluation<br />

où la partie « action » est de la forme : X > Y

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

Saved successfully!

Ooh no, something went wrong!