Nous avons pr´esent´e l’illustration de notre proposition `a travers
l’utili-sation de multiples d´eclinaisons de notre syst`eme de recherche heuristique.
Cet expos´e a permis de d´etecter les cas o`u la concurrence semble favoriser
la d´ecouverte d’une bonne solution mais nous avons ´egalement observ´e que
parfois le collectif a un impact n´egatif sur cette performance.
Impact de l’al´eatoire
Notre mod`ele contient deux sources principales de non-d´eterminisme :
l’activation des agents et les appels `a des g´en´erateurs pseudo-al´eatoires dans
les agents. Nous sugg´erons une extension de notre mod`ele pour pouvoir
distinguer ces deux ´el´ements.
Il est possible qu’un agent effectue plusieurs traitements pendant qu’un
autre n’en effectue qu’un. Notre mod`ele permet d’envisager la
possibi-lit´e de synchroniser les agents par l’introduction d’un temps discret pour
le syst`eme : on autorise alors un seul traitement par agent par pas de
temps14. Cette modification permet alors d’avoir un mod`ele multi-agent
d´eterministe15et de circonscrire l’al´eatoire `a l’int´erieur des agents. Toutefois,
cette solution cr´ee un d´es´equilibre entre les agents effectuant un traitement
lourd sur un pas de recherche (Genetic) et ceux ayant un pas de recherche
plus l´eger (Recuit).
Etude sociale d’heuristiques
Les exp´eriences que nous avons men´ees nous permettent d’envisager
une ´etude des heuristiques de mani`ere sociale. L’ensemble des r´esultats
14
Seuls les agents ayant des messages `a traiter sont concern´es.
15Un autre ´el´ement n´ecessaire est une fonction interclassant les messages ´emis par les
diff´erents agents sur un pas de temps.
que nous avons rencontr´es montre qu’il est important de consid´erer trois
´el´ements : l’heuristique, le probl`eme et l’interaction `a travers la
distinc-tion entre concurrence et parall´elisme. Nous avons donn´e des r´esultats en
terme de meilleure solution mais la dimension collective de la recherche peut
´egalement ˆetre envisag´ee `a travers des mesures collectives comme le nombre
de messages ou encore la qualit´e des solutions contenues dans les messages
compar´ee `a celles contenues dans les m´emoires.
Nombre optimal
Nos travaux sur les synergies d’heuristiques ont montr´e qu’un nombre
optimal d’agents dans une population d’agents existe sans doute pour une
grande vari´et´e de combinaisons heuristique/probl`eme. L’´etude plus
appro-fondie de ce nombre pr´esente un int´erˆet majeur envisag´ee dans le cadre de la
multiplication des architectures machines, muti-processeurs et
multi-coeurs. Elle implique en particulier que l’augmentation du nombre d’agents
n’est pas toujours b´en´efique.
Combinaison de probl`emes
Nous avons cherch´e `a mettre en place les outils pour une ´etude rigoureuse
de l’int´erˆet de combiner plusieurs probl`emes dans un cadre de recherche
heu-ristique. Nous avons envisag´e les moyens de dissocier le simple int´erˆet d’une
recherche al´eatoire mais ´egalement une double recherche sur le probl`eme
principal, deux possibilit´es qui relativisent l’int´erˆet d’un probl`eme voisin.
Co-construction
La co-construction de solution par un syst`eme intelligent est un
objec-tif s´eduisant. Nous avons cherch´e `a mettre en place un cadre permettant
d’´evaluer l’int´erˆet de l’imitation de l’utilisateur par le syst`eme. Pourtant, les
r´esultats ne sont pas exploitables `a cause de la faible capacit´e d’imitation
du syst`eme. Par ailleurs, l’influence ne va pour l’instant que de l’utilisateur
vers les agents.
Emergences a posteriori
Jusqu’ici nous avons cherch´e `a produire une approche qui permette
d’en-visager une sup´eriorit´e du tout sur la somme de ses parties. Nous revenons
dans ce chapitre sur les ´el´ements du mod`ele qui permettent cette distinction,
qui nous permettent de d´efinir l’´emergence dans un syst`eme multi-agent.
5.1 Retour formel sur notre mod`ele
Un SMA est un ensemble d’agents, chacun responsable de sa m´emoire,
percevant et envoyant des messages1. Ces entit´es s’ex´ecutent de mani`ere
si-multan´ee ce qui implique une part de non d´eterminisme. Le vie d’un agent est
une succession de traitements qui consomment un message et sont l’unique
occasion d’un changement de la m´emoire d’un agent et de l’envoi de
mes-sages. Dans le reste de ce chapitre, l’indice est une lettre grecque et
corres-pond `a un agent alors que l’exposant est une lettre latine et correspond au
temps.
5.1.1 Relation d’englobant
Nous avons d´efini l’organisation d’un syst`eme `a travers une relation qui
d´ecrit le fait qu’un agent est le p`ere d’un autre. Cette relation que nous
notons O(pour organisation) d´efinit un arbre d’agents dot´e d’une racine.
Cet arbre induit un ordre : pour deux agents α etβ α > β si et seulement
si le chemin de l’arbre de la racine `aβ passe parα. Autrement dit, αest un
ailleul deβ.
1Dans Ferber [Fer95], on qualifie de tels agents de “purement communiquants”.
119
Notre relation sert `a limiter les envois de messages. Un agent α ne peut
envoyer un message `a un agentβ que siαOβ ouβOα, ce qui inclut son p`ere
ainsi que ses fils. Il peut aussi s’envoyer un message. L’ordre induit nous
permet de dire qu’un message est ascendant si son exp´editeur est sup´erieur
`
a son destinataire, descendant sinon.
Fig. 5.1 – Relation d’ordre partiel entre les agents en pointill´e. En trait
plein la relation “p`ere de”.
Finalement, deux agentsαetβ sont au mˆeme niveau s’il existe un agent
γ auquel ils sont tous deux sup´erieurs et que les longueurs des chemins de
γ `a α et de γ `aβ sont ´egales.
5.1.2 Interactions
Les agents communiquent `a travers des envois de messages. Les envois
de messages ne sont pas bloquants et la r´eception se fait `a travers une file
de messages par agent.
L’ensemble de l’ex´ecution du syst`eme peut ˆetre envisag´ee sous l’angle de
l’interaction `a travers les messages ´echang´es dans le syst`eme. La r´eception et
le traitement d’un message provoquent l’envoi de nouveaux messages. Ainsi
ce mod`ele o`u un message peut en causer un autre nous permet de mettre en
place une relation reliant les messages entre eux.
Plus concr`etement, une ex´ecution d’un SMA donne lieu `a l’´echange d’un
ensemble de triplets constitu´es chacun d’un exp´editeur, d’un message et d’un
destinataire (de, message, vers)2. La relation → d´esigne alors le fait qu’un
message en a provoqu´e un autre `a travers le traitement qu’il a provoqu´e chez
l’agent destinataire, on note ainsi (α, x, β)→(β, y, γ) le fait que la r´eception
du message x envoy´e par α `a β a provoqu´e un traitement produisant le
message y `a destination de γ. En exemple, nous donnons une recherche
simple d’un seul agent heuristique (cf. figure 5.2).
Initier Boucler
Rapporter
Boucler
Boucler
Heuristique
Problème
Fig.5.2 – Une unique recherche, les messages sur la mˆeme ligne sont trait´es
par le mˆeme agent.
Cette relation embarque l’information n´ecessaire `a la compr´ehension de
l’ex´ecution du syst`eme et permet ´egalement de se donner une repr´esentation
visuelle `a travers le graphe correspondant. On note qu’il s’agit alors d’un
graphe orient´e, acyclique car un message ne peut pas `a la fois provoquer et
ˆetre provoqu´e par un autre. Cette relation peut ´egalement ˆetre compar´ee `a
la relation “happened before” de Lamport [Lam78].
5.1.3 Dynamique Agent
L’ensemble des agents est not´e A. Le syst`eme modifie l’ensemble de
m´emoires not´eM, la m´emoire de l’agentαest not´eeMα. Une classe d’agent
correspond `a la d´efinition d’un type de m´emoire et des fonctions de
traite-ment permettant `a l’agent de traiter les messages qu’il re¸coit.
Une fois recentr´e sur l’agent, notre mod`ele implique une s´equence des
m´emoires successives d’un agent, dont les transitions sont ´etiquet´ees par les
messages re¸cus. Cet historique de l’agent permet de rejouer l’ex´ecution de
2
Deux messages sont ´egaux s’ils sont le mˆeme message et non s’ils ont le mˆeme contenu.
Ainsi deux messages distincts, s’ils ont mˆeme contenu, mˆeme exp´editeur et mˆeme
desti-nataire forment deux ´el´ements de l’ensemble des triplets.
l’agent isol´e. Graphiquement, on peut se repr´esenter l’ex´ecution du syst`eme
en combinant graphe de messages et s´equence des m´emoires (cf. figure 5.3).
Initier Boucler Rapporter Boucler Boucler Heuristique Problème
Fig. 5.3 – Une unique recherche o`u les transitions entre m´emoires sont
´etiquet´ees par les messages.
5.1.4 Dynamique gros grain
Nous introduisons ici la notion de temps n´ecessaire `a la description de
la dynamique du syst`eme. L’´etat du syst`eme est compl`etement d´efini par
les m´emoires des agents Mt et leurs files de messages Ft. La dynamique
du syst`eme correspond aux traitements des messages contenus dans les files
des agents. Le syst`eme passe d’un ´etat St = Ft ×Mt `a l’´etat St+1 par
l’application d’une fonction de traitement sur le premier message d’une file
non vide. Cette fonction associe `a la m´emoire ant´erieure de l’agent Mt
α et
au message entrant la m´emoire post´erieureMt+1
α et une liste de messages `a
envoyer plac´es dans les files des agents concern´es formantFt+1. Dans le cas
o`u plusieurs files d’agent sont non vides, l’ex´ecution du syst`eme suit l’un des
chemins possibles3 et devient donc non d´eterministe.
5.1.5 Dynamique grain fin
Nous n’incluons pas dans le mod`ele ce qui se passe au cours du calcul
d’une fonction de traitement. Dans le cadre de la th`ese, nous avons utilis´e
3
plusieurs formalismes pour repr´esenter ces fonctions : un langage
pseudo-algorithmique dans le manuscrit et le langage Java dans l’impl´ementation.
Ainsi notre mod`ele est param´etrable par un mod`ele de calcul.
Dans le document
Intégration de l' émergence au sein des systèmes multi-agent <br />Une étude appliquée à la recherche heuristique
(Page 134-140)