06.02.2003

MASToK veut dire Multi Agent Simulation ToolKit : en clair, on simule un monde où ils y a plein de petits bonhommes ( terme générique : un bonhomme peut être un caillou, une voiture, une cellule, une idée ... ). Le but est évidemment de faciliter tout un tas d'expériences, en partant de la vie artificielle, espérant pouvoir toucher physiciens, biologistes, sociologues, etc.

Nous bosserons chacun sur une application spécifique du projet. Deux personnes s'occuperont spécifiquement de la librairie (côté réseau et côté agent), et deux ou plus travailleront sur les interfaces graphiques, communes à plusieurs expériences.

En pratique ...

Le toolkit

D'abord on écrit une librairie gérant les simulations distribuées sur le réseau, considérant les agents dans un cadre le plus général possible. On travaille à ce niveau en C++.

L'utilisateur définit une surclasse de la classe Agent, et la compile dans un plugin, que la librairie charge. Ceci se fait en C++, on essaiera de fournir des moyens simples de le faire dans d'autres langages.

Des interfaces

On commencera par une interface texte, évidemment, permettant de charger des agents dans une simulation, et quelques trucs élémentaires pour déboguer. On définirait à cette occasion des classes d'agents virtuels observant le réseau, ou simplement les autres agents.

Ensuite on fera une petite application GTK+ plus sympathique :

On se fera sûrement une interface plus raffinée pour le jeu, en SDL, OpenGL, ou simplement GTK avec les pixbufs, gérant les déplacements animés des agents, effets graphiques sympas, quelques sons...

Quelques exemples

Sciences humaines

Mathias Peron

Jeu, Vie artificielle

  • On définit un certain type de robots, destinés à s'affronter dans une arène. Chaque joueur dérive son robot ou sa horde, programmant leur stratégie. Le but du jeu est d'écraser les autres ...
  • Evolution et socialisation émergente d'agents. En faisant darwiner des agents qui ne pensent qu'à manger, on peut observer des stratégies de groupe.

  • Valid HTML 4.01!