5. Négociation dans les systèmes multi-agents

5.1. Qu'est que la négociation?

Dans un système multi-agents les agents interagissent en vue de réaliser des tâches ou d'atteindre des buts. L'interaction a lieu, d'habitude dans un environnement commun où les agents ont diverses zones d'influence, notamment diverses parties de l'environnement sur lesquelles ils peuvent agir. Ces zones peuvent être disjointes mais, dans la plupart des cas, elles se superposent - l'environnement est partagé par les agents. Rappelez-vous aussi la classification des situations d'interactions possibles entre agents en fonction de leurs buts, ressources et compétences qu'on a discutées dans la section 1.2.2 du chapitre 1. En interagissant dans un tel environnement partagé, les agents doivent coordonner leurs actions et avoir des mécanismes pour la résolution des conflits. La coordination et la résolution des conflits sont surtout nécessaire dans le cas des agents egocentrés (des agents ayants leurs propres buts, désirs, préférences, etc.) ou compétitifs mais aussi bien, parfois, dans le cas des agents coopératifs pour la communication des changements des plans ou l'allocation des tâches (voir le chapitre 6).

Le mécanisme favori pour la résolution des conflits et la coordination, inspiré du modèle des humains, est la négociation.

Dans le cas des agents intelligents et dans les systèmes multi-agents, la négociation est une composante de base de l'interaction surtout parce que les agents sont autonomes (Jenning e.a. 2000); il n'y a pas de solution imposée à l'avance et les agents doivent arriver à trouver des solutions dynamiquement, pendant qu'ils résolvent les problèmes.


Figure 1. Interaction et zones d'influence dans un système multi-agents.

On peut citer plusieurs définitions pour la négociation. David et Smith (1980) disent que:

"Par négociation, on entend une discussion dans laquelle des individus intéressés échangent des informations et arrivent à un accord en commun."

Pruitts (1981) donne une définition qui s'appui sur des considérations psychologiques et pour laquelle le conflit est l'élément de base.

"La négociation est le processus par lequel plusieurs individus prennent une décision commune. Les participants expriment d'abord des demandes contradictoires, puis ils essaient de trouver un accord par concession ou par la recherche de nouvelles alternatives."

Si on regarde les deux définitions citées, on peut identifier deux aspects essentiels de la négociation: la communication et la prise de décisions.

Pour modéliser la négociation dans un logiciel multi-agents il faut alors prendre en compte les aspects suivants:

  • Le langage de négociation - le langage utilisé par les agents pour échanger des informations pendant la négociation; le langage de négociation est composé d'un ensemble de primitives de communication.

  • Le protocole de négociation - l'ensemble des règles qui régit la négociation: les participants possibles dans la négociation, les propositions légales que les participants peuvent faire, les états de la négociation (par exemple l'état initial où commence la négociation, l'état où on accepte des soumissions ou la fin de la négociation) et une règle pour déterminer quand on est arrivé à un accord ou quand il faut s'arrêter parce qu'aucun accord n'a pas n'a pu être trouvé .

  • L'objet de négociation - un objet abstrait qui comprend les attributs qu'on veut négocier; dans certains cas il s'agit de négocier uniquement le prix, mais dans d'autres cas il faut aussi négocier plusieurs attributs comme le temps nécessaire pour satisfaire une commande, la qualité des produits, etc.

  • Le processus de décision - le modèle que l'agent utilise pour prendre des décisions pendant la négociation. La partie la plus importante de la prise des décisions dans ce cas est la stratégie de négociation qui permet de déterminer quelle primitive de négociation l'agent doit choisir à un certain moment. Le processus de décision revient à répondre à la question: "Que dois-je faire maintenant?", par exemple liciter enchérir, abandonner, etc. Pour prendre une décision adéquate, un agent doit être capable de faire un raisonnement stratégique, notamment raisonner en tenant compte de ce que font/décident les autres agents et, s'il parvient à le savoir ou à le supposer, quel est le modèle de décision des autres agents.

Le protocole établit les règles de négociation. Par exemple, une négociation peut avoir lieu en un seul tour, comme l'enchère premier-prix offre-cachée, ou en plusieurs tours avec les participants faisant des offres (soumission) à chaque tour. L'exemple qui suit (qui peut avoir lieu aussi bien entre agents humains que logiciels) montre une négociation avec plusieurs tours.

Agent A: Je te demande de trouver une compagnie aérienne qui offre des vols Paris-Bucarest et retour en dessous de 300 euros.

Agent B:
Oui, je peux le faire, pourvu que tu m'indiques le site plus "cool" où je pourrai acheter (en-ligne) des CD de musique.

Agent A: Je peux te donner l'adresse de ce site pourvu que tu me dises ce que tu as acheté.

Agent B: D'accord.

Le nombre de participants et les interactions possibles peuvent aussi varier:

  • négociation un-à-un: un agent négocie avec un autre, par exemple dans le cas ou on essaie de négocier le prix d'achat d'une maison avec le représentant d'une agence immobilière

  • négociation un-à-plusieurs: un seul agent négocie avec plusieurs autres agents, par exemple les enchères où un agent veut vendre un objet

  • négociation plusieurs-à-plusieurs: plusieurs agents négocient avec plusieurs d'autres agents en même temps, par exemple les participants à des enchères électroniques comme celles organisées par eBay (http://www.ebay.com).

Question: Quel type de protocole du point de vue du nombre de participants on a dans l'exemple avec l'agent A et l'agent B et quel est l'objet de la négociation?

 

Cliquer ici pour voir la réponse.

<< Section précédente Table de matières Section suivante >>

Politechnica University of Bucharest - 2002