• Aucun résultat trouvé

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.

15

Un 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β.

1

Dans 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.