Cooperative Meeting Scheduling among Agents based on Multiple

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.