• Aucun résultat trouvé

7.4.1 Interpr´etations classiques

L’une des notions les plus importantes du paradigme agent est la propri´et´e d’autonomie que l’on attribue `a ce type d’entit´e (cf. section 3.1.1 page45). A l’instar des autres propri´e- t´es fondamentales d’un agent, l’autonomie est une caract´eristique qui poss`ede de nombreuses interpr´etations suivant le contexte o`u elle est consid´er´ee. Goua¨ıch identifie deux approches dif- f´erentes dans la mani`ere dont cette propri´et´e est comprise dans la litt´erature [Goua¨ıch, 2003]. La premi`ere est associ´ee au point de vue de Steels qui propose d’envisager cette propri´et´e suivant une perspective biologique [Steels, 1995]. Son id´ee est que l’autonomie est une propri´et´e inh´erente de tout ˆetre vivant et qu’elle peut donc ˆetre attribu´ee `a une entit´e qui exhibe un comportement qui s’en rapproche :

“It starts from the idea that agents are self sustaining systems which perform a function for others and thus get the resources to maintain themselves. But because they have to worry about their own survival they need to be autonomous, both in the sense of self-governing and of having their own motivations.”

Ici, la notion d’autonomie est donc consid´er´ee comme une cons´equence de l’instinct de survie. Pour un agent logiciel, il s’agit d’accomplir ses propres buts en assurant lui-mˆeme la p´erennit´e de son fonctionnement. Il doit notamment ˆetre capable de s’adapter `a un environne- ment ext´erieur qui ´evolue. L’id´ee fondamentale de cette approche est de consid´erer qu’un agent

7.4 Retour sur la notion d’autonomie 149

est une entit´e autonome car il poss`ede un comportement proactif dirig´e par ses propres buts (goals-directed behaviour ). Sur cette id´ee, [Guessoum & Briot, 1999] ont par exemple propos´e une architecture agent bas´ee sur une extension d’un syst`eme de programmation par objets concurrents (ou objets actifs) de mani`ere `a obtenir des entit´es qui soient capables de contrˆoler leur comportement et de raisonner sur les tˆaches qu’elles doivent accomplir.

La deuxi`eme approche consiste `a d´efinir l’autonomie d’un agent dans le contexte du r´eseau social auquel il appartient. [Sichman et al. , 1994] introduit pour cela la notion de r´eseau de d´ependance sociale (social dependence network ). Bien que le propos ne soit pas de d´efinir l’autonomie d’une mani`ere g´en´erale, ce travail consiste `a utiliser cette notion pour ´evaluer le degr´e d’ind´ependance dont un agent dispose vis-`a-vis de ses cong´en`eres pour r´ealiser ses buts2. L’approche distingue ainsi plusieurs niveaux d’autonomie pour un agent suivant son ind´ependance en termes de ressources ou de comp´etences. Un agent est consid´er´e compl`etement autonome s’il ne d´epend d’aucune autre entit´e pour accomplir ses propres objectifs. Dans ce contexte, l’autonomie est donc synonyme d’ind´ependance. De nombreux travaux utilisent cette interpr´etation.

7.4.2 N´ecessit´e de d´efinir un point de vue computationnel

Comment faut-il comprendre ces diff´erentes approches du point de vue de l’impl´ementa- tion concr`ete d’un agent ? L’ind´ependance d’un agent vis-`a-vis de ses ressources d’ex´ecution semble ˆetre la notion la plus simple `a identifier. Le fait qu’un agent s’ex´ecute sur un syst`eme informatique ind´ependant par exemple [Balasubramaniyan et al. , 1998]. La vision de Steels est plus abstraite car elle repose sur une appr´eciation qualitative du comportement de l’entit´e consid´er´ee. Steels conclut d’ailleurs son article par le constat qu’il n’existe aucun syst`eme qui puisse ˆetre consid´er´e comme un agent v´eritablement autonome. Malgr´e cela, cette vision a l’in- t´erˆet d’ˆetre plus g´en´erale car elle ne d´epend pas de la relation que l’individu entretient avec les autres entit´es du syst`eme. Elle permet ainsi de d´efinir l’autonomie en consid´erant uniquement des caract´eristiques li´ees `a la nature du fonctionnement interne de l’entit´e. Ce qui, du point de vue de l’ing´enierie logicielle, semble plus avantageux car il n’est pas n´ecessaire de consid´erer l’ensemble du syst`eme dans lequel l’agent est plong´e. L’autonomie reste ainsi une propri´et´e individuelle et il est th´eoriquement possible de dire si un agent est v´eritablement autonome en analysant uniquement son fonctionnement interne. C’est pourquoi nous retiendrons cette interpr´etation. Tout le probl`eme est alors de savoir comment cette analyse doit ˆetre r´ealis´ee et, surtout, quels sont les crit`eres objectifs qui permettent de d´eterminer si une entit´e logicielle est effectivement autonome.

Pour ´etablir de tels crit`eres, il est donc n´ecessaire de d´efinir l’autonomie du point de vue de l’impl´ementation [Weiss et al. , 2003]. Sans quoi l’autonomie reste une notion subjective. Pour cela, on ne peut pas d´eriver des principes d’impl´ementation directement de la d´efinition de Steels. En effet, il n’est pas possible de sp´ecifier une fois pour toute ce que doit ˆetre une impl´ementation qui exhiberait un comportement autonome au sens de Steels. Cependant, on peut extrapoler certaines cons´equences de cette vision pour l’impl´ementation. En particulier le fait qu’un agent soit autonome implique certaines contraintes quant `a la mani`ere dont ses va- riables d’´etat sont manipul´ees. Ainsi, une entit´e logicielle qui ne poss`ede pas un contrˆole total sur les variables (et fonctions) qui mod´elisent son ´etat interne ne peut ˆetre consid´er´ee comme autonome car ces variables ne doivent faire l’objet d’aucune intervention ext´erieure. Autre- 2Comme le note Goua¨ıch, l’approche utilis´ee impose une uniformit´e en ce qui concerne le mod`ele de des-

cription utilis´e par un agent pour se repr´esenter les autres. Ce qui n’est pas une hypoth`ese valide dans le cadre des syst`emes ouverts o`u la nature des agents est a priori inconnue.

ment dit, rien ne doit pouvoir modifier le d´eroulement du processus d´ecisionnel d’un agent. Sa d´elib´eration doit ˆetre enti`erement d´etermin´ee par sa seule perception. Dans le contexte de l’ing´enierie logicielle, Goua¨ıch parle de l’int´egrit´e interne de l’agent. Celui-ci explique que l’in- t´egrit´e interne de la structure logicielle (donn´ees et traitements) d’un agent est une condition n´ecessaire `a son autonomie : si cette structure est acc´ed´ee ou modifi´ee par un autre agent, alors la propri´et´e d’autonomie est perdue. Nous adh´erons totalement `a ce point de vue. En fait, si l’int´egrit´e interne d’un agent n’est pas respect´ee, il faut en conclure que l’agent n’est pas maˆıtre de son destin et qu’il n’est donc pas autonome. Cette interpr´etation de la notion d’autonomie a l’avantage d’ˆetre enti`erement fond´ee sur des crit`eres purement informatiques.

Concr`etement, si l’on applique la distinction esprit/corps, les variables d’´etat qui sont utilis´ees dans le processus d´ecisionnel d’un agent ne doivent ˆetre en aucun cas acc´ed´ees ou modifi´ees par une entit´e externe, que ce soit l’environnement ou un autre agent. De plus, les fonctions qui utilisent ces donn´ees ne doivent elles aussi faire l’objet d’aucune influence ext´erieure : le respect de la d´elib´eration d’un agent concr´etise son autonomie. La figure 7.4 illustre cette interpr´etation de l’autonomie.

Agent

Système décisionnel Environnement A = 4 B = 3.2 C = 3 ... Contrainte d'intégrité interne

Les variables d'état et le processus de délibération ne

peuvent être accédés ou modifiés par aucune autre entité

du modèle

AUTONOMIE

perception délibération action

mémoire Composante physique … X = 1 Y = 4 Z = 0 ...

Fig. 7.4 – L’int´egrit´e interne d’un agent : condition n´ecessaire `a son autonomie.

7.4.3 Un agent simul´e peut-il ˆetre autonome ?

L’interpr´etation de la propri´et´e d’autonomie que nous venons de donner doit nous faire poser une question. Peut-on consid´erer que les agents qui sont ex´ecut´es dans un simulateur sont des entit´es autonomes ? A priori, ces entit´es logicielles semblent tr`es loin d’ˆetre dou´ees d’une quelconque autonomie. En effet, tous les agents d’une simulation sont ex´ecut´es et contrˆol´es par une autre entit´e : l’ordonnanceur. En fait, dans le cadre de la simulation, pour que l’int´egrit´e interne d’un agent ne soit pas remise en cause, il suffit de garantir que son architecture interne