• Aucun résultat trouvé

2.4 Les affordances en simulation multi-agents

3.1.1 Qu’est ce qu’un agent ?

Bien que l’approche de mod´elisation orient´ee agent et syst`eme multi-agents ait fait ses preuves dans plusieurs domaines tels que la robotique, la sociologie, l’´ecologie, etc. la question de la d´efinition d’un agent reste encore embarrassante. N´eanmoins, toutes les

Chapitre 3. Les syst`emes multi-agents 45

d´efinitions propos´ees par la communaut´e des SMA insistent sur une propri´et´e cl´e d’un agent `a savoir son autonomie.

Ainsi, [Ferber, 1995] consid`ere un agent comme une entit´e autonome, r´eelle ou abstraite, qui est capable d’agir sur elle-mˆeme et sur son environnement, qui, dans un univers multi-agents, peut communiquer avec d’autres agents, et dont le comportement est la cons´equence de ses observations, de ses connaissances et des interactions avec les

autres agents.

De son cot´e Jennings [Jennings et al., 1998], d´efinissent un agent comme ´etant un syst`eme informatique, situ´e dans un environnement, capable d’agir de fa¸con autonome

et flexible pour atteindre son objectif .

Pr´ecisons chacun des termes importants de ces d´efinitions :

— situ´e signifie que l’agent per¸coit son environnement et qu’il est capable de le mo-difier ;

— autonome, signifie qu’un agent est en mesure d’agir sans contrˆole ou intervention externe et qu’il est capable de contrˆoler son ´etat interne ainsi que ses actions ; — flexible, signifie qu’un agent doit pouvoir avoir un comportement : (i) r´eactif,

c’est-`a-dire r´epondre en temps opportun aux changements de son environnement (ii) proactif, c’est-`a-dire manifester un comportement guid´e par ses propres buts et pouvoir, par cons´equent, prendre l’initiative d’agir ind´ependamment de son environnement (iii) social, en pouvant interagir avec d’autres agents pour atteindre son but et ´eventuellement les aider dans leurs activit´es.

De ces d´efinitions ressortent les propri´et´es cl´es d’un agent : en plus de l’autonomie, la capacit´e d’agir et la capacit´e de perception (figure 3.1). Dans le cadre de cette th`ese nous adoptons la d´efinition propos´ee par [Ferber, 1995]. Cette d´efinition fournit les principales caract´eristiques d’un agent sans pour autant limiter la notion d’agent `a un type particulier (voir ci-apr`es les architectures d’agents).

Chapitre 3. Les syst`emes multi-agents 46

Les diff´erentes ´ecoles de pens´ee sur la conception de l’action que nous avons pr´esent´ees dans le chapitre 1 ont donn´e naissance `a deux architectures diff´erentes d’agent : les architectures cognitives et les architectures r´eactives.

Architecture cognitive. Un agent cognitif est caract´eris´e par sa capacit´e `a raison-ner sur les connaissances qu’il per¸coit de son environnement et des autres agents, de m´emoriser les situations, d’anticiper les r´esultats des actions et, par cons´equent, de pr´evoir des ´ev´enements futurs et de planifier ses propres actions. L’architecture la plus repr´esentative du type d’agent cognitif est sans doute l’architecture BDI Belief, De-sires, Intention [Rao et Georgeff, 1995]. Cette architecture trouve ses inspirations dans les travaux sur le raisonnement pratique [Wooldridge, 1999]. Le raisonnement pratique implique deux processus : d´ecider `a tout moment quel est le but `a atteindre (d´elib´eration) ; et sp´ecifier comment atteindre ce but (planification).

L’algorithme suivant pr´esente le fonctionnement de base d’un agent BDI.

algorithme 1 BDI interpreter

B ← B init; I ← I init;

/** boucle infinie **/

tant que true faire

getPerception(perc) ;

B ← belief revision(B, perc) ; D ← options(B, I) ;

I ← filter(B, D, I) ;

plan = find plan (B, I) ; execute(plan) ;

fin tant que

En r´esum´e, un agent BDI met `a jour de fa¸con continuelle ses croyances en fonction des informations qui lui proviennent de son environnement via la fonction getPerception(). A partir de ses croyances et de ses intentions formul´ees auparavant, il g´en`ere une liste d’options ou d’objectifs qu’il juge capable d’atteindre en utilisant la fonction options(B,

I). Cette liste fera l’objet par la suite d’un processus de filtrage filter(B,D,I) qui permet

de maintenir ou d’annuler les intentions formul´ees auparavant ou de d´eterminer de nou-velles intentions. Enfin, en se basant sur ces derni`eres, l’agent calcule son plan d’actions avec la fonction find plan (B, I).

L’approche BDI a fait l’objet de plusieurs impl´ementations, les plus connues sont PRS [Georgeff et Lansky, 1986] et son successeur dMARS [d’Inverno et al., 1997].

Chapitre 3. Les syst`emes multi-agents 47

Architecture r´eactive. Au milieu des ann´ees 80 les chercheurs dans le domaine de l’IA ont ´et´e confront´es `a la question de comment concevoir des agents autonomes four-nissant un comportement robuste face `a un environnement incertain et impr´evisible [Brooks, 1991b]. La r´eponse `a cette question a donn´e naissance aux architectures r´eactives. Ainsi, l’id´ee d’un agent r´eactif vient principalement des travaux de Brooks [Brooks et Connell, 1986, Brooks, 1991b], qui s’est oppos´e aux mod`eles symboliques en intelligence artificielle classique. Brooks sous le slogan the world is the best model of

itself postule qu’un agent n’a pas besoin de construire et de maintenir un mod`ele

de l’environnement, ni d’avoir des processus de raisonnement et de planification pour manifester un comportement intelligent. Un agent peut tout simplement percevoir son environnement via ses capteurs et agir en cons´equence via ses effecteurs. Pour tout ce qui a trait `a l’intelligence, elle est le fruit des interactions dynamiques entre un agent et son environnement local, y compris d’autres agents. L’exemple des colonies de four-mis en est la preuve [Drogoul, 1993]. Le comportement d’un agent r´eactif est donc de type stimulus-r´eponse oucondition-action . Plusieurs architectures d’agent sui-vant ce courant de pens´ee ont ´emerg´e depuis les ann´ees 80. La plus repr´esentative est l’architecture de subsomption, figure 3.2 [Brooks et Connell, 1986].

Un agent r´eactif poss`ede ainsi plusieurs caract´eristiques [Brooks, 1991b] :

— situ´e (situatedness en anglais) : un agent est situ´e dans l’environnement, il ne mani-pule pas des descriptions abstraites de celui-ci mais base plutˆot son comportement sur la perception directe qu’il en a localement ;

— incarn´e (embodiment en anglais) : un agent poss`ede un corps et est en interaction directe avec son environnement par son interm´ediaire ;

— intelligence : l’intelligence d’un agent n’est pas limit´ee `a son architecture interne mais aussi `a son couplage direct avec l’environnement.

— ´emergence : enfin, l’intelligence de tout le syst`eme ´emerge de l’interaction de l’agent avec son environnement et d’une interaction indirecte entre l’ensemble des agents. Les architectures r´eactives ont montr´e leurs performances principalement dans le do-maine de la robotique, mais elles souffrent de plusieurs probl`emes. Principalement, elles sont des solutions tr`es sp´ecifiques au domaine de leurs applications et sont difficilement r´eutilisables. De plus, du fait qu’un agent r´eactif ne poss`ede ni m´emoire ni processus de raisonnement, leur construction est difficile car il faudrait soit pr´evoir toutes les situa-tions possibles afin de coder tous les comportements possibles de l’agent ou bien leurs fournir suffisamment de connaissances dans leur environnement local pour qu’ils puissent d´ecider des actions `a mener [Maes, 1990, Wooldridge, 1999].

Il convient de pr´eciser que les agents r´eactifs sont souvent consid´er´es comme agissant selon la vision de l’action situ´ee. Ceci car cette approche favorise le couplage direct entre

Chapitre 3. Les syst`emes multi-agents 48

la perception et l’action ainsi que l’interaction dynamique de l’agent avec son environne-ment. Nous allons revenir dans le chapitre 5 sur notre positionnement par rapport aux agents r´eactifs et leurs inconv´enients.

Stimuli 1 Stimuli 2 Stimuli 3 Default Action 1 Action 2 Action 3 Action n Capteurs Effecteurs Capteurs Environnement

Figure 3.2 :Architecture de subsomption.

A partir de ces deux architectures d’agents qui sont diam´etralement oppos´ees, une troisi`eme architecture d’agent, dite architecture hybride a ´emerg´e dont le but est de profiter des avantages de ces deux approches et de trouver un juste milieu [Malcolm et Smithers, 1990, M¨uller, 1994, Andriamasinoro et Courdier, 2004]. Une architecture hy-bride combine un sous-syst`eme d´elib´eratif avec un sous-syst`eme r´eactif. Le sous-syst`eme d´elib´eratif permet de repr´esenter les connaissances `a utiliser dans la planification des actions avant leur ex´ecution, tandis que le sous-syst`eme r´eactif maintient la r´eactivit´e, la robustesse et la flexibilit´e de l’agent en cours d’action. Ainsi, une des questions qui font l’objet de recherches actives dans les architectures hybrides est comment lier le sous-syst`eme de planification et le sous-syst`eme r´eactif ? Pour cela certaines approches introduisent une troisi`eme couche entre les deux sous-syst`emes dans le but de les coor-donner.