cooperative meeting scheduling among agents based on multiple negotiations toramatsu shintani and...

22
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

Upload: alison-harmon

Post on 29-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Cooperative Meeting Scheduling among Agentsbased 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•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 agentUser preferences are not taken into account

[Haynes,et al., 1997]User's preference by values with a threadAdjusting 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 utilityThey did not establish how to reach an agreement among agents and compromise with other agents

The aim is to propose a new architecture for multi-agent- negotiation in a distributed meeting scheduler based on the persuasion mechanism by using user's preference.

Distributed Scheduling System

An agent is assigned to an user.Agents negotiate using the private data.

December 1996

S M T W T F S

1 2 3 4 5 6 7

8 91011121314

15161718192021

22232425262728

293031

December 1996

S M T W T F S

1 2 3 4 5 6 7

8 91011121314

15161718192021

22232425262728

293031

December 1996

S M T W T F S

1 2 3 4 5 6 7

8 91011121314

15161718192021

22232425262728

293031

December 1996

S M T W T F S

1 2 3 4 5 6 7

8 91011121314

15161718192021

22232425262728

293031

December 1996

S M T W T F S

1 2 3 4 5 6 7

8 91011121314

15161718192021

22232425262728

293031

AgentCalendarDecember 1996S M T W T F 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

The CalendarDecember 1996

S M T W T F 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

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.

06122412/7/2001-9:00-12:00-weight(5)555A time slotAn Event (a time interval)1: Not important, 3: Slightly important,5: Strongly important, 7: Very strongly important,9: Extremely important

July 2001

A time slot

The Distributed Meeting Scheduling

Request for a meeting

Deciding attributes of the meeting and designing alternatives

Negotiation among agents

Getting a Result

Quantifyingthe user's

preferencebased onMAUT

Negotiation among agentsNegotiation among agentsThe 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.

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.

We call A "Persuader" and B "Compromiser."

1. Proposal 2. Preference revision 3. AgreementA B

proposal Can I accept? Agreement

1A 2A 3A 2A 1A 3Apersuade

Agent A Agent B

The Multiple Negotiations2. Multiple negotiations

hosthosthosthostCloningCloningCloning1. Each agent dispatches her clones

clonecloneclone3. Reporting resultsExchanging informationPersuasionPattern 1Pattern 2Pattern 3Pattern 4

Quantifying User's Preference Using Multiple Attribute Utility Theory

SizeConvenience

9:00-10:00 9:00-11:00

Scheduling a meeting

Length

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.

preference

Quantifying User's Preference Using AHP

SizeConvenience

9:00-10:00 9:00-11:00

Scheduling a meeting

Length

The pairwise comparison matrix with respect to the criterion "Convenience"

2

1/2 1/9

9

1/3

3

1

1

1

0.705

0.205

0.089

Weights9:00-10:00 9:00-11:00 13:00-14:00

9:00-10:00

9:00-11:00

13:00-14:0013:00-14:00

AHP

The Preference Revision

2 intervals387542196ExtremelyVery StronglySlightlyStronglyEqually

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.

The Preferece Revision AlgorithmINPUT : The persuaderÅfs most preferable alternative(PA) and

the compromiserÅfs original preference(PreF)OUTPUT: Success or FailureFunction PrefRevision(PA,Pref) 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 FailureEnd Function

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

MiLog: A Mobile Agent Framework on MacOS,Unix, and WindowsDecember 1996

S M T W T F S

1 2 3 4 5 6 7

8 91011121314

15161718192021

22232425262728

293031

December 1996

S M T W T F S

1 2 3 4 5 6 7

8 91011121314

15161718192021

22232425262728

293031

December 1996

S M T W T F S

1 2 3 4 5 6 7

8 91011121314

15161718192021

22232425262728

293031

December 1996

S M T W T F S

1 2 3 4 5 6 7

8 91011121314

15161718192021

22232425262728

293031

December 1996

S M T W T F S

1 2 3 4 5 6 7

8 91011121314

15161718192021

22232425262728

293031

Distributed Scheduling system

The Main Features of MiLogHybrid programming by using Java and prolog

Java API for Java ProgammingProlog Predicates for Prolog Programming

Realizing mobile agentsStrong Migrationclone

Multi-thread programmingSuspend/Resume/Interrupt

WWW server functionalityweb-service/access functions

The cloning technique for mobile agents enables us to realize concurrent negotiation processes for the multiple negotiation.

Java programming with MiLogpackage 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

AgentAgent MonitorGUI InspectorGUI for AgentProgram(Prolog)WWW Inerface

Experimental Result

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.