ArticlePDF Available

Abstract and Figures

In multiagent simulations, environment is considered to be a minor concern compared to agents’ behavior, which is the center of attention during the modeling process. Therefore environments are often basic, most of the times bounded or cyclical. Moreover, they are not detailed enough to support generalization of simulation results. Environment should be rich (contain many different objects) and large-sized. Until now such environments systematically imply heavy costs on memory usage and high processing time during simulation, which refrains their deployment.We propound here a solution, which automatically produces environments that are consistent, coherent, not bounded, non-cyclical. This solution is based on the software engineering approach “Procedural Generation”. Neither extra-work from modellers nor extra computing resources is required to proceed with the simulation. Keywords : Environment, Multi-agents simulation, self-generation.
Content may be subject to copyright.
Auto-génération d Environnement :
l exemple d Infinite Forest
D
enis
Payet
D
aniel
David
icolas
Sébastien
denis.payet@univ
-
reunion.fr
daniel.david@univ
-
reunion.fr
nicolas.sebastien
@
univ
-
reunion
.fr
EA2525 LIM
-
IREMIA
Université de la Réunion, France
Rés
umé
Dans une simulation multi-
agent
s,
l environnement est souvent considéré comme
un élément secondaire par rapport aux com-
portements des agents, et ces derniers mon
o-
polisent l essentiel des efforts de modélisation.
Il en résulte des environnements limités, le
plus souvent bornés ou cycliques, et qui pr
é-
sentent une diversité trop pauvre pour pe
r-
mettre de généraliser les résultats de simul
a-
tion. Un environnement adéquat devrait plutôt
être riche (composé de beaucoup d objets di
f-
férents) et de grande taille. Mais les réalis
a-
tions en ce sens occasionnent une charge m
é-
moire et des temps de calculs importants lors
des simulations, ce qui freine leur utilis
a
tion.
Nous proposons ici une solution fondée sur
une approche génie logiciel de type « génér
a-
tion procédurale », qui permet la produc
tion
automatique d environnements : consistants,
cohérents, non-bornés, et non cycliques. Et ce,
sans qu il soit pour autant nécessaire de su
r-
charger d une part le travail des modélis
a-
teurs, et d autre part les ressources disp
o-
n
ibles pour exécuter la simulation.
Mots
-
clés
:
Environnement,
Simulation multi-
agent
s,
auto
-
génération
.
Abstract
In multiagent simulations, environment is often
considered as of second concern compared to
agents behavior, which one captivate most of
the attention during the modeling pro
cess.
Thus, environments are often simplistic, most
of the times limited or cyclical. Moreover, they
are not detailed enough to permit various s
i-
mulation cases and generalization of simul
a-
tion results. Environment should be rich (co
n-
tain many different objects) and wide. But,
until now, such environments systematically
imply heavy costs on memory usage and high
processing time during simulation, thus r
e-
fraining their deployment.
We propose here a solution which automat
i-
cally
produces environments that are consi
s-
tent, coherent, not limited, non-cyclical. This
solution is based on the software engi
neering
approach Procedural Generation . It does
not require extra-work from modelers nor r
e-
quire more computing resources than clas
sical
types of environments.
Keywords
: Environment,
M
ulti
-
agent
s s
imul
a-
tion,
self
-gene
ration.
1
Introduction
1.1 A l assaut des systèmes complexes
Les systèmes complexes se caractérisent par
un nombre et une
hétérogénéité
impo
rtante
des
entités à considérer, et également par un
nombre élevé d interactions susceptibles de se
produire
au
cours de l évolution du système.
La simulation, notamment à base d agents,
se
présente comme un outil
privilégié
pour la
compréhension de tels
système
s. Or, le pré
a-
lable à la conception d'une simulation est la
modélisation du système à simuler. Et la val
i-
dité des résultats four
nis
par la simulation d
é-
pend surtout de la pertin
ence
et de la préci
sion
de cette modélisation. Ainsi, la quantité et la
diversité des éléments que doit prendre en
compte la modélisation de ces systèmes
co
n-
duit à rendre complexe la modélisation elle-
même
!
L étude de systèmes
complexe
s oppose donc
une double difficul
qui touche d une part
:
les limites de la puissance du support matériel
réalisant les calculs, et d autre part : les limites
d intelligibilité de la formalisation des m
o-
dèles
censé
s
représenter
ces systèmes
.
Aussi, réaliser une simulation de systèmes
complexes reste aujourd'hui encore une tâche
difficile. Et il est évident que cette difficu
l
ne
peut être palliée par la seule montée en pui
s-
sance des ordinateurs, mais bien par
l identification de nouveaux concepts et outils
théoriques
, tels que : des modèles ; des d
é-
marches
;
et
,
des alg
o
rithmes
.
Le travail de notre équipe est précisément
d oeuvrer en ce sens. Nous nous efforçons de
constituer ce panel théorique, dont chacun des
éléments a pour
vocation
d
atténuer
la pre
s
sion
des systèmes étudiés tout aussi bien sur la
charge de calcul, que sur l effort de modélis
a-
tion
.
Parmi
nos précédents travaux nous avons
pr
ésenté un modèle : le modèle à temporalité
[1]
;
et une démarche
: la modélisation orienté
e
dy
namique
[2]
. Pour compléter cet ensemble
illustratif
, nous vous proposons ici un alg
o-
rithme
que nous avons appelé : auto-
génération d environneme
nt.
Avant de présenter la problématique à la
quel
le
se rapporte cet algorithme, nous allons co
m-
mencer par
évoquer
son
utilisation et son
int
é-
rêt
grâce à un petit logiciel ludique : Infinite
Fo
rest.
1.2
Infinite Forest
Inf
in
ite Forest est une application
[3]
dan
s
laquelle nous avons implémenté notre procédé
d auto-génération d environnement. Au tra
vers
d un petit personn
age
, ce programme permet à
l utilisateur de se déplacer dans une forêt. Le
paysage de cette forêt est comp
osé d arbres
, de
lac
s, et de zones d herbe parfois parsemé
es
de
fleur
s. C est cette forêt que génère notre alg
o-
rithme.
F
IG
. 1
I
nfinite Forest
D
ans
cet univers, l utilisateur est entièrement
libre de ses mouvements : il peut diriger son
personnage dans toutes les direc
tions
; il peut
nager pour franchir les lacs
;
l herbe cons
titue
un sol ferme sur lequel il peut cou
rir
;
et
,
nous
l avons même muni d une petite épée avec
laquelle il peut couper les éventuels arbres qui
gêneraient son
passage.
La position du personnage est affichée en
permanence au dessus de la fenêtre de visual
i-
sation. Les déplacements s effectuent au cl
a-
vier avec les touches directionnelles cla
s-
siques, et la barre d espace permet d utiliser
l épée. Pour permettre une exploration plus
rapide, l interface dispose d un bouton de « t
é-
léportation
»
à l aide duquel l utilisateur
peut
spécifier directement la position qu il souhaite
atteindre.
Aucun obstacle ne vient s opposer à la pr
o-
gression de l utilisateur, et ce dernier peut
alors consacrer son temps à explorer cette f
o-
rêt.
Il peut y consacrer autant de temps qu il le
souhaite, tout son temps même, s il en a la
pos
sibilité.
Mais
la particularité de cet univers
est que,
quelque
soit la distance qu il aura
pa
r-
couru
e, son personnage n atteindra pas la l
i-
sière
de la forêt. Les paysages qu il traversera
ne seront jamais les mêmes,
ses
déplacements
n auront aucune li
mite
et inévitablement,
c est l utilisateur
lui
-
même
qui
mettra
fin
à
son
exploration,
car il aura compris qu il ne sortira
ja
mais de cette forêt.
Ainsi, l environnement que constitue cette
forêt ne présente aucune bordure, sans pour
autant être périodique ou fractal : c est un e
n-
vironnement non-borné, et non cyclique.
Et
bien sûr c est un environnement con
sistant
:
quand on revient dans un secteur déjà visité
celui
-ci à toujours la même apparence.
Enfin,
cet environnement est cohérent par le fait que
la configuration générée ressemble à ce que
l'on peut trouver dans un paysage naturel : la
frontière herbe/eau est linéaire et arrondie, les
arbres ne sont pas isolés les uns des autres,
les
fleurs se concentre
nt
dans les zones d herbage
dense,
etc.
Mais le point le plus intéressant dans ce prot
o-
type est que cette forêt
étant
infinie
, sa conf
i-
guration ne peut
être
, et n est donc pas,
sto
c-
kée
sous quelque forme que ce soit. La taille
du programme Infinite Forest est inférieure à
72 Ko. De plus, l
exploration
de cet enviro
n-
nement
se fait à charge mémoire cons
tante
(que ce soit la mémoire vive, ou l espace
disque). On peut explorer tant que l on veut,
aucu
ne mémoire supplémentaire ne sera co
n-
sommé
e. Pour rifier cette propriété, le pr
o-
gramme Infinite Forest dispose d un bouton
qui donne accès à un outil d observation de
l évolution des ressources mémoires utilisé
es.
Celui
-ci montre une charge
globalement
con
s-
tante,
os
cillant autour de 6
Mo.
F
IG
. 2
Charge mémoire durant l exploration
Toutes
ces propriétés
découle
nt
du fait que
cette forêt est auto-
générée.
Et
c est
l algorithme qui permet cette auto-
gén
é
ration
que nous allons vous pr
é
senter
dans
cet art
icle
.
1.3 L environnement dans les SMA
Il est
reconnu
que l environnement n est pas
assez pris en compte dans les SMA [5]
, et qu il
est nécessaire que celui-
ci
soit considéré aussi
comme un él
é
ment de premier plan
[6].
Les modélisateurs se concentrent surtout sur le
comportement des agents, car c est à ce ni
veau
que se situe généralement le centre d intérêt
des phénomènes qu ils souhaitent étudier.
Pourtant, il ne peut y avoir d agent sans env
i-
ronnement [10].
Les environnements sont alors
plus ou moins explicités et formali
s. Ils sont
mis
en uvre dans une forme simple pour o
p-
timiser la puissance de calculs, et réserver
celle
-ci aux traitements induits par le code des
nombreux agents qui sont
néce
s
saires
pour
transcrire la complexité des sujets abordés.
Dans les SMA, l environnement intervient
essentiellement durant les traitements des int
e-
ractions des agents. Au cours des simula
tions,
ces traitements sont déclenchés à deux m
o-
ments : lors de l exécution du comportement
des agents, quand ces derniers réalisent u
ne
int
eraction de type observation ; et, entre les
cycles d activation des agents, quand le sim
u-
lateur calcule l incidence de l ensemble des
influences produites
[13].
Ainsi la qualité de
l environnement détermine la pertinence des
données reçues et prod
uites
par le processus
comportemental
des agents. Un environn
e
ment
trop simpliste et restreint
nuit
fatal
ement à la
précision de la simulation. D un autre co
, un
environnement sophistiqué et de grande a
m-
pleur
est déjà à lui seul délicat à modéliser. Et,
l
es calculs récurrent
s
imposé
s
par la simul
a
tion
sanctionne
nt
ce
raffinement
par un allong
e-
ment cons
i
dérable des temps de calcul.
Notre
présente
proposition
veut contribuer à
remédier
à ce constat. Comme nous venons de
l illustrer avec le programme Infinit
e
Fo
rest,
notre algorithme p
ermet
de
pr
oduire de façon
automatique d
es
environnement
s riches, lib
é-
rant ainsi l attention des mo
délisat
eurs
, tout en
utilisant raisonnablement les ressources disp
o-
nibles pour l
exécut
ion de la simulation. Le
fondement de
cet
alg
orithme repose sur
une
notion
que nous app
e
lons
: l auto-
génération.
2 A
uto
-
génération
d environnement
2.1
Une génération procéd
u
rale spécifique
La « génération procédurale » est une tec
h-
nique
généralement employée
pour
limiter la
taille de la description
des
objets complexes,
tels
que
des textures et des m
o
dèle
s
en
3D [7]
;
ou encore, pour générer de façon aléatoire, ou
pseudo
-aléatoire, du contenu dans les jeux
vidéo
[9].
Cette technique permet de générer du contenu
à la volée, sans que ce contenu soit comp
lèt
e-
ment spécifié. Nous proposons une extension
de cette approche orientée sur la produc
tion
d environnement, et dans laquelle des caract
é-
ristiques spécifiques sont imposé
es
aux
env
i-
ronnements ainsi
générés.
Tout d abord, la génération à la volée d un
en
vironnement exprime le fait
que
l environnement, dans son intégralité, n existe
sous
aucune
forme tan
gible.
L environnement
est calculé par zones, et seulement quand il
devient nécessaire de disposer de
ce
s
zones
.
Quand
une
zone n est plus utile, celle-
ci
n est
pas conser
vée.
On n enregistre rien, tout est
généré dy
namiquement
au fur et à me
sure,
puis supprimé dès que po
s
sible
.
Dans notre exemple d Infinite Forest, à tout
instant, la forêt n'existe qu autour de la pos
i-
tion du personnage. C est au moment où
le
personnage arrive dans une nouvelle zone, qu
e
la
nouvelle
portion de forêt
corre
spondant à
cette zone est construite. Chaque portion de
forêt calculée, qui n est plus concer
e
par
le
l
ieu
se trouve le personn
age
, est immédi
a-
tement supprimée de la mémoire. C est ce
fonctionnement qui fait que notre programme
permet une exploration à charge mémoire
constante.
Une génération procédurale va au-
delà
de
l
a
génération à la volée
en
exprim
ant le fait su
p-
plémentaire
qu à
aucun moment i
l n existe une
descripti
on détaillée de la totalité de
l
environnement
.
Seule
s des informations m
i-
nimales
sont exploité
es
pour réaliser les
ca
l-
culs
nécessaire
s à la détermination de la conf
i-
guration
de chacune des
zones
. L auto-
génération
se singularise au niveau de ces i
n-
formati
ons minimales, que nous nommons
alors
: une abstraction r
é
duite.
Dans un procédé d auto-
génération
d environnement, l abstraction réduite doi
t
comporter
un
nombre
fini d éléments, tout en
permettant que l environnement
génér
é
pr
é-
sente les
3
caractéristiqu
es su
ivantes :
- La «
consistan
ce
»,
qui
traduit la propriété
que l'environnement est reconstruit toujours
à l'identique autour d'une position donnée
:
quand on revient au même endroit, on r
e-
trouve le même paysage. Sans cette propriété
l'environnement serait non-consistant, vap
o-
reux,... son exploration donnerait
l impression de visiter un univers instable et
aléatoire.
- La «
cohérence
», qui, dans notre contexte,
traduit le fait que l'environnement
généré
est
vraisemblable. C'est-à-dire : que sa constit
u-
tion soit crédible, et qu'il n'y a pas d'incoh
é-
rence qui puisse pénaliser l'utilité du pro
cédé
de
génération.
Ce qui est souvent l une des
faiblesses de la génération proc
é
durale [12].
- Enfin, la caractéristique d être à la fois non-
borné et non-cyclique, qui traduit la
propri
é-
que l environnement puisse être aussi
grand que l on souhaite, sans pour autant
présenter une configur
a
tion répétitive.
C est parce qu il est conçu à l aide d un pr
o-
cédé d auto-génération qu Infinite Forest est
un programme de petite taille (72 Ko),
qui
pourtant permet, sans aucune ressource ext
é-
rieur
e, d explorer une forêt infinie
présentant
les
trois
caractéristiques listées
ci
-
dessus
.
2.2
crire
par abstraction
duite
Dans notre approche, l environnement est
construit successivement par z
one
s en fonction
des besoins. Pour qu une zone puisse être d
é-
terminée, il faut qu une fonction spécifique
puisse permettre de calculer la configuration
de cette zone. Et, cette fonction nécessite un
certain nombre de paramètres sur la base de
s-
quels le calcul doit être réalisé. C est le rôle de
l abstraction réduite que de définir ces par
a-
mètres.
Ainsi, nous définissons plus précisément
sous
le terme « abstraction réduite » : la description
des paramètres minimaux permettant de calc
u-
ler
toute
les
zone
s de l environnement. Cette
de
scription prend la forme d un ensemble fini
d éléments
syntaxique
s
que nous app
e
lons AR.
L AR d un environnement contient deux types
d informations :
- Des informations permettant de définir les
paramètre
s
propre
s
à la zone à calcule
r.
Nous
appelons ces informations
:
le
génome
des
zones
.
- Des informations permettant de définir les
paramètres communs à toutes les zones.
Nous appelons ces informations
:
l expression génique de l environnement.
Ainsi l AR, via sa composante génome,
pe
r-
me
t d
associer
à chaque zone de
l environnement un paramètre qui lui est
sp
é-
cifique
: son « code génétique ». Et
il
définit,
via sa composante expression
nique,
les
opération
s à appliquer en fonction de ce code
pour
réal
i
ser
le calcul de la configuration de la
zone
concernée
.
Il en résulte finalement que l AR définit d une
façon formelle l
environnement à générer, sans
pour autant constituer ni une repré
sentation
concrète, ni une description détaillée
de
cet
environnement.
En fait, l AR n est pas dire
c-
temen
t une représentation de l environnement,
mais
on peut considérer qu il en est plutôt une
définition abstraite, une «
abstraction
»,
de
laquelle
émerge
nt
la
nature
et la structure e
f-
fective de l environnement.
Pour une zone donnée, l AR conduit donc à
l obtention de l ensemble des paramètres n
é-
cessaire
s au calcul de
cette
zone. L élément
qui réalise ce calcul est la «
fon
ction de calcul
des zones » qui est
au
c ur de l algorithme
d auto-
génération.
Et c est donc du choix de
cette fonction que dépend la syn
ta
xe
qui doit
être utilisé
e
pour
écrire
l
AR.
2.3 L
a fonction de calcul d
es
zone
s
La fonction de calcul des zones, que nous d
é-
sign
er
ons par Fz, a pour rôle d appliquer les
tra
itements décrits par l expression génique de
l AR sur le code génétique d une
zone.
F
IG
. 3
Calcul d une zone de l environnement
Ainsi le code génétique de la zone à calculer
sert de valeur d entrée à la fonction Fz, et
l expression génique fait office de paramétrage
de cette fonction.
Pour être acceptable
vis
-à-vis des
caractéri
s-
tiques
a
ttendu
es
p
our
un algorithme d auto-
génération,
Fz doit être une
fonction
déterm
i-
niste : c est-à-dire que le calcul d une même
zone
doit toujours conduire à l obtention de la
même configuration (l environnement généré
doit être consistant). Au niveau de la
fonction
Fz, cela veut dire qu à partir d un même
code
génétique
, et d un même paramé
trage,
on doit
toujours obtenir la même configuration calc
u-
lée : Fz doit donc être une «
application
» au
sens mathéma
tique du terme.
D autre part, la nature de Fz doit être tel
le
qu elle puisse permettre de traduire la diversi
et
le réalisme de l environnement au tra
vers
d un ensemble fini de paramètres (l expression
génique).
Aussi, pour les environnements
riches, élaborer une telle fonction
implique
d être en mesure de
minimiser
la charge de
s-
criptive liée à la diversité des objets présents
dans l environnement. Pour atteindre cet o
b-
jectif, nous nous sommes inspirés des aut
o-
mates cellulaires tels que le « jeu de la vie
»,
inventé par J. H. Conway en 1970
[4]
, et plus
pa
r
ticulièrement
des variantes
produit
es
sur la
base de ce m
o
dèle.
3 La fonction Fz d Infinite Forest
3.1 Les variantes de Conway
Le « Jeu de la Vie » (Game of Life) est un
automate cellulaire à état binaire :
vivant/mort.
Les règles de cet
automate sont les su
i
van
te
s:
- Une cellule morte devient vivante si elle est
entourée d exactement 3 cellules vivantes
(condition de naissance)
.
- Une cellule vivante meurt si elle n
est
pas
entourée
de 2, ou de 3 cellules vivantes
(condition de survie)
.
Ces règles ont la particularité de conduire à
l émergence de structures, constituées de pl
u-
sieurs cellules vivantes, qui semble
nt
en mo
u-
vement et
subir
une forme d évolution
sing
u-
lière
au cours des cycles d exécution de
l automate.
Des variantes de ces règles peuvent être
déf
i-
nie
s
en
modifiant les conditions de naissance
et de mort des cellules
[11]
.
Comme une ce
l-
lule est entourée de
8
cellule
s
voi
sine
s, on
peut
définir ces conditions par un couple
S/B,
avec
: S (Survy), la succession ordonnée de
tous les chiffres qui repré
sente
nt
un nombre de
cellule
s
voisine
s
vivante
s qui permettent la
su
rvie
; et B (Birth), la succession ordonnée de
tous les chiffres qui représente
nt
un nombre de
cellule
s
voisine
s
vivante
s permettant la nai
s-
sance. Ainsi les r
ègle
s du jeu de la vie
s écrive
nt
: 23/3
.
Comme le jeu de la vie, certaines
variante
s
produise
nt
des
phénomènes émergents int
ére
s-
sant
s,
et
sont devenu
es
célèbre
s. On a par
exemple
: 23/36 "HighLife , 34678/3678 "Day
& Night", 5678/35678 "Diamoeba"...
Il existe un grand nombre de programmes
qui
per
mettent de jouer ces variantes. Sur la base
de notre simulateur Geamas-
NG,
nous en
avons nous-mêmes produit une. N
ous
l
avons
appelé
e
:
ConwayLabs
(disp
o
nible sur [3])
.
F
IG
. 4
L application ConwayLabs
Initialement, nous avions conçu cette applic
a-
tion dans le but de soumettre notre plateforme
de simulation à une forte montée en charge.
Pour cela nous avions implémenté l automate
de sorte que chaque cellule soit instanciée sous
la forme d un agent. Et, c est en expérimentant
différente
s
variante
s, et en o
bservant
l évolution de la grille de cellules, qu il nous
est apparu que ce
rtaines
de ces variantes pou
r-
raient servir de base à la construction
d environnements pour les agents dans nos
futures s
i
mulations.
En effet, la grille de cellules peut être vue
com
me un environnement spatial, dans lequel
les cellules mortes (colorées en blanc) repr
é-
sentent
le vide, et les cellules vivantes (col
o-
rées en noir
)
font office d
objets.
En exécutant une variante sur un certain
nombre de cycles, on constate que la répart
i-
ti
on des objets dans l espace adopte un age
n-
cement s
pécifique.
C
haque
variante conduit à
un mode d
organisation
différent
, et a ain
si
pour effet de structurer l espace d une façon
bien
partic
u
lière
. De plus, il faut aussi noter
que ces automates cellulaires sont déterm
i-
nistes
: à partir d une même disposition in
i-
tiale
,
et
au terme d un même nombre de
cycle
s
,
on obtient toujours le même état final
de la grille
.
De là, certaines de ces structurations peu
vent
être employées pour organiser la configu
ration
d un type d objet dans l environnement.
Par
exemple, la variante 5678/45678 produit une
évolution que nous avons qualifiée d « aggl
u-
tinante
». Car, au fur et à mesure de
l écoulement des cycles, les objets semblent se
rapprocher les uns des autres et former des
amas.
Le résultat obtenu ferait presque penser
à
des lacs
.
F
IG
. 5
La variante 5678/45678
Le nombre de va
riante
s
possible
s est 28x28
,
soit 65536. Cela donne
déjà
potentiellement
beaucoup de candidats pouvant servir de
su
p-
port
à l
organisation
d
es
objet
s dans nos
env
i-
ronn
e
ment
s.
3.2
Décompos
i
tion
de l environnement
Les environnements que nous considérons sont
généralement composés de plusieurs types
d objets
différent
s. Par exemple, dans Infi
nite
Forest la forêt se compose d eau, d arbres
,
d herbes et de fle
ur
s. Nous venons de voir
dans la section précédente, que pour un type
d objet donné, on
serait
en mesure de calculer
une
configuration
spatiale cohérente en util
i-
sant
l
une
des
variante
s de Conway
dont
l évolution
pr
oduit une carte de distribution
conform
e
pour cet o
bjet dans l espace.
Notre idée est donc de dissocier les calculs
nécessaire
s à chacun des types d objets, puis
de fusionn
er
les résultats pour obtenir le pa
y-
sage complet de la zone à produire. Cette di
s-
sociation par type d objet est ce que nous a
p-
pelons
: la décomposition de l environnement
en plan
s d objets.
F
IG
. 6
Décomposition de l environnement
en plan
s d objets
Nous brisons
ainsi
la complexité résultant de
la diversité des objets existants
dans
l environnement. Nous réduisons le problèm
e
à la génération de plans plus simples, qui ne
comporte
nt
plus
qu une seule sorte d objet.
Sur la base de ce principe, le fonctionnement
de notre fonction Fz est de
déroule
r ainsi une
génération multicouche de la zone à config
u-
rer
, en répétant l opération
de
calcul du plan
pour chaque type d objet. Pour notre forêt, on
génère
ai
n
si
4 plans d objets, chacun utilisant
une variante de Conway adéquate. Par
exemple pour l eau, il s agit de la variante
5678/45678 év
o
qué
e
plus haut.
L AR nécessaire à notre fonction Fz devra
donc spécifier,
dans
sa partie « expression g
é-
nique
», les paramètres
associés
respectiv
e-
ment
à la génération de chacun des plans
d objet qui compose
nt
l environnement. Ces
paramètres devront être présentés sous la
forme
d une liste ordonnée de sous ensembles
de paramètres, définissant ainsi l ordre dans
lequel les plans vont être fusionné
s
au f
i
nal
.
3.3 Le calcul d un plan d objet
Un plan d objet a pour finalité de présenter
une distribution spatiale cohérente, pour
l objet considéré, dans la zone à
calculer.
Avec
notre Fz, chaque plan d objet sera généré par
une grille de cellules sur laquelle va être appl
i-
qué
e l exécution d une variante de C
onway
.
L obtention d un « plan objet » nécessite
donc
les
paramètre
s
su
i
vants
:
- La définition d une fonction d amorçage
qui,
appliquée au code génétique de la zone à
calc
u
ler,
permett
ra
de produire la trame
qui
va
servir de grille initiale sur laquelle va être
joué
e
la variante de Conway
.
- Les règles
S/B
qui définisse
nt
la variante de
Conway
à utiliser.
- Le nombre de cycles d exécution de
l automate qui devront être effectués à par
tir
de la trame initiale.
- Et enfin, si cela est nécessaire, les règles
d
un troisième traitement
servant à
raffiner le
plan
d objet et produire la configuration f
i-
nale
.
F
IG
. 7
Obtenti
on d un plan d objet
La cohérence d un plan d objet peut encore
être
augmenté
e en utilisant non pas une v
a-
riante, mais une combinaison de variantes
de
Conway. C est ce que nous avons utilisé pour
générer le plan d objet des fleurs. Celui-
ci
s appuie en fait sur le plan d objet de l herbe,
qui fait
alors
office de trame initiale à la v
a-
riante
456/4 qui produit au final le plan objet
des fleurs. Ainsi, la configuration des fleurs
résulte de la combinaison de la variante 27
/246
(util
i
e pour l herbe) et de la
variante
456/4.
Le choix de la
variante
456/4 s explique par le
fait qu il s agit d une variante que nous qual
i-
fions de «
dégénérative
», car l évolution
qu elle induit produit des structures qui se r
é-
duise
nt
au cours des cycles successifs. De
telles
vari
ant
es
nécessite
nt
l utilisation d une
trame initiale dense, et d être appliqué
es
sur un
faible nombre de cycle, autrement la config
u-
ration produite a
toute
s les chances d être vide.
Ainsi, en utilisant le plan produit pour l herbe
comme trame initiale,
les
fleurs sont
alors
e
x-
clusivement situées dans les zones d herbage
dense.
4 L AR d Infinite Forest
4.1
Le génome
et la fonction d amorçage
Avec la fonction Fz que nous avons retenue,
pour un plan d objet donné, l incidence du
génome se
limite
à la production de la trame
initiale à partir de laquelle on va appliquer la
variante de Conway. C est la variante utilisée
qui va construire une configura
tion
spatiale
appropriée pour l objet considéré, et ce
quelque soit l état de la trame initiale. Aussi,
cette trame, et donc le génome également, sont
dénués de toutes particularités par rapport au
plan d objet à produire.
On peut donc choisir de prendre n importe
quel génome et, pour la fonction d amorçage,
une fonction déterministe quelconque ca
pable
de produire une trame à partir de ce génome.
La trame étant
ainsi
sémantiquement neutre, le
choix du génome et de la fonction d amorçage
est alors dirigé essentiellement par la taille des
zones à produire
.
Généralement
,
on utilise
l information de pos
i-
tion
pour bénéficier du critère de consistance
dans les réalisations exploitant la génération
procédural
e [8]. Aussi, le génome que l on a
choisi dans Infinite Forest n est autre que la
fonction qui retourne les
coordo
n
née
s de la
zone à calculer. D autant que ce choix a
pour
avant
age d établir une association implicite de
la zone avec son code gén
é
tique. Ainsi, aucune
autre information que la zone elle-même n est
nécessaire pour d
é
terminer ce code.
Dans notre programme, les zones à calcu
ler
ont une taille de 16 cellules sur 16. L
es
coo
r-
donnée
s d une zone correspondent aux
coo
r-
donnée
s de la cellule située dans le coin inf
é-
rieur gauche. Ainsi, la fonction qui à une zone
donnée associe cette coordonnée (x,y) const
i-
tue le génome de l AR d Infinite Forest.
Nous
no
m
mons cette fonction
:
p
ositionZone.
Il revient à la fonction d amorçage de con
s-
truire la trame initiale à partir de l information
de cette position. Cette trame doit avoir la
même
dimension que celle des zones à
calc
u-
ler
: 16x16 cellules, soit 256
cellules
de valeur
binaire
.
Aus
si, comme fonction d amorçage
nous avons utilisé une fonction de hachage
classique,
plus précisé
ment
la fonction MD5,
qui permet d associer à une chaîne une va
leur
d une longueur de 128 bits. C est en comb
i-
nant deux rés
ultat
s de ce type que nous con
s-
truiso
ns une valeur d une lon
gueur de 256 bits.
Dans le détail, nous avons appelé la fonction
d amorçage d Infinite Forest : md5AB. Celle-
ci construit 2 chaînes sur la base de la position
(x,y) de la zone : les chaînes xyA et xyB. Pour
chacune de ces chaînes, el
le calcule leur v
a
leur
MD5, et les deux valeurs obtenues sont pl
a-
cées bout à bout pour former une longueur de
256 bits. Ce résultat permet alors de remplir
une grille binaire de 16 cases sur 16, et c est ce
rempli
ssage qui constitue la trame initiale pour
le ca
l
cul de la zone.
F
IG
. 8
La fonction d amorçage
md5AB
Nous pouvons remarquer que l on a
ici
les
caractéristiques attendues : le génome utili
induit une
correspondance unique
entre la zone
à calculer et son code génétique ; et d autre
part, la fonction d amorçage md5AB engendre
bien une trame initiale unique à partir de ce
code,
permettant
ainsi
la conservation de
la
propriété «
déterministe
» de la fon
c
tion Fz
.
4.2 L expression génique
Comme nous l avons vu, Infinite Forest se
compose de 4 types d o
bjet
s.
Cela induit a
u-
tant de plan d objet dans la description de
l expression génique de son AR.
Conformément aux informations nécessaires
identifi
é
es
à la section 3.3, le paramétrage
d un plan d
objet
peut s écrire sous la forme :
(fonction d amorçage,
règle S/B,
nombre de cycle
s
[,
règle de raffinement
])
Ainsi,
nous pouvons vous détailler le param
é-
trage des 4 plans d objet d
Inf
inite Forest de la
façon suivante
:
-
Le plan eau
:
(md5AB, 5678/45678,
25
)
Comme nous l avons vu à la fin de la sect
ion
3.1, la variante 5678/45678 conduit à une
distribution compatible avec celle qu on
s attend d observer pour les zones d eau.
- Le plan arbre : (md5AB, 4
5/
34,
20, notA
lone)
Ici, la règle notAlone désigne un traite
ment
complémentaire qui consiste à
suppr
imer de
la grille toutes les cellules
pleines
isolées.
Sachant que nous qualifions une
cellule
d isolée
quand
le nombre de cellules
occ
u-
pée
s est nul dans son voisinage de rayon 2.
Ce traitement est un bon complément à la v
a-
riante
4
5/34
, et conduit à structur
er
la pos
i-
tion des arbres d une façon qui laisse penser
qu une extension naturelle puisse en être
à
l origine.
-
Le plan herbe
: (md5AB,
27
/
246
, 10
)
La variante 27/246, se prête bien à une occ
u-
pation semi-chaotique qui recouvre, la pl
u-
part du
temps
, l essentiel de l espace.
Aussi
,
ce choix
nous
est
apparu approprié pour pa
r-
semer notre forêt d une herbe foison
nante
.
- Le plan fleur
:
(plan herbe,
4
56/4,
4)
N
ous avons vu
à la section 3.3
qu ici l
a fon
c-
tion d amorçage est
en
fait le plan herbe pr
é-
cédemment gé
néré
. Là
dessus,
la variante
456/4 a pour effet de ne conserver que les
zones centrales dans cette trame. En pos
i-
tionnant les
fleurs
suivant la
configur
a
tion
ainsi obtenue, elles seront essentiellement
re
groupées au milieu des zones d herbe.
4.3
Une forêt
i
nfinie en
5 lignes
En posant comme convention d écriture d
une
abstraction réduite la syntaxe
:
{ génome ,
expression génique }
Avec pour l expression génique la syn
taxe
:
{
(paramétrage du
plan
objet
1)
,
(paramétrage du plan objet
2),
(paramétrage du plan objet
N
) }
L AR d Infinite Forest s écrit alors
ai
n
si
:
{
positionZone,
{
(
md5AB, 5678/45678, 25
)
= plan_eau
,
(md5AB, 45
/34, 20,
not
A
lone
) = plan_arbre,
(md5AB, 2
7/246
, 10
)
= plan_herbe
,
(plan_herbe,
4
56/4,
4)
= plan_fleur
} }
5
Perspectives
d amélioration
5.1 Altération de l environnement
Dans Infinite Forest, le personnage
peut
co
u-
per des arbres avec son épée. Cette action co
n-
duit
à
altér
er
l environnement en occasion
nant
une modification de sa structure origi
nelle.
Par
exemple, dans les
simul
a
tions,
une altération
classique
consist
e à enrichir l environnement
avec des phér
o
mones [14].
N
aturellement
, quand ce type d action est po
s-
sible il faut ajouter au processus de g
énér
a
tion
une gestion des alté
rations
subies
par chaque
zone. Au terme du calcul d une zone, les do
n-
nées d altération devront être analysé
es
pour
reproduire sa structure finale effective.
Aussi
pour compléter utilement notre approche, nous
envi
sageons d étudier et de formaliser de tels
pr
ocessus de gestion dans une forme adaptée
aux spécific
ités de l auto-
génération.
5.2
Des simulations encore plus efficaces
Au cours de nos expériences, il nous est
ég
a-
lement
apparu qu un travail intéressant pou
r-
rai
t consister à établir une typologie
des
diff
é-
rentes variantes de Conway en fonction
des
configurations spatial
es
qu elles engendrent
.
Par exemple, comme nous l avons vu plus
haut, la variante 5678/45678 serait de type «
agglutinante
» alors que la variante 456/4 s
e-
rait plutôt de type «
dégén
é
rative
». Une étude
plus vaste sur cette classification
permettrait
de déterminer plus aisément les variantes à
utiliser pour chaque sorte d objet que l on
a à
traiter.
D autre part, dans Infinite Forest, nous util
i-
sons
un
génome
, et des mécanismes
d expression de celui-
ci
,
qui
sont assez
simple
s.
Ils
ne permettent d engendrer qu
un
environnement statique, dans le sens
les
objets qui le compose
nt
sont
immobiles
et ne
subisse
nt
pas d évolution au cours du temps.
Nous pensons qu il doit exister d autres
formes d abs
traction
s
réduite
s qui perme
t-
traient
de gé
rer des mondes où les objets
pourrai
en
t être en mouvement, voir même s
u-
bir une
sorte de
croissance.
Par exemple, toujours sur le thème de la forêt,
on pourrait imaginer que les arbres, et la vég
é-
tation en général,
au
rai
en
t plusieurs stades d
e
développement qu ils adopteraient success
i-
vement
au fur et à mesure que le temps passe.
On pourrait aussi imaginer que le contour des
lacs ne soit pas figé, et que d une saison
à
l autre des périodes de sécheresse réduiraient
leur surface et assècheraient certains d entre
eux
On pourrait
aussi
introduire des phén
o-
mènes météos, comme de la pluie ou des to
r-
nades, qui toucherai
en
t parfois certaines
zone
s
de l environnement.
Ce genre de raffinements permettrait d obtenir
des environnements encore plus
pertinents
pour nos simulations, et améliorerait du même
coup
la richesse des comportements de nos
agents. Nous pensons que c est une voie à
privilégier
pour rendre nos outils de s
imulation
plus efficaces, parce qu
elle
donn
erait
accès à
une meilleure compréhension des sys
tèmes
étudiés.
C est
pourquoi n
ous
envis
a
geons
aussi
d orienter
nos
futurs
travaux sur l étude et la
recherche de nouvelles
abstra
ctions réduites.
L une des pistes d orientation possible pourrait
découler de la constatation
exposée
ci
-après.
5.3
Interlude
: d
e l AR à l ADN
Comme vous l avez remarqué, pour formaliser
notre algorithme d auto-génération nous avons
délibérément employé un vocabulaire relatif à
la génétiq
ue. Nous avons fait ce choix car nous
trouvons que cet algorithme conduit à établir
un rapport troublant entre la génération d un
environnement et le processus d évolution
d une espèce vivante. Avant de conclure cet
article, et même si cela est assez distant du
domaine informatique, permettez nous
d ouvrir une petite parenthèse pour expli
citer
ce point.
Envisageons
donc
, d un point de vue conce
p-
tuel
et d une façon approximative, l
évolution
d une espèce vivante comme un environn
e-
ment, et les individus produits au cours de
cet
te
évolution comme les différentes zones de
cet environnement. On peut
alors
en arriver à
considérer que le processus d évolution des
espèces vivantes, tel
les
que nous le
connai
s-
sons, suit un algorithme d auto-
génération
dont l abstraction réduite
serait
définie par
l ADN. E
t
que
la fonction de calcul Fz ne s
e-
rait
autre que les lois physiques qui régissent le
fonctionn
e
ment biologique de
s
cellules.
Car e
n
effet, conformément à notre définition de
l auto-
génération nous avons ici que
:
- L évolution de l espèce dans son ensemble
n existe sous aucune forme tangible.
Cette
évolution
s établit par la création succes
sive
des individus, et ces derniers sont détruits
dès qu ils
sont
devenus
inutile
s. C est de la
gén
é
ration à la volé
e.
- A aucun moment il n existe une description
détaillé
e
de
l
évolution
de l espèce dans son
ensemble.
Seule
s des informations min
i-
males sont exploitées pour réaliser les ca
l-
culs nécessaires à la détermination de la co
n-
figur
ation de chacun des individus aux cours
de l évolution. Ces informations sont do
n-
nées par l ADN.
- De plus, l ADN répond à la définition que
nous donnons à une abstraction réduite : elle
défi
nit
à la fois les paramètres spécifiques à
chaque individu, leur code génétique; et, les
par
amètres communs à tous les individus, la
façon dont s exprime
nt
les gènes. Et toutes
ces infor
mation
s tien
nent
dans un ensemble
fini d éléments : les séquences de nuclé
o-
tides dont
est
c
omposé
l ADN.
Mais la grande différence ici, c est que
l abstraction réduite elle-même a la po
ssibil
i
de se modifier au cours de la création succe
s-
si
ve
des individus. Son expression génique, et
la fonction Fz,
incorpore
nt
des règles en ce
sens, et nous pensons que la base du vivant
peut se définir par cette singul
a
rité.
Ainsi
, une voie possible pour rendre nos env
i-
ronnements «
vivants
», ou
du moins plus d
y-
namique
s, serait que l abstraction réduite
puisse év
o
lue
r au fur et à
mesure que les zones
sont calculée
s.
L un des
inconv
é
nients
serait
alors de rendre impossible la « téléporta
tion
»,
car les zones devrai
en
t être construites, et d
é-
construite
s,
dans un ordre progressif.
M
ais cela
n est pas trop préjudi
ciable
, dans la mesure
nos agents sont rarement dotés d une telle c
a-
pacité de déplac
e
ment.
6
Conclusion
Le fait que modéliser un système comple
xe
c
ondui
t
quasi
-inexorablement à
un
modèle
complexe
, nous montre que la complexité est
contagieuse,
que
la complexité est une mal
a-
die. Pour
pouvoir
combattre
efficacement
cette
maladie
, il faut que nous nous dotions au pré
a-
lable
d un équipement capable d
empêcher
qu
elle contamine les outils que nous utilisons
pour l étudier. Et afin d espérer pouvoir pa
rer
à toute éventualité, un tel équipement doit être
constitué
d autant d éléments que possible.
Dans cet article, nous avons pré
senté
ce que
nous estimons être un élément de cet équip
e-
ment
: l
auto
-génération d environnement.
L auto-génération d environnement est une
technique qui, à partir d une simple descri
p-
tion abstraite, permet de construire de façon
économique et automatique un environne
ment
co
n
sista
nt, cohérent, non-borné et non-
cyclique.
Dans un système complexe, l environnement
est le milieu dans lequel évolue
nt
les entités
qui compose
nt
le système. Aussi, notre prop
o-
si
tion
a pour objectif d atténuer les difficultés
posées
par l environnement, tant aussi bien
au
niveau de sa prise en compte par les modélis
a-
teurs, qu au niveau de son impact sur les re
s-
sources
matériel
le
s
di
s
ponibles
pour l étude du
système.
Références
[1]
D. Payet, R. Courdier, T.
Ralam
bondrainy, N.
Sébastien,
Le
modèle
à Temporalité : pour un
équilibre entre adéquation et optimisation du
temp
s dans les simulations agents»,
JFSMA06
, 2006
.
[2]
D. Payet, R. Courdier, N. Sébastien, T. Ralambo
n-
drainy,
Environment as support for simplific
a-
tion, reuse and integration of processes in sp
a-
tial MAS
,
IR
I'06, IEEE International Conf
e-
rence on Information Reuse and Integration,
p
ages
127
-
131, 200
6
[3]
http://payet.pbwiki.com/Infi
n
it
eForest
[4]
M. Gardner, Mathematical Games : The fantastic
combinations of John Conway s new solitaire
game «
life
», Scientific Americ
an,
vol
.223,
pages 120
-
123, octobre 1970.
[5]
L. Magnin, Modélisation et simulation de l'env
i-
ronnement dans les systèmes multi-
agents,
PhD thesis, Université Pierre et Marie Curie
(Paris 6)
, novembre 1996.
[6]
J
.
Tranier,
Vers une vision intégrale des systèmes
mul
ti
-
agents,
PhD thesis, Université
Montpe
l-
lier 2,
décembre
2007.
[7]
D. E
bert
, K. M
usgrave
, D. P
eachey
, K. P
erli
n, S.
W
orley
, Texturing and Modeling: A Proc
e-
dural Approach, Academic Press Professio
n-
al
, 1998.
[8]
6
S. Greuter, J. Parker, N. Stewartn G.
Leach, R
eal
-
ti
me procedural generation of 'pseudo infinite'
cities,
Proceedings of the 1st international
conference on Computer graphics and inte
r-
active techniques in Australasia and South
East Asia,
Fevrier 2003.
[9]
http://pcg.wikidot.com/ , Procedural Content Ge
n-
eration
Wiki
[10]
D. Weyns, H.V.D. Parunak, F. Michel, T. Holvoet,
J. Ferber, Environments for multiagents sy
s-
tems state-
of
-
the
-art and research challenges.
In E4MAS, vol.3374 de Lecture Notes in
Competer Science
, pages 1
-
47, 2004.
[11]
E. Berlekamp, J. Conway & R. Guy, Win
ning
Ways For Your Mathematical Plays, 2nd edn.,
Academic Press
, 2002.
[12]
A.Peytavie
and E. Galin and S. Merillou, J. Gro
s-
jean, Modélisation de terrains complexes 3D,
AFIG'08 : 21e journées de l'Association
Française d'Informatique Graphique,
2008.
[13]
J. Ferber, J.-P. Müller, Influences and reaction: a
model of situated multi-agent systems. In the
2nd International Conference on Multiagent
Systems (ICMAS
-
96)
, pages 72
79
,
1996.
[14]
M. Mamei, F. Zambonelli, Motion Coordination in
the Quake 3 Arena Environment: a Field-
based Approach, E4MAS04, Environment for
MultiAgent System,
pages 34
-
48, 2004
.
... De même, on glisse de l'environnement « discret » à l'environnement fini alors qu'il n'y a pas de lien nécessaire entre les deux (cf. InfiniteForest [11]). On mesure bien le caractère obsolète de ces classifications, où prédomine un point de vue centré agent, en les comparant aux enjeux énoncés dans [17] où s'esquissent des questions relatives aux liens entre agents et environnements , au besoin d'une taxonomie des environnements , et à la primauté des relations topologiques . ...
... Elle est définie en extension et change à chaque pas de temps au moyen d'un algorithme de diffusionévaporation (tel que décrit dans [10]). Un champ peut être parfois, bien que plus rarement , défini en intension : par exemple dans InfiniteForest de [11] où, au moyen d'une technique procédurale, il est possible de se placer en n'importe quel point de Z 2 et d'y trouver un paysage constant dans le temps mais différent de tous les autres, avec un coût computationnel et un coût mémoire extrêmement réduits. Là encore, les choix de représentation explicite ou non de ces fonctions de champs entraînent des contraintes sur l'implémentation de l'environnement opérationnel. ...
Article
Full-text available
Dans cet article, nous proposons un modèle hybride combinant une représentation discrète et une représentation implicite permettant de synthétiser des terrains complexes de topologie et de géométrie quelconque. Notre ap-proche permet de représenter des surplombs, des grottes, des arches et définir les différents matériaux du sol tel que les pierres, la terre ou le sable. Les scènes sont éditées interactivement par de la sculpture, du dépôt de matière ou par des outils de simulation permettant de modifier la scène avec des outils de haut niveau. Nous proposons également une méthode de génération d'empilements de rochers.
Article
Full-text available
This paper presents a general theory of action in multiagent systems which rely on a clear distinction between influences, which are produced by agents' be- haviour, and the reaction of the environment. This theory allows us to rigorously describe complex in- teractions between situated agents. Two kinds of in- teractions are investigated: interactions between an agent and its environment, and interactions between agents through the environment. In this respect, we will show that the second kind is a special case of the first one. Although many theories about action are based on mental issues, we rely mainly on "what hap- pens" in the world, i.e. the transformations that take place during interaction. Therefore, as shown in this paper, this theory is general enough to deal with both tropistic (reactive agents) and hysteretic (agents with memory) agents as special cases of general multiagent systems.
Conference Paper
Full-text available
This paper focuses on the problem of orchestrating the movements of bot agents in the videogame Quake 3 Arena. Since the specific patterns of movement that one may wish to enforce may be various, and serve different purposes (have bots meet somewhere, move in formation, or surrounding human players), a general and flexible approach is required. In this paper we discuss how the Co-Fields coordination model can be effectively exploited to this purpose. The key idea in Co-Fields is to model the agents’ environment by means of application-specific computational force fields, leading agents’ activities to a globally coordinated and adaptive motion behavior. The Co-Fields model is described both in general terms and in the specific Quake 3 Arena implementation, and several application examples are presented to clarify it. Also, the paper outlines the general applicability of the approach besides the Quake scenario and in areas such as mobile computing and mobile robots.
Conference Paper
Full-text available
It is generally accepted that the environment is an essential compound of multiagent systems (MASs). Yet the environment is typically assigned limited responsibilities, or even neglected entirely, overlooking a rich potential for the paradigm of MASs. Opportunities that environments offer, have mostly been researched in the domain of situated MASs. However, the complex principles behind the concepts and responsibilities of the environment and the interplay between agents and environment are not yet fully clarified. In this paper, we first give an overview of the state-of-the-art on environments in MASs. The survey discusses relevant research tracks on environments that have been explored so far. Each track is illustrated with a number of representative contributions by the research community. Based on this study and the results of our own research, we identify a set of core concerns for environments that can be divided in two classes: concerns related to the structure of the environment, and concerns related to the activity in the environment. To conclude, we list a number of research challenges that, in our opinion, are important for further research on environments for MAS.
Conference Paper
Full-text available
RÉSUMÉ. Si dans la réalité nous ne pouvons que subir le temps, les simulations multi-agents nous permettent de l'utiliser comme moteur d'évolution sur des modèles réduits afin d'en déduire des nouvelles connaissances sur le monde réel. Aussi, la façon dont le temps virtuel est géré par le simulateur joue un rôle prédominant sur le potentiel de ce dernier. Dans cet article nous passons en revue les différentes approches de gestion du temps existantes. Les concessions faites pour que le temps soit mieux adapté au modèle sont systématiquement sanctionnées par l'impossibilité d'optimiser la simulation afin d'en réduire la durée d'exécution. Or ce critère devient de plus en plus important avec la montée en complexité des modèles à simuler. Après avoir établi la liste des exigences auxquelles doit répondre un mécanisme d'ordonnancement, nous montrons qu'il existe une approche qui, tout en répondant à ces exigences, concilie l'adéquation et l'optimisation du temps dans les simulations multi-agents. ABSTRACT. If in reality we can only undergo time, multi-agent simulations allow us to use it like evolution engine on reduced models in order to deduce some new knowledge from real world. Also, the way in which virtual time is managed by simulator influences a lot the potential of this last one. In this paper we review different existing approaches of time management. Concessions made in trying to adapt time to the model are systematically sanctioned by the impossibility of optimizing the simulation in order to reduce its execution time. However this criterion becomes increasingly significant with the rising complexity of simulated models. After having established the set of requirements to which a mechanism of scheduling must answer, we show that an approach exist which, while answering these requirements, combines the adequacy and the optimization of time in multi-agent simulations.
Conference Paper
Full-text available
We present an approach to procedural generation of `pseudo infinite' virtual cities in real-time. The cities contain geometrically varied buildings that are generated as needed. The building generation parameters are created by a pseudo random number generator, seeded with an integer derived from the building's position. The varied building geometries are extruded from a set of floor plans. The floor plans for each building are created by combining randomly generated polygons in an iterative process. A display list caching and frustum filling approach manages the generation of buildings and the use of system resources. This approach has been implemented on commodity PC hardware, resulting in interactive frame rates.
Conference Paper
Full-text available
The development of solutions to complex problems requires finding answers to several questions which are obstacles on the road leading to the solution. To perpetuate progress, the possibility to reuse and integrate these intermediate answers in the other constructions of complex solution becomes a requirement In this article we consider the context of spatial multi-agent systems and we propose a modeling method that allows to structure models in order to make their components autonomous and, thus, to allow their reuses and their integrations in the design of future models. This method is based on the definition of a principle that permits to differentiate the model components, and, on the use of the environment (which is the location in which agents evolve) as the coupling element of these components
Book
Fractal geometry is a potent language of complex visual form.[...] it reduces mcuh of the staggering compexitywe see in nature to some very simple mathematics. p 567