Cooperative Meeting Scheduling among Agents based on Multiple Negotiations Toramatsu SHINTANI and Takayuki ITO Department of Intelligence and Computer Science, Nagoya Institute of Technology [email protected] JAPAN •Motivation •Distributed Meeting Scheduler •Distributed scheduling •Implementation •Reaching a Consensus •Multiple Negotiations (Persuasion Process) •Preference Revision Using Private Preferences •Conclusions Motivation In social decision making • A trade-off between "reaching a consensus" and "maximizing own expected payoffs (private preferences)" Membership in a coalition may maximize a personal outcome. • Some of solutions can be based on "Settoku" (persuasion) in Japanese social decision making. Realizing an architecture for a mult-agent negotiation in distributed scheduling Background [Sen and Durfee, 1998] Using a central host agent User preferences are not taken into account [Haynes,et al., 1997] User's preference by values with a thread Adjusting values under a threshhold which means a dgree to which a value can or cannot be compromised [Garrido and Sycara, 1996] Using user's preferences with high joint utility They did not establish how to reach an agreement among agents and compromise with other agents The aim is to propose a new architecture for multiagent- negotiation in a distributed meeting scheduler based on the persuasion mechanism by using user's preference. Distributed Scheduling System The Calendar December July 2001 1996 S M T W T F A time slot S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0 6 12 24 5 5 5 An Event (a time interval) 12/7/2001-9:00-12:00-weight(5) 1: Not important, 3: Slightly important, 5: Strongly important, 7: Very strongly important, 9: Extremely important A calendar is used for keeping private schedules of an user. The schedule includes date, hours, and events given weights. For convenience, we can use the verbal scale for putting a weight of an event. A time slot The Distributed Meeting Scheduling Request for a meeting Deciding attributes of the meeting and designing alternatives Quantifying the user's preference based on MAUT Getting a Result Negotiation among agents Negotiation among agents Negotiation among agents The Multiple Negotiations By using the persuasion process, agents negotiate with other agents using users' private preferences of the meeting. In this phase, the multiple negotiations are conducted by agents. The Outline of the Persuasion Process Persuasion between agent A and agent B. We call A "Persuader" and B "Compromiser." proposal A Agreement Can I accept? B 1. Proposal 2. Preference revision 3. Agreement 1. A sends a proposal to B. 2. B tries to revise her preference. 3. If B could revise her preference, they reach an agreement. Agent A AfA fA 1 2 3 Agent B f f A A A persuade 2 1 3 Exchanging information Persuasion The Multiple Negotiations Cloning Cloning 1. Each agent dispatches her clones host clone Cloning host clone clone host host 2. Multiple negotiations 3. Reporting results Pattern 1 Pattern 2 Pattern 3 Pattern 4 Quantifying User's Preference Using Multiple Attribute Utility Theory Scheduling a meeting preference Convenience 9:00-10:00 Size Length 9:00-11:00 13:00-14:00 We can select several options with respect to f according to the application area. In our system, we select the AHP method for calculating user's utility. Quantifying User's Preference Using AHP AHP The pairwise comparison matrix with respect to the criterion "Convenience" 9:00-10:00 9:00-11:00 13:00-14:00 Scheduling a meeting Weights 9:00-10:00 1 1/3 2 0.205 9:00-11:00 3 1 9 0.705 13:00-14:00 1/2 1/9 1 0.089 Convenience Size 9:00-10:00 Length 9:00-11:00 13:00-14:00 The Preference Revision In the preferece revision, agents try to change the weights of alternatives. In order to change the weights, agents try to adjust the weights of criteria within 2 intervals. The fuzzy measurement enables agents to adjust the weights of criteria. Extremely 9 Very Strongly 8 7 Strongly 6 2 intervals 5 Slightly 4 3 2 Equally 1 INPUT : The persuader ’ s most preferable alternative( PA) and the compromiser ’ s original preference( PreF) OUTPUT : Success or Failure The Preferece Function PrefRevision(PA,Pref) Algorithm PATS := apowersetofattributesforthealternativeP A.; SortedPATS := sortBySize(PATS); Candidates := φ; Solutions := φ; For each ATS in SortedPATS ATS := IncreaseV alues(ATS); Pref := ReCalculate(Pref,ATS ); Candidates := Candidates ∪ Pref ; If PA == theMostP referableAlternative(Pref ) Then Solutions := Solusions ∪ Pref ; If Solutions is not empty Then Pref := selectMinimalPref(Solusions ); return Success PATS := a power set of attributes for the Most preferable alternative( MA); SortedPATS := sortBySize(PATS); For each CandidateP ref in Candidates For each ATS in SortedPATS ATS := decreaseV alue (ATS); Pref := ReCalculate(CandidateP ref,ATS ); If PA == theMostP referableAlternative(Pref ) Then Solutions := Solusions ∪ Pref ; If Solusions is not empty Then Pref := selectMinimalPref(Solusions ); return Success return Failure End Function Revision The Feature of the Preference Revision The MC principle An agent should change an user's preference as minimal as possible The OC principle An agent should change an user's preference based on the preference order of alternatives In our system, a compromiser tries to adjust attribute values based on "generate and test" style. The problem is that the solution space is too huge to revise agent's preference. Implementation The Main Features of MiLog Hybrid programming by using Java and prolog Java API for Java Progamming Prolog Predicates for Prolog Programming Realizing mobile agents Strong Migration clone Multi-thread programming Suspend/Resume/Interrupt WWW server functionality web-service/access functions The cloning technique for mobile agents enables us to realize concurrent negotiation processes for the multiple negotiation. Java programming with MiLog package sample; import java.util.*; import millog.*; public class Sample { Milog milogAgent ; public Vector complexReturnValue() { if( milogAgent.syncQuery ("append([abc],[def,ghi],[X|Y]).") != null ) { String answer1 = (String) milogAgent.getAnswerAsObjects("X"); Vector answer2 = (Vector) milogAgent.getAnswerAsObjects("Y"); return(answer2); } return(null); } An Example of MiLog Program (Prolog) Agent Monitor Agent GUI Inspector WWW Inerface GUI for Agent Experimental Result The utilty of each candidate time intervals 0.3 9:00-1 1:00 0.28 0.26 10:00-12:00 0.24 13:00-14:00 0.22 13:00-15:00 0.2 15:00-18:00 0.18 0.16 0.14 Attributes 0.12 0.1 {} {M} {P} {S} {L} {MP} {MS} {ML} Adjusted Attributes Members Place Size Length Conclusions A new multi-agent negotiation The multiple negotiations can reflect user's individual preferences. The preference revision effectively find a solution for a compromiser in the persuasion process. The Distributed Meeting Scheduler realizing a cooperative meeting scheduling among agent improving a trade-off between "reaching a consensus" and "reflecting users' preference" in a social decision. The result shows that the multi-agent negotiation based on private preference is an effective method for a distributed meeting scheduler. The process can facilitate reaching a consensus among agents.
© Copyright 2026 Paperzz