Académique Documents
Professionnel Documents
Culture Documents
Abstract
Meeting scheduling is a time-consuming and tedious task that often involves negotiating
conflicting interests among groups of people. This paper describes Chronos, a multi-agent
system for helping users in organizing their meetings. The system assigns an intelligent
Organizer Agent to each user. These agents are able to schedule events negotiating time,
place, day, etc. according to users’ habits and preferences. Chronos agents do not reveal
users’ habits or calendars to other users in order to maintain privacy. In addition, each
Organizer Agent learns from its user’s preferences and from negotiations with other agents,
to provide better and more accurate assistance. The paper reports encouraging experimental
results and comparisons with related approaches.
1 Introduction
In our daily life, meeting scheduling is a naturally distributed task which is time-
consuming, iterative and somewhat tedious [1]. It can take place between two per-
sons or among several persons, which makes the task more complex to solve. Some-
times, people just need to schedule only one meeting, however, most of the time
people need to schedule many meetings at the same time under several constraints.
While negotiating a meeting, each potential attendee needs to take into account his
own meeting preferences and calendar availability. In addition, each attendee has
∗ Corresponding Author.
Email address: azunino@gmail.com (Alejandro Zunino ).
1 Also Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
There are many commercially available collaborative electronic calendars [2], such
as Google Calendar, Microsoft Outlook or Apple iCal, however none of these prod-
ucts is capable of autonomously communicating and negotiating with other users
in order to schedule meetings in a distributed way taking into consideration users’
preferences and calendar availability. The main goal of our work is to automate this
process as far as possible, while keeping users’ agenda and preferences private.
Several aspects of the problem domain, such its uncertainty, privacy and dynamism
makes necessary to investigate new heuristics rather that utilizing previous meth-
ods developed for traditional project scheduling problems. For example, most tra-
ditional scheduling methods are batch [3], where requirements for a set of tasks are
presented to the system, and the goal of the scheduler is to minimize some metric
like tardiness, lateness, completion time, etc. These techniques are not applicable
to our domain, because meeting requests arrive dynamically over the time and they
have to be processed on demand. Some results in reactive scheduling aims at han-
dling schedule disruptions to match up with a preplanned schedule [4,5], however
these approaches rely on certain and fully known environments.
Realistic automatic meeting scheduling also entails that a number of meetings are
being scheduled concurrently, and new meetings are arriving while previously re-
ceived meeting requests are being scheduled. As a consequence, the status of local
and non-local resources may change dynamically while negotiation over schedul-
ing a meeting request is going on. Traditional scheduling approaches do not provide
any effective mechanisms to address these problems.
2
work in distributed meeting scheduling [10] uses three monetary-based mediating
scheduling mechanisms. The focus of this work is on negotiating meetings taking
into account users’ preferences while keeping personal calendars private. [11] has
focused on decentralized meeting scheduling taking into consideration users’ pref-
erences. These preferences are communicated among scheduler agents during the
negotiation thus privacy is not warranted. On the other hand [12] has studied how to
schedule meetings revealing as little private information as possible. Works such as
CAP [13] and Obelix [14] are focused on learning users’ profiles and preferences.
Their main drawback is the usage of learning techniques that require too much time
to learn, taking months to detect recurrent activities, while using large volumes of
memory and storage to memorize past experiences.
Each OA is able to acquire knowledge about its user’s habits and preferences. In
this way, an OA is able to enhance its accuracy of advice for arranging meetings.
Besides learning, OAs are able to negotiate meetings, persuade their counterparts
and drop user specified constraints in order to agree on a place, date, time, etc. for
a meeting when users have busy calendars or conflicting preferences.
The rest of the paper is organized as follows. The next section describes the main
functionality of Chronos. Section 3 presents the internal design of the agents. The
implementation of Chronos is described in section 4. Section 5 reports some ex-
perimental results and comparisons with previous approaches. The most relevant
related works are discussed in section 5. Finally, concluding remarks and direc-
tions for future lines of research are presented in section 7.
3
2 Chronos
Each OA is able to negotiate meetings with its counterparts on behalf of its user. In
order to provide useful assistance, agents posses a number of user-specified prefer-
ences. Moreover, agents are able to learn from their users’ habits and preferences
on locations, hours, dates, etc.
Most approaches for agent-based meeting scheduling assume that users’ calendars
and preferences are public. This assumption may be considered undesirable if users
are concerned about their privacy. For this reason OA keeps calendars and prefer-
ences private. As we will see, distributed meeting scheduling under privacy con-
straints is much more difficult.
• when its user needs to schedule a meeting. Usually a request like this has a
number of associated preferences or constraints, such as a location, day and hour,
in addition to the user’s calendar.
• when the user receives an invitation from other user.
In both cases, the OA starts negotiating the different parameters of the meeting with
the respective OAs of the participants taking into account the user’s preferences.
In order to represent users’ preferences and reason about them each OA uses a
Bayesian Network [16]. Bayesian Networks (BN) represent in a compact manner
the casual relationships among the concepts involved in a meeting such as time,
date, place and duration. Furthermore, BNs are well suited for learning and reason-
ing under uncertainty [17].
When scheduling meetings with two or more participants, agents have to agree on
a meeting day, time and place, among other things. The problem here it that each
of the participants may have different calendar availability and preferences. At this
point agents use a persuasion-based negotiation mechanism that permits them to
reach concensus.
The negotiation mechanism aims at allowing agents to be flexible about the con-
straints imposed by their users’ preferences while negotiating with others agents.
The mechanism starts when two agents do not agree on some parameter of a meet-
4
ing. Then, an agent A proposses a new set of parameters for the meeting to B.
Agent B evaluates whether the proposal is convenient or not by comparing the
likeliness of reaching a consensus using the previous meeting parameters with the
proposed parameters. In this step, an agent may decide to ignore some of the user’s
preferred parameters in order to agree with its counterpart. In section 3.4 we explain
the mechanism for more than two agents.
Finally, in order to enhance the user’s trustiness in his organizer agent, it is capable
of explaining its actions to the user, including decisions influenced by other agents
through persuasion and negotiation.
In this section we describe the internal design of each Organizer Agent. The de-
scription is divided into four parts: knowledge representation, reasoning, learning
and negotiation. The following section explains the mechanism used by the agents
to represent knowledge.
When a human secretary schedules a meeting it takes into account his boss’s habits
as well as her beliefs about the other participants’ habits. Similarly, each OA repre-
sents the knowledge about its user and others users of Chronos by using Bayesian
Networks [17]. A Bayesian Network (BN) is a compact representation of a joint
probability distribution over a set of variables X = {x1 , . . . , xn }. Each variable has
a finite set of mutually exclusive states. A BN can be represented as a directed
acyclic graph such that each variable in X corresponds to a node in that graph
and the parents of the node corresponding to xi are the independent variables in X
that render xi . Moreover, each node contains a conditional probability distribution
p(xi |x1 , x2 , . . . , xi−1 ), this is, a joint probability table with one row for each state
of xi given every possible combination of the states of x1 , x2 , . . . , xi−1 .
There are many reasons why we use BN for representing knowledge about users’
preferences. First, BNs are capable of handling incomplete and uncertain knowl-
edge. Second, BNs provide mechanisms for predicting an reasoning. Third, BNs
5
Day Monday Thursday
Time 14:30 16:30 14:30 16:30
Duration 30 60 30 60 30 60 30 60
can be used to learn casual relationships among variables and their probabilities.
Fourth, the computational complexity of reasoning with a BN does not depend on
the number of instances encoded into it [17].
Each OA represents its beliefs about user’s habits as a BN. Figure 1 shows the BN
of an OA at a particular instant. The figure shows the relationships among the vari-
ables involved on a meeting. In this case, the following relationships are visible:
P(Duration)
P(Time|Duration) Duration
Time Day P(Day)
Place P(Place|Time,Duration,Day)
Participant
P(Participant|Time,Place,Day)
It is worth noting that the structure of the BN as well as the conditional probabilities
may change over time as the agent learns. Moreover, the structure of the BN may
be different from user to user.
6
3.2 Reasoning
The real power of Bayesian Networks comes when we use them for reasoning an
inferring [19,17]. For example we can easily ask the BN shown previously for the
probability of arranging a 60 minutes meeting with a co-worker. The BN, besides
providing a probability as an answer, also recommends a place and a time for the
meeting that maximize the probability of success.
As explained before, each OA possesses beliefs about its user and his acquain-
tances. The idea is to enable each OA to infer the most likely combination of
attributes S for a meeting (place, time, duration, participants, etc.) given a set of
constraints E for these attributes taking into account not only the user’s habits, but
also the participants’ habits. It is worth noting that S ∩ E = φ, this is, the solution
set S and the constraint set E (also called evidence) do not have any attribute in
common.
As we will see in section 3.4, when more than three participants are involved in
a meeting, their OAs negotiate between them in pairs. During the negotiation be-
tween two OAs A1 and A2 , where A1 represents a user U1 and A2 represents U2 , A1
will perform the following activities:
• S1 =the most likely attributes according to A1 ’s beliefs about U1 given the evi-
dence E
• P1 =the probability of organizing a meeting with attributes S1 ∪ E according
to A1 ’s beliefs about U1
• S2 =the most likely attributes according to A1 ’s beliefs about U2 given the evi-
dence E
• P2 =the probability of organizing a meeting with attributes S2 ∪ E according
to A1 ’s beliefs about U2
Finally, A1 chooses the set of attributes with the larger probability for success.
3.3 Learning
Each Organizer Agent is able to learn from its user and from the interactions with
others. The idea of learning from the interactions with other agents is to try to
acquire knowledge from other users’ habits that will permit OAs to predict their
behavior. This knowledge is used during the negotiation process to propose alter-
7
natives to other agents that seems to be good according to the knowledge about
their users.
In order to learn the conditional probabilities stored in the BN, we use an incre-
mental approach. The idea is to adjust the probabilities in the following situations:
• when an OA receives a proposal it assumes the counterpart likes its own proposal
thus it updates its BN.
• when a proposal sent by an OA is accepted or rejected by another OA, the former
agent updates its BN about the second one.
• when an OA fails to negotiate a meeting and asks its user what to do it updates
the BN about the user based on his response.
3.4 Negotiation
The negotiation protocol starts when an agent needs to schedule a meeting with sev-
eral constraints such a specific place, time and participants. The negotiation consists
on the following steps:
(1) Initially, there are as many groups of agents as participants in the meeting
being scheduled.
(2) Two groups A and B are randomly selected and paired off.
(3) For each group a representative is selected. For example, a and b are the repre-
sentatives of the groups A and B, respectively. The first time the representatives
are randomly selected.
(4) a starts persuading b. If the persuasion fails b tries to persuade a
8
Algorithm 1 Persuasion between two agents
f irstTry = true
persuader send a proposal to persuaded
if evaluate(proposal) == true then
return true
else
persuaded adapts its BN about persuader
if evaluate(proposal) == true then
return true
else if askUser(proposal) == true then
return true
else if f irstTry == true then
f irstTry = false
change roles and start again from step 2
else
return false
end if
end if
(5) If the persuasion succeeds the persuader joins the other group as its represen-
tative and each member of the persuader group become a new group.
(6) The process repeats from step 2 until only one group is left.
(7) Finally, all the agents update their BNs in order to learn from the negotiation.
In the fourth step of the algorithm an agent (persuader) tries to persuade the other
(persuaded) to make it change one of its constraints on the meeting. At this point,
the persuader proposes a number of constraints for the meeting. The persuaded
uses its BNs about its user and the other user to evaluate the propabilities of the
proposal with respect to the original constraints of the meeting. If the probability of
organizing a meeting given the proposed constraints is greater than the probability
for the original constraints the persuasion succeeds. The persuation mechanism is
shown in algorithm 1. At this point it is worth noting that the persuaded agent
calculates the probabilities based on its knowledge about its user and the other
user, as shown in algorithm 2. Then, when the first persuasion fails, the persuaded
agents updates its knowledge about the other user and reevaluates the proposal. If
the persuasion fails again, both agents interchange their roles and the process starts
again.
4 Implementation
9
Algorithm 2 evaluate(proposal): Evaluation of a proposal
p(persuader, user1, c)=probability of organizing a meeting with the original
constraints of the meeting according to the BN about user1
p(persuaded, user2, c)=probability of organizing a meeting with the original
constraints of the meeting according to the BN about user2
p(persuader, user1, proposal)=probability of organizing a meeting with the pro-
posed constraints of the meeting according to the BN about user1
p(persuaded, user2, proposal)=probability of organizing a meeting with the
proposed constraints of the meeting according to the BN about user2
if max(p(persuader, user1, proposal), p(persuaded, user2, proposal)) >=
max(p(persuader, user1, c), p(persuaded, user2, c)) then
return true
else
return false
end if
munication and mobility. For supporting Bayesian Networks, JavaBayes 2 has been
used. Finally, the graphical user interface is based on code from Rapla 3 , an open
source project that aims at providing an easy-to-use resource management system.
Figure 2 shows two screenshots of an Organizer Agent. The screenshot on the left
shows a form that the user fills for instructing his OA to schedule a meeting. The
screenshot on the right displays information about the progress of a negotiation.
On this screen the OA explains the negotiation process, why it has chosen spe-
cific options over others, why it has been persuaded during a negotiation and how
the participants have reached an agreement on a meeting. We aim at increasing the
user’s trust on his Organizer Agent by explaining him the reasons for each decision.
2 http://www-2.cs.cmu.edu/~javabayes/Home/
3 http://rapla.sourceforge.net/
10
5 Experimental Results
In this section we report some experimental results obtained with Chronos. In addi-
tion, these results are compared with two similar agent-based meeting schedulers,
CAP [13] and Obelix [14], in order to validate our approach.
The experiments were carried out by using a dataset of real usage situations pro-
vided by the authors of CAP. The dataset has 1200 situations of 2 users with dif-
ferent habits. The first user’s preferences changes often thus learning his habits is
a very challenging process. The second user behaves in a routinary manner thus its
is easier for a learning algorithm to predict hes preferences. We selected CAP and
Obelix because both have been evaluated with this dataset by their authors.
The three applications have no knowledge about the users at the beginning of the
experiment. Then, the users started using the agents, providing them with informa-
tion to learn from. Afterward, the agents were asked for advise. The advise was
compared with a previously know user-provided answer. From this we obtained a
measure of the accuracy of advise of each agent for meeting day of week, duration,
time and location. The results for CAP, Obelix and Chronos are shown in Figs. 3
to 6.
100 90
Crhonos Crhonos
Prediction accuracy for day of week [%]
Obelix Obelix
90 CAP 80 CAP
80 70
70 60
60 50
50 40
40 30
30 20
20 10
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
Months Months
100 100
Crhonos Crhonos
Obelix Obelix
Prediction accuracy for duration [%]
90
CAP 90 CAP
80
70 80
60
70
50
40 60
30
50
20
10 40
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
Months Months
11
100 100
Crhonos Crhonos
Obelix Obelix
Prediction accuracy for location [%]
60 60
40 40
20 20
0 0
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
Months Months
70
60
60
50
40
40
30 20
20
10 0
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
Months Months
From the figures we can conclude that the three agents were able to learn from
their users with different degrees of accuracy. Table 2 shows the average accuracy
for each system and attribute. Chronos has better average accuracy than the other
agents for the four variables. In Obelix, the lower values of accuracy were caused
by its Case-Based Reasoner which requires lots of cases before providing useful
assistance, but at the same time it has to forget old cases in order to maintain a
reasonable speed. From the figures it is clear that both CAP and Obelix have low
12
of experiences is low. As shown, Chronos achieved acceptable levels of accuracy
after 1 month. CAP achieved levels of accuracy similar to Chronos, but after 6 to
8 months of learning. Finally, Obelix required more time to learn and produced
erratic results because it deletes old experiences to descrease response time and
memory usage.
All in all, both CAP and Obelix use machine learning techniques that require many
training samples before providing useful assistance. In both cases as more experi-
ences acquired, both the learning processes and response times are slow down. In
order to maintain a reasonable performance these agents observe a limited num-
ber of past experiences thus they tend to forget old experiences 4 . On the other
side, Chronos does not suffer from these problems because the usage of a compact
knowledge representation by using Bayesian Networks. It is known that the speed
required for reasoning with a Bayesian Networks is not affected by the number of
cases or experiences that the network encodes [19,17].
6 Related Work
There are many interesting approaches for solving the problem of meeting schedul-
ing with AI techniques. Some of the most relevant efforts are [23,7,24,13,14,12,25].
The work by Garrido and Sycara [23] uses agents that take into account users’ pref-
erences as well as their calendar availability. These preferences are shared during
negotiation between agents representing different participants. If a conflict arises,
agents are able to ignore a user’s preference in order to reach an agreement. In
addition, agents can reschedule if necessary. Agent learning is limited to users’
preferences. As a consequence, negotiation experiences are not taken into account
for enhancing the agents’ behavior.
The approach by Sen and Durfee [7] is centralized and does not take into account
users’ preferences besides availability. Moreover, calendars are managed by a cen-
tralized host agent that is responsible for arranging meetings thus privacy is not
maintained. Finally, agents do not learn.
A very influential work is CAP [13], an interactive software assistant for help-
ing users in managing their meetings by using machine learning techniques. CAP
learns users’ preferences by observing users and their routines. In this way, CAP
4 In fact, Obelix does forget old cases when it summarizes and deletes old experiences.
13
adapts itself to users’ habits, providing a personalized assistance. CAP uses a batch
learning mechanism that is executed once a day for constructing and refining deci-
sion trees. The main drawback of the approach, is the time the learning mechanism
requires for providing useful assistance: two to three months.
In MASMA [24], agents negotiate meetings on behalf of their users taking into
account users’ preferences and calendar availability. Privacy is warranted by not
sharing calendars among agents. Furthermore, MASMA has been used for study-
ing issues related to human computer interaction. Despite these interesting features,
MASMA does not use learning techniques thus it is not capable of improving with-
out user intervention.
The Intelligent Meeting Scheduler Obelix [14] is focused on learning users’ habits.
Obelix uses Case Based Reasoning [27] to memorize successful and unsuccessful
situations where the scheduler provided assistance. Then, for assisting a user to
organize a meeting, Obelix analyzes the stored cases and obtains the most similar
past case. Then, it adapts the obtained case to the current situation and finally acts.
The technique has one major problem: its performance degrades in function of the
number of past cases stored in the case base. In order to solve this, Obelix uses a
batch algorithm to generalize similar cases, this is, it represents two or more similar
cases using only one. With this approach easy to lose details on the representation.
In the end, Obelix tends to overgeneralize or act too slowly. In addition, Obelix
requires months of learning before starting to provide useful assistance.
The main contribution of our work is the usage of a simple, but effective, knowl-
edge representation mechanism based on Bayesian Networks. The advantages of
the approach are twofold. First, it permits Chronos to start providing useful assis-
tance with little training. Second, instead of becoming slow when more situations
are learnt, Chronos is always responsive and improves its precision. Finally, by
learning from negotiation, the probability of success when organizing meetings is
increased.
14
7 Conclusion and Future Work
This paper described a multi-agent system called Chronos for assisting users in
organizing their meetings. The system assigns to each user an Organizer Agent that
acts as a personal secretary.
Each OA is able to learn both from its user and from the interactions with other
OAs in order to enhance its performance and provide better assistance. Moreover,
OAs can negotiate meetings with other participants. If a conflict arises during a
negotiation, OAs are flexible enough to modify any user provided constraint for the
meeting being scheduled. Furthermore, OAs try to persuade each other in order to
reach a consensus.
Chronos has been implemented and compared against other two similar systems.
In average, the accuracy of advice for the four measured parameters was higher
in Chronos. Moreover, Chronos required less time to provide assistance with good
levels of accuracy than the other two systems. Though we have evaluated Chronos
with real user provided behavior, the results cannot be generalized to other users.
As a consequence, we are planning to use Chronos for assisting a group of several
researchers during a year.
In the future we will address several issues of our approach. We are developing
new heuristics to modify the structure of the Bayesian Networks to enhance the
precision of the approach. We are also measuring the influence of the explanations
provided by Chronos to the users’ trustiness on the system. Finally, we are extend-
ing the negotiation mechanism in order to take into account different degrees of
importance for each constraint. In this way, OAs will prefer to drop unimportant
constraints.
References
[1] L. Palen, Calendars on the New Frontier: Challenges of Groupware Technology, Ph.D.
thesis, Information & Computer Science, University of California, Irvine (1998).
URL http://www.cs.colorado.edu/~palen/
[2] L. Palen, J. Grudin, Discretionary Adoption of Group Support Software: Lessons from
Calendar Applications, in: B. E. Munkvold (Ed.), Organizational Implementation of
Collaboration Technology, 2001.
[3] M. Friedman, An overview of Jobshop scheduling, a survey paper, departament of
Computer Science and Engineering, University of Washington (1997).
[4] K. Fischer, Knowledge-based reactive scheduling in a flexible manufacturing system,
in: R. M. Kerr, E. Szelke (Eds.), Proc. of the IFIP TC5/WG5.7 Workshop on
Knowledge-Based Reactive Scheduling, Elsevier Science B.V., 1994, pp. 1–18.
15
[5] M. Zweben, M. S. Fox, Intelligent Scheduling, Morgan Kaufmann, 1994.
[7] S. Sen, E. H. Durfee, On the design of an adaptive meeting scheduler, in: D. O’Leary,
P. Selfridge (Eds.), Proceedings of the 10th Conference on Artificial Intelligence for
Applications, IEEE Computer Society Press, San Antonio, TX, 1994, pp. 40–46.
[8] S. Sen, E. H. Durfee, Unsupervised surrogate agents and search bias change in flexible
distributed scheduling, in: V. Lesser (Ed.), Proceedings of the First International
Conference on Multi-Agent Systems (ICMAS’95), The MIT Press: Cambridge, MA,
USA, San Francisco, CA, USA, 1995, pp. 336–343.
URL ftp://ftp.eecs.umich.edu/people/durfee/icmas95-sd.ps.Z
[9] S. Sen, E. Durfee, A contracting model for flexible distributed scheduling, Annals of
Operations Research 65 (1996) 195–222.
URL http://euler.mcs.utulsa.edu/~sandip/aor.ps
[15] D. Zeng, K. Sycara, Benefits of learning in negotiation, in: Proceedings of the 14th
National Conference on Artificial Intelligence and 9th Innovative Applications of
Artificial Intelligence Conference (AAAI-97/IAAI-97), AAAI Press, Menlo Park,
1997, pp. 36–42.
URL http://www.cs.cmu.edu/~softagents/papers/aaai97-final.ps.gz
16
[18] D. Zeng, K. Sycara, Bayesian learning in negotiation, in: S. Sen (Ed.), Working Notes
for the AAAI Symposium on Adaptation, Co-evolution and Learning in Multiagent
Systems, Stanford University, CA, USA, 1996, pp. 99–104.
URL http://www.cs.cmu.edu/~softagents/papers/aaai-symp96.ps.gz
[21] A. Zunino, C. Mateos, M. Campo, Reactive mobility by failure: When fail means
move, Information Systems Frontiers. Special Issue on Mobile Computing and
Communications 7 (2) (2005) 141–154, iSSN 1387-3326.
[22] C. Mateos, A. Zunino, M. Campo, Extending movilog for supporting web services,
Computer Languages, Systems & Structures 31 (1) (2007) 11–31.
[25] P. J. Modi, M. M. Veloso, S. F. Smith, J. Oh, Cmradar: A personal assistant agent for
calendar management., in: P. Bresciani, P. Giorgini, B. Henderson-Sellers, G. Low,
M. Winikoff (Eds.), Agent-Oriented Information Systems II: 6th International Bi-
Conference Workshop, AOIS, Vol. 3508 of Lecture Notes in Computer Science,
Springer, Riga, Latvia, 2004, pp. 169–181.
URL http://dblp.uni-trier.de/db/conf/aois/aois2004.html#ModiVSO04
[26] T. Payne, R. Singh, K. Sycara, Calendar agents on the semantic web, IEEE Intelligent
Systems 17 (3) (2002) 84–86.
[27] J. Kolodner, Case-Based Reasoning, Morgan Kaufmann, San Mateo, California, 1993.
17