Permet de générer des auto-organisations virtuelles à partir de règles très simples. Chaque élément du système est représenté par un agent, sur une grille à n dimensions et ses règles d'interactions avec les autres agents sont programmées. À partir d'une position initiale des agents sur la grille on lance la simulation, chaque agent, à chaque pas de temps, calcule son mouvement en fonction des règles d'interactions et des positions des autres agents qui interagissent avec lui. Voir aussi automate cellulaire.