Table des matières - Gilles Daniel
Table des matières - Gilles Daniel Table des matières - Gilles Daniel
272 Modélisation et simulation multi-agents pour Sciences de l'Homme et de la Société. du programme (notre modèle informatique), avant de se diriger vers l'implémentation à proprement parler du programme. 12.4.3. Implémentation Une fois le modèle informatique conçu et son squelette défini sous la forme d'un diagramme de classes, il est temps de passer à l'implémentation du programme. Pour cela, il est toujours possible de partir de zéro, mais de nombreuses plateformes de simulation multi-agents sont disponibles, sous forme de logiciel libre [12], et mettent à disposition du modélisateur toute une gamme d'outils de programmation, visualisation et traitement des données. Des comparaisons entre différentes plateformes ont été publiées [GIL 02], [SER 02], [TOB 04] et aideront le lecteur à faire son choix. Le langage de programmation aura également son importance. Il est vivement conseillé d'utiliser un langage orienté-objet, très proche du paradigme multi-agents, comme C++ ou Java. La plupart des plateformes disponibles utilisent Java, un langage relativement simple à apprendre et utiliser, mais moins performant en terme de rapidité d'exécution que C++. Cela n'apparaît cependant que dans des cas extrêmes, avec des millions d'agents ou des agents très cognitifs. Pour notre exemple, nous avons choisi d'implémenter notre modèle sur Moduleco [4], une plateforme multi-agents conçue pour la modélisation de marchés, organisations, phénomènes sociaux et dynamique des populations. Nous reproduisons ici un extrait du code Java utilisé, à titre purement informatif. L'ensemble du code est disponible sur le Web à l'adresse suivante : http://www.cs.manchester.ac.uk/ai/public/moduleco/models/informationValue Lors de la phase d'implémentation du programme, le modélisateur est perpétuellement amené à s'interroger sur la manière de coder telle ou telle partie de son modèle informatique. En se penchant sur ces détails d'implémentation, il sera même parfois conduit à revoir son modèle conceptuel. C'est là un des bénéfices majeurs de la simulation, surtout lorsque le modélisateur participe lui-même à la phase d'implémentation. En effet, ce n'est qu'à ce moment qu'il se rendra compte des suppositions implicites de son modèle, qu'il doit expliciter nécessairement lors du passage à la simulation. C’est là une phase très riche d'exploration et de découverte du modèle, auquel le modélisateur devrait prendre part, même s'il est aidé par un informaticien pour la partie code.
Modélisation, implémentation et exploration d'un Système Multi-Agents. 273 /** * Class: Information.java * Model: informationValue * * @author Gilles Daniel (gilles@cs.man.ac.uk) * @version 1.0, August 8, 2005 */ package models.informationValue; /** * Classe Information */ public class Information { /** * Attributs */ protected int nombrePieces; proteted int[] pieces; protected double valeurFondamentale; /** * Methodes */ // Initialisation des attributs public Information() { nombrePieces = 10; pieces = new int[nombrePieces]; valeurFondamentale = 0; } // Effectue le tirage aleatoire. // Chaque piece prend la valeur 0 ou 1 public void tirageAleatoire() { for (int i=0; i
- Page 217 and 218: Modélisation d’accompagnement. 2
- Page 219 and 220: Modélisation d’accompagnement. 2
- Page 221 and 222: Modélisation d’accompagnement. 2
- Page 223 and 224: Modélisation d’accompagnement. 2
- Page 225 and 226: Deuxième partie Modélisation et s
- Page 227 and 228: Modélisation multi-agents comme co
- Page 229 and 230: Modélisation multi-agents comme co
- Page 231 and 232: Modélisation multi-agents comme co
- Page 233 and 234: Chapitre 11 Des réseaux d’automa
- Page 235 and 236: Des réseaux d’automates aux mod
- Page 237 and 238: Des réseaux d’automates aux mod
- Page 239 and 240: Des réseaux d’automates aux mod
- Page 241 and 242: Des réseaux d’automates aux mod
- Page 243 and 244: Des réseaux d’automates aux mod
- Page 245 and 246: Des réseaux d’automates aux mod
- Page 247 and 248: Des réseaux d’automates aux mod
- Page 249 and 250: Des réseaux d’automates aux mod
- Page 251 and 252: Des réseaux d’automates aux mod
- Page 253 and 254: Des réseaux d’automates aux mod
- Page 255 and 256: Des réseaux d’automates aux mod
- Page 257 and 258: Des réseaux d’automates aux mod
- Page 259 and 260: Des réseaux d’automates aux mod
- Page 261 and 262: Chapitre 12 Modélisation, impléme
- Page 263 and 264: Modélisation, implémentation et e
- Page 265 and 266: Modélisation, implémentation et e
- Page 267: Modélisation, implémentation et e
- Page 271 and 272: Modélisation, implémentation et e
- Page 273 and 274: Modélisation, implémentation et e
- Page 275 and 276: Modélisation, implémentation et e
- Page 277 and 278: Chapitre 13 Apprentissage dans les
- Page 279 and 280: Apprentissage dans les modèles mul
- Page 281 and 282: Apprentissage dans les modèles mul
- Page 283 and 284: Apprentissage dans les modèles mul
- Page 285 and 286: Apprentissage dans les modèles mul
- Page 287 and 288: Apprentissage dans les modèles mul
- Page 289 and 290: Apprentissage dans les modèles mul
- Page 291 and 292: Apprentissage dans les modèles mul
- Page 293 and 294: Apprentissage dans les modèles mul
- Page 295 and 296: Apprentissage dans les modèles mul
- Page 297 and 298: Apprentissage dans les modèles mul
- Page 299 and 300: Chapitre 14 Influence sociale, jeux
- Page 301 and 302: Influence sociale, jeux de populati
- Page 303 and 304: Influence sociale, jeux de populati
- Page 305 and 306: Influence sociale, jeux de populati
- Page 307 and 308: Influence sociale, jeux de populati
- Page 309 and 310: Influence sociale, jeux de populati
- Page 311 and 312: Influence sociale, jeux de populati
- Page 313 and 314: Influence sociale, jeux de populati
- Page 315 and 316: Influence sociale, jeux de populati
- Page 317 and 318: Influence sociale, jeux de populati
Modélisation, implémentation et exploration d'un Système Multi-Agents. 273<br />
/**<br />
* Class: Information.java<br />
* Model: informationValue<br />
*<br />
* @author <strong>Gilles</strong> <strong>Daniel</strong> (gilles@cs.man.ac.uk)<br />
* @version 1.0, August 8, 2005<br />
*/<br />
package models.informationValue;<br />
/**<br />
* Classe Information<br />
*/<br />
public class Information {<br />
/**<br />
* Attributs<br />
*/<br />
protected int nombrePieces;<br />
proteted int[] pieces;<br />
protected double valeurFondamentale;<br />
/**<br />
* Metho<strong>des</strong><br />
*/<br />
// Initialisation <strong>des</strong> attributs<br />
public Information() {<br />
nombrePieces = 10;<br />
pieces = new int[nombrePieces];<br />
valeurFondamentale = 0;<br />
}<br />
// Effectue le tirage aleatoire.<br />
// Chaque piece prend la valeur 0 ou 1<br />
public void tirageAleatoire() {<br />
for (int i=0; i