Home

GeNCA : un mod`ele général de négociation de contrats entre

image

Contents

1. FIG 3 9 Fichier DTD pour la configuration du protocole de n gociation On y retrouve le d lai de r ponse des participants associ une r ponse par d faut le nombre minimal d accords n cessaires la conclusion du contrat le nombre de tours de parole des participants et le nombre de modifications qu ils peuvent proposer par tour de parole Il est galement indiqu si la r trac tation est autoris e et dans ce cas le nombre maximal de ren gociations qui seront effectu es Nous avons vu diff rents types de n gociation et une proposition d un protocole de n gociation g n ral Nous d crivons ici diff rents param tres permettant a partir du noyau de n gociation de formaliser les diff rents types de n gociation Nous avons choisi de configurer ces param tres dans un fichier et d utiliser le format XML pour ce 3 3 Le niveau n gociation 81 fichier nous avons donc con u un fichier DTD Figure afin de pouvoir valider le fichier de configuration D lai de r ponse et r ponse par d faut Lors de n gociations distribu es comme c est la cas lorsque ce sont des agents qui agissent pour le compte d un utilisateur il se peut qu un participant ne r ponde pas la proposition de l initiateur soit parce qu il est absent soit parce qu une panne est survenue il faut alors que la n gociation ne soit pas bloqu e Afin de permettre la n gociation de continuer un m canisme de
2. 128 135 soe eae ene beens 135 ane 222172227 136 Lae sues et deep eee oe 137 Head 138 EE eE 141 RS 143 bat bond de ss 143 bi oe seen de oe 145 pea pun gas ee 145 Moe Sandee ees OSEERE ESI ET 149 A bees 151 pees eee Fees 152 ix A pet 153 A ARA SARA 154 6 Conclusion et Perspectives 157 A Diagrammes de classes 161 161 Z rA tee See A 154 163 166 167 ARANA Gaus tee eed ence et 167 e peas eee as eee ee 169 dene pach tee ace 4 aot aioe bees a 170 ee ee ee 171 Bibliographie 173 Table des mati res Table des figures ne 14 LO ER R RE ee eee 15 EY eer 15 24 PAG einige eared ares oe 24 TEE EEIT Ae EEEO 26 EE Ea 27 ere 28 A bain 33 xi xii Table des figures ee ee re eee 57 A Ome hee ae 57 See eee Te ee ee eT ee ee eee 58 E 24 Meee bab ars RE 0015 9164 59 60 Rd di Gee R E Sead oe 61 64 65 nd REE GO Boe eee d 73 SAS Gee en ease ee ees 74 D EE 76 a het 78 E ee Tere E 79 80 81 81 82 88 cee dee E AU RUNS 89 3 12 Repr sentation des n gociations des agents de la Figure 3 6 1 PRIT 90 3 13 Repr sentation des n gociations des agents de la Figure ee 90 3 14 Repr sentation des n gociations des agents de la FigureB ol 4 en 90 3 15 Repr sentation des n gociations des agents de la FigureB ol 4 Da 91 3 16 Repr sentation des n gociations des agents de la Figureb 6 5 D sont 91 3 17 Repr sentation des n go
3. FIG 3 10 Repr sentation des n gociations Une droite segment e repr sente les ressources un segment une ressource En dessous de la droite on trouve les contrats pris par l agent ceux qui ont t confirm s face aux ressources concern es Au dessus de la droite les contrats en cours de n gociation sont empil s sur les ressources qu ils n cessitent Certains contrats portent sur une ressource d autres sur plusieurs ressources chaque ressource correspondant un segment La partie inf rieure contient les contrats n goci s sur ces ressources c est dire les contrats pris par l agent les ressources cor respondantes n tant alors plus libres La partie sup rieure contient les contrats qui sont en cours de n gociation sur les ressources correspondantes Cette partie sup rieure re pr sente une matrice o les colonnes sont les ressources et o les contrats arrivent dans une liste de type premier arriv premier sorti En fait il s agit d une matrice dont le comportement est inspir du jeu Tetris les contrats qui arrivent s empilent en cas de conflit sur les ressources Les contrats en cours de n gociation sont ceux situ s la surface base de la colonne ainsi form e les autres tant en attente Lors de la fin d une n gociation le contrat est retir de la surface et celui qui le suivait est alors d bloqu c est dire que la n gociation de ce contrat peut alors commencer Il peut y avoir des
4. SUBSCRIBE pour s inscrire aupr s du serveur de noms il fournit son nom son adresse le type d application qu il souhaite rejoindre et les ressources qu il apporte CONNECT pour se connecter l agent donne son nom et son adresse DISCONNECT pour se d connecter l agent donne uniquement son nom et SEND_MESSAGE pour envoyer un message de n gociation d autres agents l agent donne le message envoyer de type NegotiationMessage et la liste des agents destinataires Le format des messages de n gociation Les agents s changent des messages de type Negotiat ionMessage Ce message comprend en plus de l metteur du message de la primitive de n gociation employ e et des param tres n cessaires pour le traitement de cette primitive l identifiant de la n gociation ainsi que l tat de la n gociation 4 1 Impl mentation du niveau communication 109 Les diff rentes primitives utilis es sont du type NegotiationPrimitive ce sont celles d crites dans le protocole de n gociation savoir PROPOSE pour proposer un contrat ACCEPT pour accepter la proposition de contrat REFUSE pour refuser la proposition de contrat MODIFICATION_REQU EST pour demander une modification du contrat PROPOSE_MODIFICATION pour proposer une modification du contrat CONFIRM pour confirmer le contrat ANNUL pour annuler le contrat RETRACT pour se r tracter d un contrat pris pr c demment et CANCEL pour
5. 144 Chapitre 5 Applications Pour calculer le prix proposer dans le cas d une demande de modification la strat gie suit le comportement sp cifi par l utilisateur La strat gie utilis e dans cet exemple augmente le prix pr c demment propos d un pourcentage al atoire de la somme restant disposition de l agent D autres m thodes d ench rissement peuvent tre utilis es telles que les m thodes lin aire quadratique ou exponentielle qui font varier le prix propos au moyen d une fonction lin aire par exemple f p 2 p quadratique f p p ou exponentielle f p eP 5 2 4 Fichiers de configuration de l application La Figure 6 4 repr sente le fichier de configuration de l application de vente aux ench res Aucune ressource n est commune tous les participants puisque ceux ci vendent des articles qui leur sont propres Comme nous l avons indiqu pr c dem ment la r tractation n est pas autoris e et seule une acceptation est n cessaire pour la vente de l article La r ponse par d faut d un participant est bien entendu un refus Les agents utilisent le communicateur Magique et ne poss dent pas d argent par d faut Un agent qui souhaite vendre des articles doit poss der son propre fichier de confi guration o il indique ses articles Tous les agents doivent galement sp cifier dans leur fichier de configuration la somme d argent dont il dispose La Figure 5 5 repr sente le fichier de configur
6. 2 envoyerA paul jean msg paut g RCE RES 4 seConnecter Jean adresse FIG 3 3 Envoi d un message vers plusieurs destinataires Si l un d eux est d connect le message est stock dans sa boite aux lettres et lui est transmis lors de sa reconnexion 5 RecevoirDe pierre msg La s paration de la couche de communication permet d utiliser diff rents moyens de communication tels que ceux fournis au sein des plateformes multi agents ou en core l envoi d e mails Ceci permet notre mod le d tre int gr dans des applications existantes simplement en d finissant le m canisme de communication utilis Ces dif f rentes impl mentations possibles seront pr sent es dans le prochain chapitre 3 3 Le niveau n gociation Le niveau de n gociation est le niveau principal de notre mod le celui qui contient le coeur de notre mod le g n ral le protocole de n gociation ainsi que la gestion des n gociations que nous avons tablie C est sur ce niveau que s est concentr mon travail de th se Nous pr sentons dans cette section tout d abord le protocole de n gociation puis la gestion des n gociations que nous avons mise en place 3 3 1 Le protocole g n ral de n gociation L objectif du protocole est de d finir les messages que les agents pourront s envoyer avec la dynamique op rationnelle associ e Le protocole de n gociation que nous pro posons est caract ris par une suite de messages chang s ent
7. Jennings and Jackson 1995 Jennings N R and Jackson A 1995 Agent based mee ting scheduling A Design and Implementation Electronics Letters The Institution of Electrical Engineering 31 5 350 352 Jennings et al 1998 Jennings N R Norman T J and Faratin P 1998 ADEPT An Agent based Approach to Business Process Management ACM SIGMOD Record 27 4 32 39 Jonker and Treur 2001 Jonker C M and Treur J 2001 An Agent Architecture for Multi Attribute Negotiation In Nebel B editor Proceedings of the 17th International Joint Conference on AI IJCAT 01 pages 1195 1201 Kersten et al 2001 Kersten G E Noronha S J and Teich J 2001 Are All E Commerce Negotations Auctions In Proceedings of the Fourth International Conference on the Design of Cooperative Systems COOP 2000 Sophia Antipolis France Klein 1991 Klein M 1991 Supporting conflict resolution in cooperative design sys tems IEEE Transactions on System Man Cybernetics 21 5 1379 1390 Korf 1985 Korf R 1985 Depth first iterative deepening An optimal admissible tree search Artificial Intelligence 27 97 109 Kraus 2001 Kraus S 2001 Strategic Negotiation in Multiagent Environments MIT Press Kraus et al 1998 Kraus S Sycara K and Evenchik A 1998 Reaching agreements through argumentation a logical model and implementation Artificial Intelligence 104 1 69 Kuwabara et al 19
8. Sen 1997 Sen S 1997 Developping an automated distributed meeting scheduler IEEE Expert 12 4 41 45 Sen and Durfee 1990 Sen S and Durfee E H 1990 A Formal Study of Distributed Meeting Scheduling Group Decision and Negotiation 7 265 289 Sen and Durfee 1994a Sen S and Durfee E H 1994a On the design of an adaptive meeting scheduler In Proceedings of the Tenth IEEE Conference on Artificial Intelligence for Applications pages 40 46 San Antonio Texas Sen and Durfee 1994b Sen S and Durfee E H 1994b The role of commitment in cooperative negotiation International Journal on Intelligent amp Cooperative Information Systems 3 1 67 81 Sen et al 1997 Sen S Haynes T and Arora N 1997 Satisfying User Preferences While Negotiating Meetings Inernational Journal of Human Computer Studies special issue on Group Support Systems 47 407 427 Sierra et al 1997 Sierra C Faratin P and Jennings N R 1997 A service orien ted negotiation model between autonomous agents In Proc 8th European workshop on Modeling Autonomous Agents in a Multi Agent World MAAMAW 97 pages 17 35 Ronneby Sweden Smith 1980 Smith R G 1980 The Contract Net Protocol high level communi cation and control in a distributed problem solver IEEE Transactions on computers C 29 12 1104 1113 Str bel 2000 Str bel M 2000 A Framework for Electronic Negotiations Based on Adjusted Winner Med
9. method invoked when a modification has been proposed param from the participant who proposed the modification param params the modification kx void judge String from Object params method invoked when all modification propositions have been received void decideModification method invoked when the timer has expired and all modification propositions have not been received void defaultModification FIG 4 4 Interface pour la strat gie c t initiateur 4 4 Interface graphique 119 package fr lifl genca strategy public interface ParticipantStrategy Tnitialisation method that replaces a default constructor param n the negotiator of the agent param th ngagement responsible for the negotiation param c the contract negotiated param nbRes the number of resources param lg the length of the modification x7 void init Negotiator n Engagement e Contract c int nbRes int lg method invoked at reception of a contract proposition param c the proposed contract XX void whatDolanswer Contract c method invoked at reception of modification request return the proposed modification XX Object proposeModification FIG 4 5 Interface pour la strat gie c t participant Pour la r ponse a une proposition de contrat la strat gie value ce contrat grace aux outils fournis puis d cide soit de l accepter et donc demande a l engagem
10. 14h 15h et 15h 16h et qu il a cr un contrat sur les ressources 15h 16h et 16h 17h En cliquant sur un contrat en cours de n gociation une fen tre s ouvre et indique l tat de la n gociation ce moment La Figure 4 15 montre l tat de la n gociation de Jean pour les ressources 14h 15h et 15h 16h avec Paul Pierre et Jacques Jean a re u les r ponses de Pierre et de Paul 4 5 Utilisation du paquetage pour une application 127 Properties E contract created for ressources 14h 15h 15h 16h with Paul Pierre Jacques answer before 10 minutes gt contact participants gt accept of Pierre received gt accept of Paul received Fic 4 15 Etat de la n gociation 4 5 Utilisation du paquetage pour une application Le paquetage que nous fournissons impl mente int gralement la couche de n go ciation et le serveur de noms de la couche de communication et donne des impl men tations par d faut des interfaces des couches de communication et de strat gie Les impl mentations de la couche de communication que nous fournissons per mettent d utiliser les plates formes Magique et Madkit ainsi que des agents centralis s parlant tour de r le et des agents communiquant par e mail Nous fournissons ga lement l agent syst me aupr s duquel les agents des utilisateurs s enregistrent et qui est responsable de l envoi des messages Pour ces quatre modes d utilisation Magiq
11. arriv e d un nouveau participant Jean et la liste des ressources que Jean am ne dans le syst me Chaque agent peut se connecter et se d connecter du syst me lorsqu il le d sire en l indiquant au serveur de noms Lorsqu un agent est d connect le serveur de noms stocke tous les messages son intention dans sa bo te aux lettres cr e son inscrip tion L agent re oit tous les messages de sa bo te aux lettres lors de sa reconnexion au syst me Chaque agent d sirant envoyer un message un ensemble de participants contacte le serveur de noms qui se charge d envoyer le message En effet les participants connaissent seulement le nom des autres participants pas leur adresse Ils doivent donc contacter le serveur de noms pour envoyer leurs messages car il est le seul conna tre les adresses des participants La Figure 3 3 repr sente le m canisme d envoi d un mes sage de Pierre Paul et Jean alors que Jean est d connect Pierre envoie au routeur le message msg et la liste des destinataires Paul et Jean Le routeur consulte la liste des destinataires et envoie le message Paul qui est connect et place le message pour Jean dans sa bo te aux lettres comme il est d connect Lorsque Jean se connecte nouveau le routeur lui envoie le message de Pierre et vide sa bo te aux lettres 74 Chapitre 3 Proposition d un mod le g n ral de n gociation 3 Jean pierre msg Routeur seDeconnecter Jean
12. 157 mod le est portable gr ce la technologie Java et nous avons r alis des applications s ex cutant sur diff rentes plates formes multi agents comme Magique et Madkit et diff rents environnements tels que Windows et Linux Perspectives La premi re perspective moyen terme consiste enrichir notre mod le afin de pouvoir repr senter de nouvelles formes de n gociations et en particulier les n gocia tions combin es les n gociations multi niveaux et la n gociation par argumentation En ce qui concerne les n gociations combin es nous allons reprendre l exemple de la composition d un voyage pour lequel il faut acqu rir les nuits d h tel et les vols aller retour pour la destination voulue Nous allons donc permettre aux agents de par ticiper dans diff rents types de n gociation en m me temps et de g rer les r sultats de ces n gociations afin d obtenir tous les l ments composant le voyage ou aucun La n gociation multi niveaux n cessitera de mettre en place un chainage de plu sieurs contrats qui devront tre n goci s les uns la suite des autres en permettant de revenir en arri re quand un contrat ne peut tre n goci avec succ s Quant la n go ciation par argumentation elle n cessitera l laboration d agents BDI et l utilisation de formules logiques et d un syst me expert pour v rifier les assertions des agents Nous avons pr sent nos perspectives pour les mois venir mais nou
13. 84 Chapitre 3 Proposition d un mod le g n ral de n gociation La famille des n gociations bas es sur le Contract Net Protocol pr sent e en sec tion 2 2 3 page 29 est en partie r alisable avec notre protocole Il est par exemple pos sible d utiliser notre protocole pour une n gociation du type prendre ou laisser si la phase de conversation n est pas utilis e Notre protocole convient galement pour les n gociations multi attributs lorsque ceux ci sont n goci s en m me temps Notre protocole n est n anmoins pas adapt aux n gociations qui doivent tre trai t es en plusieurs tapes par exemple pour n gocier l achat d une voiture on peut n gocier le mod le puis la couleur puis le prix etc Notre protocole ne permet pas de s quencer un contrat afin de le n gocier point par point Il permet cependant de traiter chaque tape du contrat Nous pensons qu il ne faudrait donc ajouter qu un m canisme permettant l initiateur de n gocier chaque tape du contrat l une apr s l autre c est dire lui permettre de cr er un contrat par tape et le succ s de la n gociation d une tape entra nerait le d but de la n gociation de l tape suivante Nous tentons actuelle ment d effectuer cette modification Les n gociations combin es ne peuvent pas non plus tre impl ment es avec ce protocole car elles n cessitent un lien entre plusieurs contrats On ne peut pas cr er deux contrats et dire que les deux do
14. Cette tude est r aliser pour chaque application de n gociation pour laquelle on veut fournir des strat gies de n gociation R alisation d une application de grande envergure Pour valider ce type de travail il est n cessaire de s appuyer sur un contrat industriel permettant la mise en uvre de notre AGL C est pourquoi nous aimerions r aliser une application de n gociation de grande envergure telle qu une centrale d achats qui mod lise les n gociations entre les producteurs et la grande distribution en passant par des grossistes ou des coop ratives Une telle application nous permettrait d asseoir notre mod le et de montrer son utilit et sa facilit d adaptation Annexe Diagrammes de classes A 1 Paquetagefr lifl genca communication interface Communicator sendToAgent sendToserver ResourceWarehouse NamesServer amp NamesServer Resource arehouse getNames addResourcesi publishd correspondingResourcesi receiveFrom genti resources Available Ce paquetage correspond au niveau de communication de notre mod le Afin de communiquer les agents doivent poss der un Communicator qui permet d envoyer un message au serveur pour un agent n gociant ou un agent pour le serveur Ce paque tage comprend une description des messages qui seront utilis s interface Message et les deux types de messages qui seront chang s savoir des messages de liaison
15. Conclusion et Perspectives nir l utilisateur un outil lui permettant de d finir un protocole de n gociation et de l utiliser au sein de GeNCA laboration de strat gies Du point de vue du niveau strat gique nous envisageons d tudier de mani re plus approfondie les strat gies de n gociation Le but de cette th se tant de fournir un mod le g n ral de n gociation entre agents nous n avions pas approfondi le niveau strat gique de notre mod le car comme nous l avons indiqu dans cette th se la strat gie de n gociation est totalement d pendante de l application de n gociation En effet lorsque l on n gocie des rendez vous la strat gie adopt e est totalement diff rente de celle utilis e au cours de ventes aux ench res De fa on plus g n rale il est impossible d utiliser la m me strat gie de n gociation pour des applica tions impliquant des contrats n ayant pas les m mes attributs si l on veut une strat gie optimale pour l application donn e Une strat gie qui consiste toujours accepter les propositions est utilisable quelle que soit l application mais elle ne donne pas des r sultats optimaux pour toutes les applications Notre but est de proposer diff rentes strat gies adapt es aux probl mes les plus courants comme les ventes aux ench res C est un domaine de recherche important qui n cessite une tude d taill e du contexte de la n gociation de ses r gles et de son d roulement
16. En revanche la formule que nous utilisons tient compte de ces pr f rences et est donc mieux adapt e pour converger plus rapidement vers une solution acceptable par tous 3 4 4 Comportement du participant Le comportement du participant peut tre formalis par un graphe figure Tout commence lors de la r ception d une proposition de contrat Le participant passe 100 Chapitre 3 Proposition d un mod le g n ral de n gociation une proposition de contrat value le contrat EN ee X re oit l annulation attend la d cision attend la d cision u contrat de l initiateur de l initiateur re oit l annulation E a une demande re oit la confirmation du contrat de modificatio a contrat jee une Echec modification Succ s otoya envoie une DE une demande de modification re oit l annulation du contrat s lt attend la d cision de l initiateur regoit une nouvelle proposition de contrat FIG 3 23 Le graphe du comportement du participant Cet automate a tats d crit le compor tement du participant face aux messages re us de l initiateur dans l tat 1 Cet tat est celui o l agent examine le contrat l value et choisit soit de l accepter et dans ce cas il passe l tat 2 soit de le refuser et passe l tat 3 Lorsqu il est dans l tat 2 1le participant attend la r ponse de l initiateur qui sera soit la confirmation du co
17. L algorithme propos par Aknine dans consiste dans un premier temps calculer un score associ chaque item g en utilisant la fonction f d finie par f g i 1 T telle que n est le nombre d offres contenant l item g et T est la longueur de l offre i contenant g Cette fonction permet de r partir les diff rents items et les offres qui leurs corres pondent en plusieurs partitions Dans la seconde tape de l algorithme on commence par la cr ation de diff rentes partitions Dans la premi re partition on isole les offres qui poss dent l item de plus faible score et ainsi de suite L tape suivante consiste construire deux graphes le pre mier est pour les items partag s par les offres et le second pour les items non partag s Une fois ces graphes construits la recherche de la solution optimale peut commencer Dans la troisi me tape de r solution on construit le graphe des solutions optimales La Figure 2 9 repr sente l arbre des solutions optimales pour l exemple 2 2 Les diff rents types de n gociation automatique 33 3 7 FIG 2 9 Graphe des solutions optimales obtenu par l algorithme d Aknine Figure issue de Aknine 20041 2 2 4 La n gociation base d argumentation La n gociation base d argumentation est utilis e chez les agents logiques qui pos s dent une base de connaissances avec des pr dicats et des r gles d inf rence L ar gumentation a alors pour but de modifier les cro
18. La n gociation entre les agents s effectue via le service de n gociation qui s occupe de l appariement entre la demande des acheteurs l offre en bien et services des vendeurs et la fixation des prix Cette plateforme recoit les annonces des acheteurs ou des vendeurs et les mises qui r pondent a ces annonces Les r gles de march sont d finies dans des fichiers XML CR D gt E Desi access conre ls X Party RES Operate Start Stop Suspend and Resume GNP CComtrot GNP ES re pe eee _ View operationnal logs _ Produce and view billing informations eT oO Define rules tempa gt gt gt LE A RE 27900 Scriptor Le Browse products and on going negotiations View and select product reference Les Ra View and select quote Reader RS X Edit negotiation nD Choose a template k Edit updatable fields L Rules Editor Create the negotiation Q Add Update Delete Product Referenc TL e ira Dore Product Reference is Se OO NEE PER A description Announcer A Product Category Product Editor URL of a long description Add Update Delete Product Weight lt Panicipate ina negotiation TE Tie HiH Add Update and Cancel Orders View Quote Response LT Negotiator View Adjudication Submitter FIG 2 24 Sc nario d utilisation de GNP Figure issue de Gerin Lajoie 20001 2 3 tat de l art 61 La Figure 2 24 ill
19. USTL f L GeNCA un mod le g n ral de n gociation de contrats entre agents TH SE pr sent e et soutenue publiquement le 2 Novembre 2004 pour l obtention du Doctorat de l Universit des Sciences et Technologies de Lille sp cialit informatique par Marie H l ne VERRONS Composition du jury Pr sident Pr Jean Paul DELAHAYE LIFL Universit des Sciences et Technologies de Lille Rapporteurs Pr Jean Paul BARTH S Universit de Technologie de Compi gne Pr Ren MANDIAU LAMIH Universit de Valenciennes et du Hainaut Cambraisis Examinateur MdC Samir AKNINE LIP6 Universit de Paris VI Directeur Pr Philippe MATHIEU LIFL Universit des Sciences et Technologies de Lille UNIVERSITE DES SCIENCES ET TECHNOLOGIES DE LILLE Laboratoire d Informatique Fondamentale de Lille UMR 8022 B timent M3 59655 VILLENEUVE D ASCQ CEDEX T l 33 0 3 28 77 85 41 T l copie 33 0 3 28 77 85 37 email direction lifl fr Mis en page et compos avec I4TRX et la classe thlifl mes parents ii iii Remerciements Il est toujours d licat de remercier l ensemble des personnes qui ont contribu l aboutissement de mes travaux de recherche Que ceux qui ne sont pas mentionn s ne m en tiennent pas rigueur Je tiens remercier tout d abord Jean Paul Barth s et Ren Mandiau pour avoir accept de rapporter mon document de th se et de m avoir apport leur regard sur mon travail Je r
20. cette extension pr sente certaines limites car elle ne r pond pas un des probl mes entra n s par cette recomposition des t ches En effet un manager doit il favoriser les agents qui postulent pour tout un ensemble de t ches ou ceux qui postulent seulement pour une partie de cet ensemble Et pour quels types d ap plications faut il que les uns soient favoris s par rapport d autres Dans tous les cas si le syst me multi agent est comp titif les propositions mises par les contrac tants risquent d tre moins importantes que celles mises dans le cas d utilisation du Contract Net Protocol car les agents contractants auront tendance r duire leurs propo sitions puisqu ils se proposent pour accomplir plusieurs t ches la fois ce propos dans Aknine et al 2001 les auteurs pensent que cette extension reste fortement d pendante du domaine d application Afin d am liorer le temps de n gociation Sandholm et Lesser consid rent que les agents qui ex cutent s par ment leurs t ches peuvent parfois changer certains contrats Swap contracts La Figure d crit cette situation Les protocoles d finis dans cette approche pour les agents individualistes et les agents coop ratifs sont diff rents Un agent coop ratif peut s engager ex cuter la t che chang e sans compensa tion de la part du gestionnaire du contrat Par contre un agent individualiste impose une compensation pour chaque traitement suppl m
21. confirme alors son contrat aupr s de P P enl ve donc le contrat pris avec Ji de la zone des contrats pris et place le contrat pris avec Jz P envoie une r traction Avant que J ne re oive la r tractation de P les repr sentations des n gociations de P I et Ig sont repr sent es en Figure 3 15 P et Iz ont pris un contrat ensembles et I pense toujours avoir un contrat avec P c est pourquoi le contrat est encore dans la zone des contrats pris 7 FIG 3 16 Repr sentation des n gociations des agents P I et Ip de la Figure 3 6llorsque T demande une modification de son contrat P Lorsque J re oit la r tractation de P il lui demande une modification de ce contrat Le contrat est alors nouveau plac dans la zone des contrats en cours de n gociation dans les repr sentation des n gociations des agents P et J Figure f ZA ZZ FIG 3 17 Repr sentation des n gociations des agents P I et Io de la Figure 3 6 lors de la nouvelle proposition de contrat de I P A la suite de la proposition de modification de P 71 propose un nouveau contrat sur d autres ressources a P L ancien contrat est alors remplac par le nouveau dans la repr sentation des n gociations des agents P et J dans la zone des contrats en cours de n gociation FigureB 17 90 Chapitre 3 Proposition d un mod le g n ral de n gociation FIG 3 18 Repr sentation des n gociation
22. dent contrat pris avec J message r tractation c1 Lorsque I re oit ce mes sage il d cide de demander une modification pour ce contrat P message modifier contrat c1 La ren gociation du contrat c se fait donc automatiquement Cette fois ci consid rons le cas o J est plus prioritaire que 12 pour P Figure 3 7 I demande toujours en premier lieu un contrat P qui accepte et donc le contrat est confirm l propose son tour un contrat P pour les m mes ressources 12 est moins prioritaire que J4 P refuse donc le contrat propos par Ip message refuse Ip demande alors P de proposer une modification pour ce contrat message modifier contrat P lui envoie son tour une modification de contrat message contrat modifi Iz examine alors la modification propos e par P et lui propose un nouveau contrat message propose contrat Afin de voir l utilit d un d lai de r ponse prenons l exemple d crit en FigureB 8 I est l initiateur d un contrat avec n participants P P n gt 5 I4 veut qu au moins 50 des participants acceptent le contrat pour le confirmer La r ponse par d faut est d accepter et le temps d attente est fix 1 minute P et Py refusent le contrat Apr s une minute les autres participants n ont pas r pondu J consid re donc la r ponse par d faut pour ces n 2 participants c est dire qu ils acceptent le contrat Au total il y a donc n 2 acceptations et 2 ref
23. gociation se trouve le probl me des types d op rations permis sur les accords Dans le cas le plus simple la structure et le contenu de l accord sont fix s et les participants peuvent soit l accepter soit le refuser ie prendre ou laisser un niveau sup rieur les participants ont la possibilit de changer les valeurs des crit res de l objectif de la n gociation ie ils peuvent formuler des contre propositions pour s assurer que l accord satisfasse mieux leur objectif de n gociation Finalement les participants peuvent tre autoris s changer dynamiquement la structure de l objectif de la n gociation ce qui permet d ajouter ou de retirer un attribut en cas de blocage par exemple une extension de garantie offerte par le vendeur peut conclure une vente Les mod les d cisionnels des agents le moyen par lequel un agent atteint ses objec tifs de n gociation tout en suivant les r gles de la n gociation La sophistication du mod le tout comme l intervalle des d cisions qui doivent tre prises sont in fluenc s par le protocole utilis par la nature de l objectif de la n gociation et par l intervalle d op rations qui peuvent lui tre appliqu es L importance relative de ces trois th mes varie selon le contexte de n gociation et le contexte environnemental Notre recherche se place dans le domaine des protocoles de n gociation Notre objec tif est de fournir un protocole g n ral de n gociat
24. il attend la suite de son traitement Lorsque le traitement d un contrat est termin il est plac dans l tat TERMINATED et un autre contrat dans l tat READY est choisi pour tre trait Les contrats r cemment trait s sont maintenus dans l tat TERMINATED de fa on faciliter le rattrapage d une panne du manager 2 3 tat de l art 39 Si un contrat dans l tat EXECUTING est d plac vers l tat SUSPENDED ou TERMINATED et qu aucun autre contrat n est dans l tat READY le n ud tente alors d acqu rir un nouveau contrat soit en proposant une offre pour une annonce de t che r cente soit en transmettant un message indiquant qu il est libre name manager report recipients related contractors lt task gt results lt subcontract list gt FIG 2 14 Structure d un contrat Figure issue de Smith 19801 lt contract gt gt La sp cification d un contrat est pr sent e en Figure 2 14 Le nom est l unique identi fiant du contrat le manager est le n ud qui a g n r la t che les destinataires de rapport sont les n uds qui les rapports du contrat doivent tre envoy s le destina taire par d faut est le manager Les contractants en relationavecle contrat sont les n uds qui sont en train de travailler sur des contrats en relation avec celui ci par exemple des sous contrats du m me contrat La t che se compose du type de t che de sa sp cification et des proc dures requises
25. les votants peuvent tre incit s a classer les alternatives non pas selon leurs r elles pr f rences mais de fa on a favoriser l alternative qu ils pr f rent Ainsi classer une alternative autre que sa pr f r e ayant des chances de remporter l lection la fin de sa liste apr s des alternatives ayant peu de chances d tre lues permet de favoriser son alter native pr f r e et de l ser l autre alternative Il semble que Borda lui m me en tait conscient pr textant que sa m thode tait con ue pour des hommes hon n tes Avec notre exemple a remporte 4 4 4 0 1 1 0 14 voix b remporte 3 2 2 3 2 4 1 17 voix cremporte2 0 0 4 4 3 43 16 voix d 2 2 Les diff rents types de n gociation automatique 19 remporte 1 3 3 2 3 2 2 16 voix et e remporte0 1 1 1 0 0 4 7 voix L alternative b est donc le choix social selon la m thode de Borda La m thode de Hare Cette proc dure a t propos e par Thomas Hare en 1861 Le principe g n ral est de d terminer le choix social en liminant successivement les alternatives les moins d sir es Le principe est le suivant si une alternative est class e premi re sur au moins la moiti des listes de pr f rences alors c est le choix social et la proc dure est termin e Si aucune alternative n est class e pre mi re sur au moins la moiti des listes alors on s lectionne l alternative class e premi re sur le moins de listes et on l enl ve de tout
26. mes multi agents PhD thesis Universit Paris 9 Dauphine Huget 2002a Huget M P 2002a Generating Code for Agent UML Sequence Dia grams Technical Report ULCS 02 020 Department of computer science University of Liverpool Huget 2002b Huget M P 2002b A Language for Exchanging Agent UML Protocol Diagrams Technical Report ULCS 02 009 Department of computer science Univer sity of Liverpool Huget et al 2003 Huget M P Bauer B Odell J Levy R Turci P Cervenka R and Zhu H 2003 Fipa modeling Interaction diagrams Technical report FIPA 174 Bibliographie Ishida 2002 Ishida T 2002 Q A Scenario Descripion Language for Interactive Agents IEEE Computer 35 11 42 47 Ito and Shintani 1997a Ito T and Shintani T 1997a An Agenda scheduling Sys tem Based on Persuasion Among Agents In Information Systems and Technologies for Network Society Fukuoka Japan Ito and Shintani 1997b Ito T and Shintani T 1997b Persuasion among Agents An Approach to Implementing a Group Decision Support System Based on Multi Agent Negotiation In Proceedings of the Fifteenth Int Joint Conference on Artificial Intelligence IJCAI97 pages 592 597 Jennings et al 2000 Jennings N R Faratin P Lomuscio A R Parsons S Sierra C and Wooldridge M 2000 Automated Negotiation Prospects Methods and Challenges Int Journal of Group Decision and Negotiation 10 2 199 215
27. roulent sur plusieurs tours Lors d ench res ascendantes le prix est successivement augment jusqu ce qu il ne reste qu un seul acheteur qui gagne le bien au prix final Dans le mod le le plus couramment utilis le prix est conti nuellement augment par le vendeur et les acheteurs quittent les ench res au fur et mesure que le prix d passe leur budget Les autres acheteurs observent les d parts et une fois qu un acheteur a quitt l ench re il ne peut plus y revenir La Figure 2 5jillustre ces ench res en prenant un vendeur et quatre acheteurs Le vendeur annonce un prix de 10 euros tous les acheteurs restent en lice Il annonce alors un prix de 20 euros et l acheteur 4 quitte l ench re Le vendeur continue augmenter son prix et annonce 30 euros Cette fois l acheteur 2 quitte l ench re Le vendeur annonce alors 40 euros puis 50 euros A ce prix l acheteur 1 quitte l ench re et donc l acheteur 3 remporte le bien mis en vente 50 euros Ces ench res sont impl ment es dans AuctionBot Wurman et al 1998 un serveur d ench res en ligne et sont couramment utilis es pour la vente d objets d art ou d anti quit s Ces ench res se d roulent sur plusieurs tours il y a donc discussion entre le ven deur et les acheteurs ce qui est bien notre sens de la n gociation Le protocole de n gociation de ces ench res peut se formaliser ainsi le vendeur propose son article et le prix qu il veut en obtenir un ense
28. sentes dans le jeu en quantit limit es 1 le bl le bois la pierre le bronze l argent O a WN l or Chaque joueur poss de N ressources On note valeur r la valeur de la i me res source et nbCartes r le nombre de cartes repr sentant la i me ressource que le joueur poss de La valeur de la main d un joueur not e valeur main est calcul e par la for mule suivante 6 valeur main 5 valeur r x nbCartes r 5 1 j 1 148 Chapitre 5 Applications Cette formulef montre bien que plus un groupe de ressource est important plus il rapporte En effet l accroissement est quadratique par rapport au nombre de ressources identiques poss d es Prenons l exemple d une main compos e de 3 bois et d une main compos e de 1 bois 1 bl et 1 pierre La premi re main vaut 2 3 18 points alors que la seconde vaut 2 x 1 1 1 3 x 1 6 points Pour parvenir obtenir une main de valeur maximale les joueurs s changent des cartes La seule obligation est d en changer 2 contre 2 Cela oblige parfois les joueurs rompre un groupe de ressources qu il avait form Supposons qu un joueur poss de 5 pierres et 1 bois et qu il veut changer son bois alors il devra aussi c der 1 pierre Les changes peuvent tre nominatifs ou faits par broadcast Trois types d changes sont possibles 1 I change de deux ressources nomm es contre deux autres ressources nomm es par exemple 2 bois
29. sir qui peut tre satisfait par une action service que A peut effectuer mais que B ne peut pas effectuer Appels au propre int r t l agent A croit que la conclusion d un accord sur l objet de n gociation est dans l int r t de B et essaye de convaincre B de cela Pr conditions l agent A doit trouver ou d duire un des d sirs de B qui sera satisfait si l agent B a l objet de n gociation ou A doit trouver un autre objet de n gociation ON qui a t offert auparavant sur le march et d montrer que l objet de n gociation propos est plus int ressant que ON Appel une pratique fr quente l agent A croit que B a refus la proposition parce que B croit que la proposition contredit un de ses buts Dans ce cas l agent A donne B l exemple d une pratique fr quente qui d montre que l acceptation de la propo sition ne contredit pas le but de B Pr condition l agent A doit trouver un autre agent ayant le m me but que B qui a t d j d accord avec une proposition sem blable et qui a vu que l accord n a pas nui ses buts Menace le n gociateur menace de refuser faire offrir quelque chose B ou il menace de faire quelque chose qui contredit les d sirs de B Pr conditions l agent A doit trouver un des d sirs de B directement satisfiable par un objet de n gociation que l agent A peut offrir ou A doit trouver une action qui est contradictoire avec ce qu il croit tre un des d sirs de B Le syst me PE
30. Commerce Journal of Applied Artificial Intelligence 6 Verrons 2001 Verrons M H 2001 Etude de la n gociation entre agents autonomes Universit des sciences et technologies de Lille Rapport de stage de DEA Verrons 2004 Verrons M H 2004 Une forme de n gociation entre entit s vir tuelles In Conf rence MajecSTIC 04 Wise et al 2000 Wise A Cass A G Lerner B S McCall E K Osterweil L J and Jr S M S 2000 Using Little JIL to Coordinate Agents in Software Engineering In Proc of the Automated Software Engineering Conference ASE 2000 pages 155 163 Grenoble France Wurman et al 1998 Wurman P R Wellman M P and Walsh W E 1998 The Mi chigan Internet AuctionBot A Configurable Auction Server for Human and Soft ware Agents In Proceedings of the Second International Conference on Autonomous Agents Agents 98 Minneapolis MN USA 178 Bibliographie R sum Lorsque de nombreux agents interagissent des conflits peuvent survenir Pour les r soudre diff rentes m thodes peuvent tre utilis es comme la coordination les syst mes de vote et la n gociation Celle qui nous int resse dans cette th se est la n gociation base de contrats portant sur des ressources L objectif de notre travail est de concevoir un mod le g n ral de n gociation appel GeNCA Generic Negotiation of Contracts API et une impl mentation de ce mod le Ceci per met un utilisa
31. FIG 4 7 Onglet Cr ation de contrat 44 3 L onglet Messages Gr ce a cet onglet l utilisateur visualise les diff rents messages envoy s et re us par l agent Lors d une n gociation o l utilisateur est l initiateur il peut voir qui a r pondu sa proposition quelles sont les modifications propos es etc L utilisateur voit galement les propositions de contrat qui lui sont faites et ce que son agent a r pondu Il visualise galement les changements de priorit qu il a effectu et l arriv e de nou veaux participants Lorsque l agent n a pas de n gociation en cours un label sp cial crit en rouge s affiche pour pr venir l utilisateur qu il peut quitter son agent sans que cela pose de probl mes La Figure 4 8 montre cet onglet pour l agent Jacques On voit que Jacques s est inscrit le 3 mars 2004 17h30 que 2 personnes taient inscrites avant lui et que Jean est arriv apr s lui Jacques a chang les priorit s des trois personnes inscrites 4 4 Interface graphique 123 NO NEGOTIATIONS IN COURSE no messages 30 03 04 17 30 params received 2 nb participants 2 new part received Jean updating priority of part 0 updating priority of part 1 updating priority of part 2 contract created for ressources 8h 9h 9h 10h with Paul answer before 10 minutes gt contact participants gt accept of Paul received gt confirm sent for ressources 8h 9h 9h 10h to Paul gt proposition r
32. Les objets pour la dynamique de la n gociation comprennent videmment le n go ciateur Negotiator et les micro agents que sont les buts Goal et les engagements En gagement Le n gociateur est la classe principale de ce niveau puisque c est elle qui 162 Annexe A Diagrammes de classes g re les diff rentes n gociations et re oit les messages destin s l agent Le n gociateur garde aussi la trace des n gociations pass es ce qui permet de fonder une strat gie de n gociation sur les r sultats des n gociations pass es Enfin diff rentes classes sont des outils pour la gestion des n gociations comme la matrice Matrix qui g re les n gociations courantes et permet de savoir si les n gocia tions peuvent se d rouler tout de suite ou doivent attendre la lib ration des ressources mises en jeu La classe DecisionsTaken contient les contrats qui ont t conclus sur les ressources disponibles les classes ProposalsReceived et HistoricalResults servent m mo riser les n gociations pass es la premi re concerne les n gociations o l agent tenait le r le de participant la seconde concerne les n gociations dont l agent tait l initiateur Les classes MyDate et XMLReader sont des utilitaires qui permettent de g rer le temps et de lire les fichiers de configuration au format XML ProposalsReceived HistoricalResults matrix ProposalsReceived 0 ProposalsReceivedQ getLeastProposed
33. Lorsqu elles sont communes n importe qui peut entamer une n gociation les impliquant cas des rendez vous Lorsqu elles sont individuelles seule la personne qui les poss de peut engager une n gociation qui les implique cas des ench res Des pr f rences sur les ressources peuvent tre utiles aux personnes afin de d finir quelles sont les ressources qu elles d sirent vivement obtenir et quelles sont celles qui lui sont indiff rentes Par exemple dans le cas de la prise de rendez vous une personne peut pr f rer prendre ses rendez vous entre 10 heures et midi ou 14 heures et 17 heures Les priorit s sont indiqu es sur une chelle de 1 10 o 10 est la valeur la plus prioritaire Afin de n gocier l obtention de ressources nous allons les placer dans un contrat qui sera n goci Ce contrat pourra galement contenir d autres attributs comme un prix pour les ench res anglaises ou hollandaises ou des arguments pour la n gociation base d argumentation 3 1 2 Les personnes Dans chacun des mod les pr sent s une personne formule une proposition une ou plusieurs autres personnes Nous appelons cette personne l initiateur de la n gocia tion et les personnes qui la proposition est faite les participants la n gociation Bien entendu dans la vie de tous les jours nous ne n gocions pas de la m me fa on avec toutes les personnes Par exemple on accepte plus facilement les propositions de ses sup rieurs que de ses
34. Noriega Le march au poisson est une place o se d roulent diff rentes sc nes qui ont lieu en m me temps mais en des pi ces diff rentes et qui ont une continuit causale Chaque sc ne implique divers agents qui agissent selon des r gles bien d finies ce moment pr cis La sc ne principale est l ench re o les acheteurs font des offres pour des caisses de poisson pr sent es par un commissaire priseur qui annonce les prix dans l ordre d croissant protocole d ench res descendantes Cependant avant que ces caisses de poisson soient vendues les p cheurs ont d livrer le poisson au march dans la sc ne d admission des vendeurs et les acheteurs ont d s enregistrer dans le march dans la sc ne d admission des acheteurs De la m me fa on une fois une caisse de poisson vendue l acheteur doit la retirer en passant par la sc ne des r glements des acheteurs pendant que les vendeurs doivent retirer leur paiement dans la sc ne des r glements des vendeurs une fois leur lot vendu La Figure montre le protocole utilis pour la vente des caisses de poisson Le commissaire priseur annonce le prix de vente du poisson et collecte les offres des acheteurs L offre d un acheteur est une promesse d achat au prix indiqu par le commissaire priseur Une fois les offres collect es pendant la p riode de temps allou e le commissaire priseur compte les offres re ues S il n y en a pas il d cr mente le prix et annonce no
35. Pierre Paul et Jean quel que soit le moyen de communication utilis envoi d e mail utilisation au sein d un SMA ou encore agents centralis s 1 Pierre s abonne aupr s du routeur Il envoie son nom son adresse ses ressources et le type d application auquel il souhaite participer 2 Le routeur envoie Pierre la liste des ressources et des participants d j enregis tr s Dans cet exemple la liste des participants est vide car Pierre est le premier s abonner et la liste des ressources contient uniquement les ressources de Pierre 3 Paul s abonne son tour Il envoie son nom son adresse ses ressources et le type d application auquel il souhaite participer 4 Le routeur lui envoie la liste des ressources et des participants d j enregistr s A ce moment la liste des participants contient uniquement Pierre et la liste des ressources l union des ressources de Pierre et de Paul 5 Le routeur signale Pierre l arriv e d un nouveau participant Paul et la liste des ressources que Paul am ne dans le syst me 6 Jean s abonne son tour Il envoie son nom son adresse ses ressources et le type d application auquel il souhaite participer 7 Le routeur lui envoie la liste des ressources et des participants d j enregistr s Cette fois la liste des participants contient Pierre et Paul et la liste des ressources l union des ressources de Pierre Paul et Jean 8 Le routeur signale Pierre et Paul l
36. ability to make and respond to proposals proposals can be made either independently of other agents proposals or based on the negotiation history 3 3 Le niveau n gociation 85 the minimal requirement for the other agents ie not the proposer is that they are able to indicate dissatisfaction with proposals that they find unacceptable If agents can only accept or reject others proposals then negotiation can be very time consuming and inefficient etc To improve the efficiency of the negotiation process the recipient needs to be able to provide more useful feedback on the proposals it receives This feedback can take the form of a critique or a counter proposal From such feedback the propo ser should be in position to generate a proposal that is more likely to lead to an agreement YW 3 3 2 La gestion des n gociations La gestion des n gociations que nous avons choisie permet d effectuer plusieurs n gociations simultan ment lorsqu aucun conflit n apparait sur les ressources impli qu es Diff rentes gestions des n gociations entrant en conflit sont propos es les n gociations sont effectu es soit s quentiellement soit simultan ment Les micro agents Afin de pouvoir n gocier simultan ment plusieurs contrats nous avons choisi de confier la n gociation d un contrat un micro agen Nous avons d fini deux types de micro agents les buts et les engagements Un micro agent but est charg de
37. agents but ou engagement de savoir si le processus de n gociation de leur contrat peut commencer ou non c est le cas lorsque le contrat se situe la surface de la matrice Si un contrat est d j en cours de n gociation sur les ressources n cessaires pour le contrat arrivant ce dernier est alors mis en attente jusqu ce que les ressources soient lib r es La gestion des n gociations est par d faut bas e sur cette matrice Toutefois l utili sateur peut choisir de ne pas utiliser cette matrice et de n gocier simultan ment tous ses contrats Dans ce cas on permet de d buter une n gociation sur une ressource m me si une autre n gociation sur la m me ressource est d j en cours Dans ces deux modes de gestion des n gociations on permet de commencer une n gociation portant sur une ressource d j prise par un contrat 88 Chapitre 3 Proposition d un mod le g n ral de n gociation Exemple de la Figure 3 6 Nous pr sentons ici les repr sentations des n gociations de Pi I et I lors des diff rentes tapes des n gociations de la Figure 3 6 FIG 3 12 Repr sentation des n gociations des agents Pi I et Io de la Figure 3 6 lors de la proposition de contrat de I P Lorsque I propose son contrat P les repr sentations des n gociations des agents sont celles pr sent es en FigureB 12 Les ressources n cessaires au contrat ne sont pas en cours de n gociation le contr
38. alternatives et qui produit soit un l ment de A soit un sous ensemble de A en cas d galit Cette d finition montre qu une proc dure de choix social ne fournit pas n cessaire ment un seul choix mais peut en fournir plusieurs en cas d galit S il est n cessaire de n avoir qu un seul choix social on peut par exemple utiliser une autre proc dure de choix social pour d partager les alternatives qui sont galit pour une proc dure donn e ou m me un simple tirage al atoire Nous d crivons ici diff rentes proc dures de choix social de la pluralit la dicta ture en passant par diff rentes m thodes de notation des alternatives Ces proc dures ont t con ues pour des lections politiques Cette sous section est fortement inspir e du livre Taylor 1995 18 Chapitre 2 D finition et tat de l art Nous illustrons chacune de ces proc dures avec l exemple suivant On consid re un probl me avec n 5 alternatives a b c d et e et 7 personnes dont les listes de pr f rences sont les suivantes P P2 P3 Pa P5 Pe P7 a a a c c b e b d d b d c c c b b d b d d d e e e a a b e c c a e e a Le scrutin uninominal majoritaire un tour pluralit Cette m thode simple consiste nommer choix social l alternative tant class e premi re le plus grand nombre de fois parmi les listes de pr f rences des votants majorit relative C est le syst me de vote classique par excellence qui est utilis
39. ation de strat gies Deux types d outils sont fournis d une part des outils permettant de consulter les listes de priorit d autre part des outils permettant de prendre en compte les n gocia tions pass es Les outils de gestion des listes de priorit mis disposition permettent de r cup rer la priorit d une personne comparer deux personnes pour savoir laquelle est plus prioritaire r cup rer la liste des ressources dans l ordre de priorit que l utilisateur leur a donn r cup rer les ressources libres et dans l ordre de priorit r cup rer les ressources libres ou prises par quelqu un de moins important et dans l ordre de priorit En ce qui concerne les outils permettant de prendre en compte les n gociations pas s es il est possible de conna tre la liste des contrats ou le dernier contrat propos par une personne conna tre les ressources qui ont t propos es par une personne conna tre la ressource la plus resp moins propos e par une personne conna tre la liste des personnes ayant propos un ensemble de ressources conna tre le nombre de fois o une ressource a t propos e par une personne savoir pour un couple personne ressource les taux de succ s et de r tractation pour les contrats propos s par l agent sur cette ressource cette personne Il est ainsi possible de d finir des strat gies telles que si les r
40. communication enverra un message puis demandera tre suspendu jusqu ce qu une r ponse arrive ou qu un timeout expire Ce n ud ne sera alors remis dans la file d attente que lorsque le message sera arriv ou que le d lai aura expir Le graphe du Contract Net Protocol Il y a un graphe pour l initiateur et un pour le participant La Figure et la Table 2 T d crivent l impl mentation du Contract Net Protocol r alis e par Zeus Dans cette impl mentation on remarque que les agents qui sont consid r s comme des coll gues sont pr f r s aux agents pairs par l initiateur de la n gociation l arc A pr c de l arc A2 dans la sp cification 50 Chapitre 2 D finition et tat de l art Protocole cot initiateur Al C Oo A2 Protocole cot participant FIG 2 17 Graphe d impl mentation du Contract Net Protocol Figure issue de Collis and Ndumu 1999b Comportement du contract net c t initiateur N ud Arc Description Condition de transition S1 Indentifie les agents capables de r aliser le but Al S lectionne un sous ensemble d agents capables de r aliser le but et qui sont des coll gues v rifie F A2 S lectionne un sous ensemble d agents capables de r aliser le but et qui sont des pairs v rifie Z S2 Envoie un appel d offres pour s lectionner les agents et attend les r ponses A3 V rifie qu une r ponse positive a t re ue 53 Fait Comportement
41. contre 2 pierre 2 l change de deux ressources nomm es contre deux autres ressources non nom m es par exemple 2 bois contre n importe quoi 3 l change de deux ressources non nomm es contre deux autres ressources nom m es par exemple n importe quoi contre 2 bois Exemple Ressources 1 bl initiales 1 bois 1 pierre 3 argent FIG 5 7 tat initial du jeu Prenons l exemple de 3 joueurs J J2 et J3 Leur jeu initial est donn en Figure 5 7 Supposons que le premier joueur d cide de se d barrasser de sa pierre et de son bl Le joueur Jz lui propose alors 1 bois et 1 or ce qui rapporterait 8 points suppl men taires J Le joueur J3 propose 2 bl en change ce qui n apporterait aucun point suppl mentaire J Ji d cide donc de r aliser l change avec J2 la configuration du jeu tant alors celle de la Figure Cette formule fait partie des r gles du jeu elle permet d tablir un ordre sur les joueurs en fonction des ressources qu ils poss dent Elle ne se rapporte pas la formule que nous avons pr sent e dans notre strat gie de n gociation en 3 4 3 qui elle sert d terminer les ressources proposer dans un contrat 5 3 JNego un jeu de n gociation de ressources 149 Ressources initiales FIG 5 8 tat du jeu apr s le premier change Joueur h 4 h J3 Ressources 1 bl 5 bois initiales 5 pierre 1 bronze FIG 5 9 tat du jeu apr s le second cha
42. convenir d un restaurant aim de tous pour leur sortie commune Ils peuvent ainsi d cider de ne pas aller deux fois de suite au m me restaurant par exemple Pour r aliser cette application un syst me de vote majoritaire peut para tre plus appropri Dans ce type d approche chaque parti cipant donne une voix un restaurant et le restaurant plus pl biscit est alors choisi Il y a donc de fortes chances que le m me restaurant soit choisi pour chaque sortie et la satisfaction des participants n est de ce fait pas garantie En effet si l on prend un exemple avec 5 personnes et 4 restaurants et que chaque restaurant obtient une voix sauf l un d eux qui en obtient deux c est ce restaurant qui sera choisi alors qu il n y a que 2 participants sur les 5 qui l ont choisi Un syst me de n gociation permet en revanche de tenir compte des avis de chacun et d aboutir une solution plus satisfai sante pour les participants Chaque personne tudie la proposition de restaurant faite par l un des participants et celui ci collecte les r ponses et essaie de trouver un restau rant convenant au mieux l ensemble des personnes Cela permet d viter la situation pr sent e auparavant si l on a fix qu au moins la moiti des personnes doivent tre satisfaites avec le choix du restaurant effectu Notre mod le s adapte diff rentes sortes de n gociations commerciales ou non ce qui tait l un des objectifs que nous nous tions fix s L im
43. dans cette th se les principaux travaux en la mati re en commen ant par le plus connu et reconnu le Contract Net Protocol propos par Smith en 1980 pour l al location de t ches dans un r seau Un manager veut d l guer une t che et fait un ap pel d offres pour conna tre les diff rents n uds du r seau pr ts l effectuer pour son compte Il collecte les offres des diff rents contractants et choisit celle qui lui satisfait le mieux La t che est allou e au contractant associ la meilleure offre Le manager attend ensuite les r sultats de l ex cution de cette t che Ce protocole est la base de quasiment tous les travaux sur les protocoles de n gociation y compris les n tres Nous d taillons galement diff rents travaux r alis s aussi bien dans le milieu universitaire comme Kasbah du MIT Magnet de l universit du Minnesota Fishmarket de l insti tut de recherche en intelligence artificielle en Espagne aussi bien que dans le milieu industriel comme Zeus de British Telecoms ou SilkRoad d IBM L tude de ces diff rents travaux nous a permis de d gager un ensemble de caract ristiques fondamentales et ainsi de formuler un tableau comparatif des diff rents syst mes de n gociation que nous avons tudi s en prenant en compte les crit res qui nous semblent les plus impor tants pour un mod le g n ral de n gociation Nous constatons qu aucune plateforme pr sent e ne permet de prendre en compte tous les crit r
44. dans les conversations Cette couche g rant l ensemble des n gociations d un agent c est naturellement dans celle ci que l on trouve les diff rents outils pour la cr ation de strat gies qui permettent de r cup rer des informations sur les n gociations pass es et sur les priorit s des ressources et des personnes La couche strat gique permet de s parer les m canismes de raisonnement sur le comportement utiliser lors d une n gociation du processus de n gociation propre ment parler Afin de pouvoir utiliser diff rentes strat gies de n gociation ces strat gies sont mod lis es par des interfaces l une pour le r le d initiateur l autre pour le r le de participant qu il suffit d impl menter Cela nous permet s abstraire le raisonnement des agents ce qui renforce la g n ricit de notre mod le Nous avons impl ment les deux strat gies de n gociation d crites dans le chapitre pr c dent afin de pouvoir uti liser imm diatement notre syst me L objectif de notre impl mentation est non seulement de pouvoir tre utilis e de fa on automatique c est dire avec des agents r pondant aux diff rentes propositions 132 Chapitre 4 GeNCA une API Java impl mentant notre mod le qui leur sont faites mais galement de fa on manuelle c est dire que c est l utilisa teur humain qui prend les d cisions Pour ce faire nous avons r alis une interface utilisateur g n rique qui est adapt e aux diff rent
45. de la n gociation du contrat qu il a d fini Les contrats pris par l agent Cette structure de donn e permet de m moriser les contrats qui ont t pris par l agent sur les ressources Elle repr sente la partie inf rieure de la repr sentation des n gociations que nous avons d finie dans le chapitre pr c dent en pageBB7 4 2 2 Les objets pour la dynamique de la n gociation Le n gociateur C est la classe principale de notre mod le C est le n gociateur qui g re toutes les n gociations de l agent Il est donc le seul poss der tous les contrats propos s toutes les propri t s des contrats qu il a initi et les r sultats des n gociations C est donc naturellement lui qui fournit des indications sur les n gociations pass es informations utiles pour la cr ation de strat gies C est galement lui qui g re les priorit s des ressources et des participants Il peut donc fournir les ressources dans l ordre de priorit les ressources libres et dans l ordre de priorit les ressources libres ou prises par quelqu un de moins important et dans l ordre de priorit Il peut aussi indiquer si un ensemble de ressources est libre ou non et fournir une repr sentation textuelle des ressources De m me en comparant la priorit des participants il indique si un contrat est plus prioritaire que celui ou ceux d j pris pour les m mes ressources Il re oit les messages de la part du serveur et les traite si c est le
46. des contre propositions Nous avons montr dans cette th se l int r t d un mod le g n ral de n gociation De l tude de ces diff rentes formes de n gociation nous avons d gag plusieurs points communs qui existent entre elles comme la pr sence des participants et de res sources objets de la n gociation ainsi que diff rentes propri t s poss dant des va leurs variables selon la n gociation effectu e comme le nombre de propositions qui sont faites et la possibilit de formuler des contre propositions Ces points communs et ces propri t s nous ont fourni une base pour l laboration de notre mod le g n ral En tudiant le d roulement de ces diff rentes n gociations nous avons galement rep r un ensemble minimal d actes de langages n cessaires pour r aliser l ensemble de ces n gociations Cet ensemble minimal contenant entre autres la proposition d une offre son acceptation ou son refus nous a permis de concevoir notre protocole g n ral de n gociation param trable afin d obtenir un protocole sp cifique pour une n gociation donn e Les param tres correspondent aux diff rentes propri t s des n gociations 155 156 Chapitre 6 Conclusion et Perspectives Notre proposition de mod le g n ral de n gociation a plusieurs objectifs dont la g n ricit la portabilit l uniformisation et l automatisation des envois de messages Nous fournissons en effet un mod le de n gociation g n ral perm
47. des ressources pour chaque personne On remarque que P enverra les ressources dans l ordre suivant hs ha hg ho hi Pa 98 Chapitre 3 Proposition d un mod le g n ral de n gociation ressource priorit s d finies par initiateur P P Ps Zi au ee ER E N EI FIG 3 22 Priorit s donn es aux ressources par l initiateur et les participants quant lui enverra les ressources dans l ordre hg h4 ho hs hi Ps les enverra dans l ordre hy ho ha h3 hs Supposons que chaque participant envoie une seule ressource par demande de mo dification P envoie alors la ressource h5 Pz envoie hg P envoie h et on ne consid re pour l initiateur que la ressource h2 Apr s la premi re demande de modification on aura alors les notes suivantes note h 0 x 10 0 x 10 0 x 5 10 x 1 10 note h2 10 x 10 0 x 10 0 x 5 0 x 1 100 note h3 0 10 0 x 10 10 x 5 0 x 1 50 ha hs note h4 0 10 0 10 0 x 5 0 x 1 0 note hs 0 10 10 x 10 0 x 5 0 x 1 100 Le classement des ressources qui en ressort est donc h2 hs h3 h ha Ce r sul tat tait pr visible puisque l initiateur et P ont la priorit maximale leurs choix se retrouvent donc en premi re position Puis vient le choix de P et celui de P3 La res source h4 n ayant pas t propos e elle se retrouve en derni re position L initiateur va donc proposer un nouveau contrat
48. dif f rentes n gociations sont ind pendantes les unes des autres alors que l ensemble des objets n goci s sont typiquement interd pendants Les n gociations peuvent tre de type diff rent pour chaque objet ou sous ensemble d objets On peut donc rencontrer des ench res anglaises des n gociations de type take it or leave it ou autres Un exemple type de n gociation combin e est la composition d un voyage Pour obtenir un voyage il faut un moyen de transport par exemple un vol aller retour vers la destination choi sie et les nuits d h tel pour la p riode du voyage Le vol aller retour se n gocie avec une compagnie a rienne tandis que les nuits d h tel se n gocient avec une compagnie h teli re Cet exemple est celui retenu pour la Trading Agent Competition TAC une comp tition o diff rents agents sont charg s de composer des voyages pour 8 clients ayant des pr f rences sur les dates de d part et d arriv e ainsi que sur le type d h tel o ils vont r sider Cette comp tition qui a lieu tous les ans depuis trois ans utilise 32 Chapitre 2 D finition et tat de l art AuctionBot comme support logiciel pour les diff rentes ench res Nous avons particip cette ann e la comp tition mais malheureusement une panne technique ne nous a pas permis de participer la finale Benyoucef tudie ces n go ciations et propose un syst me de support aux n gociations combin es CNSS appel CONSENSUS qui
49. diff rents tats des types d offres au sein d une n gociation lectronique et par l m me de d couvrir les r les d acteur les v nements les transitions les gardes et les actions associ s Cela r sulte dans la conception des r les et du protocole du m dium de n gociation lectro nique Les r les sont d finis comme l ensemble de tous les v nements possibles qu un acteur peut d clencher Un graphe d entit s et de relations constitue un sc nario d ac cord Un sc nario d accord repr sente tous les r les n cessaires et le protocole pour la sp cification compl te de la phase d accord d une transaction dans un m dium de n gociation lectronique Le protocole constitue toutes les r gles d un sc nario repr sent par des tats valides et des transitions qui d finissent comment les agents aboutissent un accord Un m dium de n gociation lectronique peut caract riser plusieurs sc na rios d accord qui au moment de l ex cution peuvent tre instanci s en parall le Actor Agent Service 2 Buyer Intermed Seller 7 lt Match Score Mediate Bid Contract Bundle FIG 2 21 Les acteurs dans SilkRoad Figure issue de Strdbel 2001b Les acteurs sont soit un type d agent soit un type de service Un type d agent peut assumer trois r les dans un mod le d organisation de m di
50. du Michigan par Michael P Wellman et Peter R Wurman Son but est de permettre n importe quel internaute de participer aux ench res sur le net AuctionBot est un framework utile a la fois pour le commerce et pour la recherche au sens o il propose une large vari t de types d ench res English Vickrey CDA 42 Chapitre 2 D finition et tat de l art etc et une API pour cr er ses propres agents qui participeront la place de march d AuctionBot Son architecture est asynchrone il stocke les ench res dans une base de donn es et il peut en g rer plusieurs simultan ment Afin de participer aux ench res il faut s enregistrer Les utilisateurs humains peuvent consulter leurs comptes via une page web ou choisir d tre avertis de l avancement des ench res par mail Comme Auc tionBot r pertorie les ench res propos es dans un catalogue organis de fa on hi rar chique un vendeur peut placer son ench re n importe o dans le catalogue existant ou tendre celui ci Il peut galement choisir de mettre son ench re dans le catalogue public ou de la proposer un groupe priv Du point de vue de l impl mentation les agents placent les ench res dans la base de donn es tandis qu AuctionBot collecte les ench res d termine une allocation d apr s un ensemble de r gles d ench res bien d fini et avertit les participants En revanche il n ex cute pas les transactions il n impose pas les changes ni ne v rifie la c
51. es S il en trouve une il propose alors cette solution aux participants qui doivent encore la confirmer sinon le processus de propositions de date heure est it r Si aucune solution n est trouv e le rendez vous est ren goci en changeant les contraintes et ou les participants De m me si un rendez vous doit tre d plac car un autre rendez vous plus important a t pris la m me heure celui ci est ren goci automatiquement Cette application a donc de nombreux points communs avec la n tre comme la prise en compte des pr f rences de l utilisateur la ren gociation automatique et la confidentialit des agendas des utilisateurs Une diff rence est que nous ne d voilons pas la liste des invit s au rendez vous Ito et Shintani Ito and Shintani 1997b Ito and Shintani 1997a utilisent une n go ciation par persuasion et un processus analytique hi rarchique AHP afin d organiser un ensemble de rendez vous Chaque agent donne un poids au rendez vous et un co t aux intervalles de temps Pendant la n gociation du placement des rendez vous si l in tervalle de temps propos pour un rendez vous est rejet sa n gociation est suspendue Lorsque tous les rendez vous ont t trait s il reste une liste de n gociations suspen dues C est l qu intervient la persuasion Si l on prend l exemple d un agent ai qui avait fait une proposition p un agent az et que l agent az l avait refus e et vice versa l agent ai pe
52. et al 1992 Conry S Kuwabara K Lesser V and Meyer R 1992 Multistage Negotiation in Distributed Constraint Satisfaction IEEE Transactions on Systems Man and Cybernetics 21 6 1462 1477 Durfee and Lesser 1989 Durfee E H and Lesser V R 1989 Negotiating task de composition and allocation using partial global planning In Gasser L and Huhns M N editors Distributed Artificial Intelligence volume II pages 229 243 Morgan Kaufmann San Mateo California Faratin et al 1999 Faratin P Sierra C Jennings N R and Buckle P 1999 Desi gning Responsive and Deliberative Automated Negotiators In Proc AAAI workshop on negotiation settling conflicts and identifying opportunities pages 12 18 Orlando FL Gamble and Sen 1994 Gamble R and Sen S 1994 Using Formal Specification to Resolve Conflicts between Contracting Agents In Proc AAAI 94 Wokshop on Conflict Management in Cooperative Problem Solving pages 33 38 Seattle Washington Gerin Lajoie 2000 Gerin Lajoie R 2000 Architecture informatique de gnp version 1 0 Technical report CIRANO Guttman and Maes 1998 Guttman R and Maes P 1998 Cooperative vs Compe titive Multi Agent Negotiations in Retail Electronic Commerce In Proceedings of the Second International Workshop on Cooperative Information Agents CIA 98 Paris France Huget 2001 Huget M P 2001 Une ing nierie des protocoles d interaction pour les sys t
53. fixe son prix de d part et son prix de r serve c est dire le plus petit prix acceptable pour vendre le bien Nous d crivons ici le d roulement de ces quatre types d ench res type d ench res description ascendantes ench res ascendantes publiques descendantes ench res descendantes publiques offres scell es ench res en un seul tour de parole priv es au meilleur prix le vainqueur est celui qui propose le meilleur prix offres scell es ench res en un seul tour de parole priv es au second meilleur le vainqueur est celui qui propose le meilleur prix prix Vickrey mais ne paie que le second meilleur prix FIG 2 4 Descriptions des diff rentes ench res les plus couramment utilis es Les ench res ascendantes vendeur acheteur 1 acheteur 2 acheteur 3 acheteur 4 10e 20e gt gt lt quitter 30e lt quitter 40e gt 50e gt lt quitter adjug 50e FIG 2 5 Exemple d ench res ascendantes Quatre acheteurs sont en comp tition pour obtenir l article Le vendeur augmente continuellement son prix jusqu ce qu il ne reste qu un acheteur Ici l acheteur 3 remporte l ench re pour 50 euros 2 2 Les diff rents types de n gociation automatique 25 Ces ench res sont dites ascendantes car le prix propos pour le bien mis en vente augmente avec le temps Elles sont aussi appel es ench res ouvertes orales ou an glaises Ces ench res se d
54. gie consiste proposer toutes les ressources possibles les unes apr s les autres par ordre de pr f rence Toutes les propositions possibles sont envisag es Par cons quent si une solution existe la strat gie la trouve toujours Le seul risque de ne pas trouver la solu tion est celui provenant du param tre du nombre de tours dans la n gociation En effet si l on suppose que 100 propositions sont possibles mais que le nombre de tours est limit 50 et que la solution est la 60 me proposition alors celle ci ne sera pas trouv e De m me une fois toutes les propositions possibles effectu es la n gociation s ar r te Une m me proposition n est jamais envoy e deux fois Ainsi on est s r que le syst me s arr te toujours 5 2 Un syst me de ventes aux ench res Les syst mes de ventes aux ench res connaissent une recrudescence depuis l ex plosion de l utilisation d Internet On peut citer des exemples de sites de ventes aux ench res tels que eBay Yahoo Ench res qui connaissent une forte utilisation Nous nous proposons ici de r aliser une application de vente aux ench res offres scell es dans laquelle chaque agent doit tre capable de n gocier pour l utilisateur qu il repr sente Pour cela chaque utilisateur d finit une somme d argent qui est sa disposition pour faire ses achats son cr dit et une strat gie d ench re lin aire quadratique etc 5 2 1 Sp cification de l application L ench
55. gociation ce probl me pour obtenir des r sultats optimaux Seul le niveau de n gociation est commun toutes les applications il comprend notre protocole g n ral de n gociation ainsi que le m canisme de gestion des n go ciations que nous avons d fini Notre gestion des n gociations r alise simultan ment toutes les n gociations ne portant pas sur des ressources communes et utilise une ma trice dont le comportement est inspir du jeu Tetris pour les n gociations entrant en conflit Cela permet de n gocier s quentiellement ces n gociations Ce niveau est le plus important de notre mod le et constitue l essentiel de nos travaux de recherche Les points forts de ce niveau sont la possibilit de n gocier simultan ment plusieurs contrats de ren gocier automatiquement les contrats qui doivent tre d plac s et l li mination des deadlocks Notre mod le poss de en outre les qualit s de g n ricit d uniformisation des n gociations et d automatisation des envois de messages Nous allons maintenant d crire l impl mentation de ces niveaux dans l API GeNCA que nous avons r alis e afin de pouvoir tester notre mod le avec des appli cations de n gociation de natures diff rentes et de pouvoir ainsi valider notre mod le 106 Chapitre 3 Proposition d un mod le g n ral de n gociation Chapitre 4 GeNCA une API Java impl mentant notre mod le Nous avons pr sent dans le chapitre pr c dent le mod le g
56. il n existe pas de framework g n rique de n gociation reconnu par tous les chercheurs du domaine Notre objectif est donc de fournir ce framework offrant ainsi un concepteur d applications de n gociation un outil facilitant la sp cification de son application Nous pr sentons dans le chapitre 4 l impl mentation de ce mod le que nous avons r alis sous la forme d une API Java Elle reprend l architecture en trois niveaux qui correspondent trois paquetages diff rents Nous d taillons l impl mentation de cha cun de ces paquetages et plus particuli rement celui concernant la n gociation qui forme le c ur de notre mod le Nous y pr sentons galement le paquetage concernant l interface utilisateur que nous avons labor e afin qu un utilisateur humain puisse in teragir avec son agent durant les n gociations Enfin nous pr sentons la fa on d utiliser notre paquetage pour la r alisation d une application Le but de cette r alisation est de faciliter le d veloppement d applications de n gociation avec notre mod le g n ral Comme le veut notre mod le cette r alisation permet d utiliser n importe quel type de communication entre agents par sockets par e mail etc gr ce la d finition d une interface de communication et de choisir la stra t gie de n gociation adopter pour l application l encore travers l impl mentation de l interface de la couche strat gique Nous pr sentons dans le chapitre 5
57. l ensemble des participants est constitu uniquement de P et prend la d cision de confirmer le contrat Il envoie donc P le message confirme 3 Examinons un exemple de n gociation faisant intervenir 3 personnes P et Ip Figure 3 6 Pour cet exemple P consid re que J est plus prioritaire que I4 Dans un premier temps J propose un contrat c P qui accepte J joue le r le de l agent ini tiateur et P celui de l agent participant J cr e le contrat et envoie P le message 78 Chapitre 3 Proposition d un mod le g n ral de n gociation 2 Pro Pose c2 gt a N 6 co linea e FIG 3 6 Exemple de n gociation avec ren gociation I propose un contrat P qui l accepte Puis Iz propose P un contrat entrant en conflit avec le pr c dent P trouve ce nouveau contrat plus avantageux et l accepte Comme Iz confirme le contrat P se r tracte pour celui qu il avait pris avec I I entame donc une ren gociation du contrat avec P propose c Pi re oit le contrat l tudie et envoie le message accepte J pour lui si gnaler qu il accepte les termes du contrat J confirme donc le contrat aupr s de P message confirme c1 Puis I2 propose un contrat c2 P pour les m mes ressources Pi consid rant I gt plus prioritaire envoie un message accepte Iz Celui ci confirme le contrat aupr s de P message confirme c2 P prend alors le contrat avec 12 et annule le pr c
58. la n gociation d un contrat pour lequel l agent tient le r le d initiateur Un micro agent engagement est charg de la n gociation d un contrat pour lequel l agent tient le r le de participant Chaque micro agent est responsable de la n gociation du contrat pour lequel il a t cr et a la charge de suivre le protocole de n gociation qui a t d fini pour l application Les micro agents sont ind pendants les uns des autres ce qui leur permet de n gocier leur contrat en m me temps La repr sentation graphique des n gociations Afin de repr senter les n gociations nous avons d fini un mod le graphique Fi gure B 10 Une droite segment e repr sente l ensemble des ressources disponibles Nous parlons de micro agents car chaque micro agent a sa propre forme d autonomie En effet chaque micro agent r agit aux messages de n gociation qui lui arrive et envoie une r ponse l initiateur s il participe la n gociation par exemple l acceptation de la proposition ou l ensemble des participants s il initie la n gociation par exemple la confirmation du contrat Le fonctionnement d un micro agent est d taill dans le prochain chapitre en section 22 86 Chapitre 3 Proposition d un mod le g n ral de n gociation contrats en cours de n gociation Agent A TV Ai LH contrats pris d ja n goci s droite de rep sentation des ressources
59. la r ussite ou de l chec de la n gociation ou 3 1 R ification de ces formes de n gociation 69 alors de poursuivre la n gociation Trois nouveaux actes de langages doivent donc tre mis en place un pour faire savoir aux participants que la n gociation a abouti sur un succ s un autre pour le cas de l chec et un troisi me pour la poursuite de la n gociation Pour poursuivre la n gociation l initiateur peut demander aux participants de modifier la proposition pour qu elle soit plus acceptable pour eux et synth tiser les r sultats afin de formuler une nouvelle proposition Deux actes de langages sont donc n cessaires la demande de modification de l initiateur et la proposition de modification des participants Ces actes de langages sont n cessaires pour am liorer et acc l rer le processus de n gociation En effet si l on ne disposait que de la proposi tion de l acceptation et du refus l initiateur ne pourrait continuer la n gociation qu en proposant un nouveau contrat aux participants Ce nouveau contrat serait choisi par l initiateur sans qu il ne sache s il a des chances de mieux convenir aux participants Il peut alors s couler beaucoup de temps avant que le ni me nouveau contrat propos ne soit accept Tandis qu avec le m canisme de contre propositions l initiateur re oit des informations des participants qui l aident trouver un nouveau contrat qui sera plus satisfaisant pour les participants et ce plus
60. la ressource ne fait pas partie de la liste re ue on lui attribue une priorit discriminante gale a 0 3 4 Le niveau strat gique 97 priorit part init est la priorit du participant part pour l initiateur Cette note est remise jour chaque r ception de modification les notes des nouvelles ressources propos es par participant sont incr ment es par le calcul effectu dans la deuxi me partie de la formule Les nouvelles ressources prises en compte pour l initia teur voient leurs notes augment es par le calcul effectu dans la premi re partie de la formule S il existe une possibilit l initiateur envoie une nouvelle proposition de contrat aux p participants et passe nouveau dans l tat 1 S il n y a pas de nouvelle possibilit alors l initiateur a deux solutions Si le nombre de tours de n gociation est inf rieur au nombre maximal de tours de n gociations alors il demande nouveau aux participants de lui envoyer une modification pour le contrat et passe dans l tat 2 Si le nombre maximal de tours de n gociation est atteint alors l initiateur envoie une annulation pour le contrat et passe dans un tat d chec Lorsque l initiateur est dans l tat de succ s il peut recevoir de la part d un participant une r tractation C est dire que le participant n est plus en mesure d ho norer le contrat L initiateur passe alors dans l tat 4 o il doit d cider que faire face cette
61. le type de n gociation utilis la stra t gie est diff rente On ne n gocie pas de la m me mani re pendant des ench res an glaises o les prix augmentent que lors d ench res hollandaises o les prix descendent Ceci est encore plus vident lorsqu on compare des n gociations n impliquant pas les m mes crit res comme pour le cas d une n gociation commerciale utilisant la notion 6 Chapitre 1 Introduction de qualit de service par exemple pour l utilisation d une partie de la bande passante d un r seau et le cas d une n gociation non commerciale par exemple pour prendre des rendez vous Nous avons donc mis en place une interface entre notre niveau de n gociation et notre niveau strat gique afin que ces niveaux puissent interagir tout en tant interchangeables Le mod le g n ral de n gociation que nous proposons appel lui aussi GeNCA est impl ment sous la forme d une API Java ce qui lui conf re la portabilit que nous sou haitions Cette impl mentation reprend la partition en trois niveaux de notre mod le Nous avons donc trois paquetages communication n gociation et strat gie auxquels nous avons ajout un paquetage pour une interface graphique afin de faciliter l inter action avec un utilisateur humain Le paquetage concernant la n gociation est pr t l emploi et contient toutes les structures de donn es n cessaires la n gociation des diff rents contrats propos s par et aux agents Il u
62. lt application name gt auction lt application name gt lt resources list gt lt resources list gt lt communicator gt fr lifl genca magique MagiqueCommunicator lt communicator gt lt default initiator strategy gt auction AuctionInitiatorStrategy lt default initiator strategy gt lt default participant strategy gt auction AuctionParticipantStrategy lt default participant strategy gt lt protocol gt lt answer delay gt 10 lt answer delay gt lt default answer value refuse gt lt minAgreements gt 1 lt minAgreements gt lt nbRounds gt 20 lt nbRounds gt lt nb modifications by round gt 1 lt nb modifications by round gt lt retraction allowed value false gt lt nbRenegotiations gt 0 lt nbRenegotiations gt lt protocol gt lt default priority value 5 gt lt management value sequential gt lt window value true gt lt application parameters list gt lt application parameter gt lt name gt credit lt name gt lt parameter gt lt class gt java lang Float lt class gt lt value gt 0 lt value gt lt parameter gt lt application parameter gt lt application parameters list gt lt genca gt FIG 5 4 Fichier XML de configuration de l application pour la vente aux ench res 146 Chapitre 5 Applications lt xml version 1 0 gt lt DOCTYPE agent SYSTEM agent dtd gt lt agent gt lt name gt Paul lt name gt lt resources list gt lt resource g
63. messages chang s entre les agents concernent les propri t s contenues dans leur base de croyances Par exemple dans FIPA ACL la pri mitive tell a est utilis e par un agent pour indiquer au destinataire que l expression a est vraie Dans la sp cification de FIPA ACL il y a des pr conditions sur les croyances de l agent qui d terminent la possibilit d utiliser tel ou tel acte de langage Notre mo d le de n gociation ne pr suppose pas que les agents poss dent une base de croyances ni que ce sont des agents BDI Nous ne pouvons donc pas garantir la bonne utilisation des actes d finis dans FIPA ACL au sens o il ne serait pas possible de v rifier les pr conditions requises pour l utilisation de ces actes de langage Certains actes de langage que nous avons d finis ne font galement pas partie des actes d finis dans FIPA ACL Ces diff rents points rendent difficile l utilisation de KQML ou de FIPA ACL dans notre mod le C est pourquoi nous avons d fini nos propres actes de langages qui sont en fait des actes de n gociation 3 1 4 Le mod le g n ral de n gociation Le besoin d un mod le g n ral de n gociation provient de la richesse de types de n gociation diff rents Comme nous l avons montr dans la section pr c dente cer taines notions communes aux diff rentes n gociations peuvent tre r ifi es au sein d un mod le g n ral Cependant il n existe pas de framework g n rique de n gociation re connu
64. n ressources en n contrats portant sur une seule ressource Notre mod le de gestion des n gociations permet de n gocier simultan ment tous les contrats portant sur des ensembles de ressources disjoints et offre la possibilit de n gocier soit s quentiellement soit simultan ment les autres contrats part Fishmarket toutes les plateformes tudi es fournissent un m canisme de si multan it Cependant cette simultan it se fait sans contr le de conflit pouvant appa ra tre entre les n gociations comme c est le cas de Zeus GeNCA en revanche permet 92 Chapitre 3 Proposition d un mod le g n ral de n gociation de v rifier qu il n y a pas de conflit entre deux n gociations avant de les ex cuter en parall le La gestion des deadlocks Les deadlocks constituent un probl me important dans les applications de n go ciation Ils peuvent causer d importants dommages s ils ne sont pas pris en compte et r solus Dans notre mod le un participant une n gociation peut tre l initiateur d une autre n gociation simultan e alors que les ressources sont partag es sans qu il se produise un deadlock Les deadlocks peuvent survenir par exemple lorsqu un agent ne r pond pas une proposition de contrat soit parce que l agent n est plus disponible cause d une cou pure du r seau par exemple soit parce que cette proposition est mise en attente car elle entre en conflit avec une autre n gociation et que la gestion
65. part ce qui n est pas forc ment toujours le cas et d autre part les offres sont propos es successivement sans savoir si elles seront plus proches des offres acceptables pour les autres agents Il nous semble donc n cessaire qu un agent tienne un r le de centralisateur qui collecte les propositions de modifi cation de l offre et en fasse une synth se pour proposer une nouvelle offre ayant de bonnes chances d tre accept e 14 Chapitre 2 D finition et tat de l art a a a3 FIG 2 1 Allocation group e de t ches Cette figure d crit une situation dans laquelle l agent al propose l agent a2 l ensemble de t ches form de t3 et t4 Ce dernier accepte de les ex cuter a3 r pond positivement l agent a1 sur l ensemble des t ches t1 et t2 Nous d crivons maintenant cinq approches propos es par Sandholm Dans la pre mi re approche de Sandholm Sandholm 1993 les d cisions des agents pour lallo cation des t ches sont fond es sur le calcul des co ts marginaux Dans la deuxi me approche d allocation de t ches Sandholm and Lesser 1995 Sandholm et Lesser se sont int ress s au probl me de l allocation de plusieurs t ches en m me temps pour un seul agent cf Figure P T D apr s Sandholm et Lesser leur approche r duit le temps d ex cution des t ches lorsque celles ci sont d pendantes car les moyens n cessaires l ex cution d une t che peuvent servir ex cuter les t ches qui en d pendent N anmoins
66. permet aux agents participants de ne pas avoir garder localement une trace des statuts d taill s de la n gociation Ce m canisme de session permet aux agents de lancer un appel d offres et de conduire d autres travaux simultan ment Le protocole de n gociation pour la planification par contrats est constitu de trois phases un appel d offres la collecte des ench res et la notification des r sultats Un appel d offres contient un ensemble de sous t ches avec pour chaque sous t che l intervalle de temps durant lequel le travail doit tre accompli Ce message inclut ga lement une date limite de r ception des offres la date laquelle le client tudiera les 2 3 tat de l art 53 propositions la date au plus t t o les notifications d acceptation seront envoy es et pour chaque sous t che une fonction de p nalit indiquant aux fournisseurs la p nalit en fonction du temps dont ils seront redevables si ils n arrivent pas d cident de ne pas accomplir le travail Ce message une fois cr est donn la session de march qui le rend disponible tous les fournisseurs appropri s ceux qui sont enregistr s au sein du march et qui peuvent fournir les t ches n cessaires En ce sens l appel d offres est public tandis que tous les autres messages sont priv s Avant de faire suivre le message la session peut le v rifier pour tre s r qu il est conforme toutes les r gles de march et d change q
67. permet de conserver la liste des participants selon le type d application de n gociation qu ils rejoignent ainsi que les ressources im pliqu es dans les n gociations selon le type d application de n gociation auquel elles appartiennent Le serveur conserve galement l adresse de chaque participant et leur attribue une boite aux lettres pour stocker leur courrier lorsqu ils sont d connect s Afin de conserver les ressources le serveur de noms utilise un ResourceWarehouse qui permet d ajouter de nouvelles ressources celles d j pr sentes pour un type d application donn en vitant les doublons et qui permet 110 Chapitre 4 GeNCA une API Java impl mentant notre mod le galement de r cup rer la liste des ressources enregistr es pour un type d application de n gociation donn La m thode receiveFromAgent est responsable de la r ception d un message de type ServerMessage de la part d un agent Quatre messages diff rents peuvent tre envoy s au serveur qui font appel aux quatre m thodes suivantes subscribe name address application type resources cette m thode permet un agent n gociateur de s inscrire aupr s du serveur L agent donne son nom logique pseudo son identifiant physique adresse IP mail etc le type d application de n gociation dans laquelle il veut participer ench res prise de rendez vous etc et ses ressources personnelles qu il va n gocier connect name
68. peuvent tre utilis s pour une m me application de n gociation qui serait ex cut e dans des environnements diff rents Nous montrons aussi qu il est important de s parer la strat gie de n gociation des deux autres niveaux pour permettre un utilisateur de choisir comment il va n gocier sans que cela ne porte cons quence au reste de l application De plus la strat gie de n gociation est intrin s quement li e l application de n gociation et il est bien vident que n gocier une tonne de pommes de terre ne se fait pas de la m me fa on que de n gocier un cr neau horaire pour un rendez vous ou encore l utilisation d une ressource partag e en exclusivit pendant une heure Notre mod le a t impl ment sous la forme d une API Java galement appel GeNCA Afin de valider notre mod le nous avons utilis notre API pour r aliser plusieurs applications comme un syst me de vente aux ench res un syst me de prise de rendez vous et un syst me pour n gocier le choix d un restaurant pour une sortie commune Mots cl s n gociation agent protocole d interaction intelligence artificielle g nie logiciel Abstract When numerous agents interact conflicts may arise To solve them different ways can be used such as cooperation voting systems or negotiation The one which interests us in this thesis is contract based negotiation over resources The aim of our work is to conceive a general negotiation model ca
69. pour GeNCA et via une interface graphique de cr ation d application pour Zeus Il n y a donc pas de diff rence fondamentale entre GeNCA et Zeus sur ce point Par contre les strat gies de n gociation sont s par es du niveau de n gociation dans GeNCA tandis que dans Zeus elles font partie du protocole En effet la strat gie est cod e par l automate d crivant le protocole Chaque tat contient une m thode d ex cution et chaque arc repr sente une condition pour passer d un tat l autre Donc si l on d sire changer de strat gie il faut changer l automate ou du moins son contenu du protocole Zeus tant une plateforme multi agents il n y a pas de travail r aliser en ce qui concerne la communication entre les agents il suffit d utiliser les m thodes fournies Ceci ne constitue cependant pas un point fort de Zeus par rapport GNCA puisque celle ci s utilise avec diff rents modes de communication et que deux utilisations de plateformes multi agents sont fournies 4 6 Conclusion 131 Il est par cons quent plus ais de concevoir une application de n gociation avec GeNCA qu avec Zeus Nous d crivons maintenant deux applications r alis es avec GeNCA afin de montrer sa facilit d utilisation 4 6 Conclusion Nous avons pr sent dans ce chapitre l impl mentation sous la forme d une API Java de notre mod le de n gociation ce qui lui conf re la portabilit que nous sou haitions La structure en trois cou
70. pour la ressource hz Supposons que ce contrat soit nouveau rejet par les participants ce qui est coh rent puisqu au cun d entre eux n a propos cette ressource L initiateur va nouveau demander une modification aux participants P et P2 proposeront alors h4 P proposera hz et l initia teur h3 Les notes seront alors mises jour de la fa on suivante note h1 10 note h2 100 9 x 1 109 note h3 50 9 x 10 140 note h4 0 9 x 10 9 x5 135 note hs 100 Le classement des ressources devient alors h3 ha h2 hs hi Comme hz a d j t propos e elle n entre plus en compte pour la s lection de la nouvelle ressource a proposer Cela garantit que les propositions s arr teront au plus tard lorsque toutes les solutions possibles auront t propos es 3 4 Le niveau strat gique 99 Cette fois ci l initiateur va proposer un contrat pour la ressource h3 aux partici pants Cette proposition a toutes les chances d aboutir d apr s les priorit s qui ont t attribu es a hg par les participants Seul P est susceptible de refuser cette proposition mais comme il a la plus basse priorit pour l initiateur cela ne posera pas de probl me Cette formule permet de tenir compte de la priorit de chaque participant pour l agent initiateur ainsi que de la priorit par participant de chaque ressource propos e De plus les ressources non propos es sont not es de fa on discriminatoire afin qu el
71. pour mener bien la t che dans le r seau de contrats Les r sultats sont ce qui est produit par l ex cution de la t che ils sont transmis aux destinataires de rapport du contrat La liste des sous contratsest la collection des sous t ches g n r es depuis le contrat initial Un sous contrat contient l information gard e par un manager pour une sous t che Le Contract Net est un protocole bas sur l change de contrats qui met en rela tion un agent le manager avec plusieurs autres agents les contractants C est donc de la n gociation de 1 vers n agents Comme avec notre mod le plusieurs n gociations pour des contrats diff rents peuvent avoir lieu simultan ment et un agent peut tenir les deux r les simultan ment pour diff rentes n gociations Mais le Contract Net est un mod le o seul le manager met des propositions les contractants ne peuvent que faire une offre et pas de contre proposition En revanche notre mod le inclut un processus de contre propositions afin de prendre en compte l avis des contractants de mani re aboutir plus rapidement une solution acceptable par tous en comparaison avec un mod le o le manager est le seul d cider quelle nouvelle proposition envoyer sans savoir si celle ci va dans le sens des contractants De plus il n y a pas de message indi quant un contractant qu il n a pas t retenu pour la t che Un contractant n a donc pas le moyen de savoir si l offre qu il a sou
72. priorit personnelle et interface graphique visible 5 1 5 Autres applications de prise de rendez vous D autres chercheurs ont tudi la prise de rendez vous et propos un syst me pour la r aliser Ce sont des applications d di es la prise de rendez vous tandis que nous utilisons un mod le g n ral de n gociation que nous appliquons la prise de rendez vous priori traiter un probl me de prise de rendez vous avec un syst me de n gociation n est ni instinctif ni commun mais nous montrons ici que cela fonctionne parfaitement Sen et son quipe Sen and Durfee 1990 ont d velopp un planificateur de rendez vous qui prend en compte les pr f rences de l utilisateur Diff rentes dimen sions sont consid r es et pour chacune d elles est d finie la pr f rence de l utilisateur Parmi les diff rentes dimensions on trouve le moment de la journ e le jour de la semaine le statut des autres invit s et le sujet de la r union Puis chaque dimension est pond r e de fa on respecter les choix que l utilisateur ferait Par exemple si le patron de l utilisateur propose une r union un moment de la journ e qui ne satisfait pas l utilisateur il accepterait quand m me la proposition Un m canisme de vote est ensuite utilis pour arriver un consensus Le nombre de voix est r parti entre chaque dimension selon leur poids Le protocole de n gociation utilis permet aux participants de formuler des contre p
73. qu il re oit Ce feed back peut prendre la forme d une critique ou d une contre proposition Gr ce de tels feedbacks l initiateur devrait tre en position de g n rer une proposition qui est plus m me de conduire un accord Nous sommes du m me avis et notre mod le de n gociation tient compte de ces remarques Le simple achat d un article dans un magasin o l acheteur paie le prix indiqu ne constitue pas pour nous une n gociation car aucun des protagonistes n a la possibilit de faire des concessions afin d aboutir un accord commun Cette r flexion nous am ne nous interroger au sujet des ench res automatiques En effet lors d ench res lectro niques il n y a pas toujours de concessions entre le vendeur et les acheteurs et seuls le vendeur et le gagnant sont satisfaits de la d cision finale Les autres acheteurs sont insatisfaits de cette d cision car leur avis n a pas t pris en compte Nous d taillons diff rentes formes d ench res automatiques dans la prochaine section de ce chapitre Bien que la n gociation par ench res soit la plus connue d autres formes de n gocia tion existent bas es sur le protocole d interaction du Contract Net Nous les d crivons galement dans ce chapitre Bien qu tant reconnu comme une n gociation le Contract Net n implique pas de discussion ni de contre proposition ce qui constitue une n gociation pauvre nos yeux Les m canismes de vote sont souvent consid
74. r tractation Si le nombre minimal d accords n cessaires la r ussite de la n gociation est encore atteint l initiateur ne fait rien et passe nouveau dans l tat succ s Si ce nombre n est plus atteint ou que la r tractation provient de l initiateur la suite d pend du nombre de ren gociations d j effectu es Si ce nombre est sup rieur au nombre maximal de ren gociations d fini la cr ation du contrat par l initiateur alors l initiateur annule le contrat et passe dans un tat d chec Sinon l initiateur annule le contrat et demande aux participants de proposer une modification pour ce contrat et passe dans l tat 2 La ren gociation est donc automatique pour peu qu elle soit autoris e Evaluation de la formule utilis e pour noter les ressources Prenons un exemple concret pour illustrer le fonctionnement de cette formule Rap pelons tout d abord que les priorit s des ressources et des participants sont comprises entre 1 et 10 et que 10 est la meilleure note possible Le choix de la nouvelle ressource proposer se fait donc en prenant la ressource ayant la plus grande note Dans cet exemple cinq ressources sont pr sentes h hs et l initiateur propose un contrat trois participants P P gt et P3 L initiateur s est donn la priorit maximale 10 il a donn une priorit gale 10 P P2 a une priorit de 5 et la priorit de P3 vaut 1 La figure montre les priorit s respectives
75. ral de n gociation param trable afin d obtenir un protocole sp cifique pour une n gociation donn e Les param tres correspondent aux diff rentes propri t s des n gociations Notre proposition de mod le g n ral de n gociation a plusieurs objectifs dont la g n ricit la portabilit l uniformisation et l automatisation des envois de messages Nous avons en effet l intention de fournir un mod le de n gociation permettant de r a liser plusieurs formes de n gociation diff rentes sans demander de lourde charge de travail un utilisateur Ce mod le prendra toute son ampleur gr ce une impl men tation portable de celui ci offrant ainsi l utilisateur la possibilit de l utiliser concr tement dans son environnement de travail habituel sans avoir installer de nouveaux composants logiciels d pendants de son syst me L uniformisation est une notion tr s importante dans ce domaine de recherche car notre connaissance il y a tr s peu de travaux sur ce sujet Seules une classification dite de Londres et une taxonomie dite de Montr al tentent de r pondre au probl me de la caract risation des n gociations Quant la complexit des n gociations en terme d envois de message l tude que nous avons r alis e sur notre protocole montre que dans le pire des cas lorsqu une n gociation n cessite des ren gociations en cascade impliquant plusieurs fois les m mes personnes avec un message envoy par destina
76. s quentielle est appliqu e Nous avons choisi de r soudre ce probl me en limitant l attente des r ponses des parti cipants et en consid rant une r ponse par d faut Ce d lai d attente des r ponses ainsi que cette r ponse par d faut font partie des param tres du protocole de n gociation voir page 82 Eng NEY Buty But RL R2 R3 R4 RS R6 R7 RS RI R2 R3 R4 R5 R6 R7 R8 FIG 3 20 Une situation de deadlock Deux agents P et P cr ent un contrat sur des ressources communes et le propose l autre Lorsque la gestion s quentielle des contrats conflictuels est utilis e chacun attend la r ponse de l autre avant de donner la sienne Le deadlock est vit gr ce au m canisme de d lai d attente des r ponses Le contrat ayant le plus petit d lai de r ponse sera annul ce qui d clenchera la n gociation de l autre contrat Pour illustrer le cas de la non r ponse d un participant 4 une proposition de contrat qui entre en conflit avec une autre n gociation alors que la gestion s quentielle est ap pliqu e prenons l exemple de deux agents Po et P qui cr ent simultan ment un contrat sur une ressource identique et le proposent l autre Chaque initiateur place son contrat dans la matrice de gestion des n gociations Figure 3 20 Puis la proposition de contrat de l autre initiateur arrive et le contrat est galement plac dans la matrice Comme la gestion s quentielle des co
77. subalternes Afin de garder cette notion de pr f rence entre les personnes on utilise une liste de priorit que l utilisateur peut modifier tout moment Ainsi chaque personne peut d finir une priorit pour chaque autre personne et peut donc tablir une strat gie de n gociation bas e sur ces priorit s 3 13 Un ensemble minimal d actes de langage pour la n gociation Nous d finissons ici un ensemble minimal d actes de langages n cessaires toutes les n gociations d crites pr c demment L ensemble de ces actes de langage avec leur s quencement forment le protocole de n gociation qui permet de r aliser les n gocia tions d crites pr c demment Chacune des n gociations commence par la proposition d un contrat un premier acte de langage sera donc l envoi de la proposition de l initiateur aux participants Puis chaque participant r pond l initiateur soit en accep tant ou en refusant la proposition soit en raffinant la proposition ou en formulant une contre proposition Il faut donc au moins deux autres actes de langage constituants la r ponse refus ou acceptation plus ou moins forte d un participant la proposi tion de l initiateur Dans le cas de l acceptation on peut inclure des param tres permet tant de donner une contre proposition ou de raffiner la proposition ce qui nous permet d avoir exactement deux actes de langage ce stade selon le nombre de tours dans la n gociation l initiateur doit d cider de
78. sur aucune des listes On enl ve donc l alternative d de toutes les listes On obtient donc les listes suivantes P P2 P3 Pa P5 Pe P7 a a a c c b e b b b b b c c c e e e a a b e c c a e e a Nous n avons toujours pas d alternative class e premi re sur au moins quatre listes il nous faut donc nouveau retirer l alternative la moins d sir e Les al ternatives b et e sont galit avec une seule premi re place On enl ve donc ces deux alternatives des listes de pr f rences On obtient alors P P2 P3 Pa P5 Pe P7 a a a C C C C C C C a a a a 20 Chapitre 2 D finition et tat de l art L alternative c est class e premi re sur quatre listes elle est donc le choix social par la m thode de Hare La m thode de Condorcet Cette proc dure a t propos e par le marquis de Condorcet au XVIIIe si cle Le principe est le suivant pour chaque paire d alternatives on d termine le nombre d lecteurs ayant vot pour l une ou l autre en v rifiant sur chaque liste de pr f rences comment l une tait class e par rapport l autre Si une alternative gagne toutes les comparaisons avec les autres ie pour chaque autre alternative prise s par ment elle est mieux class e sur au moins la moiti des listes alors elle remporte le vote Il arrive qu aucune alternative ne soit lue suite au d compte des votes Condorcet avait remarqu une contradiction interne dans cette m thode appel e le paradoxe de Condorcet
79. template de n go ciation 2 4 Conclusion 65 Protocol enforcer assure que les propositions des participants sont post es et en lev es selon les r gles de n gociation Agreement maker assure que les accords sont form s selon les r gles Information updater notifie les participants de l tat courant de la n gociation selon les r gles de visibilit et d affichage Negotiation terminator d clare la fin de la n gociation selon ce qui est sp cifi dans la r gle de terminaison Ce framework a t r alis en utilisant la plateforme Jade les agents communiquent par envoi de messages au format FIPA ACL et Jess a t utilis pour le traitement des r gles Les auteurs travaillent utiliser DAML OIL au lieu de Jess pour avoir une im pl mentation plus ouverte et ind pendante de la plateforme et incorporer d autres formes de n gociation telles que les accords multi parties le Contract Net et la n go ciation par argumentation Ce framework est proche du notre par son protocole g n rique qui est param trable ici par des r gles et qui fournit un m canisme de contre propositions Cependant notre protocole permet en plus de se r tracter d un contrat et de le ren gocier automatiquement De plus nous ne sommes pas li s une plateforme multi agents car nous avons s par notre couche de communication afin de pouvoir s adapter a diff rents moyens de communication comme par exemple l
80. trois applications parmi celles que nous avons r alis es avec GeNCA qui utilisent un mode de communication fondamentalement dif f rent La premi re utilise la communication par envoi d e mails la deuxi me utilise la communication au sein d un SMA et la troisi me utilise une communication synchrone o les agents parlent tour de r le La premi re application est un syst me de prise de rendez vous o les ressources communes tous les participants La seconde est une ap plication de ventes aux ench res qui utilise par cons quent des ressources individuelles aux participants La troisi me application est un jeu de n gociation de ressources appel JNego qui implique des ressources communes tous les participants Ces applications peuvent tre t l charg es l adresse suivante http www lifl fr SMAC projects genca La r alisation de ces diff rentes applications de n gociation permet de valider notre mod le de n gociation En effet notre protocole g n ral est adapt ces applications qui concernent diff rents types de n gociation les n gociations commerciales comme les ench res et les n gociations 4 but non commercial comme la prise de rendez vous ou le choix d un restaurant Nous avons galement r ussi a utiliser diff rents moyens de communication entre les agents soit en les pla ant dans un SMA tels que Magique ou Madkit et en utilisant les moyens de communication qui leur sont propres soit en utilisan
81. vendeur acheteur 1 acheteur 2 acheteur 3 acheteur 4 lt 10e et 40e a 60e J 30e adjug gt 40e FIG 2 8 Exemple d ench res offres scell es au second meilleur prix Quatre acheteurs sont en comp tition pour obtenir l article Chaque acheteur propose secr tement au vendeur un prix pour le bien mis en vente L acheteur ayant propos le prix le plus lev remporte l ench re et paie le second prix le plus lev qui a t propos Ici c est donc l acheteur 3 qui remporte l ench re pour 40 euros Ici aussi il n y a pas de seconde proposition possible et donc pas de n gociation proprement parler Le protocole est identique celui des offres scell es au meilleur prix la seule diff rence tant le prix payer par le gagnant du contrat Les autres formes d ench res Il existe encore beaucoup d autres formes d ench res comme les ench res la bou gie doubles invers es etc Le rituel des ench res la bougie est l identique depuis le XV me si cle les acheteurs sont rassembl s dans une salle et l article en vente est mis prix par un commissaire priseur qui allume alors deux bougies Les acheteurs potentiels portent alors leurs ench res Lorsque celles ci s essoufflent on allume le troi si me feu Si personne ne rench rit avant que la troisi me bougie s teigne l adjudi cation est prononc e Les ench res doubles se d roulent entre plusieurs vendeurs et plusieurs
82. 7 Fichier DTD pour la configuration d un agent Il permet de red finir les valeurs de certains param tres de l application tels que les strat gies de n gociation utilis es l utilisation de l interface graphique la priorit de l agent C est galement dans ce fichier que l utilisateur indique ses ressources personnelles qu il veut n gocier Le fichier personnel de configuration de l agent dont la DTD est pr sent e en Fi gure permet a un utilisateur de red finir les valeurs par d faut de certains pa rametres du fichier commun aux agents et d indiquer les ressources personnelles de 130 Chapitre 4 GeNCA une API Java impl mentant notre mod le l agent qui seront n goci es Il peut ainsi d finir sa strat gie de n gociation et red finir le nombre de tours de parole des participants au cours de la n gociation par exemple Il lui est en revanche impossible de red finir la possibilit de se r tracter et de ren gocier les contrats car cela constitue une caract ristique fixe de l application Pour crire une application avec ce paquetage il suffit donc d impl menter les in terfaces de communication et de strat gies qui sont sp cifiques l application si les impl mentations par d faut ne conviennent pas et de d finir le fichier commun de configuration en XML des agents et bien s r crire ses agents en leur incorporant le n gociateur du paquetage L annexe Blpr sente les classes qu il a fallu crire pour utili
83. 95 Kuwabara K Ishida T and Osato N 1995 AgenTalk Des cribing Multiagent Coordination Protocols with Inheritance In Proceedings of the Seventh International Conference on Tools with Artificial Intelligence TAI 95 pages 460 465 IEEE Mathieu and Verrons 2002 Mathieu P and Verrons M H 2002 A generic model for contract negotiation In Proceedings of the AISB 02 Convention pages 1 8 London UK 175 Mathieu and Verrons 2003a Mathieu P and Verrons M H 2003a ANTS an API for creating negotiation applications In Proceedings of the 10th ISPE International Conference on Concurrent Engineering Research and Applications CE2003 track on Agents and Multi agent systems pages 169 176 Madeira Island Portugal Mathieu and Verrons 2003b Mathieu P and Verrons M H 2003b A Generic Ne gotiation Model for MAS using XML In Proceedings of the ABA workshop Agent based Systems for Autonomous Processing held by the IEEE International Conference on Systems Man and Cybernetics pages 4262 4267 Washington USA IEEE Press Mathieu and Verrons 2004 Mathieu P and Verrons M H 2004 Three different kinds of negotiation applications achieved with GeNCA In Proceedings of the Interna tional Conference on Advances in Intelligent Systems Theory and Applications AISTA In cooperation with the IEEE Computer Society Centre de Recherche Public Henri Tudor Luxembourg Kirchberg Luxembourg Mathieu an
84. ADY lt WAIT FOR TASK PROCESSOR gt OBTAIN TASK PROCESSOR 4 i i V EXECUTING N T ane Da WAIT FOR REPORT SUBCONTRACT A nace lt COMPLETE i CONTRACT 4 A fans ANNOUNCED TERMINATED SUSPENDED MAKE AWARD OUT FIG 2 13 Etats de traitement d un contrat Figure issue de Smith 1980 Les contrats sont trait s selon le diagramme de transition d tats pr sent en Fi gure qui utilise la terminologie des syst mes d exploitation Le processeur de contrat d un n ud est responsable de la transition du contrat travers le diagramme La progression standard entre les tats est en lignes solides Les progressions option nelles sont en lignes pointill es Lorsqu un contrat est affect un n ud IN il est plac dans l tat READY o il attend que le processeur de t ches soit libre Il est alors plac dans l tat EXECUTING et son ex cution est entam e Si des sous contrats sont g n r s ils sont plac s dans l tat ANNOUNCED Un sous contrat peut tre soit affect un autre n ud OUT soit au m me n ud READY Si l ex cution d un contrat ne peut continuer jusqu ce qu un v nement se pro duise r ception d un rapport de sous contrat par exemple le contrat est alors plac dans l tat SUSPENDED et un autre contrat dans l tat READY est choisi pour tre trait Lorsque l v nement attendu se produit le contrat est transf r de retour dans l tat READY o
85. B advertised l tat service appariement 02B matching L action appariement match est associ e a cette transition Si l ensemble des offres concordantes associ a l v nement apparie ment effectu match completed contient une seule offre alors une transition vers l tat offre d achat appari e 02B mat ched a lieu Dans cet tat seul l acheteur peut d clencher des v nements accepter buyer accept refuser buyer decline qui activent des transitions par cons quent l ex cution du framework s arr te et attend qu un agent d clenche un v nement agent event Si l acheteur choisit l option d accepter buyer accept l action contractualiser contract est invoqu e et l offre passe dans l tat en cours de contractualisation 02B contracting Alternativement lors du traitement de l v nement appariement effectu match completed la garde de condition n gt 1 peut tre valu e a vrai Dans ce cas l offre d achat passe l tat d valuation 02B scoring avec l action valuer score et la propri t score maxi mum gal 3 score max 3 L v nement valuation termin e score completed r sulte ensuite en l tat offre valu e 02B scored o l acheteur a de nouveau l option d accepter l une des offres valu es Le projet SilkRoad se concentre sur les n gociations commerciales o sont chan g es des offres de vente et des offres d achat Bien que le sc nario d une n gociation puiss
86. By getMostProposedBy getNumberOfProposalso getProposedBy HistoricalResultso getRetractionRate getRetractionRate getSuccessRateg getSuccessRate resize set setRetractiong G couple tab 0 0 MicroAgent Matrix Matrix Matrixd addMicroAgentQ deleteMicroAgentO isAtSurfaced isEmpty otherContractsForResourcesoTg resized toStringd whoNegotiatesResourcesOfo getWhoProposedi increment resizeParticipants resizeResources toString oe e e e oS e o 0 0 e Oo o o Le Oo xmiReader DecisionsTaken MyDated MyDated addDayso addHours addMinutes cloneQ compareTog getStringd getTimelnMilliso included toStringd DecisionsT akeng DecisionsTakeng add free free removed resize toString hoTook XmlReader getApplicationParameterQ getAttriputed getElement getElement getResources 000000 E 9 Q o o o 060 A 2 Paquetage fr 1ifl genca negotiation interface mMicroAgent addContractInfoQ deleted equals getContractInfoQ getlnitiatorQ getPlacesQ wakeUpo interface mMicroAgentGoal 0000000000000000 00 TIMEOUT accepto contacto deleted modificationRequest proposeModification refuseQ sendAnnuld sendConfirmi Goal accepto addContractInfoQ contacto
87. Gestion des n gociations entrant en conflit pour une ou plusieurs ressources Les contrats c1 et c2 sont en cours de n gociation pour les ressources r1 r3 et r2 Le contrat c3 attend la lib ration des ressources r2 et r3 Le contrat c4 attend la lib ration de la ressource r2 Supposons que le contrat c2 soit annul La ressource r2 est donc lib r e Le contrat c3 ne peut toujours pas tre n goci car la ressource r3 n est pas libre En revanche le contrat c4 qui n cessite les ressources r2 et r4 peut maintenant tre n goci sources sont en cours de n gociation Le contrat c3 est donc plac dans la matrice dans les colonnes correspondants aux ressources r2 et r3 au dessus des contrats c et c2 La n gociation du contrat c3 est mise en attente Un quatri me contrat c4 arrive ensuite Ce contrat porte sur les ressources ro et r4 Comme la ressource ro est en cours de n gociation pour le contrat co le contrat est plac au dessus des autres Comme cs le contrat c4 est mis en attente Supposons que la n gociation du contrat co soit termin e Le contrat co est donc retir de la matrice lib rant ainsi la ressource rs Le contrat c3 ne peut toujours pas descendre la surface de la matrice car la ressource r3 n est pas libre Donc c est le contrat c4 qui n cessite les ressources rz et r4 qui tombe la surface de la matrice Le processus de n gociation du contrat c4 commence alors C est cette matrice qui permet aux micro
88. IP Theme pages 359 371 Cambridge UK Amgoud and Prade 2004a Amgoud L and Prade H 2004a Generation and eva luation of different types of arguments in negotiation In 10th International Workshop on Non Monotonic Reasoning NMR 2004 Session Argument Dialogue Decision Whist ler Canada Amgoud and Prade 2004b Amgoud L and Prade H 2004b Un mod le de n gociation bas sur la logique possibiliste In Congr s Francophone Reconnaissance des Formes et Intelligence Artificielle RFIA 2004 Toulouse France Andersson and Sandholm 1998 Andersson M and Sandholm T 1998 Leveled commitment contracting among myopic individually rational agents In Proceedings of the Third International Conference on Multiagent Systems ICMAS pages 26 33 Paris France 171 172 Bibliographie ASA 2003 ASA 2003 Emploi du temps Technical report groupe ASA du GDR 13 Barbuceanu and Fox 1995 Barbuceanu M and Fox M S 1995 COOL A Lan guage for Describing Coordination in Multi Agent Systems In Lesser V and Gas ser L editors Proceedings of the First International Conference oil Multi Agent Systems ICMAS 95 pages 17 24 San Francisco CA USA AAAI Press Bartolini and Preist 2001 Bartolini C and Preist C 2001 A Framework for Auto mated Negotiation Technical Report HPL 2001 90 HP Laboratories Bristol Bartolini et al 2002a Bartolini C Preist C and Jennings N R 2002a Architectin
89. RSUADER est un autre syst me bien connu qui utilise la n gociation par argumentation Les agents du syst me sont con us pour r soudre les probl mes existant entre une compagnie et l organisation syndicale de ses employ s mais le mod le a t aussi appliqu dans le domaine de l ing nierie concurrente 2 3 tat de l art 35 En conlusion nous avons pr sent dans cette section la d finition de la n gociation que nous consid rons dans cette th se ainsi qu une taxonomie des n gociations Cette taxonomie n est bien s r pas exhaustive mais pr sente les n gociations automatiques les plus r pandues actuellement n gociation par argumentation n gociations multi niveaux n gociations combin es FIG 2 10 Hi rarchie des diff rents types de n gociation La n gociation sous sa forme la plus basique est en bas la plus volu e en haut La Figure 2 10 repr sente une hi rarchie parmi les diff rentes formes de n gocia tion La forme la plus primaire de n gociation est le fake it or leave it offer qui ne consiste pas pour nous en de la n gociation Puis un niveau sup rieur de n gociation est repr sent par les syst mes de vote Viennent ensuite les ench res le Contract Net Protocolqui se d roule sur un seul tour de parole les n gociations multi attributs les n gociations multi niveaux et combin es et enfin la n gociation par argumentation Les n gocia tions multi attributs sont situ es entre le Co
90. Si plusieurs participants l ont accept l un deux sera d sign au hasard ou le premier ayant r pondu comme vainqueur du contrat Echange de 2 ressources propos es contre n importe quoi Dans ce cas il s agit de c der les cartes propos es et d en obtenir deux plus int ressantes en change 5 3 JNego un jeu de n gociation de ressources 151 Si personne n est int ress par ces ressources le contrat est annul Si plusieurs joueurs ont propos deux ressources en change l initiateur confirme le contrat aupr s du participant ayant propos l change e tel que gain e gt gain e Vj i gain e gt 0 j Ge avec gain ez valeur main apr s l change ex valeur main avant l change ex L initiateur annule alors le contrat aupr s des autres participant Si aucune offre ne satisfait ces conditions l initiateur demande alors aux participants d en propo ser d autres demande de modification La strat gie m morise les propositions effectu es afin de pouvoir comparer les offres successives des participants Le principe est le m me lorsque toutes les modifications ont t re ues change de 2 ressources d sir es contre n importe quoi Il s agit ici d obtenir les cartes d sir es et d en fournir deux autres en change Si personne ne veut c der ces ressources le contrat est annul Si plusieurs joueurs veulent bien les changer l initiateur utilise la formule pour d signer l offre qui s
91. a donc fallu crire de nouvelles strat gies prenant en compte la valeur de la main du joueur et le gain que l change propos lui rapporterait Ces trois exemples montrent que notre protocole peut tre appliqu diff rents types d applications de n gociation comme les ench res ou la prise de rendez vous Cela permet de valider notre protocole et notre mod le g n ral de n gociation Chapitre 6 Conclusion et Perspectives Notre recherche se place dans le domaine des protocoles de n gociation Notre ob jectif tait de fournir un protocole g n ral de n gociation permettant de r aliser dif f rentes applications de n gociation comme des ench res ou un syst me de prise de rendez vous Nous avons propos un mod le g n ral de n gociation et son impl men tation ce qui permet de l utiliser plus facilement pour cr er une application de n go ciation Diff rents travaux ont t r alis s dans le th me de la n gociation automatis e et plusieurs syst mes de n gociation ont vu le jour Cependant aucun ne permet de traiter l ensemble des diff rentes formes de n gociation les plus utilis es et la plupart sont d di s un type d application comme le commerce lectronique par exemple La n gociation est de plus en plus utilis e dans les syst mes multi agents pour r soudre les conflits Elle peut prendre diverses formes de la plus simple n gociation prendre ou laisser la plus complexe impliquant
92. abstraction lt announced award gt gt ANNOUNCED AWARD name task specification lt directed award gt gt DIRECTED AWARD name task abstraction eligibility specification task specification lt acknowledgement gt gt ACCEPTANCE name gt REFUSAL name refusal justification lt report gt gt INTERIM REPORT name result description gt FINAL REPORT name result description lt termination gt gt TERMINATION name lt node available message gt gt NODE A VAILABLE eligibility specification node abstraction expiration time lt request message gt gt REQUEST name eligibility specification request specification lt information message gt gt INFORMATION name eligibility specification information specification FIG 2 12 Sp cification BNF du protocole du Contract Net Figure issue de Smith 19801 38 Chapitre 2 D finition et tat de l art limiteurs et les non terminaux dont l expansion n est pas utile pour la discussion sont entour s par des crochets Les termes devant tre remplis par des informations cod es dans le langage commun entre les n uds sont entour s d accolades Les types de mes sage qui n ont pas besoin d tre inclus dans une impl mentation basique sont suivis d une toile IN lt RECEIVE AWARD LS e RECEIVE REPORT y L RE
93. acheteurs Les vendeurs publient une offre de vente un prix donn tandis que les acheteurs publient des offres d achat un prix fix L acheteur ayant fait la plus grosse offre remporte la vente avec le vendeur ayant propos le prix le plus bas et paie ce prix Ce processus se d roule tant qu il y a des vendeurs et des acheteurs dont les offres concordent Ces ench res sont n anmoins moins utilis es de fa on lectronique Les ench res invers es ou d gressives consistent proposer un prix de plus en plus bas par les participants pour remporter le march Elles sont employ es par les grands groupes de l industrie agro alimentaire pour faire baisser les prix de leurs fournisseurs les poussant vendre en dessous de leur prix de revient Mathiot 2004 Plusieurs va riations de ces ench res existent dont la version dite tournante o les participants sont oblig s de baisser leur prix sous peine d tre limin s et l ench re dite au ranking o les 2 2 Les diff rents types de n gociation automatique 29 participants n ont comme information que le rang auquel leur derni re offre les classe Cette utilisation des ench res par de grands groupes peut ne pas aboutir un contrat avec le fournisseur ayant propos le prix le plus bas mais avec un fournisseur choisi l avance qui aura alors baiss son prix au maximum D autres syst mes d ench res lectroniques d finissent leur propre protocole d en ch re c est
94. address cette m thode permet un agent d j inscrit de se connecter au serveur Elle est appel e apr s une d connexion c est pourquoi il faut indiquer l identifiant qui permettra au serveur de joindre l agent disconnect name cette m thode permet un agent connect de se d con necter du serveur ce qui le rend indisponible pour n gocier sendMyMessage to msg cette m thode est invoqu e par un agent n gocia teur pour envoyer un message de type Negot iat ionMessage un ensemble de participants Si un destinataire n est pas connect le message est plac dans une boite aux lettres et sera envoy au destinataire lors de sa prochaine connexion Pour faire fonctionner une application le d veloppeur doit d finir un agent qui joue le r le du serveur de noms 4 1 3 L interface Communicator package fr lifl genca communication public interface Communicator for an agent to send a message to the names server param msg the message to send kx void sendToServer ServerMessage msg to send a message to one participant synchronous Must call the method receiveMessage of the Negotiator of the agent param to the user agent address param msg the content of the mesage XX void sendToAgent Object to ServerMessage msg FIG 4 1 L interface Communicator 4 1 Impl mentation du niveau communication 111 Chaque agent a besoin d un communicateur pour interagir avec le serv
95. agent name Yann type Java code fr lifl ants madkit MadkitNegotiatorAgent gui true gt lt config gt FIG B 4 Fichier de configuration Madkit 170 Annexe B Utilisation de GeNCA au sein de Madkit Bibliographie fip http www fipa org mag http www lifl fr smac projects magique mad http www madkit org Aknine 2002 Aknine S 2002 New Multi Agent Protocols for M N P Negotiations in Electronic Commerce In National Conference on Artificial Intelligence AAAI Agent Based Technologies for B2B Workshop Edmonton Canada Aknine 2004 Aknine S 2004 Algorithmes de Recherche du Gagnant dans une N gociation Combin e In 14 me dition du congr s francophone de Reconnaissance des Formes et d Intelligence Artificielle RFIA Toulouse France Aknine et al 2001 Aknine S Pinson S and Shakun M F 2001 N gociation multi agent Analyse mod le et exp rimentations Revue d Intelligence Artificielle RIA 15 2 173 217 Aknine et al 2004 Aknine S Pinson S and Shakun M F 2004 An extended multi agent negotiation protocol International Journal on Autonomous Agents and Multi agent Systems 8 1 5 45 Alty et al 1994 Alty J L Griffiths D F Jennings N R Mamdani E Struthers A and Wiegand M E 1994 ADEPT Advanced Decision Environment for Process Tasks Overview and Architecture In Proc BCS Expert Systems Conference Applica tions Track IS
96. ags en plus du prix seront n goci s Une fonction d utilit est utilis e pour comparer les diff rentes offres Cette fonction permet de pond rer l importance de chaque attribut et chaque attribut est associ une autre fonction d utilit d terminant la satisfaction pour cet attribut Si l on reprend l exemple de l achat d une voiture on peut utiliser la m me fonction d utilit pour les options qui vaut 1 si l option est pr sente 0 sinon De mani re g n rale la fonction d utilit d une offre o est de la forme U o 5 w ui of i 1 o la n gociation comprend n attributs w le poids du i me attribut u la fonction d utilit du i me attribut et o la valeur du i me attribut dans l offre oj Le but est de maximiser la valeur de cette fonction d utilit Dans Bichler et al 1999 Bichler et ses coll gues proposent d utiliser les ench res pour 2 2 Les diff rents types de n gociation automatique 31 les n gociations multi attributs en utilisant la fonction d utilit comme seul attribut d valuation de l ench re Dans Jonker and Treur 2001 Jonker et Treur proposent une architecture d agent pour la n gociation multi attributs et d crivent le mod le de n gociation qu ils proposent et l illustrent avec l exemple de l achat d une voiture Les n gociations multi niveaux C est un type de n gociation o le contrat se d compose en plusieurs sous contrats d pendants les uns des autres Mey
97. al Withdraw from negotiation rmation Agreement formation Update Information cen vue Termination Finalize negotiation i infrastructure i ae H Negotiation closed 1 0 FIG 2 25 Diagramme d activit de n gociation Figure issue de Bartolini et al 2002b Le processus de n gociation Figure 2 25 consiste parvenir un accord accep table depuis le template de n gociation Au cours de la n gociation les participants changent des propositions repr sentant des accords actuellement acceptables pour eux Chaque proposition contient des contraintes sur tout ou partie des param tres du tem 64 Chapitre 2 D finition et tat de l art plate de n gociation Ces propositions sont envoy es l h te de n gociation Cepen dant avant qu une proposition soit accept e dans la sc ne elle doit tre valid e Pour tre valide une proposition doit satisfaire deux crit res Ce doit tre une restriction valide de l espace des param tres d fini dans le tem plate de n gociation La proposition doit tre soumise conform ment l ensemble des r gles qui gou vernent le d roulement de la n gociation Ces r gles sp cifient entre autres qui peut faire une proposition quand et quelle proposition peut tre faite selon les propositions ant rieures Un accord est form conform ment aux r gles de formation d accord associ es la sc ne de n gociation Lorsque le
98. alors chang s Mais lors de la confirmation du contrat chaque participant devra modifier son contrat pris pr c demment Supposons que les participants sont les initiateurs des contrats qu ils doivent modifier Ils vont alors envoyer un message pour annuler le contrat puis un message pour demander une modification du contrat soit 2 m 1 messages Ils recevront m 1 modifications et proposeront un nouveau contrat que nous supposons accept d s la premi re proposition Le nombre de messages par ren gociation est de 6x m 1 Les participants du premier contrat consid r s comme les initiateurs des seconds envoient 4 x m 1 messages et en re oivent 2 m 1 Lorsque toutes les ren gociations sont ind pendantes il y a en tout m 1 ren gociations et donc 6 m 1 messages Le nombre total de messages chang s pour prendre le premier contrat est alors 6 x m 1 3 x m 1 L initiateur envoie 2 m 1 messages et en re oit m 1 Chaque participant re oit 2 2 m 1 messages et en envoient 1 4 m 1 Prendre un contrat impliquant une ren gociation de contrat par participant a une complexit globale en O m et lin aire pour l initiateur et les participants 3 5 Complexit du syst me 103 Second cas FIG 3 26 Complexit quadratique Second cas Supposons maintenant qu un seul participant doive modifier un contrat pris pr c demment avec m 1 autres perso
99. alors la suite donner la n gociation qui est soit la proposition d un nouveau contrat soit une autre demande de modification soit l annulation du contrat Pour le c t participant il n y a que deux m thodes celle qui r pond une pro position de contrat whatDolanswer et celle qui propose une modification l initiateur proposeModification 118 Chapitre 4 GeNCA une API Java impl mentant notre mod le package fr lifl genca strategy public interface InitiatorStrategy Initialisation method that replaces a default constructor param n the negotiator of the agent param g the goal responsible for the negotiation param cp the properties of the contract negotiated param nbRes the number of resources param lg the length of the modification aa void init Negotiator n Goal g ContractAndProperties cp int nbRes int 1g method invoked at reception of an lt i gt accept lt i gt message param from the participant who agreed param params the parameters kx void receivedAccept String from Object params method invoked when all answers are received void decide method invoked when the timer has expired and all answers have not been received param whoHasAnswered the list of participants who have answered kx void defaultDecision Vector whoHasAnswered method invoked before requesting modification at participants void initModification
100. annuler un contrat suite une r tractation L identifiant du contrat qui est unique sert identifier la n gociation concern e par le message et a le confier au micro agent associ L tat de la n gociation permet a un initiateur de v rifier si le message qu il re oit est encore valide En effet la n gociation change d tat selon le dernier message envoy par l initiateur A la premi re proposition de contrat l tat sera p1 Lorsque le d lai de r ception des r ponses sera atteint et qu il manque des r ponses l tat changera en tooLate Si une r ponse arrive elle indiquera l tat p1 l tat indiqu par le message qui implique cette r ponse L initiateur compare cet tat p1 a l tat courant de la n gociation tooLate il se rend donc compte que le message arrive trop tard et ne le prend pas en compte Pour fixer les id es voici deux exemples de messages si Jean veut envoyer une proposition de contrat le message sera compos de Jean jean 1 p1 PROPOSE c o jean 1 est l identifiant du contrat p1 l tat courant de la n gociation et c le contrat propos Si un participant Pierre par exemple refuse la proposition de contrat de Jean le message sera de la forme Pierre jean 1 p1 REFUSE o jean 1 est l identifiant du contrat refus par Pierre et p1 l tat de la n gociation chez Pierre 4 1 2 Le serveur de noms Le serveur de noms NamesServer
101. ant fournir des param tres l initiateur Par exemple dans le cas d ench res offres scel l es il faut proposer un prix l initiateur si l on accepte la proposition qui consiste en la mise en vente d un article En revanche comme le but s occupe de compter le nombre d accords et de refus et m morise les participants qui ont accept la proposition il n y a pas de m thodes pour traiter le refus d un participant Lorsque toutes les r ponses sont arriv es ou lorsque le d lai de r ponse a expir le but demande la strat gie ce qu elle d cide pour la suite de la n gociation m thode decide ou defaultDecision s il manque des r ponses c est dire soit la confirmation du contrat soit l annulation du contrat soit une demande de modification ou encore une nouvelle proposition de contrat Si la strat gie d cide de demander une modification aux participants la m thode initModification sera invoqu e ce qui permettra la strat gie de pr parer la r ception des modifications initialisation de variables par exemple Puis chaque proposition de modification re ue de la part d un participant la strat gie en sera infor m e et pourra alors traiter cette modification m thode judge Une fois toutes les propositions de modification re ues ou expiration du d lai de r ponse le but invoque la m thode decideModification ou defaultModification s il manque des propositions La strat gie d cide
102. ants n ayant rien obtenu Les syst mes de vote font galement partie des n gociations dans une forme l mentaire puisqu une seule inter vention des participants est n cessaire pour r aliser la proc dure de vote Les n gocia tions combin es les n gociations multi niveaux et les n gociations par argumentation constituent un niveau sup rieur dans les diff rentes formes de n gociation De l tude de ces diff rentes formes de n gociation nous avons d gag plusieurs points communs qui existent entre elles ainsi que diff rentes propri t s poss dant des valeurs variables selon la n gociation effectu e Certains sont vidents comme la pr sence des participants et de ressources objets de la n gociation le nombre de pro positions qui sont faites et la possibilit de formuler des contre propositions d autres le sont moins comme le nombre minimal d accords n cessaires pour le succ s de la n gociation le d lai d attente des r ponses et la possibilit de se r tracter Ces points communs et ces propri t s nous ont fourni une base pour l laboration de notre mo d le g n ral En tudiant le d roulement de ces diff rentes n gociations nous avons galement rep r un ensemble minimal d actes de langages n cessaires pour r aliser l ensemble de ces n gociations Cet ensemble minimal contenant entre autres la pro position d une offre son acceptation ou son refus nous a permis de concevoir notre protocole g n
103. apitre 5 Applications La strat gie m morise les propositions afin de ne pas envoyer deux fois la m me l initiateur change de 2 ressources d sir es contre n importe quoi Si le participant a les res sources d sir es et qu elles ne l int ressent pas alors il accepte le contrat et de mande en change deux cartes qui l int ressent celles qui augmenteraient la va leur de sa main S il ne poss de pas les ressources d sir es par l initiateur il re fuse le contrat Si l initiateur lui demande de modifier sa requ te alors il demande les ressources qui l int ressent le plus ce moment et qui sont diff rentes de celles qu il avait propos es auparavant Si aucune autre ressource ne l int resse alors il ne propose aucune autre ressource en change 5 3 5 Fichier de configuration de l application La Figure 5 10 repr sente le fichier de configuration de l application On y retrouve le type de l application jnego les ressources qui seront n goci es le communicateur utilis par les agents ainsi que le nom des strat gies utiliser par d faut Vient ensuite le param trage du protocole L change est effectu avec un autre joueur un seul accord est par cons quent n cessaire la confirmation du contrat La r ponse par d faut est un refus car on ne peut obliger un joueur effectuer un change d autant plus qu il peut ne pas avoir les ressources changer Les joueurs peuvent faire une seule proposition pa
104. application FIPA Foundation of Intelligent Physical Agent dans le do maine des t l communications de la technologie agents Faratin et al 1999 Comme notre mod le ADEPT propose une s quence de contre propositions lors de la n gociation afin de parvenir un accord mutuel Le mod le de raisonnement propos tient galement compte des pr f rences de l agent et utilise une base qui m morise les services de l agent et une pour les services suppos s des autres agents Ce mod le de raisonnement doit galement d finir si les n gociations se font s quentiellement ou en parall le et la d finition d un service doit permettre d viter les deadlocks De plus 2 3 tat de l art 45 lorsque l agent s aper oit de l chec de l ex cution d un service il est possible de le ren gocier Mais ADEPT est d di la n gociation de service et utilise de la n gociation bilat rale 1 initiateur 1 participant tandis que notre mod le permet de la n gociation de n initiateurs vers m participants et a pour but d tre g n rique donc de s appliquer diff rents types d applications de n gociation et pas uniquement de la n gociation de services par exemple 2 3 6 Fishmarket Fishmarket Noriega 1998 est une agence d ench res lectroniques pour vendre du poisson o les agents peuvent tre soit humains soit virtuels et qui a t d velopp e l Institut de Recherche en Intelligence Artificielle en Espagne par Pablo
105. at est donc plac en surface de la matrice La n gocia tion de ce contrat est entam e Zee Zee P I I 1 1 2 FIG 3 13 Repr sentation des n gociations des agents P I et Io de la Figure 3 6llorsque ha confirm son contrat avec P Lorsque J confirme son contrat aupr s de Pi le contrat passe dans la zone des contrats pris dans la repr sentation des n gociations de J et P Figure gt ttl P I I 1 1 2 FIG 3 14 Repr sentation des n gociations des agents P I et Io de la Figure 3 6 lors de la proposition de contrat de Io a Pi Au moment o 72 propose son contrat P ce dernier a d j pris le contrat avec Ji Les repr sentations des n gociations sont alors celles pr sent es en Figure 3 14 P et I ont un contrat confirm qui est plac sous la droite de repr sentation des ressources face aux ressources qui sont alors prises P et 72 ont plac le contrat propos par I gt dans leur matrice respective Les contrats propos s par J et Jz ont une ressource en commun on observe donc le chevauchement entre le contrat pris avec J et celui propos par 12 dans la repr sentation des n gociations de P 3 3 Le niveau n gociation 89 FIG 3 15 Repr sentation des n gociations des agents P I et Io de la Figure 3 6 lorsque Toa confirm son contrat avec P Comme P consid re que 12 est plus prioritaire que P accepte le contrat de 72 I gt
106. ateur envoie sa demande de modification il utilise le d lai d attente des r ponses afin d viter d attendre ind finiment les modifications propos es par les par ticipants Lorsque l initiateur a re u toutes les modifications ou que le d lai d attente a expir l initiateur passe dans l tat 3 Lorsqu il est dans l tat 3 l initiateur prend en compte toutes les modifications envoy es par les participants afin de trouver une nouvelle possibilit pour le contrat Pour cela il donne une note chaque ressource selon la formule suivante note r priorit r init x priorit init init n 5 priorit r part priorit part init j l ou priorit r init est la priorit de la ressource r pour l initiateur Pour des raisons d quit entre l initiateur et les participants on prend en compte le m me nombre de ressources pour l initiateur que pour les participants priorit init init est la priorit que l initiateur s est donn e priorit r part est la priorit relative de la ressource r pour le participant part En effet le participant ne communique pas les priorit s qu il donne ses res sources L initiateur consid re alors que la premi re ressource envoy e est la plus prioritaire chez le participant et lui attribue ainsi la priorit maximale Puis il d cr mente la priorit de 1 pour les ressources suivantes sans descendre sous la valeur minimale Si
107. ation d un agent nomm Paul qui d sire vendre une table un r fri g rateur et un livre de cuisine Il poss de 50 euros La Figure 5 6 montre les interfaces de 4 agents n gociant des ench res avec notre API L cran de l agent en haut gauche montre la fen tre de visualisation des messages re us et envoy s par l agent Elle permet de voir les diff rentes propositions re ues et l avancement de la n gociation r ponse envoy e confirmation annulation demande de modification etc L cran de l agent en haut droite est l interface de cr ation d un nouveau contrat L cran de l agent en bas gauche montre les contrats d j pris par l agent et l cran de l agent en bas droite montre la proposition d un contrat pour le mode manuel De nombreuses applications d ench res existent parmi lesquelles Kas bah Chavez and Maes 1996 AuctionBot Wurman et al 1998 et Fishmar ket Noriega 1998 mais dans la plupart d entre elles une tierce personne regroupe des offres de vente et des offres d achat et les apparie Les avantages de notre application sont nombreuses nous allons donc citer ici les plus importantes Premi rement cette application aide l utilisateur ench rir et ench rit sa place quand il n est pas l selon la strat gie qu il a d fini Deuxi mement cette 5 2 Un syst me de ventes aux ench res 145 lt xml version 1 0 gt lt DOCTYPE genca SYSTEM genca dtd gt lt genca gt
108. aura une plus grande priorit que les coll gues Si deux coll gues ont pris un contrat sur une ressource et que le chef leur propose un contrat sur la m me ressource ils prendront le 94 Chapitre 3 Proposition d un mod le g n ral de n gociation contrat avec le chef et annuleront le leur Ces listes de priorit s permettent galement aux initiateurs de pond rer les modifications propos es par les participants selon leur priorit et les priorit s des ressources qu ils proposent La place de l agent dans la liste de priorit Lorsque l on donne des priorit s aux personnes avec qui l on va n gocier le probl me de sa propre priorit se pose En effet peut on convenir que l on est plus prioritaire que tous les autres Nous ne pensons pas que cela puisse tre une bonne solution Imaginons que nous fassions partie d une grande entreprise Cette entreprise a une organisation hi rarchique et nous ne sommes pas la t te de cette hi rarchie Nous ne pouvons donc pas tre plus prioritaire que nos sup rieurs hi rarchiques De m me il ne para t pas coh rent de s attribuer la plus petite priorit possible puisque d autres personnes peuvent tre plus bas dans cette m me hi rarchie Il n est donc pas possible de fixer la priorit de l agent une fois pour toute avant de connaitre les autres personnes avec qui il va n gocier La priorit de l agent est donc elle aussi un param tre dans la n gociation 3 4 2 Outils pour la cr
109. avec le serveur Server Message et des messages de n gociation entre les agents n gociants Ne gotiationMessage Chaque message contient l exp diteur du message une primitive qui indique le propos du message ainsi que des param tres Un message de liaison avec le serveur poss de sept primitives diff rentes ServerPrimitive Quatre d entre elles sont 159 160 Annexe A Diagrammes de classes utilis es par les agents n gociants pour joindre le serveur SUBSCRIBE CONNECT DISCONNECT SEND les trois autres sont utilis es par le serveur pour joindre un agent n gociant PARTICIPANT_ARRIVAL PARTICIPANT_AND_RESOURCES RECEIVE_MESSAGE interfaces Message getParamsd getPrimitived getSender NegotiationMessage amp ServerMessageQ getNegold getParams getParams getPrimitived getPrimitived getsenderi getSenderd getstatei interfaces C toString O ServerPrimitive F PARTICIPANT _ARRIVAL ServerPrimitive F PARTICIPANT _AND _RESOURCES ServerPrimitive RECEIVE_MESSAGE ServerPrimitive SUBSCRIBE ServerPrimitive TF CONNECT ServerPrimitive oF DISCONNECT ServerPrimitive SEND ServerPrimitive A 2 Paquetage fr 1ifl genca negotiation 161 Le serveur poss de un serveur de noms NamesServer qui lui permet de m moriser les participants aux n gociations selon le type d application auquel ils s abonnent ainsi que les ressources mises en jeu
110. ce gt lt ELEMENT resource PCDATA gt lt ELEMENT communicator PCDATA gt lt ELEMENT default initiator strategy PCDATA gt lt ELEMENT default participant strategy PCDATA gt lt ELEMENT protocol answer delay default answer minAgreements nb ds nb modifications by round retraction allowed nbRenegotiations gt lt ELEMENT answer delay PCDATA gt lt ELEMENT default answer EMPTY gt lt ATTLIST default answer value accept refuse refuse gt lt ELEMENT minAgreements PCDATA gt lt ELEMENT nbRounds PCDATA gt lt ELEMENT nb modifications by round PCDATA gt lt ELEMENT retraction allowed EMPTY gt lt ATTLIST retraction allowed value true false true gt lt ELEMENT nbRenegotiations PCDATA gt lt ELEMENT management EMPTY gt lt ATTLIST management value sequential parallel sequential gt lt ELEMENT default priority EMPTY gt lt ATTLIST default priority value 11213141516171819110 5 gt lt ELEMENT window EMPTY gt lt ATTLIST window value true false true gt lt ELEMENT application parameters list application parameter gt lt ELEMENT application parameter name parameter gt lt ELEMENT name PCDATA gt lt ELEMENT parameter class va
111. chang s ce niveau est gal 6 x 2 104 Chapitre 3 Proposition d un mod le g n ral de n gociation La complexit globale est de O 2 et est lin aire pour l initiateur et les partici pants Si nous supposons maintenant que les contrats ne sont plus ind pendants mais que les agents situ s la profondeur n demandent l initiateur du contrat principal d en d placer un autre le nombre de demandes de ren gociations sera de 2 pour l initia teur La complexit globale est toujours en O 2 et reste lin aire pour les participants par contre elle devient en O 2 pour l initiateur Ces r sultats sur la complexit en envoi de messages induite par la n gociation jus tifient l usage d un syst me automatique de n gociation Prenons un exemple d une n gociation impliquant 50 personnes Si la n gociation implique que chaque partici pant doive ren gocier un contrat d j pris la complexit en envoi de messages de la n gociation serait alors en O 502 soit en O 2500 ce qui veut dire que le nombre de messages envoy s serait de l ordre de 2500 On imagine facilement que l automatisa tion de ces envois de messages simplifierait la vie d une secr taire qui ne passerait alors plus son temps essayer de joindre chaque personne par t l phone et pourrait alors se consacrer d autres t ches 3 6 Conclusion Nous avons pr sent dans ce chapitre la r ification des diff rents types de n gocia tion que n
112. ches du mod le est respect e et donne lieu trois paquetages communication n gociation et strat gie Un paquetage a t ajout pour la r alisation d une interface graphique qui permet l utilisateur de g rer ses n gocia tions et d utiliser GGNCA en mode automatique lorsqu il est absent La couche de communication contient une interface qui permet de d finir le m canisme de communication entre les agents qui est sp cifique l application r alis e Un serveur de noms est utilis pour centraliser les ressources qui seront n goci es et m moriser les participants inscrits pour diff rents types de n gociation Ce serveur est le seul poss der les adresses au sens large des participants qui ne peuvent ainsi pas communiquer directement entre eux afin de former des coalitions Cette couche d finit galement le format des messages chang s au sein de GENCA qui peuvent tre soit des messages de liaison avec le serveur de noms soit de n gociation entre les agents La couche de n gociation qui est la couche principale de notre impl mentation contient toutes les structures de donn es n cessaires la gestion des n gociations Elle int gre ainsi des m canismes permettant d effectuer les n gociations n entrant pas en conflit sur des ressources simultan ment et de s quencialiser les autres Notre impl mentation comprend aussi la possibilit de se r tracter et de ren gocier des contrats et vite les deadlocks
113. ciations des agents de la FigureB al 4 pekado 91 3 18 Repr sentation des n gociations des agents de la FigureB a AE de 92 3 19 Les diff rents cas de gestion des n gociations conflictuelle 3 20 Une situation de deadlock 94 3 21 Le graphe du comportement de l initiateun 97 do 102 ems Sasa en Ge ee eee ee i 103 ee ee ee re 104 eee eer eee ee eee ee 105 3 27_Complexit exponentiell d 105 A ee ees eee 122 eee he pe eel ENES bee oe eee 124 Gf ae at Bad 6 Boe Boe ee 125 a Pees ope eee eae 126 obey oe ee ee eee 126 ee ta bag eee oe ee ae 126 Be eens eee eee eee eee 127 pre sare Bee See oe See Gee eee 127 xiv Table des figures 4 14 Onglet Vue des ressourceg ares Bees 128 4 15 tat de la n gociation 444 4 aaa ee eee oe ded een 129 4 17 Fichier DTD pour la configuration d un agent 5 1 Interface de cr ation d un contrat pour la prise de rendez vous 137 5 2 _ Fichier XML de configuration pour la prise de rendez vous 140 Se ee eee 141 147 148 148 a Mee RAR AU EA ee RA Eee Ee eee 150 151 151 eas e pee ee 155 Lhe eee oe Rue eee eae oe 168 eee eed eee een ee 169 aa Bae ts eee 170 so Ale ue ve ue oe ees ees 171 Chapitre 1 Introduction Notre travail se positionne au sein de l intelligence artificielle et plus particuli re ment l intelligence artificielle distribu e e
114. communication par envoi d e mails et des ressources communes tous les participants il s agit d un syst me de prise de rendez vous La seconde utilise la communication au sein d un SMA et des ressources individuelles aux participants il s agit d une application de ventes aux ench res La troisi me uti lise un mode de communication synchrone o chaque agent parle tour de r le et des ressources communes tous les participants il s agit d un jeu de n gocia tion appel JNego Ces applications peuvent tre t l charg es l adresse suivante http www 11f1 fr SMAC projects genca L objectif de ce chapitre est de montrer travers ces applications que notre mod le g n ral de n gociation est valide et l apport de GNCA pour l impl mentation de ces applications 5 1 Un syst me de prise de rendez vous Pour commencer nous d crivons ici une des applications n cessitant l utilisation de la plupart de nos param tres Ce probl me est une application de n gociation pour la prise de rendez vous Chaque agent doit tre capable de n gocier des rendez vous pour le compte de l utilisateur Chaque utilisateur poss de un agenda avec des plages horaires libres ou non Il poss de de plus des pr f rences sur les heures et les personnes avec qui il peut prendre rendez vous Chaque utilisateur peut initier une demande de 133 134 Chapitre 5 Applications rendez vous avec 1 ou plusieurs participants sur 1 ou plusieurs plages ho
115. cords modification ns il existe une ibilit sa ificati eune re ues pas de nouvelle possibilit ET un participant gt aucune modification nouvelle possibilit nbTours lt maxTours core gt envoie une nouvelle 73 gt gt envoie une demande de 3 calcule les nouvelles possibilit s proposition de contrat aux p participants modification aux p participants d termine l action pusuire nbAccordsRestants lt minAccords P ET nbRen gociations lt maxRen gociations gt envoie l annulation du contrat et demande de modification aux p participants pas de nouvelle possibilit ET nbTours gt maxTours gt envoie l annulation du contrat Sa wae qibAccordsRestants lt minAccords ET nbRen gociations gt maxRen gociations gt envoie l annulation du contrat FIG 3 21 Le graphe du comportement de l initiateur Cet automate tats d crit le compor tement de l initiateur face aux messages re us de la part des participants et aux param tres de n gociation Le comportement de l initiateur peut tre formalis par un graphe figure 3 21 Tout commence par la proposition d un contrat un ensemble de p participants L initiateur passe dans l tat 1 o il attend les r ponses des participants Lorsque l initiateur envoie la proposition de contrat il d finit un d lai d attente des r ponses afin d viter 96 Chapitre 3 Proposition d un mod le g n ral de n gociat
116. d Verrons 2005a Mathieu P and Verrons M H 2005a GeNCA Un mod le g n ral de n gociation de contrats Revue d Intelligence Artificielle paraitre Mathieu and Verrons 2005b Mathieu P and Verrons M H 2005b A General Ne gotiation Model using XML Artificial Intelligence and Simulation of Behaviour Journal AISBJ para tre Mathiot 2004 Mathiot C 2004 Distribution les fournisseurs asphyxi s sur le Net Lib ration Meyer et al 1988 Meyer R A Conry S E and Lesser V R 1988 Multistage ne gotiation in distributed planning In Bond A and Gasser L editors Reading In Distributed Artificial Intelligence pages 367 386 Los Altos CA Morgan Kaufmann Publishers Neumann et al 2003 Neumann D Benyoucef M and Vachon S B J 2003 Ap plying the montreal taxonomy to state of the art e negotiation systems Group Deci sion and Negotiation 12 4 287 310 Noriega 1998 Noriega P 1998 Agent mediated auctions The Fishmarket Metaphor PhD thesis University of Barcelona Nwana et al 1999 Nwana H S Ndumu D T Lee L C and Collis J C 1999 ZEUS A Toolkit for Building Distributed Multi Agent Systems Parsons and Jennings 1996 Parsons S and Jennings N R 1996 Negotiation through argumentation a preliminary report In Proc Second Int Conf on Multi Agent Systems pages 267 274 Kyoto Japan Pruitt 1981 Pruitt D 1981 Negotiation B
117. dans les lections politiques pour lire le pr sident du Mexique du Kenya ou encore de l Islande en France on utilise deux tours En cas d galit le r sultat de cette m thode est un sous ensemble d alternatives Un inconv nient de cette m thode est qu une alternative peut tre choisie alors qu elle n est pas d sir e par la majorit absolue des votants Avec notre exemple a remporte 3 voix b en remporte 1 c en remporte 2 d en remporte 0 et e remporte 1 voix L alternative a avec 3 voix est donc le choix social selon cette proc dure alors que 4 personnes sur 7 n ont pas vot pour elle La m thode de Borda Cette proc dure a t propos e pour la premi re fois par Jean Charles Borda en 1781 L id e g n rale est d attribuer des points chaque alter native Le principe est le suivant pour chaque liste de pr f rences l alternative class e premi re remporte n 1 points la seconde n 2 points et ainsi de suite jus qu a la derni re qui obtient 0 point Pour chaque alternative on calcule le nombre total de points qu elle a recueilli L alternative ayant le meilleur score est d clar e choix social Comme toutes les alternatives sont class es par les votants elles ont toutes une note on est donc s r de trouver le choix social En cas d galit cette proc dure renvoie un sous ensemble d alternatives Cette m thode a l inconv nient d encourager les votes tactiques ou raisonn s En effet
118. dans une lection a peut tre pr f r e b elle m me pr f r e c elle m me pr f r e a Il faut alors pr voir une m thode pour r soudre le conflit par exemple en utilisant une autre m thode de vote Avec notre exemple il faut comparer deux deux les 5 alternatives celle qui gagne est celle qui est mieux class e sur au moins 4 listes par rapport aux autres alternatives jalbleldte Le tableau repr sente le r sultat ligne par ligne des comparaisons d une alterna tive avec les alternatives situ es en colonne On constate qu il n existe pas de choix social pour cet exemple En effet aucune alternative ne gagne toutes ses compa raisons aucune n a que des nombres gt 4 sur toute sa ligne Cela repr sente le paradoxe de Condorcet b est pr f r c d est pr f r b et c est pr f r d on a donc c lt b lt d lt c Il est donc impossible de d terminer l alternative pr f r e En revanche si l on enl ve l alternative c de l exemple on obtient un choix social qui est d d est mieux class e que a sur 4 listes d est mieux class e que b sur 4 listes et d est mieux class e que e sur 6 listes La m thode de vote s quentiel par paires dans un ordre fix Cette m thode reprend la notion de comparaison des alternatives deux deux de la m thode de Condor cet mais ces comparaisons sont effectu es dans un ordre pr tabli l avance Le perdant d une comparaison est limin tout
119. dantes et descen dantes le m me reproche concernant la satisfaction des participants peut tre fait Mais je trouve ces ench res plus proches de la n gociation que les pr c dentes car plusieurs tours de parole sont donn s aux acheteurs afin d aboutir un prix satisfaisant la fois le vendeur et l acheteur Nous avons d crit le protocole de chacune de ces ench res ce qui nous permettra de proposer un protocole unique dans le chapitre suivant Les ench res ne sont pas les seules formes de n gociation existantes notamment pour le commerce lectronique comme le montre Kersten dans Kersten et al 2001 La princi pale diff rence entre les ench res et les n gociations est que les ench res n impliquent qu un seul attribut de n gociation qui est le prix tandis que les n gociations peuvent impliquer plusieurs attributs tels qu une qualit de service un d lai d exp dition etc Nous pr sentons maintenant d autres formes de n gociation plus complexes mettre en ceuvre 2 2 3 Les autres formes de n gociation Moins connues du grand public ces n gociations sont tout aussi nombreuses et vari es Parmi ces n gociations on trouve le take it or leave it offer les n gociations multi 30 Chapitre 2 D finition et tat de l art attributs les n gociations multi niveaux les n gociations combin es et la n gociation base d argumentation Le take it or leave it offer Cette forme de n gociation est tr s
120. de suite tandis que le gagnant ren contre l alternative suivante d apr s l ordre fix En cas d galit les deux alterna tives sont compar es l alternative suivante Il se peut que plusieurs alternatives soient galit la fin des comparaisons le r sultat de la m thode est alors un sous ensemble d alternatives Un inconv nient de cette m thode est que le r sul tat d pend de l ordre fix pour les comparaisons 2 2 Les diff rents types de n gociation automatique 21 Avec notre exemple si l on prend l ordre a b c d et e on commence par comparer a et b a perd avec 3 victoires contre 4 a est donc limin e On poursuit avec la comparaison b contre c b est mieux class e que c sur 4 listes c est donc limin e et on consid re la comparaison b contre d Cette fois ci b perd la comparaison et est donc limin e La derni re comparaison a lieu entre d et e d remporte la comparaison et est donc d clar e choix social En revanche si l on prend l ordre e d c b et a c est l alternative b qui est le choix social La dictature Cette m thode est pr sent e afin de montrer qu une proc dure de choix social n est pas forc ment d mocratique Cette m thode consiste d signer une personne parmi l ensemble P et de l appeler dictateur On ignore simplement les listes de toutes les autres personnes Le choix social est alors l alternative clas s e premi re sur la liste du dictateur Comme les personnes classent
121. deleted equals getContractInfoQ getlnitiatorQ getPlaceso modificationRequest proposeModificationg proposeNewContract refuse sendAnnuld sendcConfirma toString wakeUp writelnfosQ _ interfaces 1 MicroAgentEngagement annul changeContracti confirm deleted modificationRequestQ proposed send ccepti sendRefuse Engagement E e e o oe Q 9 e o Q o oe Engagement addContractinfof annul changeContracto confirmo deleted equalsi getContractinfo getinitiator getPlaceso modificationRequest proposed sendAccepto sendRefuseQ toStringQ wakeUp writelnfosQ 163 Negotiator NegotiatorQ acceptLauncher annulContract annulLauncher areFreei cancelLauncher confirm ontract confirmlLauncher connect deleteContractQ deleteMe disconnect TreeAndOrderedResourcesQ getLeastProposedBy getMostProposedBy getNumberOfProposalso getProposedBy getResources getRetractionRated getRetractionRate getSuccessRate getSuccessRate getWhoProposed getXmlReaderQ hasGreatestPriority initGoal isinManualMode istPrior lastProposalFromo modificationRequestLauncherQ orderedAndT akenBySoLessimportantResourcesQ orderedResourcesQ otherSimultaneousContractsForg participantArrivalLauncherg participantsAndResourcesLauncherg possible proposalsFrom i proposeLauncher proposeM odificationLauncherd receiveMessage
122. dification liste modifications ce message r pond une demande de mo dification de la part de l initiateur Le participant envoie l initiateur une liste de modifications possibles du contrat une contre proposition Le nombre de mo difications contenues dans la liste est un param tre de la n gociation Cette liste peut tre vide s il n existe pas de modifications possibles Une primitive de n gociation est commune aux initiateurs et aux participants r tractation contrat le contrat avait t confirm mais le participant ou l ini tiateur ne peut ou ne veut plus l honorer Il d cide donc de se r tracter Suite cette r tractation l initiateur peut ren gocier automatiquement le contrat si le nombre d accords restants est inf rieur au nombre minimal d accords n cessaires la conclusion du contrat La dynamique op rationnelle 1 propose contrat 2 accepte 3 confirme FIG 3 5 Exemple simple de n gociation I propose un contrat P qui l accepte Prenons l exemple de la Figure B 5 qui repr sente un exemple simple de n gociation qui fait intervenir deux personnes J et P I joue le r le de l agent initiateur et P celui de l agent participant I cr e le contrat et envoie P le message propose contrat 1 P re oit le contrat l tudie et envoie le message accepte I pour lui signaler qu il accepte les termes du contrat 2 J a donc re u toutes les r ponses puisque
123. du contract net c t participant N ud Arc Description Condition de transition Evalue le co t Envoie un message d accord Attend la r ponse S4 Message de confirmation de contrat re u TAB 2 1 Description des n uds et arcs de la Figure T7 Tableaux issus de Collis and Ndumu 1999b1 2 3 tat de l art 51 Dans l tat actuel des choses le protocole fourni ne traite que des buts portant sur un unique fait ie sur une unique ressource Ceci constitue un point n gatif pour Zeus En effet lors de n gociation pour la prise de rendez vous les ressources sont des tranches horaires Or un rendez vous peut n cessiter plusieurs tranches horaires par exemple les tranches horaires peuvent tre d une dur e d une heure et le rendez vous de 2 heures Notre application quant elle permet de g rer des contrats sur plusieurs ressources De plus dans Zeus une fois le contrat accept il est impossible de se r tracter Notre protocole permet cela afin de prendre en compte les priorit s d finies sur les partici pants et sur les ressources Ce qui veut dire que si un contrat plus important est propos l agent il sera rejet dans le cas de Zeus mais accept par notre protocole et le contrat en conflit sera annul Un autre point important remarquer est que la n gociation s effectue de 1 agent vers 1 autre agent Il n est pas possible avec Zeus de n gocier de 1 vers n agents avec le protocole fourn
124. e tre sp cifi par l utilisateur celui ci reste relatif aux offres et il n est pas pos sible de d finir ses propres actions seules celles fournies par le SKELETON peuvent tre utilis es La g n ricit de cette plateforme est donc relative puisqu elle est cantonn e 60 Chapitre 2 D finition et tat de l art aux fonctionnalit s fournies par celle ci Notre approche de la n gociation et plus par ticuli rement d une plateforme g n rique de n gociation est plus ouverte Pour nous il doit tre possible d effectuer des n gociations commerciales sous diff rentes formes ench res hollandaises anglaises etc aussi bien que des n gociations non commer ciales prise de rendez vous choix d un restaurant etc Dans SilkRoad il n y a pas a priori de communication entre les agents un serveur regroupe les offres et s occupe de les apparier Notre approche est de fournir aux agents un cadre de n gociation au sein duquel ils peuvent s changer des propositions de contrat Chaque agent g re donc ses n gociations et il est possible de d finir de nouvelles strat gies de n gociation 2 3 10 GNP La Generic Negotiation Platform GNP est r alis e par Morad Benyoucef Rudolf Keller et leurs coll gues Benyoucef et al 2000 Gerin Lajoie 2000 au d partement IRO de l universit de Montr al C est une plateforme g n rique de n gociation d en treprises entreprises orient e ench res pour les places de march
125. e dans une session de n gociation jusqu ce qu une r gle de terminai son s applique et que l offre gagnante puisse tre d termin Contract Ce service demande aux agents de signer les offres v rifie les signa tures et les autorisations et scelle les offres Bundle Ce service permet de collecter ou d agr ger des offres afin de former des offres cumulatives Ainsi des agents acheteurs peuvent se regrouper afin d ac cro tre leur pouvoir de n gociation ou alors des offres compl mentaires fournies par diff rents agents vendeurs peuvent tre regroup es transport de A vers B B vers C et C vers D n gociation combin e Dans un sc nario d accord ces services peuvent tre combin s pour fournir un niveau de sc nario sp cifique d un support de n gociation E match completed O2B advertised lt G o n 0 E buyer match E seller match O2B matching A match E buyer decline E match completed L 1 O2B matched G o n 1 E buyer accept gt O2B contracting A contract E match completed O2B scoring Gonsi A score P score max 3 E score completed O2B scored FIG 2 22 Exemple de sc nario d accord fournissant un appariement et une valuation des offres Figure issue de Str bel 2001b Les Figures 2 22 et 2 23 montrent deux exemples de sc nario de n gociation mod li s s avec les l ments du ODMM La notation graphique suit les conven
126. e diff rentes plateformes de n gociation r alis es parmi les plus connues Nous pr sentons ici une r ification de ces formes de n gociation ainsi que notre mod le de n gociation g n ral qui permet de traiter la plupart de ces n gocia tions Les apports de ce mod le sont la possibilit de n gocier simultan ment plusieurs contrats de ren gocier automatiquement les contrats qui doivent l tre et l limination des deadlocks Il poss de en outre les qualit s de g n ricit d uniformisation des n gociations et d automatisation des envois de messages 3 1 R ification de ces formes de n gociation Parmi les types de n gociation pr sent s dans le chapitre pr c dent on peut d gager un certain nombre de points communs qui permettent de les r ifier Le premier point commun vident toutes ces formes de n gociations est l implication de res sources ce qui va tre n goci et de personnes celles qui vont n gocier Nous d cri vons ensuite un ensemble minimal d actes de langage n cessaires pour formaliser une n gociation 3 1 1 Les ressources Les ressources sont les objets de la n gociation Pour le cas des ench res ce seront des articles comme des tables des chaises etc dans le cas de la prise de rendez vous 67 68 Chapitre 3 Proposition d un mod le g n ral de n gociation ce seront des cr neaux horaires Les ressources qui seront n goci es peuvent tre soit personnelles soit communes
127. e la plus importante que nous d veloppons car c est elle qui constitue mon travail de recherche Elle contient notre protocole g n ral de n gociation qui per met d effectuer n n gociations de 1 vers m agents simultan ment de faire des contre propositions de se r tracter et de ren gocier automatiquement les contrats qui doivent l tre Tout cela se param tre dans un fichier de configuration du protocole C est dans cette partie que toutes les donn es n cessaires la mod lisation des n gociations sont d finies comme par exemple les ressources les contrats et les listes de priorit sur les ressources et sur les participants Ce niveau de n gociation contient galement les moyens de g rer les n gociations auxquelles un agent participe ce qui permet de bloquer les n gociations de contrats entrant en conflit avec une n gociation en cours et d ex cuter simultan ment les autres n gociations Des m canismes sont mis en place pour viter les attentes infinies de r ponse de la part d agents qui n existeraient plus et pour viter les interblocages qui pourraient survenir si les r sultats de deux n gociations d pendent l un de l autre Les n gociations se d roulent donc sans survenue de deadlocks La partie strat gie de n gociation est galement une partie ind pendante de notre mod le car non seulement il doit tre possible d utiliser diff rentes strat gies pour une application donn e mais surtout parce que selon
128. e les squelettes de strat gies pour l initiateur et le participant InitiatorStrategy et Partici pantStrategy ainsi qu une impl mentation par d faut de chacun d eux Deux classes utilitaires permettent de conserver l ensemble des ressources formant une proposition Nuplet et de trier les ressources selon leur note ResToSort Annexe B Utilisation de GeNCA au sein de Madkit Afin de montrer la facilit d utilisation de GeNCA nous pr sentons dans cette an nexe les classes qu il a fallu crire pour l utiliser au sein de la plateforme multi agents Madkit Il est bien videmment tout aussi facile d int grer GENCA au sein d autres plateformes multi agents comme Magique par exemple Nous pr sentons tout d abord le communicateur n cessaire pour la communication au sein de Madkit puis la classe de l agent serveur de noms et d un agent n gociateur Ces trois classes sont les seules classes n cessaires pour utiliser GENCA au sein de Madkit B 1 Le communicateur Le communicateur Figure utilise le moyen communication qui est employ au sein de Madkit Le principe est de cr er un groupe et des r les au sein du groupe Ainsi il est possible d envoyer des messages un agent poss dant un r le particulier au sein d un groupe Nous avons donc cr un groupe nomm genca ainsi que les r les routeur et participant au sein de ce groupe Le r le de routeur est tenu par l agent serveur de noms Ainsi pour envoyer un message au serve
129. eceived from Jean for resources 9h 10h 10h 11h answer by 10 minutes gt answer sent refuse gt ask for modification from Jean received gt propose 10h 11h 11h 12h 14h 15h 15h 16h 16h 17h gt answer ressources sent gt proposition received from Jean for resources 10h 11h 11h 12h answer by 10 minutes gt answer sent accept gt confirm received from Jean for ressources 10h 11h 11h 12h FIG 4 8 Onglet Messages Jacques a cr un contrat avec Paul pour les ressources 8h 9h et 9h 10h Paul a accept la proposition et Jacques a confirm ce rendez vous Il a ensuite re u une proposition de Jean pour les ressources 9h 10h et 10h 11h qu il a refus Jean a demand une modification du contrat et Jacques lui a propos les ressources 10h 11h 11h 12h 14h 15h 15h 16h et 16h 17h Jean a alors pro pos un nouveau contrat pour les ressources 10h 11h et 11h 12h Jacques a accept cette proposition et Jean a confirm ce rendez vous Au moment o la capture d cran a t faite Jacques n avait plus de contrats en cours de n gociation 124 Chapitre 4 GeNCA une API Java impl mentant notre mod le 4 4 4 L onglet Manuel Message New proposal arrived FIG 4 9 Pop up proposition re ue Cet onglet concerne le mode manuel d utilisation Lorsque ce mode est activ c est l utilisateur qui r pond aux proposit
130. ehavior Academic Press Rodriguez Aguilar et al 1997 Rodriguez Aguilar J A Noriega P Sierra C and Padget J 1997 FM96 5 A Java based Electronic Auction House In Proceedings of the Second International Conference on The Practical Application of Intelligent Agents and Multi Agent Technology PAAM 97 London UK 176 Bibliographie Sandholm 1993 Sandholm T 1993 An Implementation of the Contract Net Proto col Based on Marginal Cost Calculations In Eleventh National Conference on Artificial Intelligence AAAI 93 pages 256 262 Washington DC Acceptance Rate 24 Sandholm 2002 Sandholm T 2002 Algorithm for Optimal Winner Determination in Combinatorial Auctions Artificial Intelligence 135 1 54 Sandholm and Lesser 1995 Sandholm T and Lesser V 1995 Issues in Automated Negotiation and Electronic Commerce Extending the Contract Net Framework In First International Conference on Multiagent Systems ICMAS 95 pages 328 335 San Francisco Acceptance rate 33 Sandholm and Lesser 1996 Sandholm T and Lesser V 1996 Advantages of a leve led commitment contracting protocol In Proceedings of the Thirteenth National Confe rence on Artificial Intelligence pages 126 133 Portland OR AAAI Press Secq 2003 Secq Y 2003 RIO R les Interactions et Organisations une m thodologie pour les syst mes multi agents ouverts PhD thesis Universit des Sciences et Techno logies de Lille
131. emercie galement Samir Aknine pour avoir examin ce document et Jean Paul Delahaye pour avoir accept de pr sider mon jury de th se et pour l int r t qu ils ont port mes travaux Je ne serais pas arriv e jusque l si Philippe Mathieu mon directeur de th se ne m avait pas pris sous son aile bienveillante depuis le DEA Je le remercie galement pour toute l attention qu il m a port e et son soutien inconditionnel au cours de ces trois ann es Nos nombreuses discussions et nos changes de points de vue et d id es m ont permis d avancer dans mes recherches Pour lui un chercheur est une force de proposition J esp re ne pas l avoir trop d u Je remercie galement tous les membres de l quipe SMAC pour leur accueil et leur disponibilit J ai trouv dans cette quipe une chaleur humaine qui a fait d elle une se conde famille ma famille de recherche Je remercie plus particuli rement Jean Christophe qui fut mon tuteur de monitorat et ce titre m a beaucoup aid e dans mes d buts en tant qu enseignante ainsi que Yann et Bruno pour leur aide pr cieuse lorsque j avais des probl mes tant logiciels que mat riels Je remercie galement tous les membres du Laboratoire d Informatique Fondamen tale de Lille qui m ont accueillie et qui m ont permis de m panouir aussi bien dans mes recherches que dans mes enseignements Je remercie enfin ma famille et plus particuli rement mes parents qui m ont tou jours soutenue dan
132. en ch res anglaises hollandaises Vickrey etc Et troisi mement cette application est por table en effet les agents peuvent tre plac s sur un r seau h t rog ne sur des PDAs etc 5 3 JNego un jeu de n gociation de ressources JNego est un jeu de n gociation que nous avons invent en nous inspirant du jeu Civilization M Avalon Hill Game Company Ce jeu permet d illustrer de nombreux concepts tant de n gociation que de th orie des jeux ce qui en fait sa richesse res sources intervenants strat gies bases de croyances n gociation raisonnement sont au programme Il a pour but de mettre en comp tition des joueurs qui doivent maximiser la valeur des ressources qu ils poss dent Ce jeu fonctionne de fa on synchrone chaque joueur parle tour de r le Nous pr sentons ce jeu afin de montrer que notre couche de n gociation est adapt e de nombreux domaines totalement diff rents Nous avons vu qu en adaptant uniquement la couche de communication on peut utiliser GGNCA avec des agents communiquant par e mail ou au sein d un SMA Cette application montre qu on peut galement l utiliser dans un mode de n gociation s quentiel c est dire o les agents parlent tour de r le pour effectuer de la n gociation dans les syst mes synchrones comme des jeux de plateaux ou les jeux video 5 3 1 R gles du jeu Il y a 6 ressources diff rentes qui valent dans l ordre et par convention de 1 6 points et qui sont pr
133. en que coop ratifs peuvent interagir De plus le Contract Net Protocol est tendu afin de permettre pour un regroupement de t ches de traiter un grand nombre possible de messages d annonce et d ench re et d effectivement traiter les situations o de nou velles ench res et attributions se d roulent alors que les r sultats des ench res pr c dentes sont inconnus Le protocole est v rifi par le syst me Traconet TRAnsportation COoperation NET o les centres de distribution de diff rentes compagnies coop rent automatiquement pour le routage de v hicules L impl mentation est asynchrone et distribu e et elle procure aux agents une autonomie tendue Comme le Contract Net Traconet permet de r aliser une n gociation de 1 vers m agents Les insuffisances du Contract Net que Sandholm a identifi es et trait es dans cette impl mentation sont les suivantes il n y a pas de mod le formel pour la prise de d cision concernant l annonce des t ches les offres et les attributions Dans cette impl mentation un mod le bas sur les co ts marginaux pour ex cuter des ensembles de t ches est utilis la prise de risque d un agent pour se voir attribuer des activit s qu il ne pourrait pas honorer ou que l accomplissement de celles ci ne lui serait pas b n fique n est pas pris en compte une seule t che est annonc e la fois ce qui peut ne pas tre suffisant si l effort de d l guer une t che d pend de
134. enant mieux a l ensemble des participants Ce peut galement tre un moyen de raffinement du contrat confirme contrat ce message indique aux participants que le contrat est confirm La n gociation a t un succ s annule contrat ce message indique aux participants que le contrat est annul La n gociation a chou Primitives du participant Les messages envoy s par les participants sont unique ment destin s l initiateur Les autres participants n ont pas connaissance de ces mes sages De plus les participants ne connaissent pas la liste des participants convi s la n gociation ils ne peuvent donc pas former de coalition au cours de la n gociation Le participant poss de trois primitives de n gociation accepte param tres ce message r pond la proposition de contrat faite par l ini tiateur Le participant indique par ce message l initiateur qu il accepte le contrat tel qu il est Il peut y avoir des param tres dans le cas o le contrat est partielle ment instanci C est le cas dans les ench res Vickrey o les participants doivent proposer un prix pour l article mis en vente Ce param tre peut galement tre utilis pour effectuer une contre proposition lorsque l application le permet 3 3 Le niveau n gociation 77 refuse ce message r pond la proposition de contrat faite par l initiateur Le participant indique l initiateur qu il refuse le contrat propose mo
135. ench re pour 10 euros 26 Chapitre 2 D finition et tat de l art vendeur acheteur 1 acheteur 2 acheteur 3 acheteur 4 60e 50e re 40e 30e 20e 10e gt gt Le ach te adjug gt 10e FIG 2 6 Exemple d ench res descendantes Quatre acheteurs sont en comp tition pour obtenir l article Le vendeur diminue continuellement son prix jusqu ce qu un acheteur se manifeste pour acqu rir le bien Ici l acheteur 3 remporte l ench re pour 10 euros Ce sont ces ench res qui sont utilis es dans Fishmarket Noriega 1998 une place d ench res lectroniques pour la vente de poissons en Espagne d velopp e par No riega Ces ench res sont surtout utilis es pour la vente de produits p rissables Les ench res au cadran sont des ench res descendantes automatis es o le prix est affich sur un cadran d o leur nom Elles sont fr quemment rencontr s sur des march s au cadran pour la vente de b tail de poisson ou autres denr es p rissables Ces ench res sont aussi une n gociation puisqu elles se d roulent sur plusieurs tours Le protocole se d finit comme suit le vendeur propose son article un prix tr s lev un ensemble d acheteurs Si un acheteur accepte la proposition il gagne le contrat Si tous les acheteurs refusent le vendeur leur propose a nouveau son article a un prix moins lev Le processus se termine lorsqu un acheteu
136. ench res o il faut proposer un prix Nous avons vu que notre protocole distingue deux r les initiateur et participant La strat gie de n gociation n est pas la m me selon le r le de l agent il y a donc deux sortes de strat gies La strat gie de l initiateur lui permet de d cider de confirmer ou d annuler le contrat et de synth tiser les diff rentes propositions de modifications des participants afin de proposer un nouveau contrat L autre strat gie est celle du partici pant qui l utilise pour d cider d accepter ou de refuser la proposition de contrat et de trouver une modification pour le contrat lorsque l initiateur en demande une Afin d laborer des strat gies nous avons mis en place des listes de priorit et des outils permettant de prendre en compte les r sultats des n gociations pass es 3 4 1 Listes de priorit Afin de pouvoir laborer des strat gies nous avons mis en place dans le mod le deux listes de priorit s une pour les ressources et une pour les personnes La priorit est un entier compris entre 1 et 10 10 tant la meilleure note Ainsi chaque agent peut d finir un ordre sur les ressources et les personnes Chaque agent est libre de modifier les priorit s qu il a donn es tout moment Ces listes de priorit ont deux utilisations principales pour un participant elles lui permettent de choisir le contrat qu il sou haite prendre en cas de conflits Par exemple au sein d une quipe le chef
137. ent d en voyer le message accept soit de le refuser et donc demande a l engagement d envoyer le message refuse Pour la proposition d une modification la strat gie utilise nouveau les outils four nis afin de choisir la modification qui la satisferait au mieux Elle demande ensuite a l engagement de l envoyer l initiateur message proposeModification Pour chaque application n cessitant une strat gie sp cifique le d veloppeur doit impl menter ces deux interfaces Des exemples d impl mentations seront d velopp s dans la section Applications 4 4 Interface graphique Notre but est de fournir un syst me qui pourra tre utilis de fa on automatique ou guid e par un utilisateur humain Nous voulons en effet qu un utilisateur puisse g rer ses n gociations via notre mod le et dynamiquement laisser la main a son agent lorsqu il doit s absenter pour participer une r union par exemple et la reprendre 120 Chapitre 4 GeNCA une API Java impl mentant notre mod le son retour Afin de pouvoir interagir avec son agent une interface graphique est pro pos e l utilisateur Nous avons con u une interface utilisateur g n rique afin qu elle s adapte aux diff rentes applications qui seront r alis es A travers cette interface l uti lisateur peut cr er des contrats suivre l avancement de ses n gociations et r pondre aux propositions de contrat s il utilise GGNCA en mode manuel Toutes les classes n ce
138. entaire effectu par rapport la t che chang e Parfois les agents peuvent avoir recours une compensation mon taire Dans Aknine et al 2001 les auteurs pensent que ce genre de protocole n est pas suffisant pour assurer la coordination des agents En effet dans certaines applications 2Cette description est issue de Aknine et al 2001 avec l accord de l auteur 2 1 D finition 15 FIG 2 2 Allocation de t ches par changes Cette figure d crit une situation dans laquelle l agent al propose l agent a2 l ensemble de t ches form de t3 et t4 a2 accepte d ex cuter ces deux t ches condition que a1 prenne en charge la t che t6 pour que ce protocole soit utilisable il doit tre combin avec d autres protocoles car les agents peuvent ne pas vouloir changer leurs t ches par exemple pour des raisons de confidentialit a a a3 FIG 2 3 Allocation de t ches par circulation des annonces Cette figure indique que l agent al a re u une proposition t5 et t6 de l agent a2 al n est pas int ress par ces t ches il diffuse l information l agent a3 a3 peut galement proposer une de ses t ches l agent a2 La quatri me approche pr sent e par Andersson et Sand holm Andersson and Sandholm 1998 montre qu il est possible de faire circuler des contrats entre agents par des changes de messages Un contrat peut tre consid r comme valide si l un des agents int ress s signe le contra
139. envoi d e mails 2 4 Conclusion Nous avons pr sent dans ce chapitre la d finition de la n gociation que nous consi d rons pour cette th se ainsi que diff rents types de n gociation que nous avons tu di et diff rents syst mes de n gociation r alis s par d autres quipes de recherche La plupart des syst mes pr sent s dans ce chapitre utilisent des protocoles propres leur application Parmi ces syst mes certains sont sp cialis s dans les ench res comme Fish market Kasbah GNP et AuctionBot d autres sur les services comme ADEPT mais peu se pr sentent comme tant g n rique De plus ils n offrent pas tous les m mes possibilit s de communication seul ADEPT s pare la communication pour les autres elle est fig e comme par exemple SilkRoad et GNP qui communiquent via une interface web Cer tains utilisant un mod le bilat ral de n gociation par exemple Kasbahet Zeus d autres un mod le de 1 vers n agents par exemple Magnet et Traconet Enfin ils utilisent des actes de langages sp cifiques ce qui limite leur portabilit Le tableau 2 Z reprend les diff rentes plateformes pr sent es ainsi que GeNCA et apporte une comparaison sur diff rents crit res qui nous paraissent importants pour une plateforme de n gociation g n rique Ce tableau laisse appara tre que GeNCA est la seule plateforme poss dant toutes les caract ristiques que nous avons d finies et la seule proposer de choisir la r po
140. epte le rendez vous Sinon elle regarde si l initiateur du rendez vous est plus prioritaire que celui du rendez vous d j pris Si oui elle accepte le rendez vous sinon elle le refuse Lors de la r ception d une confirmation de rendez vous le participant l ajoute son agenda et envoie si n cessaire un message de r tractation l initiateur du des rendez vous moins prioritaire s n cessitant ces tranches horaires Lors de la r ception d une demande de modification le but la demande la strat gie via la m thode proposeModification Celle ci consulte l agenda du participant et envoie un nombre pr d fini de tranches horaires libres et par ordre de priorit l initiateur du rendez vous Elle m morise sa proposition afin de ne pas refaire la m me post rieure ment 5 1 4 Fichier de configuration de l application La figure 5 2 repr sente le contenu du fichier de configuration de l application On y retrouve la liste des ressources communes qui seront n goci es les strat gies utiliser par d faut les param tres du protocole la priorit par d faut d finie pour l agent le mode de gestion des n gociations conflictuelles et la n cessit de l interface graphique Comme l application consiste n gocier des rendez vous et que logiquement une personne ne peut pas tre deux rendez vous diff rents en m me temps il nous parait logique de n gocier s quentiellement les rendez vous qui entrent en conflit
141. er et al 1988 La n gociation s effectue s quentiellement pour chaque sous contrat la r ussite globale est atteinte lorsque tous les sous contrats ont t n goci s avec succ s Lorsqu un sous contrat est en cours de n gociation et qu aucune solution n est possible on effectue un backtrack pour la n go ciation du sous contrat pr c dent Par exemple pour la prise de rendez vous on peut d composer le contrat en recherche d un jour puis d une heure dans ce jour Dans Conry et al 1992 Conry et ses coll gues utilisent la n gociation multi niveaux pour la satisfaction de contraintes distribu es et plus particuli rement pour le cas d agents ayant des buts locaux qui n cessitent l obtention de ressources communes La n gociation est alors utilis e pour que tous les agents puissent accomplir leurs buts locaux Ils utilisent galement la n gociation multi niveaux pour la restauration de ca naux de communication dans un systeme de communications complexe Les n gociations combin es Les n gociations combin es sont utilis es lorsqu une personne a besoin d un en semble d objets non disponibles aupr s d un unique vendeur Il faut alors n gocier chaque objet ou sous ensemble d objets s par ment et avoir un m canisme de liai son entre les n gociations car si l ensemble des objets ne peut tre acquis aucun objet ne doit l tre De plus il ne faut obtenir chaque item qu en un seul exemplaire Les
142. er le processus de n gociation des autres parties du logiciel et que les r gles gouvernant la n gociation ne devraient pas tre cod es en dur Nous sommes donc tr s proches de ces travaux sur le GNP mais notre plateforme se veut plus g n rique encore car nous ne nous sommes pas pr occup s uniquement des march s et des ventes aux ench res mais aussi aux n gociations non commerciales telles que la prise de rendez vous par exemple Nous proposons galement diff rents modes de communications entre les agents SMA e mail etc alors que GNP ne peut s utiliser que par un navigateur web Notre protocole de n gociation est galement plus large puisqu il permet de ren gocier automatiquement les contrats qui doivent tre d pla c s Un avantage du GNP est qu il propose diff rents mod les de n gociation ce qui permet d instancier facilement les diff rents types de n gociation pr d finis C est cet apport de biblioth que de r gles protocoles que nous voulons atteindre avec GeNCA 2 3 11 A generic software framework for automated negotiation Claudio Bartolini et ses coll gues Bartolini and Preist 2001 Bartolini et al 2002b Bartolini et al 2002a des laboratoires HP veulent cr er un framework g n rique pour la n gociation automatique d di aux m canismes de march Ce framework com porte un protocole g n ral de n gociation qui se param tre par des r gles de n gociation En choisissant diff rent
143. era retenue Si l initiateur ne veut c der aucune des cartes demand es ou s il n a aucune de ces cartes alors il demande aux participants de modifier leur demande La strat gie m morise les propositions qui ont t faites afin de pouvoir comparer les offres successives des participants Ce principe est conserv lors de la r ception des modifications 5 3 4 Le comportement du participant Ici encore nous allons d crire une strat gie simple qui se d compose elle aussi selon les trois types d changes pouvant tre r alis s change de 2 ressources nomm es contre 2 autres ressources nomm es Si le partici pant ne poss de pas les ressources d sir es par l initiateur ou si celles qu il pro pose en change ne l int ressent pas si elles n augmentent pas la valeur de sa main il refuse le contrat Sinon il l accepte change de 2 ressources propos es contre n importe quoi Si les ressources propos es int ressent le participant il en a d j il accepte le contrat et propose en change les ressources qu il poss de qui ne l int ressent pas Ce peut tre par exemple les ressources qu il poss de en unique exemplaire et ou celles qui valent le moins de points Si les ressources propos es ne l int ressent pas il refuse le contrat En cas de demande de modification le participant propose d autres ressources qui ne l int ressent pas ou rien s il d cide de ne se s parer d aucune autre carte 152 Ch
144. es les listes Si plusieurs alter natives sont galit on les enl ve toutes des listes Les alternatives qui suivaient celle qui a t enlev e sur les listes gagnent alors une place A ce stade les listes de pr f rences sont plus courtes d au moins une alternative On recommence alors la proc dure qui est de chercher si une alternative est class e premi re sur au moins la moiti des listes et d effacer l alternative la moins d sir e sinon La pro c dure s arr te d s qu une alternative appara t en premier sur au moins la moiti des listes ou si toutes les alternatives restantes apparaissent en premier sur exac tement le m me nombre de listes On est s r de trouver un choix social ou un sous ensemble d alternatives car toutes les alternatives sont class es par les vo tants et on ne les enl ve pas toutes puisqu on s arr te d s qu une alternative est class e premi re sur au moins la moiti des listes ou que toutes les alternatives restantes sont class es premi res sur exactement le m me nombre de listes Avec notre exemple il faut qu une alternative soit class e premi re sur au moins 4 listes pour tre le choix social Aucune alternative ne r pond ce crit re l al ternative a choisie par le plus de personne ne remporte que 3 voix il faut donc retirer l alternative la moins d sir e L alternative la moins class e premi re dans les listes de pr f rences est l alternative d car elle est class e premi re
145. es objectifs que nous avons cit s pr c demment sont la possibilit de se r tracter et de ren gocier un contrat qui avait t conclu la possibilit de n gocier simultan ment tous les contrats ou seulement ceux qui concernent des ressources diff rentes l limination des deadlocks pouvant surve nir lors des n gociations notamment en utilisant un m canisme de d lai d attente des r ponse des participants Nous avons impl ment notre mod le sous la forme d une API Java galement ap pel e GeNCA qui nous a permis de r aliser diff rentes applications de n gociation avec divers moyens de communication Nous avons par exemple con u une application permettant des agents communicant par e mail de n gocier le choix d un restaurant pour une sortie commune Un autre exemple s ex cutant sur la plateforme Magique est celui de la vente aux ench res hollandaises d articles poss d s par les agents Ces r ali sations sont disponibles sur le sitelht tp www 1if1 fr SMAC projects genca Notre mod le s adapte donc diff rentes sortes de n gociations commerciales ou non ce qui tait l un des objectifs que nous nous tions fix s Il convient par exemple pour les familles des syst mes de vote et d ench res et en partie pour la famille des n gociations bas es sur le Contract Net Protocol En revanche il ne convient pas pour l instant pour la famille des n gociations par argumentation L impl mentation de ce
146. es que nous avons d finis ni ne permet l adaptation l ensemble des types de n gociations que nous pr sentons dans cette th se La n gociation peut prendre diff rentes formes de la n gociation la plus basique la plus complexe Le niveau le plus faible en terme de n gociation est un syst me dans lequel cette n gociation est r duite sa plus simple expression C est notamment le cas dans la n gociation dite prendre ou laisser dans laquelle une offre est formul e qui sera soit accept e soit refus e mais sans autoriser de r vision La n gociation s arr te apr s cette offre Le Contract Net Protocol est une n gociation de niveau plus lev puisqu il consiste en un appel d offres de la part d un agent appel manager Diff rentes offres sont alors propos es au manager par des contractants mais seulement l une d elles est choisie par le manager sans autre formulation si aucune offre ne convient La n gocia tion telle que nous la concevons commence un niveau sup rieur o plusieurs offres 4 Chapitre 1 Introduction sont chang es des contre propositions sont formul es et des concessions sont faites par les diff rentes parties impliqu es Les ench res font partie de ces n gociations un niveau certes l mentaire puisqu aucune concession n est faite par l une des parties et surtout parce que le r sultat n est satisfaisant que pour le vendeur et l acheteur ayant gagn l ench re les autres particip
147. espectent les propri t s nonc es Pareto Condorcet Monotonie HA Pluralit oui non oui non Borda oui non oui non Hare oui non non non Paires non oui oui non Dictateur oui non oui oui Les preuves de ces r sultats peuvent tre trouv es dans Taylor 1995 On constate qu aucune m thode ne satisfait toutes les propri t s Le th or me d impossibilit d Arrow galement appel paradoxe d Arrow est une confirmation math matique dans certaines conditions pr cises du paradoxe vo qu par Condorcet selon lequel il n existerait pas de fonction de choix social indis cutable permettant d agr ger des pr f rences individuelles en pr f rences sociales Pour Condorcet il n existait pas de syst me simple assurant cette coh rence Arrow d montre sous r serve d acceptation de ses hypoth ses qu il n existerait pas de syst me du tout assurant la coh rence hormis celui non d mocratique o un dictateur seul imposerait ses choix tout le reste de la population Le th or me d impossibilit d Arrow C est en 1950 que Kenneth Arrow H a publi dans le Journal of Political Economy un r sultat connu maintenant sous le terme de th o r me d impossibilit d Arrow Prix Nobel d conomie en 1972 2 2 Les diff rents types de n gociation automatique 23 D finition 4 Une fonction de bien tre social est une fonction qui 1 accepte en entr e une s quence de listes de pr f rences individuelles d u
148. essaires les faits correspondent aux ressources pour notre type d applications les diff rents agents qui vont intervenir les services dont ils auront besoin ainsi que leurs accointances La r alisation de l application avec Zeus est facilit e par un support lo giciel le Zeus Agent Generator Il permet de d finir l ontologie les agents et les t ches Puis le Code Generator permet de g n rer le code correspondant aux d finitions r alis es avec l Agent Generator Une suite de logiciels support pendant l ex cution est galement fournie avec Zeus Elle comprend le visualiseur de la soci t l outil de rapport l outil de statistiques le visualiseur d agent et l outil de contr le Zeus propose une mod lisation de r les pour 5 applications dans 3 domaines Le domaine de gestion d informations L espace d informations partag es Le domaine du commerce entre plusieurs agents La place de march distribu e Les ench res institutionnelles Le domaine des processus industriels La cha ne de production simple La cha ne de production contractuelle Chaque agent poss de un objet appel Co ordination Engine dont le but est de g rer les comportements lors de r solution de buts et en particulier ceux relatifs la collabo ration entre agents En plus des besoins g n raux pour la d claration du comporte ment adopter il a fallu tenir compte du fait qu un agent doit tre capable d engager p
149. essources propos es ne l ont pas d j t par ce m me initiateur alors j ac cepte sa proposition 3 4 Le niveau strat gique 95 si l initiateur s est d j r tract pour un de mes contrats alors je refuse sa propo sition si les ressources propos es sont libres ou prises par quelqu un de moins impor tant alors j accepte la proposition etc Nous pr sentons maintenant la strat gie par d faut que nous proposons pour le r le d initiateur puis celle pour le r le de participant Ces strat gies utilisent uniquement les listes de priorit et sont utilisables dans toutes les n gociations concernant l affectation ou le partage des ressources comme par exemple la cr ation d emplois du temps En effet les contrats que nous d finissons contiennent uniquement des ressources il n est donc pas possible de prendre en compte d autres param tres tels qu un prix dans ces strat gies 3 4 3 Comportement de l initiateur envoie une proposition de contrat p participants re oit q accords attend les r ponses re oit q accords q gt minAccords q lt minAccords timer ge regoit q accords q lt minAccords ET nbTours gt maxTours gt envoie la confirmation du contrat gt envoie l annulation du contrat _ 2 ET nbTours lt maxTours attend les gt envoie une demande de Echec ie modification aux p participants Succ s timer a R died Te nbAccordsRestants gt minAc
150. et 9h 10h l autre avec Jean pour les ressources 10h 11h et 11h 12h 44 6 L onglet R tractation Choose a contract to cancel Jean for resources 10h 11h 11h 12h answer by 10 minutes FIG 4 13 Onglet R tractation Cet onglet permet de se r tracter d un contrat pris pr c demment Pour cela il suffit de choisir dans la liste le contrat annuler et de valider en cliquant sur le bouton cancel Le contrat sera alors annul aupr s de l initiateur l ayant propos La Figure 4 13 montre cet onglet pour l agent Pierre Il n a qu un seul contrat qu il a pris avec Jean pour les ressources 10h 11h et 11h 12h 126 Chapitre 4 GeNCA une API Java impl mentant notre mod le 4 4 7 L onglet Vue des ressources Cet onglet affiche une repr sentation des ressources et des contrats n goci s ou en cours de n gociation sur celles ci Les ressources sont align es en bas de l onglet Au dessous on retrouve les contrats pris sur les ressources et au dessus on empile les contrats en cours de n gociation sur les ressources en question Gaud Resources View 11h 12h 14h 15h 15h 16h 16h 17h 17h 18h FIG 4 14 Onglet Vue des ressources La Figure 4 14 montre cet onglet pour l agent Pierre On voit que Pierre a d j pris un contrat avec Jean pour la ressource 11h 12h et qu il est en train de n gocier un autre contrat propos par Jean pour les ressources
151. etc gt Ces primitives de base permettent aux agents de se mettre d accord sur la fa on dont un service sera fourni Les conditions seront s par es en obligatoires et d sirables Le raisonnement optionnel et les d tails de la provision de service devraient fournir aux agents un m canisme pour casser les deadlocks qui proviendraient de requ tes obligatoires non n cessaires ou de fournir plus de formes nouvelles d alternatives de provision de service Cela devrait permettre de d velopper rechercher beaucoup plus 44 Chapitre 2 D finition et tat de l art de formes sophistiqu es de processus de n gociation La chose importante noter est que l acceptation d une proposition apr s de possibles modifications et peut tre des demandes des explications r sulte en un accord de niveau de service sp cifique qui peut alors tre planifi pour tre ex cut Si un probl me survient lors de l ex cution du service celui ci peut tre ren goci automatiquement s il n y a pas d autre solution comme le red marrer par exemple Dans Sierra et al 1997 les auteurs d taillent le mod le de raisonnement des agents pour la n gociation orient e service o ils se concentrent sur les n gociations multi parties multi issues simple rencontre dans un environnement o les ressources parmi lesquelles le temps sont limit es Pour eux un mod le d taill et complet de raisonnement pour la n gociation
152. ettant de r aliser plusieurs formes de n gociation diff rentes sans demander de lourde charge de travail un utilisateur Notre mod le appel GeNCA s pare les niveaux de communication de n gociation et de strat gie qui sont ind pendants les uns des autres au sein d une application de n gociation Le niveau de communication sert indiquer le moyen de communication utilis par les agents Ce peut tre de la communication au sein d un syst me multi agents aussi bien que par envoi d e mails ou encore par appel de proc dure Ce niveau est interchangeable pour permettre une application sp cifique de choisir son mode de communication Le niveau de n gociation contient notre protocole g n ral de n gociation et l en semble des structures n cessaires afin de g rer les diff rentes n gociations d un agent Ce niveau forme le c ur de notre mod le qui a pour but de faciliter la mod lisation et l impl mentation d une application de n gociation Le niveau strat gique permet de s parer le processus d cisionnel de l agent du pro tocole de n gociation pour que la strat gie de n gociation utilis e soit adapt e au pro bl me trait Il est en effet vident que la strat gie de n gociation utilis e d pend de l application et que la n gociation d une tonne de pommes de terre ne se fait pas de la m me fa on que la n gociation d un rendez vous chez le m decin Les principales qualit s de notre mod le outre l
153. eur conna t il fait partie des propri t s du contrat Il font donc tendre la classe Contract Properties pour qu elle m morise ce prix de r serve Il faut galement ajouter la saisie de ce param tre dans l onglet de cr ation de contrat de l interface graphique Cette application implique que l agent poss de une certaine somme d argent et qu il a envie d acheter certains articles Il nous faut donc mettre en place des m thodes permettant de consulter le cr dit d un agent et de savoir s il d sire acqu rir l objet mis en vente Cela peut se faire en tendant la classe Negotiator Le montant que l agent poss de au d part fera partie des param tres sp cifiques l application Nous allons donc utiliser le param tre optionnel du fichier de configuration de l agent application parameters list qui contiendra un seul param tre la somme d ar gent dont dispose l agent On trouvera donc dans le fichier de configuration d un agent poss dant 50 euros les lignes lt application parameters list gt lt application parameter gt lt name gt credit lt name gt lt parameter gt lt class gt java lang Float lt class gt lt value gt 50 lt value gt lt parameter gt lt application parameter gt lt application parameters list gt Il nous faut donc l g rement modifier en fait tendre la couche de n gociation de notre paquetage Nous allons utiliser une plateforme multi agents pour impl menter cette appli cation Deu
154. eur de noms qui a lui aussi besoin d un communicateur lui permettant d envoyer un message un agent connaissant son adresse Ces communicateurs doivent impl menter l interface Communicator Figure 4 1 Cette interface comprend deux m thodes l une utilis e par les agents n gociant pour interagir avec le serveur de noms et l autre utilis e par le serveur de noms pour joindre un agent n gociant Pour envoyer un message au serveur l agent utilise la m thode sendToServer de l interface Communicator Le message est obligatoirement du type ServerMessag Pour envoyer un message un agent le serveur utilise la m thode sendToAgent de l interface Communicator Le message envoy est obligatoirement du type ServerMessage package fr lifl genca magique public class MagiqueCommunicator extends MagiqueDefaultSkill implements Communicator private Agent myAgent public MagiqueCommunicator Agent name super name myAgent name for an agent to send a message to the server param message the message to send Hf public void sendToServer ServerMessage message perform receiveFromAgent message for the server to send a message to an agent synchronous param to the user agent address param msg the content of the mesage XX public void sendToAgent Object to fr lifl genca communication Message msg askNow String to receiveMessage msg FIG 4 2 L impl mentation de l interface Commun
155. eut exister entre les agents En effet la synchronisa tion des diff rents ordinateurs sur lesquels tournent les agents est un r el probl me que nous n avons pu r soudre Ce nombre de tours sera donc fix z ro si la n gociation est du type prendre ou laisser ou si ce sont des ench res offres scell es au meilleur ou au second meilleur prix lt nbRounds gt 0 lt nbRounds gt A chaque tour de parole les participants peuvent proposer un certain nombre de mo difications apporter au contrat Ce nombre est fix par le param tre lt nb modifications by round gt 0 lt nb modifications by round gt Ren gociation automatique Souvent lors de n gociations certains contrats ne peuvent plus tre honor s et doivent tre ren goci s C est par exemple le cas lors de la prise de rendez vous Un participant peut tre amen annuler un rendez vous cause d un impr vu mais voudrait en obtenir un autre Pour cette raison nous proposons de pouvoir se r tracter d un contrat pris et de ren gocier automatiquement les contrats qui doivent l tre D s qu un initiateur re oit une r tractation pour un contrat il peut choi sir de l annuler pour tous les participants et ventuellement d entrer dans une nouvelle phase conversationnelle afin de trouver un nouvel accord L initiateur peut galement ne rien faire si le nombre d accords reste sup rieur au nombre minimal d accords n cessaires pour le succ s de la n g
156. euvent aussi bien repr senter des articles que des tranches horaires ou encore des cageots de fruits N importe quel objet peut tre une ressource incluant un contrat comme type de donn e mais pas le contrat en train d tre n goci lui m me Nous avons choisi de repr senter les ressources par une cha ne de caract res ce qui pr sente l avantage de pouvoir d tailler la ressource Ainsi table lundi 15 mars 2004 8h 9h ou encore pommes de terre peuvent tre des ressources 22 N Les contrats Un contrat est un objet cr l initialisation de la n gociation Il comporte les ressources n gocier l initiateur de la n gociation le d lai de r ponse pour viter les deadlocks et la r ponse par d faut qui sera consid r e par l initiateur si le participant ne r pond pas dans les temps Par exemple l association Pierre lundi 15 mars 2004 8h 9h 10 accepte est un contrat propos par Pierre pour la ressource lundi 15 mars 2004 8h 9h dont le d lai de r ponse est 10 minutes et la r ponse par d faut un accord Un contrat peut contenir une ou plusieurs ressources Si un contrat porte sur plu sieurs ressources celles ci sont li es par l op rateur logique ET Cela implique que l ob tention de toutes les ressources est n cessaire pour confirmer le contrat les ressources forment un tout Si toutes les ressources ne peuvent pas tre obtenues la n gociation chouera Au contrai
157. fr lifl genca madkit import madkit kernel import madkit lib messages import fr lifl genca communication import java util Vector This class provides an agent that plays the role of names server author Marie H l ne Verrons 7 public class MadkitRouteurAgent extends Agent private NamesServer myServer private Communicator myCommunicator public void activate myCommunicator new MadkitCommunicator this myServer new NamesServer myCommunicator createGroup true genca null null requestRole genca routeur null public void live while true madkit kernel Messag waitNextMessage j if e instanceof ObjectMessage myServer receiveFromAgent ServerMessage ObjectMessage e getContent public void end printin I am dead arghhh FIG B 2 L agent serveur de noms dans Madkit Afin de d finir un agent Madkit il faut impl menter trois m thodes activate live et end La m thode activate sert a initialiser l agent la m thode live d crit le comportement de l agent durant sa vie et la m thode end sert a terminer l agent lorsqu il meurt 168 Annexe B Utilisation de GeNCA au sein de Madkit L agent serveur de noms Figure B 2 poss de un communicateur Madkit et utilise le serveur de noms que nous avons d fini au sein de notre paquetage Il cr e le groupe genca et demande tenir le r le de routeur au sei
158. g for reuse A software framework for automated negotiation In Proc 3rd Int Workshop on Agent Oriented Software Engineering pages 87 98 Bologna Italy Bartolini et al 2002b Bartolini C Preist C and Jennings N R 2002b A Generic software framework for automated negotiation Technical Report HPL 2002 2 HP Laboratories Bristol Bauer et al 2001 Bauer B M ller J P and Odell J 2001 Agent uml A formalism for specifying multiagent interaction In Ciancarini P and eds M W editors Agent Oriented Software Engineering pages 91 103 Berlin Springer Beer et al 1999 Beer M d Inverno M Luck M Jennings N Preist C and Schroe der M 1999 Negotiation in Multi Agent Systems Knowledge Engineering Review 14 3 285 289 Bensaid 1999 Bensaid N 1999 MAGIQUE une architecture multi agents hi rarchique Th se de Doctorat Universit de Lille 1 Benyoucef 2000 Benyoucef M 2000 Support for Combined Negotiations in E Commerce Concepts Architecture and Evaluation Benyoucef et al 2001 Benyoucef M Alj H V zeau M and Keller R K 2001 Combined Negotiations in E Commerce Concepts and Architecture Electronic Com merce Reseach Journal Special Issue on Theory and Application of Electronic Market De sign 1 3 277 299 Benyoucef et al 2000 Benyoucef M Keller R K Lamouroux S Robert J and Trussart V 2000 Towards a Generic E Negot
159. hat l utilisateur sp cifie le type de bien a n gocier la date a laquelle il souhaite que la transaction soit effectu e le prix d sir le plus petit resp grand prix acceptable et la strat gie de n gociation a choisir parmi les 3 propos es qui correspondent aux fonctions lin aire quadratique et exponentielle pour le calcul de l volution du prix selon le temps L utilisateur pr cise galement si l agent doit demander son accord avant de conclure la vente et s il veut tre averti par mail lorsqu un accord est trouv Une fois l accord atteint la transaction physique peut avoir lieu ce qui doit tre r alis par les agents humains Du point de vue de l impl mentation Kasbah met en relation les agents ayant des buts communs les communications entre agents se font de 1 vers 1 Le fonctionnement en parall le des agents est simul en accordant un fime slice chacun tour de r le Durant ce time slice l agent d termine le prix courant d sir d cide avec quel agent communiquer et enfin communique avec celui ci Les agents communiquent via des actes de langages sp cifiques Kasbah Si une volution vers KQML a t pr vue ce syst me n en reste pas moins ax sur l e commerce qui est un aspect tr s sp cifique de la n gociation 2 3 4 AuctionBot AuctionBot Wurman et al 1998 est un serveur d ench res exp rimental d velopp et op rationnel au laboratoire d intelligence artificielle de l universit
160. i Ce protocole r alise des contrats entre 2 agents uniquement il peut ex cuter plusieurs n gociations de 1 vers 1 simultan ment mais 1 seule sera confir m e les autres annul es Dans le cas de la prise de rendez vous une r union r unit en g n ral plusieurs participants et un pourcentage d acceptation doit tre atteint Il n y a donc pas n n gociations simultan es dont l une aboutira mais 1 n gociation avec n participants qui aboutira si le pourcentage d acceptation est atteint D autre part ce protocole permet de lancer des appels d offres mais il ne permet pas de ren gocier les offres propos es Elles sont accept es ou rejet es telles quelles il n y a pas de retour de la part de l initiateur pour essayer d aboutir un accord commun Notre protocole fournit des primitives afin de permettre la ren gociation de contrat si l initiateur et les participants ne sont pas satisfaits Ainsi les agents tentent de trouver un contrat qui les satisfait au mieux De plus les strat gies propos es sont bas es sur l volution du co t du but r ali ser Or tous les types de n gociation ne comportent pas forc ment un co t comme par exemple la prise de rendez vous 2 3 8 Magnet Magnet Multi AGent NEgotiation Testbed Collins et al 1998 est un banc de tests pour la n gociation multi agents impl ment sous la forme d une architecture g n ra lis e de march et d velopp l universit du Minnesota par John Co
161. iation In Proceedings of the DEXA 2000 Workshop on e Negotiations pages 1020 1028 London UK Str bel 2001a Str bel M 2001a Communication Design for Electronic Negotia tions on the Basis of XML Schema In Proceedings of the 10th World Wide Web Confe rence pages 9 20 Hong Kong 177 Str bel 2001b Str bel M 2001b Design of Roles and Protocols for Electronic Ne gotiations Electronic Commerce Research Special Issue on Market Design 1 3 335 353 Str bel and Stolze 2001 Str bel M and Stolze M 2001 A Matchmaking Com ponent for the Discovery of Agreement and Negotiation Spaces in Electronic Mar kets In Proceedings of Group Decision and Negotiation pages 61 75 La Rochelle France Str bel and Weinhardt 2003 Str bel M and Weinhardt C 2003 The montreal taxo nomy for electronic negotiations Group Decision and Negotiation 12 2 143 164 Sycara 1988 Sycara K 1988 Resolving goal conflicts via negotiation In Proceedings of the Seventh National Conference on Artificial Intelligence pages 245 250 St Paul Min nesota Sycara 1990 Sycara K 1990 Persuasive argumentation in negotiation Theory and Decision 28 203 242 Taylor 1995 Taylor A D 1995 Mathematics and Politics Strategy Voting Power and Proof Springer verlag Tsvetovatyy et al 1997 Tsvetovatyy M Gini M Mobasher B and Wieckowski Z 1997 MAGMA An Agent Based Virtual Market for Electronic
162. iation Platform In Proceedings of the Sixth International Conference on Re Technologies for Information Systems pages 95 109 Zurich Switzerland Bichler et al 1999 Bichler M Kaukal M and Segev A 1999 Multi attribute auc tions for electronic procurement In Proc 1st IBM IAC Workshop on Internet Based Negotiation Technologies Yorktown Heights Bussmann and Muller 1992 Bussmann S and Muller J 1992 A Negotiation Fra mework for Co operating Agents In M D S editor Proc CKBS SIG pages 1 17 Dake Centre University of Keele Carbogim and Robertson 1999 Carbogim D and Robertson D 1999 Contract based Negotiation via Argumentation preliminary report 173 Chavez and Maes 1996 Chavez A and Maes P 1996 Kasbah An Agent Market place for Buying and Selling Goods In Proceedings of the First International Conference on the Practical Application of Intelligent Agents and Multi Agent Technology London UK Collins et al 1998 Collins J Youngdahl B Jamison S Mobasher B and Gini M 1998 A Market Architecture for Multi Agent Contracting In 2nd Int l Conf on Autonomous Agents pages 285 292 Minneapolis Collis and Ndumu 1999a Collis J C and Ndumu D T 1999a The Role Modelling Guide Technical report British Telecommunications Collis and Ndumu 1999b Collis J C and Ndumu D T 1999b ZEUS Technical Manual Technical report British Telecommunications Conry
163. icator utilisant la plate forme Magique 112 Chapitre 4 GeNCA une API Java impl mentant notre mod le Plusieurs impl mentations de l interface Communicator sont fournies avec GeNCA parmi lesquelles les classes fr lifl genca magique MagiqueCommunicator qui permet d utiliser GeNCA au sein de la plate forme Magique Bensaid 1999 mag fr lifl genca madkit MadkitCommunicator qui permet d utiliser GeNCA au sein de la plate forme Madkit mad fr lifl genca centralised CentralisedCommunicator qui permet d utiliser GGNCA ind pendemment de toute plate forme avec des agents threa d s qui communiquent tour de r le round robin fr lifl genca mail MailCommunicator qui permet d utiliser GeNCA avec des agents communiquant par envoi d e mails Pour les plateformes multi agents Magique et Madkit le communicateur utilise les primitives de communication fournies par celles ci Prenons l exemple de la plate forme Magique Figure 4 2 les primitives de communication entre agents perform et askNow sont utilis es La m thode perform est utilis e ici pour communiquer avec le serveur de noms elle lui demande d ex cuter la m thode pass e en param tre sous la forme d une chaine de caract res avec l argument fourni La m thode askNow est em ploy e par le serveur pour envoyer un message a un agent Elle consiste en l appel synchrone de la m thode receiveMessage d finie dans l agent n gociant Pour
164. ion En ce qui concerne la communication aucun travail ne sera n cessaire car notre paquetage fournit un CentralisedCommunicator qui permet de faire communiquer les agents de fa on synchrone et de les faire parler tour de r le cf section Z 1 3 150 Chapitre 5 Applications Des strat gies doivent tre mises en place pour ce jeu car elles doivent tre en me sure de proposer un change de ressource et d valuer la main du joueur ce qui n est pas pr vu dans les strat gies par d faut En effet la strat gie d initiateur que nous pro posons qui est d crite en section 3 4 confirme le contrat aupr s de tous les partici pants ayant accept la proposition de contrat Or dans ce jeu le contrat consiste en un change de ressources entre 2 joueurs l initiateur et un participant Le contrat ne doit donc tre confirm qu aupr s d un seul participant De plus plusieurs types de propo sitions existent toutes les ressources sont nomm es ou seulement deux d entre elles ce qui n cessite le traitement de chacun des cas L initiateur doit valuer individuellement chacun des changes propos s par les participants en cas de ressources non nomm es Suite cette valuation il choisira celle qui lui convient le mieux Si aucun change ne lui convient il peut alors demander une modification aux participants L encore une valuation individuelle des offres sera effectu e Cette valuation ne peut se faire avec la formule p
165. ion d attendre ternellement les r ponses des participants Si un participant ne r pond pas avant la limite d finie l initiateur prend en compte une r ponse par d faut qu il a d fini la cr ation du contrat Chaque fois qu une r ponse est re ue l initiateur la prend en compte et met jour ses informations le renseignant sur le nombre de r ponses re ues et le nombre d accords re us par exemple Lorsque les r ponses ont toutes t re ues ou que le d lai d attente a expir l initiateur a trois possibilit s qui s offrent lui qui d pendent du nombre q d accords qu il a re u 1 Si q est sup rieur ou gal au nombre minimal d accords n cessaires la prise du contrat alors il confirme le contrat et passe l tat de succ s 2 Si q est inf rieur au nombre minimal d accords n cessaires la prise du contrat et si le nombre de tours de n gociation d j effectu est sup rieur ou gal au nombre maximal de tours de n gociation choisi par l initiateur la cr ation du contrat il annule le contrat et passe dans un tat d chec 3 Si q est inf rieur au nombre minimal d accords n cessaires la prise du contrat et si le nombre de tours de n gociation d j effectu est inf rieur au nombre maxi mal de tours de n gociation choisi par l initiateur la cr ation du contrat il de mande aux p participants de lui proposer une modification pour le contrat et passe l tat 2 Lorsque l initi
166. ion permettant de r aliser diff rentes applications de n gociation comme un syst me d ench res ou un syst me de prise de rendez vous Nous souhaitons fournir un mod le g n ral de n gociation et son im pl mentation ce qui permet de l utiliser plus facilement pour cr er une application de n gociation Nous prenons en compte les deux autres domaines de recherche mais sans approfondir le sujet En effet nous utilisons une interface avec les strat gies de n go ciation utiliser afin de pouvoir s parer le processus d cisionnel de l agent qui doit tre adapt au probl me trait Les objectifs de la n gociation utilis s dans notre mo d le sont des contrats portant sur des ressources Ils repr sentent l objet minimal qui sera n goci Les utilisateurs sont ensuite libres d y ajouter d autres crit res comme un prix une qualit de service etc Nous ne figeons donc pas les domaines portant sur les objectifs de la n gociation et les mod les d cisionnels des agents nous souhaitons dans un cadre de g nie logiciel apporter un syst me ouvert ces domaines Diff rents travaux ont t r alis s dans le th me de la n gociation automatis e et plu sieurs syst mes de n gociation ont vu le jour Cependant aucun ne permet de traiter l ensemble des diff rentes formes de n gociation les plus utilis es et la plupart sont d di s un type d application comme le commerce lectronique par exemple Nous pr sentons
167. ion usuellement consid r e par les chercheurs du domaine puis nous proposons une taxonomie des syst mes de n gociation automatique afin de montrer qu il est possible de d finir une n gocia tion par un ensemble de param tres La plupart des formes de n gociation d crites ici sont d di es au commerce lectronique qui est un domaine qui conna t un essor impor tant de nos jours Dans la troisi me section de ce chapitre nous d crivons les principales plateformes de n gociation qui ont vu le jour Nous commencerons bien videmment par pr senter le Contract Net Protocol qui est sans aucun doute le plus utilis en mati re de n gociation par la communaut qui s int resse ce sujet 2 1 D finition La d finition suivante r sume notre point de vue D finition 1 il y a n gociation lorsqu il y a une discussion des propositions entre les protago nistes et lorsque l accord final satisfait au mieux tous les participants Il y a probablement autant de d finitions similaires de la n gociation que de cher cheurs dans ce domaine L une des plus basiques et succinctes est formul e par Buss man et Muller Bussmann and Muller 1992 negotiation is the communication process of a group of agents in order to reach a mutually accepted agreement on some matter 11 12 Chapitre 2 D finition et tat de l art Tous les chercheurs s accordent sur la finalit de la n gociation savoir l abou tissement un accord c
168. ions de contrat Lorsqu une proposition de contrat arrive une bo te de dialogue s ouvre et indique l utilisateur cette arriv e Figure 4 9 L interface se positionne automatiquement sur l onglet manuel qui affiche la proposi tion de contrat et r cup re la r ponse de l utilisateur Contract with Jacques for resources 9h 10h 10h 11h answer by 10 minutes Ateept Retuse FIG 4 10 Onglet Mode Manuel La Figure 4 10 montre l onglet manuel de l agent Jean Une proposition de contrat lui est faite par Jacques pour les ressources 9h 10h et 10h 11h il a 10 minutes pour r pondre Si l utilisateur accepte le contrat alors qu un autre contrat a d j t pris sur les ressources concern es l utilisateur est pr venu et il doit confirmer son choix Fi gurel4 11 There is already a contract which takes these resources Confirm anyway oui non FIG 4 11 Pop up conflit de contrats 4 4 Interface graphique 125 4 4 5 L onglet Contrat pris Contracts Taken Jacques for resources 8h 9h 9h 10h answer by 10 minutes Jean for resources 10h 11h 11h 12h answer by 10 minutes FIG 4 12 Onglet Contrat pris Cet onglet permet l utilisateur de visualiser les contrats qu il a pris avec l initiateur et les ressources n goci es La Figure 4 12 montre cet onglet pour l agent Paul Il a d j pris deux contrats l un avec Jacques pour les ressources 8h 9h
169. ivent tre pris ou aucun Si l on veut obtenir plu sieurs ressources d une m me personne il faut les mettre dans un m me contrat mais si l on veut plusieurs ressources de personnes diff rentes il faut cr er un contrat par per sonne ressource mais on ne peut pas sp cifier que tous les contrats doivent tre pris ou aucun Pour pouvoir utiliser ce type de n gociation il faudrait ajouter un m canisme de liaison entre les contrats qui permettrait de savoir si les diff rentes n gociations ont chou ou sont en attente du succ s des autres et ainsi pouvoir confirmer tous les contrats en m me temps ou terminer la n gociation des contrats d s que la n gociation de l un d eux est en chec Cette modification fait partie de nos perspectives moyen terme La famille des n gociations par argumentation pr sent e en section 2 2 4 pageB3 n est pas incluse dans GeNCA bien que le protocole puisse convenir En effet les para m tres des diff rentes m thodes peuvent tre des arguments Nous pensons donc qu en utilisant GENCA avec des agents sachant argumenter et en faisant interagir le n gocia teur avec l agent il serait possible d appliquer la n gociation par argumentation De fa on plus g n rale notre protocole satisfait les diff rentes propri t s n ces saires un framework g n rique de n gociation d crites dans Jennings et al 2000 savoir Mh the minimum requirement of a negotiating agent is the
170. ket Figure issue de Kodriguez Aguilar et al 19971 2 3 tat de l art 47 Un aspect important du march au poisson qui peut tre directement transf r la version lectronique est la pr sence d interm diaires du march le commissaire priseur un patron du march un r ceptionniste et un officier de cr dit Ces interm diaires interagissent avec les acheteurs et les vendeurs pour le compte du march et ont donc l autorit de demander reconna tre rejeter ou accepter toutes les actions que les acheteurs et les vendeurs doivent ex cuter au sein du march De plus toutes ces interactions entre les interm diaires du march et les agents ext rieurs acheteurs ou vendeurs peuvent en fait tre associ es des allocutions standardis es dont certaines sont probablement tacites dans le march mais n anmoins rendues explicites dans le mod le computationnel Fishmarket a t con u pour montrer la complexit de ces interactions tout en gar dant aussi fortement que possible une similarit avec l ontologie des l ments du mar ch de poisson Chaque agent logiciel de Fishmarket repr sente soit un interm diaire du march soit un vendeur ou encore un acheteur De m me les allocutions tacites ou explicites utilis es dans le march ont t reprises en allocutions toujours explicites pour les agents logiciels Fishmarket utilise un cadre dialectique et peut tre tendu afin de convenir aux diff ren
171. l y a des march s vou s la publication la construction au transport etc Chaque march inclut un ensemble de services et d am nagements sp cifiques son domaine et chaque march s appuie sur les services communs de l change Un composant important de chaque march est l ensemble des sessions de march courantes dans lesquelles les interactions effectives entre agents ont lieu Les agents participant un march doivent le faire en tant qu initiateur de session de client ou les deux la fois Chaque session est initialis e par un agent pour un propos particu lier et en g n ral de multiples agents peuvent rejoindre une session existante en tant que clients Les l ments importants du march incluent une ontologie sp cifique au domaine sp cifiant les termes du discours pour ce domaine une sp cification de proto cole qui d finit les types de n gociation support s par le march et un registre de clients au sein du march Une session de march est le moyen par lequel les services du march sont d livr s dynamiquement aux agents participant Il sert aussi bien d encapsulation pour une transaction au sein du march que de r pertoire persistant pour l tat courant de la transaction La session entoure la vie enti re d un contrat ou d un ensemble de contrats relatifs Le m canisme de session assure la continuit des transactions demi r alis es prot ge contre la fraude limite la contre sp culation et
172. la d l gation d autres t ches Le framework a donc t tendu pour g rer l interaction entre les t ches par le regroupement de t ches dans des ensembles qui seront n goci s comme des entit s l mentaires le probl me pratique de la congestion des messages d annonce est r solu dans Traconet De plus dans cette extension du Contract Net un message indiquant aux contractants qu ils n ont pas t retenus a t ajout au protocole 2 3 tat de l art 41 Dans une autre extension du Contract Net Sandholm and Lesser 1995 Sandholm et Lesser ont ajout la possibilit d effectuer des contre propositions et des niveaux d obligation vis vis des contrats attribu s Ils ont galement introduit le concept d al location de plusieurs t ches en m me temps un m me agent afin de r duire le temps d ex cution des t ches lorsque celles ci sont interd pendantes Afin d am liorer la per formance des agents Sandholm et Lesser consid rent que les agents qui traitent leurs t ches s par ment peuvent parfois s changer certains contrats 2 3 3 Kasbah Kasbah Chavez and Maes 1996 a t d velopp au MIT Media Lab par Pattie Maes C est un syst me ot les utilisateurs cr ent des agents pour n gocier la vente et l achat de biens pour leur compte sur Internet Ces biens sont classifi s reprenant ainsi l id e des petites annonces class es par type Lors de la cr ation d un agent pour la vente ou l ac
173. la version des agents thread s parlant tour tour la communication se fait par simple invocation de m thode des agents qui sont alors des objets Le communi cateur contient une boite aux lettres de courrier 4 envoyer et en d livre un par tour de parole Le programme principal contient une liste d agents et s occupe de les faire parler chacun leur tour c est dire leur demande tour de r le s ils ont un message a envoyer Afin de communiquer par envoi d e mails le communicateur est scind en deux parties l une pour l envoi de messages et l autre pour la r ception Le communica teur fr lifl genca mail MailCommunicator s occupe de l envoi des messages et poss de une instance de la classe fr lifl genca mail PopMailWatcher qui lit les messages dans la boite aux lettres en entr e inbox de l agent Il est donc n ces saire de fournir les param tres de configuration des e mails tels que l adresse e mail de l agent celle du serveur de noms le nom du serveur de mail utilis pour envoyer les messages celui du serveur pop o les messages seront r cup r s ainsi que le nom d utilisateur et le mot de passe associ et enfin le d lai entre deux rel ves des e mails La Figure 4 3 pr sente un exemple d un tel fichier de configuration en XML 4 1 Impl mentation du niveau communication 113 lt xml version 1 0 encoding iso 8859 1 gt lt DOCTYPE genca SYSTEM mailProperties dtd gt lt mailProperties gt lt SMTP Prope
174. le cas de Kasbah Chavez and Maes 1996 une place de march pour l achat et la vente de biens Kasbah utilise un m canisme de classification d annonces et des agents acheteurs ou vendeurs Chaque agent acheteur resp vendeur consulte l en semble des agents vendeurs resp acheteurs potentiels avant de consulter nouveau l un d entre eux Chaque agent peut faire une proposition un autre agent ou lui de mander le prix qu il offre pour l item ou encore demander quel est l item Lors d une proposition l agent d cide alors d accepter ou non l offre mais ne peut formuler de contre proposition avant le prochain tour de parole Le vendeur adopte une strat gie de r valuation du prix demand qui d pend du temps afin de r ussir vendre son bien Les ench res sont une forme tr s r pandue de n gociation bien que nous ayons vu que certaines d entre elles ne puissent pas vraiment tre consid r es comme telles Pour ma part je consid re que les ench res offres scell es ne constituent pas une n gocia tion En effet une seule proposition de prix est mise par les acheteurs il n y a donc pas de discussion entre le vendeur et les acheteurs ce qui est l une des caract ristiques de la n gociation De plus le but de la n gociation est de satisfaire au mieux les parti cipants or lors d ench res seuls le vendeur et le gagnant de l ench re sont satisfaits Aucun autre acheteur ne l est En ce qui concerne les ench res ascen
175. le contrat est mis en place Ce nombre peut prendre la forme d un pourcentage Par exemple pour une ench re il suffit qu un seul participant accepte le contrat tan dis que pour d autres applications il peut tre n cessaire que tout le monde accepte la proposition lt minAgreements gt 100 lt minAgreements gt Nombre de tours de parole des participants Afin de ne pas avoir une phase de conversation infinie nous avons d fini le nombre de tours de n gociation c est a dire le nombre de fois o les participants pourront proposer une modification du contrat faire une contre proposition Nous avons choisi de borner la dur e de la n gociation par un nombre de tours de parole coupl un temps d attente des r ponses plut t que par une dur e maximale comme c est souvent le cas car nous pensons que la n gociation sera plus efficace ainsi On peut effectivement supposer que le nombre de contre propositions effectu es sera sup rieur si les agents doivent r pondre dans des d lais plus brefs que lorsqu ils ne connaissent qu une date limite de fin de n gociation 82 Chapitre 3 Proposition d un mod le g n ral de n gociation et dans ce cas r pondent moins rapidement aux initiateurs Mais cette utilisation pro vient plus sp cifiquement du fait qu une date limite de n gociation pose de nombreux probl mes et plus principalement celui d une r f rence de temps universelle ainsi que celui li au d calage horaire qui p
176. les ne soient pas propos es dans le nouveau contrat Nous avons labor cette formule pour prendre en compte l opinion de tous et l im portance donn e cette opinion par l initiateur de fa on aboutir plus rapidement un accord En effet si l on choisit de ne pas noter les ressources mais de choisir au hasard celle que l on va proposer on a alors 40 de chances de choisir h ou hs dans l exemple pr c dent qui sont les ressources les moins bonnes candidates vis vis des pr f rences des participants et de l initiateur On peut galement choisir de ne prendre en compte que la priorit de la ressource pour l initiateur On utilise alors la formule note r priorit r init o priorit r init est la priorit de la ressource r pour l initiateur L initiateur ne formule donc des propositions qu partir de ses pr f rences sur les ressources Si l on reprend l exemple de la Figure 3 22 l initiateur proposera tout d abord la ressource ho puis hs puis h puis h4 et enfin hs Or si l on regarde les pr f rences des participants on remarque que la ressource h2 n est que l avant derni re ressource pr f r e pour le participant P la troisi me pour Pz et la deuxi me pour P3 La proposition de la ressource h2 n est donc pas un bon choix au regard de la satisfaction des participants Cette formule ne tient compte ni des pr f rences des participants ni de l importance des participants pour l initiateur
177. leur utilit locale Par contre lors d une n gocia tion coop rative les agents essaient d atteindre l utilit globale maximale qui prend en compte la valeur de toutes leurs activit s Cette forme de n gociation qui est tr s dif f rente de la n gociation comp titive peut tre vue comme un processus de recherche distribu 2 Chapitre 1 Introduction La n gociation dont nous traitons dans cette th se est la n gociation comp titive puisque nous nous int ressons la n gociation entre agents essayant d obtenir la meilleure solution possible pour eux Selon Jennings et al fJennings et al 2000 la recherche sur la n gociation automa tique peut tre d compos e en trois larges th mes Les protocoles de n gociation l ensemble des r gles qui gouvernent l interaction Cela couvre les types de participants autoris s les tats de la n gociation les v nements causant le changement d tat de la n gociation et les actions valides pour un participant selon l tat courant de la n gociation Les objectifs de la n gociation l intervalle de crit res pour lesquels une solution doit tre atteinte un extr me l objectif peut contenir un seul crit re comme un prix mais il peut galement contenir des centaines de crit res relatifs au prix la qualit au temps aux p nalit s aux termes et conditions etc Orthogona lement la structure de l accord et d termin par le protocole de n
178. lle le syst me utilise la matrice pr sent e auparavant afin de g rer les n gociations La Figure 3 19 repr sente les diff rents cas qui peuvent se pr senter pour la n go ciation de deux contrats ayant une ressource commune r1 Dans le cas de la gestion parall le on n gocie tous les contrats simultan ment sans se pr occuper du conflit En revanche dans le cas de la gestion s quentielle on n gocie tous les contrats les uns la suite des autres Le cas de la gestion semi parall le consiste d composer une n gocia tion portant sur n ressources en n n gociations portant sur une seule ressource Cha cune de ces n gociations sera r alis e d s que la ressource sur laquelle elle porte n est plus en cours de n gociation Si l on reprend l exemple de la Figure 3 19 cela consiste n gocier le premier contrat qui porte sur la ressource r1 et n gocier en m me temps la ressource r2 du deuxi me contrat La n gociation de la ressource r1 du deuxi me contrat s effectue lorsque la n gociation du premier contrat est termin e 3 3 Le niveau n gociation 91 nombre de contrats nombre de contrats 4 ressources ressources temps temps Gestion parall le Gestion s quentielle nombre de contrats L gende contrat 1 ressources rl contrat 2 temps Gestion semi parall le FIG 3 19 Le
179. lled GeNCA Generic Negotiation of Contracts API and to give an implementation of it This allows a user wishing to develop a negotiation application not to have to do the whole job but to have a model that will facilitate his work In order to conceive such a model we begin by studying the different types of negotiation most used The analysis of these negotiations leads to the collect of their common points and provides us a basis to conceive our model Thanks to the collect of these common points and the study of the progress of these negotiations we show that it is possible to conceive a general negotiation protocol parameterable which offer the possibility to make counter proposals and which can describe the progress of a particular negotiation We propose a general negotiation model using this protocol and having a management of negotiations mechanism which allows to negotiate contracts on disjoint sets of resources in parallel and to negotiate contracts having conflicts on resources sequentially This model also allows to automatically renegotiate contracts that cannot be met any longer Our proposition is based on a three level architecture that separates the communication part between agents the negotiation part and the negotiation strategy part of an application As a matter of fact the way agents communicate doesn t play a role in the way negotiation is made and different communication ways can be used in a same application exec
180. llins et al Il four nit un support pour un large panel de transactions du simple achat vente de biens la n gociation complexe de contrats entre agents Le but des auteurs est de concevoir impl menter et analyser une architecture de march multi agents g n ralis e qui peut fournir un support explicite et int gr pour les interactions complexes entre agents 52 Chapitre 2 D finition et tat de l art comme dans la prise de contrats automatis e tout comme pour d autres types de pro tocoles de n gociation incluant les ench res offres scell es et la vente et l achat prix public ou offres publiques Les auteurs introduisent galement un protocole de prise de contrats flexible qui peut prendre compl tement avantage de l architecture de march propos e pour faciliter les interactions entre agents Magnet introduit un interm diaire explicite dans la n gociation qui aide contr ler les fraudes et d courage les contre sp culations et est organis autour de trois composants de base l change le march et la session L change est une collection de march s sp cifiques un domaine dans lesquels les services et les biens sont chang s agr ment e par des services g n riques requis par tous les march s comme la v rification des identit s des participants une transaction Chaque march au sein d un change est un forum pour le commerce d une commo dit particuli re ou d un secteur d activit s I
181. lors des n gociations Ces ressources sont stock es dans un ResourceWarehouse qui permet de r cup rer les ressources d un type d application donn ou toutes les ressources A 2 Paquetage fr 1ifl genca negotiation e Resource o i getlnitiatorQ oe Resource getResources toStringd getDelayo equals Participants Vector participantsAgree Yector maxtimes int nbtimes int maxRenegotiations int nbRenegotiations int minAgreements int nbAgreements int getDefaultAnswerdQ resTosStringg setArrivalDateQ getArrivalDateg toString getldg 0 0000000 Ci ContractPropernies getld 0000000000 NegotiationPrimitive oF PROPOSE NegotiationPrimitive SF ACCEPT NegoatiationPrimitive SF REFUSE NegotiationPrimitive OF CONFIRM NegotiationPrimitive SF ANNUL NegotiationPrimitive oF MODIFICATION_REQUEST NegotiationPrimitive SF RETRACT NegotiationPrimitive SF PROPOSE_MODIFICATION NegotiationPrimitive SF CANCEL NegotiationPrimitive toStringd Ce paquetage correspond au niveau de n gociation de notre mod le Il contient les primitives de n gociation que nous avons d finies dans notre mod le et qui sont utilis es par notre protocole NegotiationPrimitive Ce paquetage comprend galement les objets de description de la n gociation comme les ressources Resource les contrats Contract et les propri t s associ es un contrat ContractProperties
182. lue gt lt ELEMENT class PCDATA gt lt ELEMENT value PCDATA gt FIG 4 16 Fichier DTD pour la configuration d une application utilisant GeNCA On y in dique entre autres le type de l application les ressources communes aux participants le param trage du protocole le moyen de communication utilis par les agents ainsi que les valeurs par d faut pour le mode de gestion des n gociations et les strat gies utilis es pour n gocier 4 5 Utilisation du paquetage pour une application 129 deux DTDs ont t con ues genca dtd et agent dtd Le fichier DTD de configu ration de l application de n gociation est pr sent en Figure 4 16 Il indique le type de l application prise de rendez vous ench res hollandaises etc la liste des ressources communes aux diff rents participants les param tres du protocole le mode de com munication entre agents la gestion par d faut des n gociations les strat gies de n go ciation utilis es par d faut la priorit par d faut de l agent l utilisation de l interface graphique et une liste ventuelle de param tres n cessaires l application Ce fichier est d fini par le concepteur de l application lt ELE al NT agent name address resources list initiator strategy participant strategy protocol management default priority window application parameters list g
183. lusieurs t ches simultan ment Cela signifie que le Co ordination Engine doit suppor ter une forme de multi tasking Cependant en raison des co ts impliqu s le multi threading a t jug inappropri sachant que le nombre de t ches ind pendantes pou vait atteindre des centaines C est pourquoi les comportements de r solution de but sont repr sent s par des graphes de r seau de transitions r cursifs qui sont interpr t s par une machine tats finis r cursive Fonctionnement g n ral Le traitement d un graphe consiste partir d un n ud initial et tenter de traverser le graphe jusqu ce qu un n ud terminal soit atteint Les n uds du graphe impl mentent des traitements r aliser et les arcs d terminent si le passage d un n ud un autre est valide Les n uds et les arcs acceptent en entr e un argument sur lequel ils agissent pour retourner un argument en sortie Ainsi l information circule en m me 2 3 tat de l art 49 temps que le graphe est travers Pour permettre la r cursivit les graphes sont aussi des arcs Tous les n uds doivent impl menter 2 fonctions exec et reset exec ex cute le traitement associ au n ud et retourne l une des valeurs OK FAIL ou WAIT La valeur de retour OK signifie que le traitement a r ussi alors que FAIL indique un chec La valeur WAIT indique que le traitement doit tre interrompu jusqu ce qu un timeout expire ou qu un message s
184. mble d acheteurs Ceux ci acceptent ou refusent la proposition S ils refusent ils quittent la n gociation S ils acceptent ils restent en course pour l obtention de l article S il ne reste qu un seul acheteur il gagne le contrat Sinon le vendeur propose nouveau son article avec un prix plus lev Le processus se termine lorsqu il ne reste plus qu un acheteur Comme ce sont des ench res il n est pas possible pour un acheteur de se r tracter une fois qu il a acquis l objet il ne peut pas le rendre Les ench res descendantes Ces ench res sont dites descendantes car le prix propos pour le bien mis en vente diminue avec le temps Elles sont utilis es notamment aux Pays Bas pour la vente des fleurs c est pourquoi les conomistes les appellent aussi ench res hollandaises Ces en ch res fonctionnent de fa on exactement oppos e aux pr c dentes le vendeur propose un tr s haut prix pour son bien et le diminue jusqu ce qu un acheteur se manifeste pour acqu rir le bien au prix alors mentionn La Figure 2 6lillustre ces ench res en y faisant intervenir quatre acheteurs Le vendeur annonce en premier lieu un prix de 60 euros Aucun acheteur ne souhaite payer ce prix Le vendeur baisse alors son prix de 10 euros passant donc 50 euros Personne n est int ress ce prix Le vendeur continue donc de baisser son prix et lorsque celui ci atteint 10 euros l acheteur 3 se manifeste pour acqu rir le bien Il remporte donc l
185. message en retour de l inscription de l agent il r cup re les participants et les ressources pr sentes dans le syst me si c est une arriv e de participants il l ajoute la liste des participants si c est un message de n gociation il le d l gue au micro agent concern 116 Chapitre 4 GeNCA une API Java impl mentant notre mod le Les micro agents Chaque agent n gociateur est constitu de micro agents appel s buts et engagements Les buts sont cr s chez les initiateurs de contrat tandis que les engagements sont cr s chez les participants une n gociation Les micro agents sont des agents purement r actifs l int rieur de l agent n gociateur Chaque micro agent est responsable de la n gociation du contrat pour lequel il a t cr Il peut y avoir simultan ment plusieurs buts comme il peut y avoir plusieurs engagements au sein d un agent n gociateur En fait il y a autant de buts qu il y a de contrats cr s par l agent et qui sont en cours de n gociation et il y a autant d engagements qu il y a de n gociations en cours o l agent intervient en tant que participant Chaque micro agent interagit avec la strat gie qui lui a t attribu e chaque arriv e de message concer nant la n gociation de son contrat le micro agent informe la strat gie qui prend en compte le message Celle ci indique par la suite au micro agent le message qu elle sou haite envoyer en r ponse Prenons l exemple d une proposi
186. mise n a pas t retenue ou si le manager n a pas encore pris sa d cision ce qui peut entra ner qu un contractant ne fasse pas d offre pour une autre t che alors qu il n a pas t choisi pour la pr c dente Dans notre mo d le un tel message existe et permet un agent de savoir si la n gociation est termin e ou non 40 Chapitre 2 D finition et tat de l art Le Contract Net fait partie des sp cifications de la FIPA Foundation for Intelligent Physical Agents et une version it r e du protocole est galement sp cifi e Bien que le Contract Net soit une r f rence parmi les protocoles de n gociation celui ci ne convient pas pour de nombreux probl mes ce qui explique les nombreux travaux sur des exten sions de celui ci parmi lesquels les travaux de Tuomas Sandholm sur le Traconet 2 3 2 Traconet Ce projet de Tuomas Sandholm Sandholm 1993 est destin r soudre le probl me de routage de v hicules VRP Pour cela il propose une extension du Contract Net qui formalise le processus de d cision d ench rissement et d attribution de t ches Cette formalisation se base sur le calcul de co ts marginaux relativement aux crit res locaux de l agent De cette fa on les agents ayant des crit res locaux tr s diff rents bas s sur leur propre int r t peuvent interagir afin de distribuer les t ches pour que le syst me global fonctionne plus efficacement Dans ce mod le des agents comp titifs aussi bi
187. n 20 nb renegotiations max 3 resources participants 8h 9h Paul 9h 10h Pierre 10h 11h Jean 1lh 12h 14h 15h 15h 16h 16h 17h 17h 18h Create FIG 5 1 Interface de cr ation d un contrat pour la prise de rendez vous avec GeNCA L agent humain en tant qu initiateur cr e son contrat via l interface graphique o il indique les tranches horaires souhait es les participants convi s au rendez vous le nombre minimal d accords n cessaires le d lai d attente des r ponses des partici pants la r ponse qu il consid re par d faut le nombre de tours dans la n gociation et le nombre de ren gociations autoris es Figure 5 1 On remarque que comme les per sonnes ne connaissent que leurs pseudonymes la liste des participants ne contient donc pas les adresses e mail des participants potentiels mais bien les pseudonymes fournis par le serveur Une fois cette intervention humaine r alis e tout se fait automatiquement au sein de GeNCA Il faut en effet qu un utilisateur lance une premi re proposition pour initier la n gociation L interface graphique est n cessaire pour la cr ation de contrat qui est toujours r a lis e par un agent humain Si l utilisateur souhaite seulement participer aux n gocia tions et ne jamais en initier il peut alors se passer de l interface et r gler le param tre window de son fichier de configuration personnel false Il devra alors rega
188. n gociations en cours sur des ressources d j prises car il est possible que l initiateur du contrat en cours soit plus prioritaire pour l agent que celui dont le contrat a t pris auparavant et donc l agent peut prendre ce nouveau contrat et se d dire du pr c dent La notion de priorit entre les participants est introduite dans la section 3 4 Fonctionnement de la matrice Pour fixer les id es prenons l exemple de la Fi gure 3 11 Il y a quatre contrats c1 C2 C3 et c4 et quatre ressources r1 T2 ra et r4 Le premier contrat c qui arrive porte sur les ressources ri et r3 Comme aucun contrat n a encore t propos toutes les ressources sont libres et donc le contrat c est plac la surface de la matrice dans les colonnes correspondants aux ressources r et r3 Le processus de n gociation du contrat c est donc entam Puis un second contrat co est propos pour la ressource r2 Comme aucun contrat n est en cours de n gociation pour cette ressource le contrat cz est plac la surface de la matrice dans la colonne cor respondant a la ressource rz La n gociation du contrat c2 est entam e Un troisi me contrat c3 est propos pour les ressources ro et r3 Malheureusement ces deux res 3 3 Le niveau n gociation 87 Contrat c1 Contrat c2 RARA rl r2 r3 r4 se Contrat c3 La n gociation du contrat sur la ressource r2 est termin e Contrat c4 rl 12 13 r4 FIG 3 11
189. n ral de n gociation de contrats que nous proposons Nous pr sentons dans ce chapitre l impl mentation de ce mod le que nous avons r alis e sous la forme d une API Java Elle reprend l architec ture en trois niveaux qui correspondent trois paquetages diff rents Nous d taillons l impl mentation de chacun de ces paquetages et plus particuli rement celui concer nant la n gociation qui forme le c ur de notre mod le Les diagrammes de classe des trois niveaux sont repr sent s en Annexe A Nous pr sentons galement dans ce cha pitre le paquetage concernant l interface utilisateur que nous avons labor e afin qu un utilisateur humain puisse interagir avec son agent durant les n gociations Enfin nous montrons comment utiliser ce paquetage afin de r aliser une application de n gocia tion 4 1 Impl mentation du niveau communication Comme nous l avons indiqu dans le chapitre pr c dent cette couche de com munication permet d abstraire le processus de communication entre les agents Nous pr sentons ici le format des messages chang s par les agents le serveur de noms utilis pour l abonnement des agents et enfin l interface Communicator du paquetage fr lifl genca communication qui contient les diff rentes m thodes n cessaires pour interagir avec le serveur de noms ainsi que quelques impl mentations de cette interface 107 108 Chapitre 4 GeNCA une API Java impl mentant notre mod le 4 1 1 Le format des mes
190. n ud endossera les deux r les souvent simultan ment pour diff rents contrats Finalement les n uds ne sont pas assujettis statiquement une hi rarchie de contr le Cela conduit galement une utilisation des n uds plus efficace en comparaison par exemple avec les sch mas qui n autorisent pas les n uds qui ont d l gu des t ches en contracter d autres pendant qu ils attendent les r sultats La Figure d crit la sp cification BNF du protocole du Contract Net Les sym boles non terminaux sont entour s par des chevrons les terminaux sont crits sans d 2 3 tat de l art 37 lt message gt gt lt header gt lt addressee gt lt originator gt lt text gt lt trailer gt lt header gt gt line header identifier time acknowledge lt trailer gt gt error control line trailer lt addressee gt gt net address subnet address node address lt originator gt gt node address lt text gt gt cctext lt pstext gt lt pstext gt gt lt task announcement gt lt bid gt lt announced award gt lt directed award gt lt acknowledgement gt lt report gt lt termination gt lt node available message gt lt request message gt lt information message gt lt task announcement gt gt TASK ANNOUNCEMENT name task abstraction eligibility specification bid specification expiration time lt bid gt gt BID name node
191. n de ce groupe L agent attend les messages qui lui sont destin s et les traite au fur et mesure qu ils arrivent Le traitement du message se fait par le serveur de noms de notre paquetage B 3 L agent n gociateur package fr lifl genca madkit import madkit kernel import madkit lib messages import fr lifl genca negotiation import fr lifl genca communication This class provides a negotiating agent for the Madkit platform author Marie H l ne Verrons 7 public class MadkitNegotiatorAgent extends Agent private Negotiator myNegotiator public void activate AgentAddress myAddress getAddress String myName getName Communicator myCommunicator new MadkitCommunicator this myNegotiator new Negotiator myName myAddress myCommunicator myName xml genca xml requestRole genca participant null public void live while true madkit kernel Messag waitNextMessage j if e instanceof ObjectMessage myNegotiator receiveMessage ServerMessage 0bjectMessage e getContent public void end printin I am dead arghhh FIG B 3 L agent n gociateur dans Madkit B 4 Lancement d une application 169 L agent n gociateur Figure B 3 poss de un communicateur Madkit et un n gocia teur que nous avons d fini dans notre paquetage Le n gociateur prend en param tre le nom et l adresse de l agent le communicateur qu il utilise ainsi q
192. n ensemble A l ensemble des alternatives et 2 produit en sortie un listing avec peut tre des galit s de l ensemble A Cette liste est appel e la liste de pr f rences sociales Th or me 1 Arrow 1950 Si A contient au moins trois alternatives et l ensemble P des per sonnes est fini alors la seule fonction de bien tre social pour A et P satisfaisant la condition de Pareto l ind pendance des alternatives non pertinentes et la monotonie est une dictature En d autres termes ce th or me indique qu il est impossible de trouver une fonc tion de bien tre social sur A qui satisfasse la condition de Pareto l ind pendance des alternatives non pertinentes et la monotonie et qui ne soit pas une dictature Nous avons pr sent dans cette sous section diff rents syst mes de vote ainsi que diff rentes propri t s souhaitables pour un syst me de choix social par crit re de ra tionalit Le th or me d Arrow montre l impossibilit de trouver un syst me de vote qui satisfasse ces propri t s Les syst mes de vote sont des syst mes de n gociation un seul tour de parole les participants envoient leur liste de pr f rences et l initiateur r alise la proc dure choisie qui permettent de choisir parmi toutes les alternatives pos sibles Il faut donc que chacun value l ensemble des alternatives et les classe par ordre de pr f rence avant que le vote n ait lieu Cela est alors tr s co teux en temps et en espace Le s
193. n la personne qui le propose et les res sources qu il implique Plusieurs syst mes de prise de rendez vous existent dans le commerce mais bien souvent ils consistent collecter les agendas des utilisateurs et r soudre un probl me de satisfaction de contraintes savoir trouver un cr neau horaire libre pour tous les participants GeNCA quant lui permet de n gocier des rendez vous Les utilisateurs gardent leur agenda priv et s entendent sur un cr neau horaire leur convenant tous La deuxi me application que nous avons r alis e est un syst me de vente aux en ch res Cette application est r alis e au sein d un SMA implique des ressources indi viduelles et n autorise pas la r traction ni de ce fait la ren gociation Cette application int gre une nouvelle dimension dans les contrats un prix Il a donc fallu crire des stra t gies adapt es cette application Contrairement de nombreux syst mes de vente qui collectent des offres d achat et des offres de vente puis les apparient GGNCA permet un utilisateur de g rer ses ench res en tant que vendeur ou acheteur La troisi me application est un jeu de n gociation appel JNego Il utilise la com munication synchrone o les agents parlent chacun leur tour et implique des ressources communes Chaque agent a pour but de n gocier l change de ressources afin de maxi miser la valeur de sa main Cette application fait intervenir des changes de ressources Il
194. n termes de services fournis par d autres agents La communication entre les agents s effectue selon le mod le g n rique de n go ciation de services d informations qui a t d velopp Ce mod le est le suivant 1 Trouver Localiser un service ou une information tablir le contact 2 Demander Expliquer quelle est la forme ou la nature du service ou de l infor mation obtenir des d tails 3 tablir N gocier en mettant en place un service ou en recevant des infor mations se mettre d accord sur ce qui doit tre fait 4 Ex cuter R viser Informer faire le service ou d livrer l information avec la possibilit de r viser la progression et d informer si n cessaire faire ce qui a t conclu 5 Terminer Il est important que ce mod le doive s appliquer aussi bien aux requ tes de service explicites qu au plus g n ral et implicite service d exigence de trouver localiser et g rer les informations au sein d une entreprise Ce mod le a t d velopp dans un ensemble de primitives sp cifiques qui pourraient tre utilis es comme une base pour explorer plus finement la nature pr cise de la s mantique de la n gociation Nous ne pr sentons ici que les primitives concernant le troisi me point du mod le la n gociation PROPOSE lt agent a service s conditions c optionale rationale r gt MODIFY REJEC ACCEP gt return lt agreement working conventions reporting level penalties
195. nd des propres buts des rapports entre ces buts des croyances de l agent et de ce que l agent croit concernant l autre agent Cet exemple est issu du cours en ligne sur les agents intelligents http turing cs pub ro auf2 html chapters chapter5 chapter_5_5_2 html 34 Chapitre 2 D finition et tat de l art Dans la n gociation les agents peuvent utiliser diff rents types d arguments Chaque type d argument est d fini par des pr conditions pour son utilisation Si ces conditions sont satisfaites alors l agent peut utiliser l argument videmment parmi les arguments possibles dans une certaine situation l agent doit choisir le bon argu ment par cons quent l agent a besoin d une strat gie pour d cider quel argument uti liser Les types d arguments sont les suivants Appels une promesse pass e le n gociateur A rappelle B une promesse pass e concernant l objet de n gociation autrement dit l agent B a promis dans une n gociation ant rieure l agent A d offrir ou effectuer un objet de n gociation Pr conditions l agent A doit v rifier si une promesse concernant un objet de n gocia tion a t re ue dans le pass l occasion d une n gociation conclue avec succ s Promesse d une r compense future le n gociateur A promet de faire l objet de n go ciation pour un autre agent B un moment futur Pr conditions l agent A doit trouver un d sir de l agent B pour un moment futur si possible un d
196. nge Maintenant le joueur J3 souhaite obtenir du bois J3 n en poss de pas donc re fuse l change Par contre J en poss de 2 qu il propose Jz et lui demande du bl en change J3 accepte l change ce qui lui rapporte 28 points suppl mentaires Fi gure gt 9 5 3 2 Analyse du probl me Apr s une premi re lecture du probl me il apparait clairement que le contrat devra tre tendu pour permettre de sp cifier la ressource voulue en change de celle propo s e celle d ja pr sente dans le contrat de base Pr cisons que la valeur d une de ces 2 ressources peut tre inconnue cas 2 et 3 des types d change Il faut donc crire une nouvelle classe JNegoContract qui tend la classe Contract Il faudra galement tendre la classe Negotiator En effet il faudra ajouter des m thodes d valuation et de mise a jour de la main du joueur lorsque celui ci a effectu un change Cette classe devra galement retenir les ressources que le joueur poss de sa main De plus il faudra lui ajouter les fonctions sp cifiques pour le jeu c est a dire pouvoir informer ses buts ou engagements sur les cartes qu il poss de les cartes qui l int resse et celles qu il veut changer Les pr f rences sur les ressources peuvent tre retenues par la liste de priorit sur les ressources d ja d finie dans la classe de base Deux classes de la couche de n gociation doivent donc tre tendues pour cette applicat
197. nnes Figure 3 26 Durant la ren gociation cette personne doit galement modifier un autre contrat et cela r cursivement sur n per sonnes La n gociation principale n cessite 3 m 1 messages les autres 6 x m 1 Le nombre total de messages est donc 3 6 x n m 1 Prendre un contrat n cessitant la ren gociation d un autre contrat par un partici pant et cela r cursivement sur n personnes a une complexit globale en O m n et lin aire pour l initiateur et les participants 3 5 3 Ordre exponentiel Pour prouver le r sultat donn en d but de section prenons un exemple formel Supposons que tous les agents doivent remettre en question un contrat jusqu une profondeur n Figure 3 27 que les contrats soient pris avec l initiateur et deux partici pants et que tous ces d placements soient ind pendants FIG 3 27 Complexit de la n gociation d un contrat avec deux participants n cessitant des ren gociations en cascade Chaque point repr sente un agent La complexit globale est expo nentielle en O 2 Le nombre de messages chang s pour une modification de contrat qui sera accep t e imm diatement est gal 6 annulation du contrat demande de modification mo dification de la part des participants proposition d un contrat modifi acceptation des participants puis confirmation de ce nouveau contrat Le nombre d agents un niveau i est gal 2 et le nombre de messages
198. nse par d faut pour une proposition Nous allons maintenant pr senter notre mod le de n gociation qui r ifie les diff rents types de n gociation pr sent s qui permet de g rer plusieurs n gociations simul tan es entre 1 et n agents et qui est applicable diff rentes applications telles la prise de rendez vous la vente aux ench res ou encore les places de march 66 Chapitre 2 D finition et tat de l art Plateforme cardinalit g n ricit r traction ren gociation simultan it a D a Pa E UE E SR IT non o Magnet 1S oui fou non Font HP nom ADEPT Kes 151 non non non out AuctionBor _ 151 non non _ non oi Plateforme s paration de la contre r ponse param trage TT communication propositions _ par defaut _ possible Cona o o aucho x NE SilkRoad non oui refus implicite non Magnet f non non refus implicite non Zeus non stat non ont CRUE AuctionBor non non refusimplicite non Fishmarket non non refasimplicite non Cuon non refusimplicite non TAB 2 2 Tableau comparatif des plates formes de n gociation Le signifie qu aucune donn e ne nous permet d affirmer ou d infirmer la propri t nonc e Chapitre 3 Proposition d un mod le g n ral de n gociation Nous avons pr sent dans le chapitre pr c dent les diff rentes formes de n gocia tion existantes ainsi qu
199. nt tre respect es par toute proc dure de choix social par crit re de rationalit La condition Pareto Une proc dure de choix social satisfait la condition Pareto si pour tout couple d alternatives x et y Si tout le monde pr f re x y alors y n est pas un choix social Le crit re du gagnant de Condorcet Une proc dure de choix social satisfait le crit re du gagnant de Condorcet pourvu que si le gagnant de Condorcet existe alors lui seul est le choix social 22 Chapitre 2 D finition et tat de l art Monotonie Une proc dure de choix social est dite monotone si pour toute alternative T Si x est le choix social et que quelqu un change sa liste de pr f rences en d pla ant x d une position vers le haut alors x doit toujours tre le choix social Ind pendance des alternatives non pertinentes Une proc dure de choix social satis fait le crit re d ind pendance des alternatives non pertinentes IIA si pour tout couple d alternatives x et y Si l ensemble des choix sociaux contient l alternative x mais pas l alternative y et que un ou plusieurs votants changent leur liste de pr f rences sans modifier la pr f rence relative de x et de y alors l ensemble des choix sociaux ne doit pas changer de fa on inclure y Ces propri t s ont t d finies afin de garantir la rationalit des proc dures de choix social Le tableau suivant reprend les diff rentes m thodes de choix social pr sent es et indique si elles r
200. ntangibles est coordonn gr ce l interaction d agents Un m dium peut tre d crit en terme de trois composants principaux Les canaux de communication les agents acc dent au m dium via des canaux de communication qui peuvent transporter les objets qui seront chang s L espace logique la syntaxe et la s mantique d finies pour les objets que les agents changent L organisation les r les d crivant les types d agents et les protocoles sp cifiant leurs interactions Un m dium lectronique en particulier est un m dium avec des canaux de commu nication lectroniques digitaux qui transportent les donn es Cependant les agents peuvent toujours tre des humains ou des unit s organisationnelles et ne doivent pas n cessairement tre des agents logiciels 2 3 tat de l art 55 Organisation Design Meta Model Negotiation Media compliant to Organisation Design Conceptual Integrated Y Communication Design Negotiation Media Meta Model Unified Model ry Negotiation Media Communication Design Conceptual Integrated ROADMAP V Li Negotiation Service Negotiation Media Application Framework Runtime Specification 7 Negotiation Media Implementation SKELETON FIG 2 18 Vue g n rale de SilkRoad Figure issue de Strobel 2001bJ Le SKELETON peut tre vu c
201. ntract Net Protocolet les n gociations multi niveaux car elles peuvent se d rouler en un ou plusieurs tours Nous allons maintenant pr senter diff rentes plates formes de n gociation et le mo d le sur lequel elles s appuient le Contract Net Protocol 2 3 tat de l art Les diff rentes formes de n gociations sont tudi es par de nombreux chercheurs du monde entier et diff rentes plates formes de n gociation ont vu le jour Tous ces travaux s appuient sur le mod le g n ral du Contract Net qui a sans aucun doute t le pr curseur des travaux en n gociation automatique Dans cette section nous pr sen tons les principaux travaux en la mati re Nous commencerons bien videmment par le Contract Net qui est sans aucun doute le plus utilis par la communaut qui s int resse ce sujet 36 Chapitre 2 D finition et tat de l art 2 3 1 Le Contract Net Protocol Le Contract Net Protocol Smith 1980 propos par Smith en 1980 est un protocole de haut niveau pour la communication entre les n uds d un r solveur de probl mes distribu Il facilite le contr le distribu de l ex cution de t ches coop ratives avec une communication efficace entre les n uds Pour Smith la n gociation comporte quatre composantes importantes c est un processus local qui n implique pas un contr le centralis l change d information a lieu dans les deux sens chaque partie dans la n gociation value les informati
202. ntrat soit une demande de modification du contrat soit l annulation du contrat Si le contrat est confirm le participant passe un tat de succ s Si l initiateur demande une modification pour le contrat il passe l tat 4 Si le contrat est annul ce peut tre le cas lorsque l initiateur souhaite que tous les participants acceptent le contrat et que l un d eux le refuse et que la n gociation est du type sans contre proposition alors le participant passe un tat d chec Lorsque le participant est dans l tat 3 il attend la r ponse de l initiateur qui sera soit l annulation du contrat soit une demande de modification du contrat Si le contrat est annul le participant passe un tat d chec Sinon il passe l tat 4 Lorsqu il est dans l tat 4 le participant recherche une modification possible du contrat et l envoie l initiateur Le participant passe alors dans l tat 5 Dans cet tat 5 le participant attend la d cision de l initiateur qui sera soit la proposition d un nouveau contrat soit la demande d une autre modification soit l annulation du contrat Si le contrat est annul le participant passe dans un tat d chec Si lini tiateur demande une autre modification le participant passe l tat 4 Si une nou velle proposition de contrat est re ue le participant passe dans l tat 1 3 5 Complexit du syst me 101 3 5 C
203. ntrats entrant en conflit est utilis e chaque ini tiateur attend la r ponse de l autre avant de donner la sienne puisque chacun effectue uniquement la n gociation de son contrat Cependant dans notre syst me le deadlock 3 4 Le niveau strat gique 93 ne se produit pas car chaque proposition de contrat est associ e un d lai d attente des r ponses La n gociation associ e au d lai le plus court est alors abandonn e ce qui entra ne le d but de la n gociation associ e au d lai le plus long 3 4 Le niveau strat gique Le succ s d une n gociation d pend bien s r de strat gies adapt es au probl me trait Pour tre optimale une strat gie n cessite une expertise du domaine de l appli cation de n gociation Notre mod le s pare donc le niveau strat gique afin de permettre l utilisateur d crire sa propre strat gie de n gociation pour une application de n go ciation sp cifique En effet la n gociation de rendez vous n a pas les m mes tenants et aboutissants que la n gociation de produits de grande consommation telle qu on la retrouve sur les places de march ou encore que la n gociation d articles de seconde main aux ench res Nous proposons ici deux strat gies de n gociation qui prennent en compte les listes de priorit sur les ressources et les personnes et qu il est possible d uti liser dans toute n gociation n impliquant pas d autres param tres que les ressources donc non utilisables pour les
204. ntre les participants au m me rendez vous Les ressources qui seront n goci es sont donc tout naturellement les tranches horaires Le contrat qui sera envoy par l initiateur de la n gociation contiendra les plages horaires qu il propose pour le rendez vous Comme aucun autre param tre n est n ces saire pour ce contrat il n y a pas modifier la couche de n gociation Reste donc examiner la couche strat gique Les strat gies propos es par d faut conviennent l application except pour le cas o plusieurs ressources sont n cessaires pour un rendez vous En effet les strat gies par d faut ne tiennent pas compte de la contiguit des ressources et pour la prise d un rendez vous n cessitant deux tranches horaires on pourrait se retrouver avec un rendez vous avec la premi re tranche horaire le matin et la seconde l apr s midi Il y a donc une l g re modification apporter ces strat gies par d faut pour qu elles prennent en compte la sp cificit de l application pour la prise de rendez vous Nous d crivons cependant de fa on d taill e le d roulement d une n gociation au sein de GeNCA du c t de l initiateur puis du c t du participant 5 1 Un syst me de prise de rendez vous 135 5 1 2 Comportement de l initiateur Contract Creation Default answer refuse min agreements needed 100 nb minutes waiting 10 nb rounds in negotiatio
205. obl me donn Les agents peuvent intervenir dans la n gociation seulement certains moments dans l ensemble 7 0 1 qui sont d termin s par avance et connus des agents A chaque instant t 7 de la n gociation si la n gociation ne s est pas termin e auparavant l agent dont c est le tour de propo ser une offre l instant t va sugg rer un accord possible en respectant le probl me de n gociation sp cifique et chaque autre agent peut soit accepter l offre la rejeter ou quitter la n gociation Si une offre est accept e par tous les agents alors la n gociation se termine et cette offre est concr tis e Si au moins un agent quitte la n gociation alors la n gociation se termine et le conflit n est pas r solu Si personne n a quitt la n go ciation mais qu au moins un agent a refus l offre la n gociation continue la p riode t 1 et l agent suivant formule une contre proposition et les autres agents r pondent nouveau Les agents ne sont pas inform s des r ponses des autres agents une proposition d offre au cours d une p riode de n gociation Ce protocole est ainsi appel protocole r ponse simultan e Dans ce protocole il n y a pas de limite sur le nombre de p riodes card 7 et un agent peut faire la m me proposition que celui qui le pr c dait Ce protocole ne nous satisfait pas car tous les agents doivent tre d accord avec l offre faite pour que la n gociation soit un succ s d une
206. ociation Nous utilisons pour cela les param tres lt retraction allowed value true gt et lt nbRenegotiations gt 5 lt nbRenegotiations gt du fi chier de configuration du protocole Lorsque la ren gociation est autoris e l initiateur d un contrat ne pouvant plus tre honor peut automatiquement le ren gocier tant que le nombre maximum de ren gociations n est pas atteint pour ce contrat Cette possibilit de ren gocier automatiquement un contrat n est pas fournie par les diff rentes plateformes que nous avons pr sent es dans l tat de l art comme Ma gnet ou GNP Seules GENCA et ADEPT offrent cette possibilit GENCA introduisant en plus la possibilit de borner le nombre de ren gociations du contrat Tous ces param tres nous permettent donc de d crire une n gociation sp cifique partir du noyau commun Enlever des param tres rendrait le syst me moins puissant moins g n ral Prenons l exemple du nombre de tours dans le processus de n gocia tion si nous l enlevions et ne faisions donc plus que de la n gociation en une seule proposition qui nous le rappelons n est pas de la n gociation nos yeux nous ne pourrions plus impl menter les ench res anglaises ou hollandaises L id al est d avoir un syst me fournissant ce noyau et prenant en compte ces param tres afin d instancier diff rentes n gociations C est ce que nous apportons 3 3 Le niveau n gociation 83 L valuation de n
207. ociation car les standards KQML et FIPA ACL ne sont pas adapt s au mod le que nous souhaitons proposer En premi re remarque KQML et FIPA ACL sont des langages de communication entre agents Ils ont donc un but plus large que la n gociation entre agents Nous nous in t ressons pour notre part uniquement la n gociation entre agents Nous avons donc besoin de primitives de communication plus sp cifiques que celles incluses dans FIPA ACL et KQML De plus nous pouvons constater que les actes de langage que nous 70 Chapitre 3 Proposition d un mod le g n ral de n gociation avons d finis ne font pas partie des actes de langage pr vus par d faut dans KQML Il faudrait donc tendre KQML pour y inclure nos primitives Un autre obstacle l utili sation de KOML est que dans sa sp cification il est indiqu que la d livrance des mes sages doit tre fiable et que si deux messages sont envoy s au m me agent par un autre agent alors ces messages doivent arriver dans le m me ordre qu ils ont t envoy s Comme nous pr voyons de pouvoir utiliser diff rents moyens de communication il n est pas possible d assurer ces propri t s En effet si l on utilise la communication par envoi d e mails on ne peut pas garantir l arriv e des messages ni tre s rs de la r ception des e mails dans l ordre d envoi de ceux ci De plus KQML et FIPA ACL sont bas s sur la communication entre des agents pos s dant des bases de croyances Les
208. offre enti re 2 accepter une partie de l offre 3 rejeter l offre ce qui est fait de fa on passive Le message d acceptation de l offre sera envoy la session de march qui le v rifiera le validera et l estampillera avant de le faire suivre au fournisseur Les deux premiers choix sont des engagements attribuer le travail au fournisseur et partir de la date d envoi du message les fonctions de p nalit du client et du fournisseur sont effec tives Si un fournisseur ne re oit pas d acceptation de son offre cela veut dire que le client l a rejet e Une fois les engagements pris un agent peut d terminer qu il ne peut pas faire les t ches pour lesquelles il s est engag ou qu il lui serait d savantageux de les faire Dans ces situations l agent doit envoyer un message de d sengagement indi quant quelles parties du travail il ne peut pas satisfaire Le message de d sengagement 54 Chapitre 2 D finition et tat de l art comprend galement une acceptation de la p nalit payer par l agent du fait de ce d sengagement Magnet reprend le protocole du Contract Net il n y a donc pas de m canisme de contre propositions afin de trouver une solution En revanche notre protocole de n gociation permet l initiateur de l appel d offres et aux participants de formuler des contre propositions jusqu ce qu un accord soit atteint Dans Magnet il y a un inter m diaire explicite dans le processus de n gociation et le
209. omme un framework d applications le squelette d un m dium de n gociation lectronique qui peut tre adapt des sc narios d accords sp cifiques L usage le plus commun du framework est le d ploiement d instances des composants du framework qui sont adapt es au moment de l ex cution sur les bases des sp cifications g n r es dans la phase de conception Le processus de conception d un m dium de n gociation lectronique est structur selon le mod le d action de conception SILKROAD ROADMAP Figure 2 19 qui fournit deux l ments principaux Le m ta mod le de conception de l organisation ODMM Ce m ta mod le faci lite mais aussi contraint le processus de conception de mod les organisationnels concrets de m dia de n gociation Il permet la sp cification des structures r les et du comportement protocole des n gociations lectroniques avec la concep tion de blocs de construction qui repr sentent explicitement la fonctionnalit des composants de service de n gociation sousjascents au niveau conceptuel Le m ta mod le de conception de la communication CDMM Le but de ce m ta mod le est d assister la conception de l espace logique d une n gociation lectro nique Il fournit le moyen d exprimer les repr sentations syntaxique et s man tique des objets et les termes et conditions des transactions du march La Figure 2 20 montre les principaux types d entit s et les relations entre ce
210. ommun satisfaisant Mais la n gociation est elle m me d finie comme un processus Toute la diversit des recherches en n gociation provient de ce mot processus La n gociation peut donc tre vue comme une bo te noire ayant en entr e un conflit et en sortie un accord dans le meilleur des cas La recherche sur la n gociation consiste donc tudier les m canismes de cette bo te noire pour la rendre transparente Cette d finition de la n gociation a t reprise par Jennings et al dans Jennings et al 2000 Negotiation is the process by which a group of agents come to a mu tually acceptable agreement on some matter to make proposals trade options offer concessions and hopefully come to a mutually acceptable agreement Ils y indiquent galement que le minimum requis pour un agent n gociant est la possibilit de faire et de r pondre des propositions et de pouvoir indiquer son insa tisfaction avec les propositions qu ils trouvent inacceptables Les propositions peuvent tre soit faites ind pendamment des autres propositions soit bas es sur l historique de la n gociation Les auteurs clament galement que si les agents peuvent seulement accepter ou re fuser les propositions alors la n gociation peut tre gourmande en temps et inefficace Pour am liorer l efficacit du processus de n gociation le destinataire de l offre doit tre capable de fournir un feedback plus utile sur les propositions
211. omplexit du syst me La complexit est une caract ristique importante pour la n gociation C est l une des principales raisons pour laquelle il est n cessaire d utiliser des agents n gociateurs Examinons la complexit en nombre de messages induite par notre protocole Nous supposons ici que ni le broadcast ni le multicast UDP ne sont utilis s c est dire qu on envoie un message par destinataire Dans le pire des cas le nombre de messages peut tre en O m si n est la profon deur du processus de cascade et m le nombre d agents impliqu s dans une n gociation On imagine facilement ce qui pourrait arriver une secr taire dans ce cas pour organi ser une r union avec 50 personnes Pour prouver ce r sultat regardons les diff rents cas possibles 3 5 1 Ordre lin aire FIG 3 24 Complexit lin aire Supposons que m personnes soient impliqu es dans la n gociation d un contrat l initiateur et m 1 participants La Figure B 24 montre 5 personnes avant et apr s que le contrat ait t pris chaque point repr sente une personne Dans un premier temps consid rons que tous les participants acceptent la propo sition L initiateur propose le contrat chaque participant accepte et l initiateur confirme le contrat 3 m 1 messages sont chang s D s qu un participant n est pas d accord l initiateur demande une modification du contrat aux participants qui en envoient alors une l initia
212. on met en jeu des ressources qui seront rassembl es afin d tre n goci es dans un contrat et un ensemble de personnes qui participent cette n gociation Il y a toujours un ou plusieurs manageurs vendeur ou autre et un ou plusieurs contractants acheteurs ou autre La n gociation peut prendre diverses formes qui peuvent tre regroup es en plu sieurs familles La premi re famille est celle des syst mes de vote qui sont utilis s pour choisir une solution parmi plusieurs On y trouve notamment le vote la pluralit et les m thodes de Borda de Hare et de Condorcet La seconde famille que nous pr sen tons dans cette th se est celle des ench res Les ench res permettent aux personnes de vendre leur bien au meilleur prix possible mais galement aux distributeurs d attribuer des march s aux fournisseurs proposant les prix les plus bas ench res invers es Les quatre grands types d ench res sont les ench res anglaises les ench res hollandaises 2 2 Les diff rents types de n gociation automatique 17 les offres scell es au meilleur prix et les offres scell es au second meilleur prix Nous pr sentons ensuite la famille des n gociations bas es sur le Contract Net parmi les quelles les n gociations multi tapes et les n gociations combin es puis pour finir la famille des n gociations base d argumentation 2 2 1 Les syst mes de vote Les syst mes de vote f sont utilis s pour lire une alternative parmi le
213. onomie des syst mes de n gociation automatique les plus courants et nous pr sentons diff rentes plates formes de n gociation qui ont vu le jour Tous ces travaux s appuient sur le mo d le g n ral du Contract Net qui a sans aucun doute t le pr curseur des travaux en n gociation automatique Avec les progr s des technologies de l information des syst mes multi agents SMA et des places de march lectroniques le besoin d agents logiciels capables de n gocier avec les autres la place de leur utilisateur devient de plus en plus important C est pourquoi de nombreux travaux ont t accomplis dans ce domaine La plupart des formes de n gociation d crites dans ce chapitre sont d di es au commerce lectro nique qui conna t un essor important de nos jours Dans le chapitre 3 nous pr sentons notre mod le de n gociation g n ral appel GeNCA bas sur une architecture trois niveaux communication n gociation stra t gie et permettant de traiter diff rentes formes de n gociations Nos objectifs portent principalement sur quatre dimensions la g n ricit la portabilit l uniformisation et l automatisation des envois de messages Le besoin d un mod le g n ral de n gociation provient de la richesse de types de n gociation diff rents Comme nous le montrons dans ce chapitre certaines notions com munes aux diff rentes n gociations peuvent tre r ifi es au sein d un mod le g n ral Cependant
214. ons de sa propre perspec tive l accord final est r alis par une s lection mutuelle le contractant a choisi de r pondre au manager et le manager a choisi d affecter la t che au contractant Le manager va Un contractant va 1 annoncer la t che dont il veut 1 recevoir la demande de travail qu elle soit accomplie 2 valuer sa capacit y r pondre recevoir et valuer les propositions r pondre je ne peux pas faire une des contractants offre choisir l une de ces offres si son offre est retenue faire le tra 4 recevoir et synth tiser les r sultats vail renvoyer ses r sultats FIG 2 11 Description des r les de manager et de contractant L ensemble des n uds est d nomm un Contract Net et l ex cution d une t che est trait e par un contrat entre deux n uds Chaque n ud dans le r seau endosse l un des deux r les relatifs l ex cution d une t che individuelle manager ou contractant Fi gure 2 11 Un manager est responsable de la surveillance de l ex cution d une t che et du traitement des r sultats de son ex cution Un contractant est responsable de l ex cu tion effective de la t che Les n uds dans leur individualit ne sont pas con us a priori comme tant managers ou contractants ce sont seulement des r les et chaque n ud peut prendre dynamiquement l un des r les pendant la dur e de la r solution de pro bl me Typiquement un
215. ontient la gestion des structures de donn es et les actes de langage n cessaires aux agents pour faire voluer leur connaissance le niveau de communication qui permet aux agents d envoyer des messages de fa on centralis e s ils sont sur le m me ordi nateur ou de fa on distribu e s ils sont sur des ordinateurs diff rents le niveau strat gique qui permet aux agents de raisonner sur le probl me et d inf rer leurs d cisions en fonction de la connaissance obtenue des autres agents n gociateurs L int r t d une telle 72 Chapitre 3 Proposition d un mod le g n ral de n gociation d composition est que chaque niveau peut tre chang ind pendamment des autres la mani re de briques logicielles Il est par exemple possible d utiliser GENCA en round robin avec des communications synchrones avec tous les agents sur le m me ordinateur pour r aliser un jeu vid o dans lequel les individus virtuels n gocieront tour tour ou de l utiliser de fa on distribu e avec des communications asynchrones pour des places de march lectroniques avec les agents sur des machines diff rentes Nous pr sentons dans le chapitre5 diff rentes applications utilisant ces diff rents cas d utilisation Nous d crivons dans les sections suivantes ces trois niveaux ainsi que la complexit en nombre de messages induite par le protocole que nous proposons 3 2 Le niveau communication Ce niveau est responsable de la communication entre le
216. opose tour tour chacune des ressources repr sentant une alternative et les participants lui r pondent par un accepte contenant le nombre de points qu ils attri buent la ressource L initiateur conservera la ressource ayant obtenu la meilleure note afin de confirmer le contrat la concernant Notre protocole convient galement la famille des ench res pr sent e en sec tion 2 2 2 page 23 Pour les ench res offres scell es l initiateur propose un article et les participants r pondent en donnant un prix en argument de la m thode accepte s ils veulent ench rir pour l article sinon ils rejettent la proposition Si aucun participant n a propos de prix satisfaisant pour l initiateur on entre dans la phase de conversation o les modifications propos es sont un nouveau prix Ce processus se termine lorsqu un prix satisfaisant a t propos ou lorsque personne ne surench rit ou encore lorsque le nombre de tours de parole des participants d fini par l initiateur est atteint Pour les ench res hollandaises l initiateur propose un article un prix tr s lev et si personne n accepte la proposition l initiateur propose nouveau l article en bais sant le prix sans demander de modification aux participants Le processus se termine lorsqu un participant accepte la proposition ou lorsque le prix atteint le prix minimum voulu par l agent ou encore lorsque le nombre de tours d fini par l initiateur est atteint
217. orient e services devrait d terminer quels serveurs potentiels devraient tre contact s la n gociation devrait elle tre ex cut e en parall le sur tous les serveurs ou s quentiellement quelles offres initiales devraient tre envoy es quelest l intervalle des accords acceptables quelles contre propositions devraient tre g n r es quand la n gociation devrait tre abandonn e quand un accord est atteint Le cadre de l application trait e dans cet article est bas sur les tudes de British Telecom pour valuer le co t de la mise en place d un service demand par les usagers Pour cela les agents seront les diff rents acteurs de la mise en place d un service Les agents utilisent un mod le de n gociation bilat rale qui leur permet de formuler des offres de les valuer et de formuler des contre propositions Les offres sont caract ri s es par un certain nombre de param tres chiffr s Les tactiques des agents d finissent leurs r actions ces param tres alors que la strat gie des agents g re l importance des aspects param tr s de la n gociation au cours du temps Plusieurs tactiques ont t d velopp es et mises en uvre insistant sur la valeur du temps qui est lui aussi une ressource limit e les ressources mat rielles etc La conver gence du syst me n est pas automatique Ces travaux ont ensuite beaucoup inspir s leurs concepteurs pour le d veloppe ment d une
218. otre protocole Notre protocole se voulant g n ral nous d crivons ici les types d applications r ali sables avec ce protocole Cette liste n est bien s r pas exhaustive mais reprend les types de n gociation voqu s au chapitre P Comme nous l avons mentionn auparavant notre protocole s inspire du Contract Net tout comme le FIPA Contract Net propos par la FIPA fip La diff rence prin cipale entre notre protocole et celui de la FIPA est que nous ajoutons une phase op tionnelle de conversation Ainsi il est possible pour les participants de formuler des contre propositions et ainsi converger vers une solution plus rapidement qu avec le FIPA Contract Net o seul l initiateur formule des propositions et ne peut donc pas s appuyer sur les pr f rences des participants pour aboutir une solution Notre protocole d crit les messages pouvant tre chang s entre les agents et plus sp cialement l ordre de ces messages et les tours de parole des agents mais il n im pose pas le contenu des messages par exemple il n impose pas de prix Il peut donc tre utilis par de nombreuses applications ce qui n est pas le cas de plusieurs autres protocoles dont celui utilis dans Zeus Nwana et al 1999 qui est d di aux places de march Notre protocole convient pour la famille des syst mes de votes pr sent e en sec tion 2 2 1 page TA Si l on veut r aliser un syst me de vote par la m thode de Borda l initiateur pr
219. ource gt lt reso lt reso urce gt bois lt resource gt lt reso lt reso urce gt pierre lt resource gt urce gt bronze lt resource gt urce gt argent lt resource gt lt reso lt resou lt commun EL lt commu lt defaul jnego lt defau lt defaul jnego lt defau lt protoc urce gt or lt resource gt rces list gt icator gt fl genca centralised CentralisedCommunicator nicator gt t initiator strategy gt JNegoInitiatorStrategy lt initiator strategy gt t participant strategy gt JNegoParticipantStrategy lt participant strategy gt ol gt lt answer delay gt 10 lt answer delay gt lt defa ult answer value refuse gt lt minAgreements gt 1 lt minAgreements gt lt nbRo unds gt 5 lt nbRounds gt lt nb modifications by round gt 1 lt nb modifications by round gt lt retr lt nbRe lt proto lt defaul action allowed value false gt negotiations gt 0 lt nbRenegotiations gt col gt t priority value 5 gt lt manage ment value sequential gt lt window value true gt lt genca gt FIG 5 10 Fichier XML de configuration de l application pour le jeu JNego 154 Chapitre 5 Applications autorise les r tractations et la ren gociation automatique Pour cette application les priorit s sur les ressources et les personnes sont n cessaires pour g rer les conflits et ainsi choisir le contrat le plus prioritaire selo
220. ous avons tudi s notre mod le g n rique de n gociation et sa d composi tion en trois niveaux ainsi que la complexit en envoi de messages de notre protocole de n gociation Certains points communs entre les diff rentes n gociations sont vidents comme la pr sence de ressources et de personnes d autres sont plus difficiles trouver Nous avons cependant r ussi extraire un ensemble minimal d actes de langage n cessaires pour la n gociation que nous avons utilis s pour cr er un protocole g n ral de n go ciation Ce protocole se sp cialise gr ce de nombreux param tres tels que le nombre minimum d accords n cessaires pour conclure le contrat le nombre de tours de parole des participants et la possibilit de se r tracter et de ren gocier les contrats Le mod le de n gociation que nous proposons est bas sur une architecture trois niveaux qui sont la communication la n gociation et la strat gie Nous pensons en ef fet que la communication et la strat gie employ e pour n gocier sont sp cifiques une application et ne peuvent pas tre fix es une fois pour toute Il est important de pouvoir utiliser notre mod le au sein d applications d j existantes en utilisant par cons quent les m canismes de communication entre agents qui leur sont propres De m me chaque 3 6 Conclusion 105 application concerne un probl me de n gociation sp cifique et il est n cessaire d adap ter sa strat gie de n
221. p cifi par une valeur de cl de r ponse soit re u reset retire tous les changements qui ont t faits sur la donn e d entr e par la fonction exec ceci afin de permettre le backtracking Les arcs quant eux doivent impl menter la fonction test qui retourne un bool en indiquant si sa travers e est valide ou non Multi tasking Il est r alis gr ce une file d attente pour les n uds de type FIFO Parall lisme Certains arcs ou graphes peuvent tre d sign s comme tant parall les Des copies non parall les du graphe arc sont alors cr es pour chaque l ment du tableau d entr e et ces copies sont g r es d une fa on k parmi n c est dire que pour que l arc le graphe soit travers k copies parmi les n doivent avoir r ussi Backtracking Prenons l exemple d un n ud ayant 2 arcs sortant Si ce n ud retourne OK mais que le premier arc retourne faux alors le second arc est test Si celui ci choue galement la m thode reset de ce n ud est appel e pour d faire tout changement r alis par ce n ud et le n ud pr d cesseur tente de traverser le graphe par un autre arc sortant de celui ci Le backtracking est aussi r alis lorsque la fonction exec d un n ud retourne FAIL Communication Dans le cadre d un graphe le support pour la communication entre agents est r alis e par l utilisation de la valeur de retour WAIT de la fonction exec Par exemple un n ud engag dans une
222. par tous les chercheurs du domaine Notre objectif est donc de fournir ce frame work offrant ainsi un concepteur d applications de n gociation un outil facilitant la sp cification de son application Nos objectifs portent principalement sur quatre dimensions la g n ricit la porta bilit l uniformisation et l automatisation des envois de messages La portabilit est une caract ristique importante pour un mod le g n ral quel qu il soit En effet un mod le qui ne pourrait pas s appliquer dans diff rents contextes per drait en exploitabilit 3 1 R ification de ces formes de n gociation 71 L uniformisation est n cessaire pour d finir un cadre de travail commun pour tous les chercheurs du domaine C est un besoin tr s fort pour que chacun puisse se com prendre et qu il n y ait pas de mauvaise interpr tation de malentendu notre connais sance peu de travaux d uniformisation existent Nous pouvons cependant citer la London Classification d crite dans Benyoucef 2000 qui propose un syst me de clas sification des n gociations selon quatre aspects personnes biens processus et crit res d valuation L aspect personnes comprend entre autres le nombre de personnes impliqu es et l anonymat l aspect biens contient le nombre d items du bien sujet la n gociation le nombre d attributs dans la n gociation prix quantit qualit de service sont des attributs possibles L aspect processus caract ri
223. permet un utilisateur de s engager dans diff rentes n gociations en m me temps Ce CNSS est bas sur un syst me de workflow pour g rer le s quence ment des n gociations et leurs d pendances Il utilise galement un syst me de r gles pour d finir les strat gies de n gociation Enfin chaque n gociation est confi e un agent Sandholm et Aknine tudient galement cette forme de n gociation et plus particuli rement les strat gies utiliser pour mener bien cette n gociation avec les meilleurs r sultats possibles Le probl me de la recherche du gagnant tant NP Complet Sandholm a labor dans Sandholm 2002 un algorithme optimal pour la d termination du gagnant dans des ench res combinatoires se basant sur l algorithme IDA de Korf Korf 1985 Aknine a ensuite am lior cet algorithme dans Aknine 2004 Ces algorithmes construisent des graphes partir des offres re ues par l acheteur Prenons l exemple suivant un acheteur d sire obtenir sept items 1 2 3 4 5 6 7 La requ te formul e pour les vendeurs est sous la forme conjonctive Supposons qu en retour l acheteur re oit les offres suivantes 1 52 2 51 4 53 5 52 6 2 1 2 4 1 5 3 2 5 3 2 4 3 3 754 4 5 3 1 4 5 5 2 3 4 6 2 4 5 5 2 4 5 7 7 1 3 4 5 7 1 2 4 7 6 1 2 3 4 5 9 Par exemple 1 2 3 4 5 9 signifie que le prix des cinq items ensemble lt 1 2 3 4 5 gt est de 9
224. pl mentation de ce mod le est portable gr ce la technologie Java et nous avons r alis des applications s ex cu tant sur diff rentes plates formes multi agents comme Magique et Madkit et diff rents environnements tels que Windows et Linux De plus en plus de ventes dans l immobilier se font aux ench res et de nombreux groupes industriels des domaines de la vente par correspondance et de l industrie agro alimentaire utilisent les ench res invers es pour attribuer les march d leurs fournis seurs Un mod le g n ral de n gociation ainsi qu une impl mentation de ce mod le facile utiliser serait donc la bienvenue Nos travaux de recherche se placent dans ce contexte ILe nouveau terme e sourcing est d ailleurs maintenant utilis pour d crire ce type d application 8 Chapitre 1 Introduction Structuration du document Nous avons choisi de structurer ce document en 4 parties qui traitent tout d abord de la d finition de la n gociation ainsi que d un tat de l art chapitre 2 puis de notre proposition de mod le g n ral pour la n gociation entre agents chapitre 3 puis de la r alisation de ce mod le en une API Java chapitre 4 et enfin de diff rentes applications de n gociation que nous avons con ues afin de valider notre mod le chapitre 5 Dans le chapitre 2 nous pr sentons la d finition de la n gociation qui est usuelle ment utilis e par les chercheurs du domaine puis nous proposons une tax
225. pour une ou plusieurs tranche horaire D o la valeur sequential du param tre management Pour cette application il est galement possible de d cider qu un participant ne r pondant pas la proposition de rendez vous l accepte lt default answer value accept gt Ainsi tous les participants qui auraient accept la proposition ne sont pas oblig s de r pondre puisque s ils ne r pondent pas l initiateur choisit de consid rer qu ils acceptent Ceci permet de faire chuter le nombre de messages chan g s dans une application o l on peut esp rer avoir de nombreux accords pour une proposition La Figure 5 3 montre le fichier de configuration personnel de l agent Agent1 Cet agent souhaite utiliser ses propres strat gies de n gociation rdo MyRdvInitiator Strategy et rdv MyRdvParticipantStrategy Il se donne la priorit maximale 10 et ne souhaite pas avoir d interface graphique false 138 Chapitre 5 Applications lt xml version 1 0 gt lt DOCTYPE genca SYSTEM genca dtd gt lt genca gt lt application name gt rdv lt application name gt lt resources list gt lt resource gt 8h 9h lt resource gt lt resource gt 9h 10h lt resource gt lt resource gt 10h 11h lt resource gt lt resource gt l11h 12h lt resource gt lt resource gt 14h 15h lt resource gt 5 6 lt resource gt 15h 16h lt resource gt h 17h lt resource gt lt resource gt 17h 18h lt resource gt lt resources list g
226. primaire puisqu elle consiste formuler une proposition qui est prendre ou laisser par le ou les participants Cette n gociation se d roule sur un seul tour sans contre proposition ni ren gociation C est celle que l on rencontre tous les jours pour acheter son pain par exemple Elle ressemble aux offres scell es au meilleur et au second meilleur prix la diff rence vient du fait que dans les ench res le prix est propos par les acheteurs tandis que dans le take it or leave it offer c est le vendeur qui propose un prix ferme Le protocole est donc tr s simple le vendeur propose sa ressource bien service etc un prix ferme un acheteur qui soit accepte soit refuse S il accepte l acheteur paie le prix pour obtenir la ressource Le take it or leave it offer n est pas pour nous de la n gociation Les n gociations multi attributs Les n gociations multi attributs comme leur nom l indique sont des n gociations qui impliquent diff rents attributs devant tre n goci s Elles sont directement oppo s es aux ench res qui n impliquent qu un seul attribut un prix Cette forme de n go ciation est cependant tr s r pandue et la base de nombreuses variantes de n gocia tion Un exemple de n gociation multi attributs est la n gociation d une voiture chez un concessionnaire Le mod le la motorisation la couleur et de nombreuses options comme la climatisation la direction assist e ou encore la pr sence d airb
227. r dibi lit des participants Ce n est donc pas l agent initiateur du contrat qui g re l ench re mais un programme d AuctionBot AuctionBot ne propose un support que pour les m canismes d ench res tandis que notre objectif est de fournir une plateforme g n rique de n gociation qui permet d effectuer des ench res mais aussi d autres types de n go ciation tels que la prise de rendez vous le choix d un restaurant etc De plus nous laissons aux agents l autonomie de la gestion de la n gociation chaque agent initiateur vendeur dans le cas des ench res g re le d roulement de sa n gociation il n y a pas de centralisateur d offres de vente et d achat qui effectue l appariement selon les r gles d ench res d finies comme dans AuctionBot Le serveur d AuctionBot est utilis pour TAC Trading Agent Competition cf page B1 une comp tition qui met en concurrence des agents charg s de n gocier les composants d un voyage vol aller nuits d h tel sorties et vol retour pour un ensemble de 8 clients cr e elle aussi par Michael P Wellman et Peter R Wurman Les vols les nuits d h tel et les sorties sont n goci s par des ench res de diff rents types Chaque client a des pr f rences pour le jour d arriv e le jour de d part le type d h tel luxueux ou standard et les sorties possibles Chaque agent est ensuite not en fonction de ses d penses de ses revenus et de la satisfaction de ses clients Cette comp tition ras
228. r s comme 2 1 D finition 13 des n gociations Pour ma part le vote qu il soit majoritaire ou minoritaire ne consti tue pas une n gociation En effet m me si le vote permet de choisir parmi diff rentes propositions il ne s agit l que d un choix entre plusieurs solutions et non pas de n go ciation partir d une solution pour en trouver une qui satisfasse au mieux l ensemble des participants Comme les participants choisissent la solution qu ils pr f rent ils ne font pas de concessions pour aboutir une solution commune Si l on prend le cas d un vote majoritaire la solution choisie est celle qui remporte le plus de voix il est possible que la solution trouv e ne satisfasse pas la majorit des participants C est par exemple le cas si m m 1 2 participants doivent voter pour choisir entre m solutions avec m gt 3 La premi re solution recueille 1 voix la seconde 2 voix et ainsi de suite jusqu la derni re qui remporte m voix C est donc la derni re solution qui l emporte alors que m m 1 2 participants ne l ont pas choisie Notion de protocole Chaque forme de n gociation poss de son propre protocole qui d finit le d roulement du processus de n gociation c est dire les actes de langage utilis s et leur s quencement Dans ce qui suit nous pr sentons le probl me de la n gociation d fini par Kraus dans Kraus 2001 Un ensemble d agents A An a be soin d aboutir un accord sur un pr
229. r accepte la proposition ou lorsque le prix de r serve est atteint et que personne n accepte la proposition Les offres scell es au meilleur prix Lors de ces ench res qui se d roulent sur un seul tour chaque acheteur propose un prix unique sans conna tre le prix propos par les autres d o le terme offres scell es Le vainqueur est celui qui a propos le prix le plus lev et paie son prix d o leur nom La Figure 2 7 repr sente ces ench res dans le cas de quatre acheteurs en comp tition 2 2 Les diff rents types de n gociation automatique 27 vendeur acheteur 1 acheteur 2 acheteur 3 acheteur 4 4 10e et 40e 60e 30e adjug 60e FIG 2 7 Exemple d ench res offres scell es au meilleur prix Quatre acheteurs sont en com p tition pour obtenir l article Chaque acheteur propose secr tement au vendeur un prix pour le bien mis en vente L acheteur ayant propos le prix le plus lev remporte l ench re et paie le prix qu il a propos Ici c est donc l acheteur 3 qui remporte l ench re pour 60 euros Chaque acheteur propose secr tement un prix au vendeur Ainsi l acheteur 1 propose 10 euros l acheteur 2 propose 40 euros l acheteur 3 propose 60 euros et l acheteur 4 propose 30 euros C est donc l acheteur 3 qui a propos le prix le plus lev 60 euros il remporte donc l ench re et paie le prix qu il a propos soit 60 euros Comme il n y a pas de seconde p
230. r et donc d annuler l ench re aupr s des autres participants Si le prix de r serve n est pas atteint ni le nombre de tours l initiateur demande une modification aux participants int ress s Dans les autres cas il annule l ench re Lorsqu une modification est re ue l initiateur proc de exactement comme pour la r ception d un accord car une modification consiste proposer un nouveau prix pour l article 5 2 3 Comportement du participant Nous d crivons ici uniquement la strat gie du participant car le comportement d un engagement est le m me quelle que soit l application Lorsqu un participant re oit une proposition d ench re il regarde si l article propos l int resse ou non Si c est le cas il accepte le contrat et propose un prix Dans la strat gie que nous avons labor e le prix propos est un pourcentage al atoire du cr dit de l agent La strat gie m morise ce prix de fa on en proposer un qui soit sup rieur par la suite si cela est n cessaire Si l article n int resse pas le participant il refuse Lorsqu une confirmation d ench re est re ue le participant ajoute l article dans son sac et paie virtuellement le vendeur Lorsqu une demande de modification est re ue le participant v rifie la somme d ar gent qu il lui reste et propose un nouveau prix sup rieur celui qu il avait propos le tour pr c dent s il a assez d argent ou un prix gal z ro s il ne veut plus participer l ench re
231. r tour lorsque l change concerne des ressources non nomm es et l initiateur peut leur demander une autre proposition jusqu 5 fois La r tractation n est pas autoris e une fois un change effectu on ne peut plus changer d avis Cet exemple montre bien que seules suffisent tre impl ment es les actions sp cifiques au probl me pos le protocole tant impl ment une fois pour toutes Cette application n a en effet n cessit que l extension de deux classes du niveau de n gocia tion et la cr ation de strat gies de n gociation adapt es au jeu 5 4 Conclusion Nous avons pr sent dans ce chapitre trois applications utilisant des modes de com munication totalement diff rents La premi re utilise la communication par e mails la seconde au sein d un SMA et la troisi me une communication synchrone avec des agents parlant tour de r le Deux de ces applications impliquent des ressources com munes la derni re des ressources individuelles La premi re application que nous avons pr sent e est un syst me de prise de rendez vous Cette application utilise la communication entre agents par envoi d e mails implique des ressources communes tous les agents des tranches horaires et 5 4 Conclusion 153 lt xml ver lt DOCTYPE lt genca gt lt applic lt resour lt reso sion 1 0 gt genca SYSTEM genca dtd gt ation name gt jnego lt application name gt ces list gt urce gt ble lt res
232. ra consid r e si les participants ne r pondent pas le nombre mini mal d accords n cessaires pour que le contrat soit pris qui peut tre un pourcentage le nombre de tours de parole des participants et enfin le nombre maximal de ren go ciations qui peuvent tre demand es Une fois ces param tres entr s il n y a plus qu cr er le contrat en cliquant sur le bouton create Celui ci sera alors transmis aux partici pants et la n gociation entam e La Figure 5 1 montre l onglet de cr ation de contrat de l agent Jean On y retrouve les valeurs par d faut des param tres de n gociation La r ponse par d faut est un refus les participants doivent tous tre d accords pour que le contrat soit confirm 100 les participants ont 10 minutes pour r pondre et 20 tours de parole leur sont accord s et le contrat peut tre ren goci 3 fois Si l utilisateur a oubli de choisir une des ressource s et ou un des partici pant s une bo te de dialogue s ouvre et l indique l utilisateur pour qu il les sp cifie 122 Chapitre 4 GeNCA une API Java impl mentant notre mod le Contract Creation Default answer refuse min agreements needed 100 nb minutes waiting 10 nb rounds in negotiation 20 nb renegotiations max 3 resources participants 8h 9h Paul 9h 10h Pierre 10h 11h Jacques 11h 12h 14h 15h 15h 16h 16h 17h 17h 18h
233. raires On s interdit bien s r de voir les agendas de chaque participant en transparence Ce probl me est complexe car il a besoin des pr f rences sur les personnes par exemple mon chef d quipe a une plus grande priorit que mon coll gue mais aussi des priorit s sur les ressources ici les plages horaires par exemple si je ne veux pas prendre de rendez vous l heure du d jeuner ou avant 8 heures je donnerai une prio rit inf rieure ces plages horaires De plus la prise de rendez vous est une application o il y a typiquement beaucoup de ren gociations et de r tractations parce qu il est dif ficile de trouver des plages horaires convenant tout le monde 5 1 1 Sp cification de l application Bien videmment la communication entre agents pourrait prendre diff rentes formes mais la plus vidente pour cette application est la communication par e mail Comme de tels agents sont fournis dans le paquetage voir sous section 4 1 3 nous utilisons le MailCommunicator du paquetage et il nous faut simplement cr er les fichiers XML de configuration des e mails pour chaque agent et pour le serveur de noms Le fichier de configuration de l application que nous avons pr sent en section 5lcontien dra donc le param tre lt communicator gt fr lifl genca mail MailCommunicator lt communicator gt Il s agit ici de n gocier des rendez vous c est dire de fixer des tranches horaires qui seront partag es e
234. rapidement Il peut aussi tre utile de poss der un acte de langage pour se r tracter d un contrat pr c demment accept Il est en effet possible qu un participant ne veuille plus ou ne puisse plus tre en mesure d honorer le contrat qu il a pris Pour certaines n go ciations comme les ench res cette r tractation est impossible Nous consid rons que l ensemble propose accepte refuse demande de modification proposition de modification confirmation annulation r tractation contient les actes de lan gage n cessaires pour la n gociation et que cet ensemble est minimal Nous tendons donc l ensemble minimal propos par Jennings dans Beer et al 1999 qui contenait les actes propose counter propose accept reject Nous pensons en effet qu il faut deux actes de langage suppl mentaires pour clore la n gociation une pour le cas du succ s de celle ci l autre en cas d chec Nous ajoutons galement un acte pour demander des contre propositions de la part des participants car nous croyons que l initiateur a de meilleures chances de proposer un nouveau contrat qui sera accept s il recueille auparavant des contre propositions de la part des participants et en effectue une synth se Enfin nous parons l ventualit de la r tractation d un participant une fois la n gociation termin e avec succ s ce qui conduit souvent la ren gociation du contrat Nous d finissons nos propres actes de langage pour la n g
235. rat tabli s il paye en contre partie une certaine p nalit exig e par le manager du contrat N anmoins le recours aux p nalit s n est pas admissible pour des syst mes multi agents coop ratifs i e des syst mes dans lesquels les agents participent volontairement la r alisation des t ches des autres agents sans demander des com pensations L application du principe de p nalisation dans ces syst mes emp cherait les agents de se proposer volontairement d autres t ches ce qui changerait la nature m me coop rative du syst me multi agent D autre part les p nalit s ne sont pas toujours faciles calculer un consensus pr alable sur la valeur de cette p nalit est de plus indispensable pour les agents Ces probl mes n ont pas t tudi s dans la d finition de ce protocole 2 2 Les diff rents types de n gociation automatique La n gociation fait partie de notre quotidien sans le savoir nous n gocions lors d achats dans les brocantes ou lorsque nous prenons des rendez vous r unions gara giste m decin etc D s que deux ou plusieurs personnes se mettent discuter pour prendre une d cision nous entrons dans une phase de n gociation Nous ne d crivons ici que les n gociations qui peuvent tre informatis es Nous ne traitons pas dans cette th se des aspects sociologiques culturels et psychologiques qui entrent en compte dans la n gociation entre agents humains D finition 2 Une n gociati
236. rder dans 136 Chapitre 5 Applications le fichier de log de l agent si il veut savoir l tat des n gociations auxquelles il participe et s il a pris des contrats GeNCA cr e les objets contract et contractProperties ainsi qu un micro agent but au quel il donne en argument ces deux objets La premi re chose que le but r alise est d en voyer la proposition de contrat l ensemble des participants Simultan ment il lance un timer associ une r ponse par d faut ici un refus dans le but d viter d attendre ind finiment la r ponse des participants Lorsqu un accord est re u le nombre d accords re us est incr ment Le but l in dique la strat gie via la m thode receiveAccept from params qui permet la strat gie de savoir qui a r pondu favorablement et les param tres qu il a fournis Dans le cas de la prise de rendez vous aucun param tre n est n cessaire et la strat gie ne fait rien dans ce cas Une fois toutes les r ponses re ues le but consulte la strat gie via la m thode decide qui d cide de confirmer le rendez vous si le nombre minimal d accords n cessaires est atteint de demander une modification si ce nombre n est pas atteint et si le nombre maximum de tours ne l est pas non plus ou de l annuler dans les autres cas Ici une modification est la proposition de nouvelles plages horaires qui conviennent mieux au participant Lorsqu une modification de contrat est re ue le but l indique la s
237. re plusieurs contrats sur une seule ressource signifie que l agent veut obtenir les ressources s par ment c est dire que si l agent n arrive pas obtenir l une des ressources ce n est pas grave toutes les n gociations une par contrat sont ind pendantes l chec de l une n a pas d importance sur la r ussite ou l chec d une autre Le contrat ne contient pas l ensemble des participants de sorte pr server leur vie priv e et donc un participant ne sait pas s il y a d autres participants la n gociation et n a pas connaissance des messages qu ils envoient l initiateur 4 2 Impl mentation du niveau n gociation 115 Le contrat est l entit chang e entre l initiateur et les participants il est la base de la n gociation Les propri t s du contrat Les propri t s du contrat sont connues uniquement de l ini tiateur c est lui qui les d finit la cr ation du contrat Elles sont identifi es par l iden tifiant du contrat dont elles sont les propri t s et sont constitu es de la liste des partici pants la n gociation du nombre minimal d accords pour confirmer le contrat du nombre de tours dans la n gociation et du nombre de ren gociations autoris es Cet objet m morise galement les participants qui ont accept le contrat le nombre d accords re us et le nombre de tours et le nombre de ren gociations effectu es Cela permet l initiateur de m moriser les param tres
238. re se d roule de la fa on suivante un vendeur propose un article pour le quel il d cide d obtenir un prix minimal qu il garde secret prix de r serve Ensuite les acheteurs lui font savoir s ils sont int ress s ou non par cet article et s ils le sont lui proposent un prix pour celui ci L acheteur retient le prix le plus lev propos et si ce prix est sup rieur au prix de r serve l acheteur ayant propos ce prix gagne l ench re Si le meilleur prix propos n atteint pas le prix de r serve le vendeur propose nou veau son article aux acheteurs int ress s afin qu ils ench rissent Ceci est r p t jusqu ce qu un acheteur gagne l ench re ou que personne n ench risse pour atteindre le prix de r serve 142 Chapitre 5 Applications Pour cette application la r tractation n est pas autoris e une fois l article vendu il l est d finitivement Le param tre retraction allowed du fichier de configuration de l application sera donc faux Comme il s agit ici d une application de vente la r ponse par d faut qui sera consid r e est un refus On ne peut videmment pas obliger un participant acheter un article Un seul accord est n cessaire la confirmation du contrat car le vendeur ne peut vendre son article qu une seule personne D apr s cette sp cification on remarque qu un param tre suppl mentaire est n ces saire pour l initiateur le prix de r serve Comme c est un param tre que seul l initiat
239. re un initiateur et des participants comme dans le cadre du Contract Net Protocol Les diff rentes phases du protocole Le protocole se divise en trois phases une phase de proposition une phase de conversation et une phase de d cision finale 3 3 Le niveau n gociation 75 La phase de proposition Cette phase est la premi re phase de notre protocole elle ini tie la n gociation Elle comprend la proposition du contrat par l initiateur aux par ticipants et la collecte des r ponses de chacun des participants Chaque partici pant peut soit accepter soit refuser la proposition Nous avons choisi de ne pas inclure de contre proposition explicite dans cette phase car cette fonctionnalit n est pas commune toutes les formes de n gociation tudi es Les n gociations permettant les contre propositions utilisent la phase suivante du protocole Si les contre propositions sont autoris es d s la premi re proposition de l initiateur on peut utiliser la r ponse accepte qui peut avoir un param tre et dans ce cas ce pa ram tre serait une contre proposition La phase de conversation Cette phase de notre protocole est optionnelle elle n inter vient que lorsque les participants n ont pas t assez nombreux accepter la pro position de contrat de l initiateur et que les contre propositions sont autoris es L initiateur indique alors aux participants cette possibilit Une conversation entre l initiateur et les participants se d ro
240. refuseLauncher resToStringO restant retractLauncher sendManualMessageQ setAutomatic setManuald setsimultaneouso subscribed updateContractO updateContractM apAndM atrixd updateContractM apAndstated updateCpMap updateHistoricalQ updateMyPriority updatePanicipantPriority updateResourcePriorityo writeT oLogFiled e o e oe o L oe o o e o e e 9 o e Q e e e e 9 oe d e o o o oe e oe oe Le a e e o o o O ResAnaPriority 164 Annexe A Diagrammes de classes A 3 Paquetage fr 1ifl genca strategy interface interface 1 InitiatorStrategy D ParticipantStrategy fe Se ee decided decideModificationd defaultDecision init proposeModificationg O whatDolanswer defaultM odificationg init initM odificationg judged receivedAccept Q o Q e e O Q e O DefaultParticipantStrategy F DefaultParticipantStrategy init c DefaultinitiatorStrategy proposeModification whatDolanswer amp DefaultinitiatorStrategy decided decideModificationd ResToSort defaultDecision Nuplet defaultModificationt F ini Nuplet DA nn equals ResToSort jnitModificationd T judged isConsecutived compareTo0 toString received ccepti Ce paquetage correspond au niveau de strat gie de notre mod le On y trouv
241. rix courant l autre des offres scell es sur plusieurs tours chaque partici pant propose une offre de fa on priv e elle est donc inconnue des autres participants le processus est it r jusqu ce qu une offre satisfasse le vendeur Notre protocole per met donc de g rer des ench res que les prix soient propos s par le vendeur ou par les acheteurs Nous avons galement r alis des applications ne faisant pas r f rence au com merce lectronique Ces applications sont un syst me de cr ation d emplois du temps un syst me de prise de rendez vous un jeu de n gociation et un syst me pour n gocier le choix d un restaurant pour une sortie commune L application de cr ation d emplois du temps implique des enseignants et des groupes d tudiants C est une application que nous avons r alis dans le cadre du groupe ASA du GDR I3 afin de comparer les diff rentes approches de ce probl me Un syst me de n gociation pour r soudre ce probl me n est pas une solution vidente a priori mais nous montrons que cette pos sibilit existe et donne de bons r sultats ASA 2003 L application de prise de rendez vous permet aux utilisateurs de n gocier les horaires de leurs r unions et de ren gocier automatiquement celles ci si le rendez vous trouv ne convenait plus et qu il faille en changer En ce qui concerne l application de choix d un restaurant les utilisateurs uti lisent leurs pr f rences sur les lieux disponibles pour
242. ropos e dans la strat gie par d faut car premi rement cette formule ne tient pas compte de l valuation de la main du joueur et deuxi mement cette formule s utilise afin de proposer un nouveau contrat pour une ressource pr f r e par tous et d avoir de bonnes chances que ce contrat soit accept par la majorit des participants c est une formule d valuation collective Or ici il s agit pour l initiateur de proposer une ressource qui ne l int resse pas mais qui soit la plus pr f r e possible par les parti cipants pour le cas d une ressource dont il se s pare et le contraire s il s agit d une res source qu il veut obtenir c est dire une ressource qui maximise son gain mais aussi celui du participant avec qui l change sera fait C est pourquoi la strat gie par d faut ne peut tre utilis e Nous utiliserons donc une formule bas e sur la valeur de la main du joueur afin d valuer les changes propos s Cette formule sera pr sent e en section Nous pr sentons des strat gies simples pour ce jeu dans les sous sections suivantes 5 3 3 Le comportement de l initiateur La strat gie que nous pr sentons ici se d compose en trois cas correspondants aux trois types de contrats d finis dans la pr sentation du probl me change de 2 ressources nomm es contre 2 autres ressources nomm es C est le cas le plus simple si un participant a accept le contrat il le remporte si personne ne l a accept il est annul
243. roposition possible ces ench res ne sont pas une n gociation proprement parler Le protocole de ces ench res est tr s simple le ven deur propose un article un ensemble d acheteurs Ceux ci peuvent soit accepter la proposition auquel cas ils proposent un prix soit refuser la proposition Le gagnant de l ench re est celui qui a propos le prix le plus lev sup rieur au prix de r serve L une des diff rences avec les pr c dentes ench res est qu il n y a pas de contre proposition possible Les offres scell es au second meilleur prix Ces ench res sont galement appel es ench res de Vickrey Le d roulement de ces ench res est exactement le m me que celui des ench res aux offres scell es au meilleur prix mis part que le vainqueur paie le second meilleur prix propos La Figure 2 8 re pr sente ces ench res dans le cas de quatre acheteurs en comp tition Chaque acheteur propose secr tement un prix au vendeur Ainsi l acheteur 1 propose 10 euros l ache teur 2 propose 40 euros l acheteur 3 propose 60 euros et l acheteur 4 propose 30 euros C est donc l acheteur 3 qui a propos le prix le plus lev 60 euros il remporte donc l ench re mais ne paie que le second prix le plus lev soit 40 euros Ces ench res sont impl ment es dans Magma Tsvetovatyy et al 1997 un march virtuel pour le commerce lectronique utilisant des agents 28 Chapitre 2 D finition et tat de l art
244. ropositions l initiateur de la n gociation sous la forme de nouveaux horaires leur convenant mieux Diff rentes strat gies sont propos es qui reposent entre autres sur le biais de recherche et les strat gies d annonce de r ponses et de commitement Leur application permet comme la n tre un utilisateur d tre l initiateur d une proposition de rendez vous et participant d autres simultan ment Elle prend gale ment en compte plus de param tres pour les pr f rences des utilisateurs que la n tre 140 Chapitre 5 Applications qui prend surtout en compte les pr f rences sur les horaires et les personnes Comme dans notre application les agendas des utilisateurs sont priv s Jennings et al Jennings and Jackson 1995 ont propos une conception et une im pl mentation pour la prise de rendez vous prenant en compte les pr f rences de l utili sateur sur les horaires et les personnes Les agendas des utilisateurs sont priv s La pro position est constitu e de l ensemble des invit s au rendez vous du sujet de la r union de la dur e de la r union puis de contraintes sur le temps vendredi apr s midi par exemple et sur les participants devant tre pr sents pour confirmer la r union tous un sous ensemble des participants etc Les participants proposent alors un nombre fix de date et heure possibles pour eux avec leur estimation L initiateur cherche alors une solution parmi les r ponses envoy
245. rties gt lt SMTP gt smtp provider fr lt SMTP gt lt myAddress gt myName provider fr lt myAddress gt lt SMTP Properties gt lt POP Properties gt lt POP gt pop provider fr lt POP gt lt username gt myName lt username gt lt password gt motDePasse lt password gt lt popDelay gt 60 lt popDelay gt lt POP Properties gt lt serverAddress gt genca provider fr lt serverAddress gt lt mailProperties gt FIG 4 3 Fichier de configuration des param tres n cessaires l utilisation des e mails 114 Chapitre 4 GeNCA une API Java impl mentant notre mod le 4 2 Impl mentation du niveau n gociation Toute r alisation informatique n cessite une structure de donn es adapt e Il faut ici pouvoir coder des n gociations simultan es l avancement d une n gociation les initiateurs et les participants et principalement les ressources et les contrats Pour impl menter notre protocole nous avons d fini deux types d objets communs toute forme de n gociation les objets de description de la n gociation et les objets pour la dynamique de la n gociation Nous avons galement d fini des objets pour la m morisation des n gociations pass es Ces objets se trouvent dans le paquetage fr lifl genca negotiation 4 2 1 Les objets de description de la n gociation Les ressources Les ressources sont les objets que chaque agent essaie d obtenir Les ressources sont abstraites et p
246. s agents et d finit les primi tives de communication que tous les agents doivent comprendre pour utiliser GENCA Notre mod le utilise un m canisme d abonnement au syst me afin de localiser les participants et de collecter les ressources qui seront n goci es Un serveur de noms a t d fini pour retenir les participants et leur adresse ainsi que les ressources Chaque agent d sirant participer au syst me de n gociation doit s inscrire aupr s du serveur de noms en donnant son nom son adresse le type d application de n gociation qu il veut rejoindre par exemple des ench res hollandaises et ses propres ressources qu il veut n gocier Apr s cette inscription l agent re oit la liste des participants d j pr sents dans le syst me pour ce type d application ainsi que l ensemble des ressources pouvant tre n goci es Chaque participant d j pr sent dans le syst me pour ce type d application re oit un message lui indiquant l arriv e d un nouvel abonn et les res sources qu il a apport es Chaque personne connait donc toutes les autres personnes et toutes les ressources pr sentes pour le type d application auquel il participe r Routeur Pierre FIG 3 2 M canisme d abonnement Pierre s inscrit en premier puis Paul et ensuite Jean La figure montre les changes de messages r alis s cette occasion 3 2 Le niveau communication 73 La Figure 3 2 d crit le m canisme d abonnement de 3 personnes
247. s agents interagissent par son interm diaire tandis que les agents interagissent directement entre eux dans notre pro cessus de n gociation La r tractation est possible moyennant une p nalit payer mais la ren gociation ne se fait pas automatiquement alors que c est le cas dans notre mo d le 2 3 9 SilkRoad Le projet SilkRoad est d velopp au laboratoire de recherche d IBM Zu rich Ce projet a pour but de faciliter la conception et l impl mentation de syst mes de support de n gociation pour des domaines d applications sp cifiques SilkRoad fa cilite les n gociations multi attributs dans les sc narios d e business gr ce une m thodologie de conception sp cifique et une architecture de syst me g n rique avec des composants de support de n gociation r utilisables Un syst me de support de n gociation construit sur la base du mod le d architecture SilkRoad agit comme un interm diaire entre les agents n gociant r ellement qui peuvent tre des agents humains ou logiciels et ainsi fournit une communication bas e sur des r gles et un support de d cision Les deux l ments au coeur de SilkRoad Figure sont le ROADMAP et le SKELETON Le SKELETON fournit plusieurs composants de service de n gociation mo dulables et configurables qui peuvent tre utilis s pour impl menter un m dium de n gociation lectronique Un m dium est une plateforme o l change une transac tion d objets tangibles ou i
248. s d ouvertures et de fermetures l incr ment minimum les conditions de fin de tours et les conditions d quilibrage du march Si ceux ci doivent varier la n gociation est divis e en plusieurs phases La partie produit d finit techniquement la nature du produit n gocier renvoie sa description pr cise La partie ordre repr sente les donn es de la mise initiale faite par le participant telles que son prix de d part son prix de r serve la quantit de produit mise en n gociation et ses fractions permises Lorsque l annonce est remplie elle est envoy e au syst me qui va d clencher une session d annonce Les utilisateurs interagissent avec GNP uniquement via un navigateur web Aucune installation de logiciel ne doit tre effectu e D un point de vue formel les auteurs clament dans Benyoucef et al 2000 we have identified a number of operations that are common to different negotiation processes Some of these operations are define attributes and default values for the formalized concepts setup the end conditions for rounds phases and the whole negotiation define the information to be displayed to or hidden from the players Comme nous le montrerons par la suite avec nos propres travaux il est possible d identifier des points communs aux diff rents types de n gociation et d en tirer parti pour offrir une plateforme g n rique de n gociation Les auteurs pensent galement qu il faut s par
249. s des agents P I et Io de la Figure 3 6 lorsque ha confirm son nouveau contrat avec P P accepte ce contrat et J le confirme Les repr sentations des n gociations sont alors celles pr sent es en Figure 3 18 P a deux contrats dans la zone des contrats pris celui qu il a pris avec J et celui qu il a pris avec D I et I2 poss dent chacun un contrat dans la zone des contrats pris celui qu ils ont respectivement pris avec P4 Les modes de gestion des n gociations entrant en conflit Lorsqu une personne doit n gocier de nombreux contrats il peut tre pr f rable d en n gocier plusieurs simultan ment afin de gagner du temps Cela ne pose pas de probl mes lorsque les ressources mises en jeu dans les contrats sont diff rentes c est pourquoi nous effectuons toujours les n gociations de ces contrats simultan ment En revanche il peut s av rer souhaitable de n gocier s quentiellement les contrats portant sur des ressources communes Notre mod le propose deux fa ons de g rer les n go ciations de contrats portant sur des ressources communes la gestion s quentielle et la gestion en parall le Le mode de gestion est un param tre de l application de n gociation Lorsque l utilisateur choisit la gestion en parall le aucune restriction n est faite sur la disponibilit des ressources elles peuvent d j tre en cours de n gociation pour un autre contrat En revanche lorsque l utilisateur choisit la gestion s quentie
250. s diff rentes alternatives possibles Les plus simples concernent un choix entre une alternative et le statu quo Cela revient proposer l alternative et recueillir les votes pour et les votes contre cette alternative Les syst mes plus complexes impliquent un nombre d alterna tives sup rieur deux les votants devant alors choisir l alternative qu ils pr f rent Le terme de choix social est utilis afin de repr senter l alternative qui satisfait au mieux la population Dans ce qui suit nous consid rons le probl me suivant soit un ensemble A de n alternatives d not es a b c etc et un ensemble P de personnes de votants d no t es p p2 ps etc Chaque personne p de l ensemble P classe obligatoirement toutes les alternatives sous la forme d une liste selon ses pr f rences Nous supposons qu il n y a pas d galit au sein de ces listes Nous repr sentons ces listes de mani re verticale depuis les alternatives les plus pr f r es en haut de la liste jusqu aux moins pr f r es en bas de la liste Nous pr sentons dans cette sous section diff rentes proc dures de choix social qui fournissent la ou les alternatives les plus pr f r es des personnes ainsi que des propri t s souhaitables pour de telles proc dures Diff rentes proc dures de choix social D finition 3 Une proc dure de choix social est une fonction qui prend en param tre une s quence de listes sans galit s d un ensemble A l ensemble des
251. s diff rentes ressources n gocier demande modification contrat ce message indique aux participants que le contrat ne peut tre conclu sous sa forme actuelle et qu il faut le modifier L initiateur 76 Chapitre 3 Proposition d un mod le g n ral de n gociation initiateur participant initiateur participant T i T propose contrat r tracter contrat refuse annule contrat accepte params _ demande modification contrat propose contrat confirme contrat propose modification modifs annule contrat i H demande modification contrat demande modification contrat _ annule contrat i propose contrat propose modification modifs demande modification contrat annule contrat propose contrat FIG 3 4 Graphe d interaction entre un initiateur et un participant a gauche le s quencement des messages pour la n gociation d un contrat entre un initiateur et des participants Par souci de clart un seul participant est repr sent ici A droite le s quencement des messages pour la ren gociation d un contrat pour lequel un participant s est r tract demande aux participants de lui indiquer une ou plusieurs modifications pos sibles du contrat afin d en proposer un nouveau conv
252. s diff rents cas de gestion des n gociations portant sur des ressources communes Gestion parall le tous les contrats sont n goci s en parall le Aucune restriction n est faite quant la disponibilit des ressources Gestion s quentielle les contrats sont n goci s s quen tiellement Gestion semi parall le les contrats sont scind s en plusieurs parties une par res source Chaque partie portant sur une ressource libre est n goci e de suite Les autres attendent la lib ration des ressources Notre mod le ne propose pas de gestion semi parall le des n gociations portant sur des ressources communes car ce type de gestion peut aboutir des n gociations inutiles sur plusieurs ressources d un contrat alors que ce dernier n a aucune chance d tre accept Prenons un exemple o un contrat c est propos sur la ressource r et un contrat co est propos sur les ressources r1 r2 et r3 Supposons que le contrat c est propos avant le contrat co et que la r tractation n est pas autoris e La ressource r est en cours de n gociation pour le contrat c et on effectue alors les n gociations des ressources r2 et r3 du contrat c2 Si le contrat c est confirm alors la ressource r n est plus n gociable et le contrat cz ne peut plus tre accept donc les n gociations sur les ressources rz et r3 ont t inutiles C est la raison pour laquelle notre mod le ne propose pas la d composition d un contrat sur
253. s ensembles de r gles diff rents m canismes de n gociation peuvent tre r alis s La n gociation se d roule dans une sc ne de n gociation qui est 2 3 tat de l art 63 une abstraction du syst me de messages utilis par les participants de la n gociation pour communiquer Apr s avoir t admis la n gociation un participant peut acc der la sc ne de n gociation Chaque participant peut envoyer des propositions par un message destin l h te de n gociation Celui ci d termine quels participants doivent voir le message et le leur envoie Cela permet de mod liser la n gociation de 1 vers 1 comme un cas particulier de la n gociation de n vers m Afin de n gocier les participants doivent initialement partager un template de n gociation Il sp cifie les diff rents param tres de n gociation qui peuvent tre soit contraints soit totalement ouverts Une sc ne de n gociation est associ e un template de n gociation ce qui d finit l objet de la n gociation au sein de cette sc ne Le pro cessus d admission la n gociation comprend entre autres l acceptation du template plus ventuellement d autres crit res possibles comme la provision d un cr dit suffi sant pour participer la n gociation Negotiation Host and Participant Collaborators Initialize negotiation infrastructure Agreement possible Agreement formation may trigger Termination Withdraw propos
254. s envisageons d autres perspectives plus long terme que nous pr sentons maintenant Repr sentation du protocole Nous avons galement l intention d extraire le proto cole de n gociation de notre mod le afin de pouvoir en changer facilement et de pro poser une biblioth que de protocoles utilisables avec GeNCA Pour cela il est n ces saire de d finir les protocoles dans un formalisme qui soit clair pour l utilisateur et facilement int grable du point de vue g nie logiciel Une tude des diff rents forma lismes de repr sentation des protocoles sera donc n cessaire Parmi ces formalismes les plus courants sont les automates les r seaux de P tri color s et le formalisme AUML Ceux ci ont t tudi s par Huget dans Huget 2001 qui a propos une ing nierie des protocoles d interaction pour les syst mes multi agents D autres for malismes existent comme le langage Q Tshida 2002 Little JIL Wise et al 2000 le langage COOL et AgenTalk Kuwabara et al 1995 Nous souhaitons utiliser un formalisme qui permette une utilisation simple et claire pour l utilisateur et qui peut tre chang facilement entre les agents et qui permette ga lement de g n rer automatiquement le code n cessaire son utilisation Nous al lons donc tudier plus particuli rement les travaux de Secq Secq 2003 et de Hu get Huget 2002b Huget 2002a sur les protocoles d interactions Nous aimerions four 158 Chapitre 6
255. s mes tudes Mes pens es vont galement vers Fr d ric mon com pagnon pour m avoir suivie et soutenue tout au long de ma th se et qui a partag mes doutes et mes joies durant ces trois ann es iv Table des mati res Table des figures 1 Introductio 2 D finition et tat de l art 2 1 D finition xi 221 _ Les syst mes de votd 17 2 2 2 _ Lesench red 2 2 3 Les autres formes de n gociation 2 3 tat del art 2 2 4 _ La n gociation base d argumentatio 2 3 1 Le Contract Net Protocol 2 3 2 __ Traconei 2 3 3 _ Kasbah 2 3 4 _ AuctionBo vi Table des mati res ee ANSE as 42 A A NES ties QE 44 A Ann yeaah 9A 48 NEOTON OEE epee a 52 EE ee toes bene apy area 55 E EE 61 tenn i A E a en ct 66 RE D R3R A 95 Ee E Ee E A 95 ESENTE ees 96 vii Re ere 97 RARA RAAR RA 101 EE a 103 3 5 1 Ordre lin aire eo eS ERS ESSE RAS ES EI NERES 103 ee eee 104 OAR E 105 Ui ONRAN ES RA A 2 AAA 106 109 EE A 109 PEE EEE 110 r e Ae nen 1 Pps nee ees RAD ARA ER 112 116 Rs EA 116 EE eet acne een RAT 121 ee Begs ee PRO AVARA SACA 122 POEET TETEE TIE AST 123 E E E 124 E eee 126 viii Table des mati res 445 VL ongletContratprid 0 2 2 20204 127 44 6 I ongletR tractatio o BOON 2H 127 44 7 lIl ongletVuedesressources
256. s propositions dans la sc ne satisfont certaines condi tions elles sont converties par ces r gles en accords et retourn es aux participants La fin de la n gociation est d termin e par des r gles de terminaison Participant Participant Participant l Negotiation Host Gatekeeper Proposal Protocol Validator Enforcer Agreement Template Information Updater Infrastructure Provider Negotiation Locale Agreement Maker Agreement Rules FIG 2 26 Architecture abstraite sous r les et relations Figure issue de Bartolini et al 2002b Il y a deux r les principaux dans la n gociation participant et h te Figure 2 26 Les participants sont ceux qui veulent aboutir un accord L h te est charg de faire respec ter le protocole et les r gles de n gociation L h te de la n gociation peut ou non tre galement un participant Le participant peut poster des propositions selon les r gles fournies par l h te de n gociation L h te est charg de la cr ation et de faire respecter les r gles gouvernant la participation l ex cution la r solution et la terminaison de la n gociation Il a les sous r les suivants Gatekeeper fait respecter la politique d admission la n gociation Proposal validator assure qu une proposition est conforme au
257. s types aussi bien pour le ODMM que pour le CDMM Le concept de graphes d tats est le paradigme de mod lisation sous jacent pour la conception de l organisation et de la communication Il a l avantage d tre commun ment utilis dans la conception de sys t mes d information et fait galement partie d UML Chapitre 2 D finition et tat de l art SilkRoad Design Meta Model V Analysis of Preconditions Agreement Scenario Communication Design Y Agreement Scenario Organisation Design Agreement Scenario Integrated Design Negotiation Media Runtime Specification Negotiation Service Application Framework FIG 2 19 L l ment ROADMAP de SilkRoad Figure issue de Str bel 2001a 1 1 Attributes 0 we Concept 0 2 2 Relation 1 0 dyo Actor AaS a Offer Properties 1 0 State interacts with 7 BLD LIII a OX 1 8 is_part_of j 0 Transiti Event Transition 1 1 1 1 0 0 p s AS Guard Action roperties FIG 2 20 M ta mod le de conception de SilkRoad Figure issue de Str bel 2001b 2 3 tat de l art 57 La t che de conception de l organisation est de mod liser les
258. s types de n gociation Elle permet de configurer certaines propri t s de n gociation comme la fa on de g rer les n gocia tions ou les priorit s donn es aux ressources et aux personnes L utilisateur peut ainsi cr er des contrats r pondre aux propositions qui lui sont faites visualiser les messages envoy s et re us par l agent et surveiller les n gociations en cours Notre paquetage est directement utilisable en crivant le fichier de configuration du syst me incluant les ressources qui seront n goci es et la sp cialisation du protocole Nous fournissons quatre modes de communication ainsi que les agents correspondant de fa on pouvoir utiliser le syst me de suite Les strat gies que nous fournissons permettent de r aliser des n gociations imm diatement pour peu qu elles n impliquent pas de contrats n cessitant l ajout de param tres Nous avons galement montr qu il tait plus simple de r aliser une application avec GeNCA qu avec Zeus Plusieurs applications ont t r alis es avec GeNCA elles font l objet du prochain chapitre Chapitre 5 Applications Dans ce chapitre nous pr sentons quelques applications parmi celles que nous avons r alis es avec GeNCA Afin d illustrer la polyvalence de GeNCA nous avons choisi trois applications qui utilisent des modes de communication totalement dif f rents et qui concernent des domaines d applications eux aussi tr s diff rents La premi re utilise un mode de
259. sages Nous avons d fini un format g n ral des messages chang s au sein de GeNCA Chaque message poss de un metteur une primitive et des param tres ventuels Ces ca ract ristiques communes chaque message ont donn lieu la cr ation d une interface Message Il y a deux types de messages au sein de GeNCA des messages de liaison avec le serveur de noms et des messages de n gociation entre les agents Ces mes sages diff rent selon le type de primitives employ es et les messages de n gociation poss dent des caract ristiques suppl mentaires Nous pr sentons ici ces deux types de messages Le format des messages de liaison avec le serveur Le serveur et les agents s changent des messages du type ServerMessage Les primitives utilis es sont du type ServerPrimit ive Le serveur envoie les primitives PARTICIPANTS_AND_RESOURCES en r ponse l inscription de l agent le serveur envoie la liste des personnes d j inscrites pour le m me type d appli cation ainsi que les ressources pr sentes pour ce type d application PARTICIPANT_ARRIV AL pour indiquer l arriv e d un nouveau participant aux personnes d j inscrites le serveur envoie le nom de la nouvelle personne et la liste des ressources qu elle apporte et RECEIVE_MESSAGE pour indiquer la r ception d un message de n go ciation de la part d un autre agent le serveur transf re un message du type NegotiationMessage L agent envoie les primitives
260. se le protocole uti lis pour la n gociation en termes de nombre de phases de nombre d tapes de syn chronisation parmi d autres crit res L aspect crit res d valuation comprend notamment la complexit computationnelle la convergence l efficacit l quit La Montreal Taxonomy Str bel and Weinhardt 2003 Neumann et al 2003 affine la London Classification qui ne prend pas en compte l aspect r gles de n gociation La complexit en envois de messages est une notion importante qui d montre l uti lit de l automatisation de la n gociation En effet lorsqu un nombre exponentiel de messages doit tre envoy trait mieux vaut utiliser un agent autonome que de s en occuper soi m me afin de gagner du temps libre a interfaces strat gie n gociation communication FIG 3 1 Les trois niveaux de notre mod le g n ral Le niveau de n gociation forme le c ur du mod le Il poss de une interface avec le niveau de communication qui se charge de faire com muniquer les agents entre eux selon le m canisme fourni par l application Il poss de galement une interface avec le niveau strat gique qui d finit la fa on dont l agent n gociera ses contrats ce qui est galement sp cifique l application r alis e Pour concevoir notre mod le et permettre une r elle g n ricit nous avons choisi de nous appuyer sur une architecture trois niveaux Figure 3 1 Le niveau de n gociation qui c
261. semble une trentaine de participants chaque ann e depuis 2001 2 3 5 Le projet ADEPT Le projet ADEPT Advanced Decision Environment for Process Tasks Jennings et al 1998 de Nick Jennings et al recherche a la fois la technologie et les m thodes n cessaires a l am lioration de la mani re de recueillir des informations de les g rer de les distribuer et de les pr senter aux personnes dans des fonctions et des op rations cl s de l entreprise Ce projet cr e un Environnement d Information Concourant qui doit fournir un support pour la cr ation d accords la n gociation et la gestion de conflits Ce projet comprend donc un module de n gociation de services Un service est d fini par les caract ristiques suivantes 2 3 tat de l art 43 Chaque service poss de un nom qui est unique Chaque service poss de une garde Une garde d clare les informations qui sont requises pour lancer le service Des contraintes peuvent galement tre expri m es comme par exemple un service ne peut tre lanc que lorsque une certaine valeur x est disponible et sup rieure 5 etc Chaque service peut avoir des hypoth ses Une hypoth se peut imposer des contraintes suppl mentaires sur l information ou assigner des valeurs par d faut qui sont alors crues mais peut tre encore inconnues Chaque service poss de un corps qui d crit la fa on dont le service peut tre ex cut Un service peut tre d fini r cursivement e
262. ser GeNCA au sein de la plateforme multi agents Madkit Lorsque l application concerne la n gociation de contrats portant uniquement sur les ressources il n y a rien d autre faire Toute la gestion des n gociations se fait automatiquement En revanche si le contrat n cessite d autres param tres quantit prix etc il faut alors tendre la classe Contrat et modifier l interface graphique de cr ation de contrat afin d y faire appara tre les nouveaux param tres Si l on compare le travail n cessaire pour r aliser une application de n gociation avec GeNCA et avec Zeus par exemple on se rend compte que cela est plus facile avec GeNCA Verrons 2001 Premi rement le protocole de n gociation doit simple ment tre param tr dans un fichier pour GeNCA tandis que pour Zeus il faut d finir les protocole sous la forme d un automate et consid rer le protocole pour l initiateur et celui pour le participant Chaque tat et chaque arc de ces automates fait ensuite l ob jet d une classe Le protocole est lui aussi d fini dans une classe qui d crit les tats et les arcs de l automate correspondant Il faut ensuite modifier une classe pour qu elle prenne en compte le nouveau protocole Tout cela est tr s lourd g rer et beaucoup de temps doit tre consacr la compr hension du fonctionnement interne de Zeusafin de r ussir cette d finition de protocole En ce qui concerne les ressources elles sont d finies dans un fichier
263. sont impliqu es dans la n gociation Mais lorsque la n gociation implique plusieurs participants avec un initiateur il s agit de n gociation de 1 vers n C est cette situation que l on rencontre dans les syst mes de vente aux ench res comme Fishmarket ou Magnet Notre protocole est bas sur l change de messages entre un initiateur et plusieurs participants il permet donc de r aliser des n gociations de 1 vers n Comme nous le verrons dans la prochaine sous section en page 94 nous autorisons la n gociation simultan e de plusieurs contrats C est dire que plusieurs initiateurs peuvent proposer simultan ment un contrat un ensemble de participants il s agit donc de n gociation de n vers m agents ou plus exactement n n gociations simultan es de 1 vers m agents Le param trage du protocole lt ELEMENT protocol answer delay default answer minAgreements nbRounds nb modifications by round retraction allowed nbRenegotiations gt lt ELEMENT answer delay PCDATA gt lt ELEMENT default answer EMPTY gt lt ATTLIST default answer value accept refuse refuse gt lt ELEMENT minAgreements PCDATA gt lt ELEMENT nbRounds PCDATA gt lt ELEMENT nb modifications by round PCDATA gt lt ELEMENT retraction allowed EMPTY gt lt ATTLIST retraction allowed value true false true gt lt ELEMENT nbRenegotiations PCDATA gt
264. ssaires l interface graphique se trouvent dans le paquetage fr 1lifl genca gui Nous d crivons ici chaque onglet de l interface graphique 4 4 1 L onglet Param tres LE Parameters connect disconnect Negotiation mode manual automatic Negotiations takes place simultaneously always only when contracts are on different resources Enter your priority max 10 min 5 Enter priorities for participants d max and 10 min Participant name Enter priorities for resources max and 10 min Resource name Priority 8h 9h 10 9h 10h 10h 11h 11h 12h 1 14h 15h al 15h 16h 1 Aci 497 FIG 4 6 Onglet Param tres Cet onglet est celui sur lequel l interface graphique se lance C est un onglet de configuration il permet de se connecter d connecter du syst me au d part l agent est connect de choisir le mode d utilisation manuel ou automatique de choisir la mani re d effectuer les n gociations toutes simultan es ou s quentielles lorsque les 4 4 Interface graphique 121 m mes ressources interviennent dans plusieurs contrats C est aussi dans cet onglet que l utilisateur d finit sa priorit et les priorit s des ressources et celles des partici pants Ces priorit s sont utilis es par les strat gies de n gociation Si l utilisateur choi sit le mode manuel d utilisation il devra alors r pondre lui m me aux propositions de contra
265. t lt ELEMENT name PCDATA gt lt ELEMENT address PCDATA gt lt ELEMENT resources list resource gt lt ELEMENT resource PCDATA gt lt ELEMENT initiator strategy PCDATA gt participant strategy PCDATA gt T protocol answer delay default answer minAgreements nb modifications by round gt ENT answer delay PCDATA gt ENT default answer EMPTY gt T ia T Z lt j A T E T Z 3 j D o pe Et EH n A bi ed T Tj lt AT TLIST default answer value accept refuse refuse gt lt ELEMENT minAgreements PCDATA gt lt ELEMENT nbRounds PCDATA gt lt ELEMENT nb modifications by round PCDATA gt lt ELEMENT management EMPTY gt lt ATTLIST management value sequential parallel sequential gt lt ELEMENT default priority EMPTY gt lt ATTLIST default priority value 1 2 3 4 5 6 7 8 9 10 5 gt lt ELEMENT window EMPTY gt lt ATTLIST window value true false true gt lt ELEMENT application parameters list application parameter gt lt ELEMENT application parameter name parameter gt lt ELEMENT name PCDATA gt lt ELEMENT parameter class value gt lt ELEMENT class PCDATA gt lt ELEMENT value PCDATA gt FIG 4 1
266. t lt communicator gt fr lifl genca mail MailCommunicator lt communicator gt lt default initiator strategy gt rdv RdviInitiatorStrategy lt default initiator strategy gt lt default participant strategy gt rdv RdvParticipantStrategy lt default participant strategy gt lt protocol gt lt answer delay gt 10 lt answer delay gt lt default answer value accept gt lt minAgreements gt 100 lt minAgreement s gt lt nbRounds gt 20 lt nbRounds gt lt nb modifications by round gt 5 lt nb modifications by round gt lt retraction allowed value true gt lt nbRenegotiations gt 3 lt nbRenegotiations gt lt protocol gt lt default priority value 5 gt lt management value sequential gt lt window value true gt lt genca gt lt resource gt l FIG 5 2 Fichier XML de configuration de l application pour la prise de rendez vous 5 1 Un syst me de prise de rendez vous 139 lt xml version 1 0 gt lt DOCTYPE agent SYSTEM agent dtd gt lt agent gt lt name gt Agent1 lt name gt lt initiator strategy gt rdv MyRdvInitiatorStrategy lt initiator strategy gt lt participant strategy gt rdv MyRdvParticipantStrategy lt participant strategy gt lt default priority value 10 gt lt window value false gt lt agent gt FIG 5 3 Exemple de fichier de configuration d un agent souhaitant modifier les valeurs des param tres strat gies utiliser
267. t La Figure 2 3 d crit cette situation Cependant ce protocole reste applicable uniquement dans un syst me multi agent coop ratif dans lequel les agents peuvent contribuer am liorer le fonc tionnement du manager d un contrat Par contre les agents d un syst me multi agent comp titifs se garderont de diffuser l information annonc e afin d augmenter leurs chances d obtention des contrats Pour un syst me multi agent coop ratif l avantage de cette approche r side dans le fait que les annonces sont largement diffus es entre les agents i e chaque agent les diffuse aupr s de ses propres connaissances Ce qui peut ventuellement faciliter la candidature de plusieurs postulants une annonce N anmoins ses limites restent tout aussi importantes 1 le syst me multi agent risque d tre facilement submerg par des messages dupliqu s par l envoi simultan de propositions par diff rents agents En effet avec n agents dans le syst me et k 16 Chapitre 2 D finition et tat de l art t ches r aliser kn propositions peuvent circuler la fois entre les agents 2 par cons quent la charge calculatoire de chacun des agents se trouve ainsi inutilement augment e par des traitements de diffusion et de r ception de messages 3 la dur e de n gociation devient ainsi plus lev e La cinqui me approche pr sent e par Sandholm et Lesser Sandholm and Lesser 1996 consid re qu un agent peut se d sengager d un cont
268. t des m thodes de communication telles que l envoi d e mails pour des agents physiquement d centralis s ou encore l appel de proc dure pour des agents centralis s Diff rentes strat gies ont galement t con ues pour ces applications puisqu elles im pliquent diff rents param tres et qu il tait donc impossible d utiliser la m me strat gie pour chacune d entre elles Nous terminons par la conclusion sur nos travaux de recherche et les perspectives que nous avons pour ce projet Parmi ces perspectives la repr sentation externe du protocole de n gociation est celle qui nous parait la plus importante afin de permettre sa r ification et son passage au niveau des param tres de l API Nous souhaitons trouver 10 Chapitre 1 Introduction un formalisme de description du protocole qui soit assez clair pour tre lisible par un humain et facilement int grable du point de vue g nie logiciel Ceci nous permettrait d extraire notre protocole de notre mod le afin de pouvoir proposer l utilisateur une biblioth que de protocoles de n gociation utilisables avec GeNCA Chapitre 2 D finition et tat de l art Avec les progr s des technologies de l information des syst mes multi agents SMA et des places de march lectroniques le besoin d agents logiciels capables de n gocier avec les autres la place de leur utilisateur devient de plus en plus important Dans ce chapitre nous pr sentons la d finition de la n gociat
269. t les syst mes multi agents Lorsque plusieurs agents interagissent des conflits peuvent survenir ce qui n cessite l utilisation de m canismes de r solution de conflits Parmi ces m canismes on trouve notamment la co ordination les syst mes de vote et la n gociation Nous nous proposons d tudier dans cette th se la n gociation entre agents et de concevoir un mod le g n ral de n gociation ainsi qu une API l impl mentant La n gociation est un processus gr ce auquel plusieurs parties aboutissent une d cision commune Les parties verbalisent en premier lieu leurs demandes et convergent vers un accord par une succession de concessions ou une recherche de nouvelles al ternatives Pruitt 1981 La n gociation est utilis e dans le domaine du commerce lectronique notamment en utilisant les ench res dans le domaine des t l commu nications par exemple pour partager une bande passante et dans les syst mes multi agents SMA pour l allocation de t ches et de ressources Sandholm 1993 l identification de conflits Gamble and Sen 1994 la r solution des disparit s entre les buts et la d termination de la structure organisationnelle tout cela influence la coh rence de la soci t d agents La n gociation se d compose en deux cat gories principales la n gociation comp ti tive et la n gociation coop rative La n gociation comp titive intervient entre des agents comp titifs qui essaient de maximiser
270. t qui lui seront faites par le biais de l onglet manuel voir sous section 4 4 4 La Figure 4 6 montre cet onglet pour l agent Jacques Jacques est connect au ser veur il utilise le mode automatique d utilisation et n gocie tous les contrats simultan ment Il s est d fini une priorit de 5 milieu de l intervalle de priorit s Trois personnes sont pr sentes pour l application Paul Pierre et Jean Jacques leur a donn la priorit 1 2 et 3 respectivement Ils sont donc tous les trois plus prioritaires que Jacques Plusieurs ressources sont pr sent es On voit que la ressource 8h 9h a une priorit de 10 la ressource 9h 10h a une priorit de 9 et les autres ont une priorit qui vaut 1 Ceci indique que Jacques pr f re prendre des rendez vous apr s 10h car 10 est la moins bonne note possible pour les ressources 44 2 L onglet Cr ation de contrat Cet onglet permet de cr er un contrat et de le proposer un ensemble de partici pants Il faut choisir les ressources que l on va n gocier et les participants avec lesquels le contrat va tre n goci Les diff rents param tres de n gociation sont pr d finis avec les valeurs donn es par d faut dans le fichier de configuration du protocole Ces para m tres peuvent tre modifi s dans cet onglet pour la n gociation de ce contrat Parmi ces param tres on trouve le d lai d attente des r ponses en minutes la r ponse par d faut celle qui se
271. t table lt resource gt lt resource gt fridge lt resource gt lt resource gt cook book lt resource gt lt resources list gt lt application parameters list gt lt application parameter gt lt name gt credit lt name gt lt parameter gt lt class gt java lang Float lt class gt lt value gt 50 lt value gt lt parameter gt lt application parameter gt lt application parameters list gt lt agent gt FIG 5 5 Exemple de fichier de configuration d un agent souhaitant vendre une table un r frig rateur et un livre de cuisine Cet agent poss de 50 euros 206 10 140 4444 new part received 1 new part received 2 Minimun price new part received 3 P 7 nb hours waiting gt proposition received from pierre for ressources tige nb times to renegotiate answer limit date 16 04 00 04 21 ressources participants i gt answer sent frigo paul gt propose 49 983322 table jean gt contract annulled by pierre for ressources lehaica joerc FZ iacques 134_206 10 140 4444 ressources Contract with pierre for ressources pierre frigo table Proposed price 20 Accent refuse FIG 5 6 Quatre agents participant l application de vente aux ench res 5 3 JNego un jeu de n gociation de ressources 147 application peut facilement tre tendue un autre type d ench res comme les
272. taire la complexit est exponentielle en O 2 La complexit d une n gociation qui ne n cessite aucune ren gociation est quant elle lin aire Ces r sultats sur la complexit montrent le besoin d automatiser l envoi des messages lors d une n gociation Le mod le g n ral de n gociation que nous proposons appel GeNCA Generic Ne gotiation of Contracts API repose sur une architecture trois niveaux s parant ainsi les diff rentes parties d une application qui sont la partie communication la partie n go ciation et la partie strat gie En effet ces parties sont ind pendantes car la fa on dont communiquent les agents n a pas d incidence sur le processus de n gociation que les agents communiquent par envoi d e mails ou au sein d un SMA le r sultat de la n gociation sera le m me C est donc une partie totalement d pendante de l application r alis e selon qu elle soit destin e des agents distribu s au sein d un SMA qui poss de ses propres m thodes de communication ou des agents diss min s dans le monde entier C est pourquoi nous avons choisi de s parer cette partie concernant la communication en indiquant simplement le type des messages qui doivent tre envoy s et re us Ceci permet notre mod le d tre utilisable dans n importe quelle architecture avec n importe quel type de communication En ce qui concerne la partie de n gociation elle forme le c ur de notre mod le C est la parti
273. temps d attente des r ponses est mis en place et lorsque ce temps est coul l initiateur consi d re une r ponse par d faut pour le participant Cette r ponse par d faut sera bien souvent un refus de la proposition en effet pour les n gociations commerciales il est hors de question de forcer un participant acheter le bien en question Cette r ponse par d faut qui est communiqu e aux participants leur permet de ne pas r pondre si leur r ponse est celle d finie par d faut ainsi on limite le nombre de communications M me si cela peut para tre trange une non r ponse qui vaut acceptation peut s av rer utile notamment lorsque la n gociation se d roule dans le cadre de la prise de rendez vous par exemple La r ponse par d faut est d finie chaque proposition de contrat et est la m me pour l ensemble des participants pour ce contrat Elle peut donc tre dif f rente pour deux propositions cons cutives Si l initiateur d sire recevoir les r ponses ses propositions sous 10 minutes et consid re un refus par d faut les param tres seront les suivants lt answer delay gt 10 lt answer delay gt et lt default answer value refuse gt Nombre d accords n cessaire pour la confirmation du contrat Pour que l initiateur puisse d cider de confirmer ou d annuler le contrat suite aux r ponses fournies par les participants un param tre fixant le nombre minimal d accords n cessaires pour confir mer
274. teur message propose mo dification 2 x m 1 messages sont alors chang s L initiateur envoie une nouvelle proposition qui sera accept e ce qui ajoute 3x m 1 messages Au total 7 m 1 mes sages sont chang s en tenant compte de la premi re proposition de l initiateur et les 711 s agit ici d une complexit th orique dont le calcul est bas sur les messages chang s dans notre protocole de n gociation et non sur les messages qui transitent sur le r seau et d pendent de l impl men tation r alis e 102 Chapitre 3 Proposition d un mod le g n ral de n gociation r ponses des participants dont au moins une est n gative L initiateur envoie 4 m 1 messages et en re oit 3 x m 1 Chaque participant re oit 4 messages et en envoie 3 Prendre un contrat avec ou sans demande de modification et sans ren gociation d autres contrats a une complexit globale en O m lin aire pour l initiateur et en O 1 pour les participants 3 5 2 Ordre quadratique Premier cas RS CITE 3 D FIG 3 25 Complexit quadratique Premier cas Supposons maintenant que la prise d un contrat remette en question des contrats pris pr c demment avec d autres personnes Figure 3 25 Pour simplifier tous les contrats impliquent m personnes et le contrat n goci est plus prioritaire que tous les contrats pris pr c demment Les participants acceptent le contrat 3 m 1 messages sont
275. teur souhaitant d velopper une application de n gociation de ne pas devoir tout r aliser mais de pouvoir utiliser un mod le qui lui facilitera le travail Afin de concevoir un tel mod le nous commen ons par tudier les formes de n gociation les plus courantes L analyse de ces n gociations nous permet de d gager leurs points com muns et nous fournit une base pour concevoir notre mod le Gr ce la collecte de ces points communs et l tude du d roulement de ces n gociations nous montrons qu il est possible de concevoir un protocole g n ral de n gociation param trable qui offre la possibilit de formuler des contre propositions et qui permet de d crire le d roulement d une n gociation particuli re Nous proposons un mod le g n ral de n gociation utilisant ce protocole et poss dant un m canisme de gestion des n gociations qui permet de n gocier simultan ment des contrats portant sur des ressources disjointes et de n gocier s quentiellement les contrats entrant en conflit Ce mod le permet galement de ren gocier automatiquement des contrats qui ne peuvent plus tre honor s Notre proposition est bas e sur une architecture trois niveaux s parant la partie commu nication entre agents la partie n gociation et la partie strat gie de n gociation d une applica tion En effet la fa on dont communiquent les agents n a pas d influence sur la fa on de n go cier et diff rents moyens de communication
276. tilise des fichiers de configuration au format XML afin de sp ciali ser le protocole g n ral et de conna tre les ressources qui seront n goci es ainsi que les strat gies qui seront utilis es par l agent pour n gocier Les paquetages communication et strat gie sont quant eux constitu s des interfaces que nous avons mentionn es au paravant Le paquetage strat gie comprend n anmoins une impl mentation par d faut pour les strat gies des r les d initiateur et de participant Les impl mentations du ni veau de communication que nous fournissons afin de pouvoir utiliser directement cette API correspondent chacune un paquetage distinct Dans chacun de ces paquetages on trouve une impl mentation de la couche de communication mais galement l im pl mentation d un agent utilisant ce mode de communication et une classe principale permettant de lancer l application Parmi ces impl mentations on trouve l utilisation de deux SMA que sont Magique et Madkit mais galement des agents communicant par envoi d e mails ou encore des agents centralis s parlant tour de r le GeNCA a t utilis e pour concevoir diff rentes applications de n gociation Parmi ces applications deux syst mes de vente aux ench res ont t r alis s l un concernant des ench res hollandaises le vendeur propose un article un prix lev et diminue ce prix tant que personne n accepte l offre le premier acheteur accepter remporte l ench re au p
277. tion de contrat arrivant un micro agent engagement celui ci envoie la proposition la strat gie qui lui demande ensuite d envoyer une acceptation ou un refus Le but est responsable de la mise jour des propri t s du contrat c est dire qu il compte les accords et les refus m morise les personnes ayant accept la proposition faite par l agent et g re les d lais de r ponse et le nombre de tours de parole des parti cipants ainsi que le nombre de ren gociations effectu es La matrice de gestion des n gociations Il s agit de la matrice pr sent e dans le cha pitre pr c dent page et qui correspond la partie sup rieure de la repr senta tion des n gociations de l agent Le principe de cette matrice dont les colonnes corres pondent aux ressources est que les contrats qui arrivent s empilent dans les colonnes qui correspondent aux ressources qu il contient Les contrats qui sont la base de la matrice sont en cours de n gociation tandis que les autres attendent la lib ration des ressources pour entamer leur processus de n gociation Les objets de m morisation des n gociations Les statistiques sur les n gociations pass es Nous avons d fini une structure de don n e qui permet de m moriser pour un couple participant ressource le nombre de contrats que l agent lui a propos le nombre de contrats pris avec ce participant ainsi que le nombre de r tractations de ce participant pour un contrat qu il avait pris a
278. tions UML pour les diagrammes d tats Les tats sont repr sent s par des rectangles aux bords arron dis Le type d offre relatif un tat est indiqu en lettres capitales devant l identifiant d tat Les transitions sont les fl ches connectant les tats et les v nements E les gardes G les actions A et les propri t s P sont sp cifi s comme des informa tions textuelles compl tant les fl ches de transition La Figure illustre un exemple de sc nario d accord qui fournit un appariement 2 3 tat de l art 59 E contract failed O2S initial f c a Pe re E seller contract 02S contracting A contract gt P O2S signature a E contract completed O2S signed H KES E buyer match E seller match O2S matching A match P match fuzzy true E mediate failed E match completed O2S mediating H G o n 0 amp amp of gt 0 A mediate E mediate completed O2S mediate FIG 2 23 Exemple d utilisation des services de contractualisation et de m diation Figure issue de Str bel 2001b basique des offres des acheteurs vendeurs et classe les offres dans le cas o plusieurs d entre elles correspondent une requ te Dans cet exemple un acteur de type ache teur d clenche un v nement d appariement buyer match pour une offre d achat 02B ce qui active la transition de l tat offre d achat publi e 02
279. toutes les alternatives sans galit on est s r d obtenir un seul choix social L inconv nient de cette m thode provient du fait que la liste d une seule personne est prise en compte dans la recherche du choix social Cette m thode ne fournit pas un choix social d mocratique alors que les autres m thodes pr sent es ont ce but Avec notre exemple si l on choisit le votant p7 comme dictateur le choix social est alors e Nous avons pr sent plusieurs m thodes de vote qui donnent un choix social dif f rent sur un m me exemple Ces m thodes pr sentent chacune divers inconv nients comme la possibilit de ne pas trouver le choix social par la m thode de Condorcet ou l incitation pour les votants de ne pas classer les alternatives selon leurs pr f rences r elles pour la m thode de Borda Borda et Condorcet clamaient que leurs m thodes taient plus quitables car elles prennent en compte l ensemble des pr f rences des votants et pas seulement leur premier choix Leur but tait de trouver l alternative r el lement d sir e par l ensemble des votants Nous allons maintenant d finir quelques propri t s souhaitables pour une proc dure de choix social Propri t s souhaitables pour une proc dure de choix social Les diff rentes proc dures pr sent es ci dessus peuvent donner des r sultats dif f rents pour les m mes listes de pr f rences des personnes Nous pr sentons ici diff rentes propri t s qui devraie
280. trat gie via la m thode judge from params La strat gie m morise alors la proposition faite par ce parti cipant et calcule une note voir page pour les plages horaires propos es selon la priorit du participant et selon la priorit de ces ressources pour le participant Lorsque toutes les modifications sont arriv es ou lorsque le d lai de r ception a expir le but l indique la strat gie via la m thode decideModification Celle ci choisit les nouvelles tranches horaires qui conviennent le mieux et propose le nouveau contrat si une possibilit est trouv e Dans le cas contraire quand aucune autre tranche n est pos sible elle peut soit demander une nouvelle modification si le nombre de tours maxi mum n est pas atteint soit annuler le contrat La strat gie m morise les propositions que l initiateur a faites afin de ne pas propo ser plusieurs fois le m me contrat Lorsqu un initiateur re oit une r tractation il regarde si il reste assez de participants pour le rendez vous et tente de le d placer si tel n est pas le cas 5 13 Comportement du participant Lorsqu un participant re oit une proposition de rendez vous il cr e un micro agent engagement auquel il passe en param tre le contrat L engagement consulte alors 5 1 Un syst me de prise de rendez vous 137 la strat gie via la m thode whatDolanswer contrat qui commence par v rifier si la tranche horaire est encore libre Si tel est le cas elle acc
281. ts types d ench res anglaises hollandaise Vickrey etc Les ench res y sont trait es s quentiellement tandis que notre mod le permet d effectuer plusieurs n gociations en parall le lorsqu il n y a pas de conflit sur les ressources 2 3 7 Zeus Zeus est une API Java qui permet de programmer une applica tion multi agents d velopp e par British Telecom Le but de Zeus est de proposer une boite outils qui puisse tre appliqu e une large vari t de probl mes et non des variations sur une application particuli re Elle a donc le m me but que nous E 54 S Etape Analyse du Lg Conception gt R alisation Lmg Support en domaine cours d ex cution Activit a pe Identification des D finition des agents Visualisation CUVIL Mod lisation des r les ontologie agents de leur coordination et d bogage services et acointances de leur organisation Support logiciel Zeus agent generator Zeus visualiser FIG 2 16 M thodologie pour la r alisation d applications avec Zeus Figure issue de Collis and Ndumu 1999a 48 Chapitre 2 D finition et tat de l art Afin de r aliser une application l aide de Zeus la m thodologie repr sent e en Figure est propos e Comme pour toute application il faut commencer par analyser le sujet Vient en suite la phase de conception o il faut d finir l ontologie c est dire les diff rents faits n c
282. ue Madkit round robin et e mail une classe permettant de lancer l application est four nie Pour toute autre mode de communication il est n cessaire d impl menter l inter face Communicator et d avoir un agent int grant le serveur de noms impl ment dans le paquetage Les strat gies impl ment es sont celles d crites dans la sectionB 4 Le paquetage fournit galement l interface graphique pr sent e dans la section pr c dente Dans notre paquetage l utilisateur humain a deux fa ons d utiliser son agent Manuellement c est alors un outil d aide a la d cision qui montre l tat de toutes les n gociations en cours et dans ce cas c est l utilisateur humain qui r pond une pro position de contrat Automatiquement cette fois l agent est cach et r pond lui m me aux propositions sans intervention de l utilisateur Afin de configurer l application de n gociation et plus particuli rement les agents deux types de fichiers XML sont utilis s l un est commun tous les agents l autre est propre chaque agent et optionnel Afin de valider ces fichiers de configuration 128 Chapitre 4 GeNCA une API Java impl mentant notre mod le lt ELEMENT genca application type resources list communicator default initiator strategy default participant strategy protocol management default priority window application parameters list gt lt ELEMENT application type PCDATA gt lt ELEMENT resources list resour
283. ue les noms des fichiers de configuration de l application et de l agent Il demande tenir le r le partici pant au sein du groupe genca L agent attend les messages qui lui proviennent du serveur de noms et les donne au n gociateur afin qu il les traite B 4 Lancement d une application Madkit permet de lancer une application en mode console gr ce la ligne de com mande java madkit platform console Booter config config cfg o le fichier config cfg contient la liste des agents pr sents dans l application La figure B 4 pr sente un fichier de configuration pour une application de n gociation avec quatre agents n gociateurs MH Philippe JC et Yann et l agent serveur de noms routeur Il faut bien s r fournir le fichier de configuration de l application nomm genca xml et optionnellement un fichier de configuration pour chaque agent n go ciateur lt xml version 1 0 encoding UTF 8 gt lt config gt lt launch agent name routeur type Java code fr lifl ants madkit MadkitRouteurAgent gui true gt lt launch agent name MH type Java code fr lifl ants madkit MadkitNegotiatorAgent gui true gt lt launch agent name Philippe type Java code fr lifl ants madkit MadkitNegotiatorAgent gui true gt lt launch agent name JC type Java code fr lifl ants madkit MadkitNegotiatorAgent gui true gt lt launch
284. ui peuvent exister Chaque fournisseur ayant re u l appel d offres l inspecte et d cide de faire ou non une offre selon ses ressources ses contraintes de temps et ses connaissances sur le travail accomplir selon le catalogue des services fourni par l agent du march Une offre est un message priv qui peut contenir une combinaison de sous t ches qui peut tre un sous ensemble des sous t ches list es dans l appel d offres Dans l offre le fournisseur doit indiquer le co t pour le client l intervalle de temps et la dur e estim e du travail pour la combinaison enti re des sous t ches la date limite pour l acceptation de l offre et une fonction de p nalit pour le client si celui ci attribue le travail au fournisseur puis se r tracte Chaque fournisseur peut envoyer plusieurs offres diff rentes pour un m me appel d offres mais une seule de ces offres sera attribu e chaque fournisseur Si un fournis seur n envoie pas d offre avant la date limite fix e par le client celui ci consid re que le fournisseur a d cid de ne pas faire d offre le refus est donc passif Une fois les offres re ues le client doit d cider lesquelles accepter en utilisant ses connaissances sur les offres les valeurs des t ches et des sous t ches ses propres contraintes temporelles et le fournisseur ayant propos une offre Une fois ce processus accompli le client doit choisir parmi ces trois actions pour chaque offre 1 accepter l
285. ule durant laquelle des propositions de mo difications sont chang es Suite aux modifications propos es par les participants l initiateur leur propose un nouveau contrat et on se retrouve dans une nouvelle phase de proposition La phase de d cision finale Cette phase de d cision finale aboutit soit la confirma tion du contrat soit l annulation du contrat Cette d cision est prise par l initia teur selon les r ponses des participants aux propositions qu il leur a faites Les primitives de n gociation Pour mener bien un processus de n gociation entre agents il est n cessaire de d finir plusieurs primitives de n gociation entre les agents Il faut donc des primitives sp cifiques l initiateur et des primitives sp cifiques aux participants Notre objectif ici n est pas de faire communiquer un de nos agents avec n importe quel autre agent issu d une plateforme diff rente ce qui n cessiterait une plateforme FIPA compliant ou plus simplement des agents communiquant via ACL mais de faciliter la r alisation d une application avec nos agents Le s quencement de ces primitives est repr sent la Figure B 4 dans le formalisme d AgentUML 1 0 Bauer et al 2001 Huget et al 2003 Primitives de l initiateur L initiateur poss de quatre primitives de n gociation propose contrat c est la premi re primitive que l initiateur envoie aux partici pants pour leur proposer un contrat Le contrat contient le
286. ulement les ajouter modifier et enlever mais aussi les d marrer suspendre et repartir D roulement d une n gociation L initialisation d une n gociation sur GNP se fait par l envoi d un document XML initial l annonce qui contient tous les l ments d en tr e n cessaires au d marrage d une n gociation Le participant d sirant initialiser une n gociation sur GNP dispose en premier lieu d un choix de diff rents mod les de n gociation template un mod le correspond un formulaire d annonce HTML unique Le formulaire permet l usager de d finir certains param tres du mod le et ainsi de garantir une flexibilit d implantation l in t rieur de chaque mod le Le formulaire compl t et envoy donnera naissance l an nonce document au format XML Il est galement possible d envoyer directement le document d une annonce GNP Dans ce cas le document de l annonce doit tre enti rement dit manuellement dans le format XML valide et attendu dans un fichier L annonce donne GNP tous les l ments d entr e n cessaires au d marrage d une n gociation L annonce apparait l utilisateur dans un format HTML Elle contient tou jours une partie r gles rules et selon le m canisme choisi une partie produit produc tReference et une partie ordre order La partie r gles tablit pr cis ment les param tres 62 Chapitre 2 D finition et tat de l art fixes de la n gociation telles que les heure
287. um de n gociation Figure 2 21 acheteur B vendeur S ou interm diaire I Le SKELETON fournit des interfaces pour des agents autonomes aussi bien que pour des agents humains Un service est d fini comme un syst me poss dant des entr es sorties qui re oit des entr es par exemple une offre traite ces entr es en interne et ensuite produit des sorties par exemple une valeur d utilit agr g e pour cette offre Les types de service d acteur dans le ODMM repr sentent les composants de service de n gociation suivants dans le framework d application de SilkRoad Match Le service d appariement teste un ensemble d offres de vente et d offres d achat pour compatibilit Le r sultat est un ensemble de n gt 0 paires d offres compatibles Score Le service d valuation re oit un ensemble d offres candidates et une offre sp cifiant les crit res d valuation pour calculer un classement pour l ensemble des offres candidates d pendant de leurs notes d valuation d terminant ainsi les meilleures offres pour la perspective d un agent 58 Chapitre 2 D finition et tat de l art Mediate Pour deux offres non concordantes ce service sugg re un accord d pendant des l ments de l offre mutuellement n gociables et des pr f rences sp cifiques la situation des agents pour ces l ments n gociables Bid Ce service persistant publie des offres si elles ob issent certaines r gles d ench r
288. ur de noms on utilise l adresse de l agent ayant le r le routeur au sein du groupe genca Les agents n gociateurs tiennent tous le r le de participant au sein du groupe genca Pour envoyer un message un agent n gociateur le serveur de noms utilise directement son adresse qu il a obtenu lors de l inscription de l agent 165 166 Annexe B Utilisation de GeNCA au sein de Madkit package fr lifl genca madkit import fr lifl genca communication import madkit lib messages import madkit kernel This class provides a communicator for the Madkit platform x author Marie H l ne Verrons Ay public class MadkitCommunicator implements Communicator private AgentAddress routeurAddress private Agent myAgent public MadkitCommunicator Agent myAgent this myAgent myAgent routeurAddress myAgent getAgentWithRole genca routeur to send a message synchronous param to the user agent address param msg the content of the message kx public void sendToAgent Object to ServerMessage msg myAgent sendMessage AgentAddress to new ObjectMessage msg to send a message to the names server param message the message to send kx public void sendToServer ServerMessage message myAgent sendMessage routeurAddress new ObjectMessage message FIG B 1 Le communicateur Madkit B 2 L agent serveur de noms 167 B 2 L agent serveur de noms package
289. us le contrat est donc confirm 3 3 Le niveau n gociation 79 1 propose contrat FIG 3 7 Exemple de n gociation avec conflit I propose un contrat P qui l accepte Puis I gt propose P un contrat entrant en conflit avec le pr c dent P refuse ce contrat Iz demande alors P de lui faire une contre proposition Suite celle ci Iz propose un nouveau contrat Pi 1 propose contrat ___ 1 propose c contrat G 2 refuse 1 propose contrat Timer 1 min 1 propose contrat Accepte par d faut es on FIG 3 8 Exemple de n gociation avec timer I propose un contrat n participants Seuls deux d entre eux r pondent ils refusent la proposition Comme la r ponse par d faut est l acceptation de la proposition I va confirmer son contrat aupr s des participants n ayant pas r pondu 80 Chapitre 3 Proposition d un mod le g n ral de n gociation La cardinalit de la n gociation La cardinalit de la n gociation est une notion importante pour les SMA Il s agit de savoir combien d agents n gocient entre eux Diff rents types de cardinalit de n go ciation existent Guttman and Maes 1998 depuis la n gociation de 1 vers 1 jusqu n vers m Kasbah Chavez and Maes 1996 est un exemple de n gociation de 1 vers 1 un acheteur n gocie un article avec un vendeur la fois Cette forme de n gociation n est utile que lorsque deux personnes seulement
290. ustre le sc nario d utilisation principal les acteurs et leurs r les dans le processus de n gociation Lecteur Reader Tous les participants peuvent a priori tre des lecteurs Ils peuvent consulter les produits les annonces d achats et de vente voir les cotes publiques et finalement s lectionner celles sur lesquelles ils vont r agir et soumissionner Annonceur Announcer Un annonceur cr e une n gociation Il annonce un int r t d achat ou de vente d un ou plusieurs produits ou services Les 3 tapes de la cr ation d une n gociation sont Cr er les r gles de la n gociation partir de mod les existants Fixer les para m tres ditables comme l heure de fermeture Cr er les r f rences aux objets de la n gociation produits ou services Cr er un ordre initial d achat ou de vente d finissant le prix et la quantit de d part N gociateur et soumissionnaire Negotiator and Submitter Un n gociateur met les ordres d achats ou de vente Un acheteur et un vendeur peuvent donc tre un n gociateur Le n gociateur met l ordre initial d achat ou de vente Le sou missionnaire est un n gociateur r pondant une cote avec un ordre d achat ou de vente Administrateur et op rateur Administrator and Operator Les administrateurs et op rateurs g rent les participants et leurs priorit s les march s et les n gocia tions Sur les march s et les n gociations ils peuvent non se
291. ut indiquer l agent az que s il accepte sa proposition p alors aj acceptera la proposition pz de l agent az Le conflit sera ainsi r solu Des logiciels pour prendre des rendez vous se trouvent galement dans le com merce tels que Microsoft s Schedule 1 0 ON Technology s Meeting Maker 1 5 Now Software s Now Up to Date 2 0 et WordPerfect Office 3 0 s Calendar module qui sont bas s sur le partage d agendas Ils ne r alisent donc pas du tout de la n gociation mais plut t r solvent un probl me de satisfaction de contraintes Notre application permet aux agents de n gocier des rendez vous pour le compte de leur utilisateur Contrairement a d autres syst mes que l on trouve dans le commerce les agendas des utilisateurs sont priv s et le probleme ne consiste pas simplement a trouver un cr neau horaire libre et commun 4 tous les participants connaissant leurs 5 2 Un syst me de ventes aux ench res 141 agendas mais n gocier l heure du rendez vous en tenant compte des pr f rences des utilisateurs sur les horaires et les personnes De plus ce syst me ren gocie automati quement un rendez vous qui doit tre d plac suite aux d sistements des participants La convergence du syst me est li e aux param tres de la n gociation En effet notre strat gie permet de noter les ressources afin de proposer les plus appr ci es des par ticipants avant les autres en cas de non acceptation d une proposition Notre strat
292. uted on different environments We equally show that it is important to separate the negotiation strategy from the two other levels to allow a user to choose which negotiation strategy he will use without disturbing the remaining of the application Moreover the negotiation strategy is intrinsically linked to the negotiation application and it is obvious that negotiating a ton of potatoes is not the same as negotiating a slot time for an appointment nor the same as negotiating the exclusive use of a shared resource for an hour Our model has been implemented by a Java API also called GeNCA In order to validate our model we used our API to achieve different applications such as an auction system an appointment taking system and a system to negotiate the choice of a restaurant for a common trip Keywords negotiation agents interaction protocol artificial intelligence software engineer ing
293. uveau le prix de vente du poisson S il y en a une l acheteur ayant fait l offre remporte la vente si son cr dit le permet sinon il doit payer une amende et le commissaire priseur remet en vente le poisson au prix incr ment de 25 Si plu sieurs offres sont re ues le commissaire priseur d clare qu il y a eu collision et remet en vente le poisson un prix incr ment de 25 Lorsque le poisson a t vendu le cr dit de l acheteur est mis jour le vendeur est pay et l acheteur peut chercher son poisson 46 Chapitre 2 D finition et tat de l art 2 T e receive accept to buy of ers D i 1 assert N 13 o yes yes no assert bid 143 E declare credit status 14 3 1 ok declare sold 14 3 2 1 not ok adjust declare adjusted credit 14 3 2 1 1 14 2 declare collision 14 2 Increase declare not sold 14 3 2 2 unacceptable bid credit assert exceed credit 14 3 2 2 1 adjudicate good declare sanction TES end price 14 3 2 2 2 round ENT eran Zones offer re l 14 2 1 Sanction pay fine A pick up l buyer i I if goods l I credit ar ZA 1 Ne l Delivery room 7 l l price i l l pay seller j fi i Settlements i me l Settlements 2 st eel FIG 2 15 Protocole d ench res descendantes de Fishmar
294. vec l agent sur la ressource concern e Cela nous permet de calculer un taux de succ s et un taux de r tractation par couple participant ressource Les propositions re ues Cette structure de donn es m morise les propositions de contrat re ues par l agent Elle permet de savoir quelles ressources ont t propos es 4 3 Impl mentation du niveau strat gique 117 par une personne donn e ou alors quelles personnes ont fait des propositions pour une ressource donn e Ainsi il est possible de raisonner sur la demande des ressources et de savoir laquelle est la plus resp moins demand e 43 Impl mentation du niveau strat gique Comme nous l avons vu dans le chapitre pr c dent il y a deux sortes de strat gies celle pour un initiateur et celle pour un participant On retrouve donc deux interfaces dans l API GeNCA l interface fr lifl genca strategy InitiatorStrategy Figure E et l in terface fr lifl genca strategy ParticipantStrategy Figure 4 5 qui contiennent chacune les m thodes correspondant aux d cisions qui doivent tre prises selon le r le qu elle re pr sente Pour le c t initiateur il y a deux types de m thodes celles qui r agissent un message provenant d un participant et celles qui prennent les d cisions apr s avoir re u toutes les r ponses des participants La strat gie d un initiateur doit donc r agir face l acceptation de la proposition faite un participant cette acceptation pouv
295. x impl mentations pour des SMA sont fournies avec le paquetage l une pour l utilisation de Madkit l autre pour Magique Nous allons ici utiliser la plate forme Magique Le communicateur Magique est pr sent dans le paquetage cf sous section aucun travail de r alisation n est donc n cessaire en ce qui concerne la couche de communication 5 2 Un syst me de ventes aux ench res 143 Les strat gies d finies par d faut ne sont pas utilisables pour cette application car elle met en jeu des prix Ils font donc crire de nouvelles strat gies de n gociation Nous pr sentons ces strat gies dans les sous sections suivantes 5 2 2 Comportement de l initiateur L initiateur commence par cr er un contrat via l interface graphique comme pour l application de prise de rendez vous Dans le cas des ench res un param tre suppl mentaire doit tre indiqu le prix de r serve Le comportement du but tant le m me quelle que soit l application nous d crivons ici uniquement la strat gie de l initiateur Lorsqu un accord est re u la strat gie met jour le prix le plus lev propos jus qu alors Si le nouveau prix propos le d passe ce prix devient le prix maximal propos et l acheteur l ayant propos le vainqueur courant de l ench re Une fois toutes les r ponses re ues l initiateur d cide de confirmer l ench re aupr s du participant ayant pro pos le prix maximal si ce prix d passe le prix de r serve du vendeu
296. yances des autres agents afin qu ils adoptent le m me point de vue les m mes croyances et intentions que l agent argumen tant Jennings a pr sent un rapport pr liminaire sur cette forme de n gociation en 1996 dans lequel il utilise des agents BDI Belief Desire In tention ainsi que des arguments et des r gles d inf rence utilisant la notation Prolog et une extension des arguments pour indiquer le soutien ou le doute dans les propositions et pour les prouver Amgoud et Prade proposent une approche possibiliste de la n go ciation par argumentation dans et un framework logique qui comprend de nouveaux eT A Dans Carbogim and Robertson 1999 Carbogim et Robertson proposent un frame work g n ral d argumentation Dans ce qui suit nous pr sentons les arguments uti lis s dans un syst me d argumentation nomm ANA l Agent de N gociation Auto matis et d velopp par Kraus Sycara et Evenchik A Les agents ANA sont des agents egocentr s et utilisent une m thode de n gociation pour essayer de convaincre les autres d accepter leurs propositions en cas de refus Dans ce but les agents doivent tre capables de repr senter leurs propres croyances d sirs et buts de raisonner sur les croyances d sirs et buts des autres agents et d essayer d influencer les croyances et les intentions des autres agents du syst me Le mod le d agent dans le syst me est un mod le BDI et la d cision pour choisir le bon argument d pe
297. yst me de n gociation que nous proposons n a quant lui pas besoin de g n rer toutes les alternatives possibles et ne demande pas aux participants de toutes les valuer mais les propositions sont faites au fur et mesure ce qui permet de ne pas explorer l ensemble des solutions ni de toutes les valuer Les syst mes d ench res constituent un autre syst me apparent la n gociation tr s utilis l heure actuelle La section suivante en fait une br ve description 2 2 2 Les ench res Les ench res se sont d mocratis es sur Internet gr ce aux sites comme eBay Yahoo ench res onSale C est la forme de n gociation la plus connue bien que peu de sys t mes d ench res offrent de r elles possibilit s de n gociation Elles sont utilis es pour la vente d objets d art d antiquit s de produits p rissables mais galement pour l im mobilier et les voitures et elles sont m me utilis es dans certains jeux comme le bridge Parmi les diff rentes ench res nous d crivons les ench res ascendantes descendantes offres scell es au meilleur prix et offres scell es au second meilleur prix qui sont parmi 24 Chapitre 2 D finition et tat de l art les plus r pandues sur Internet Elles permettent des personnes de vendre leurs biens au meilleur prix possible Chacune de ces ench res implique un vendeur et une as sembl e d acheteurs mais le d roulement de l ench re diff re selon le type utilis Le vendeur

Download Pdf Manuals

image

Related Search

Related Contents

AT&T 9105 User's Manual    Sony AX500 User's Manual  Accueil_files/CRA du CS FORDE 2012    RHIZOBIUM AGAR USAL - Laboratorios MICROKIT    

Copyright © All rights reserved.
Failed to retrieve file