Vous êtes sur la page 1sur 17

Chronos: A Multi-Agent System for Distributed

Automatic Meeting Scheduling

Alejandro Zunino ∗,1 Marcelo Campo 1


ISISTAN Research Institute. UNICEN University. Campus Universitario, Tandil
(B7001BBO), Buenos Aires, Argentina. Tel.: +54 (2293) 439682. Fax.: +54 (2293)
439681

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.

Key words: Meeting scheduling, intelligent agents, multi-agent systems.

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)

Preprint submitted to Expert Systems With Applications 12 September 2008


uncertain and incomplete knowledge about the preferences and calendars of other
attendees. In fact, people usually try to keep their calendars and preferences private.

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.

Besides dynamism, a meeting scheduler should handle uncertainty due to privacy


issues. For example, in a typical distributed meeting scheduling scenario, several
distributed decision makers must agree on a time and a place. In trying to sched-
ule a meeting, each decision maker would like to reveal as little information as
possible about the local calendar, which is valued as private information. In terms
of traditional scheduling this would mean that a task requires multiple resources,
where the status of each resource is known only to the decision maker who manages
this resource and is not directly known to other decision makers. In the traditional
scheduling literature the status of all resources is assumed to be readily available to
the centralized scheduler [2].

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.

Other line of research is the usage of Distributed Artificial Intelligence techniques.


For example [6–9] focus on solving the distributed meeting scheduling problem us-
ing a central host agent capable of communicating with all other agents in order to
schedule meetings using a negotiation based on contracts. The main purpose of the
host agent is to coordinate the search for a feasible schedule taking into consider-
ation attendees’ calendars. This approach does not use users’ preferences. Another

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.

Most of the work on distributed meeting scheduling using Distributed Artificial


Intelligence techniques focus on negotiating or learning users’ preferences. In ad-
dition, we claim that the experiences of negotiating with other agents should also
be taken into account [15]. The central questions in this paper is how a meeting
scheduling agent can efficiently negotiate with other agents taking into account the
constraints specified by its associated user, and, at the same time, how this agent can
improve itself with the experience acquired by negotiating, persuading and arguing
with other agents.

This paper proposes an approach that considers meeting scheduling as a distributed


task where an intelligent personal agent, called Organizer Agent (OA), is assigned
to each user of the system to act as his personal assistant. An OA is capable of
assisting its user on organizing meetings by acting on his behalf and taking into
account his preferences and habits when negotiating meetings.

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

Chronos is a distributed automatic meeting scheduler composed of intelligent agents


called Organizer Agents (OA). An OA is a personal assistant agent that acts as a
human secretary, this is, organizing its boss’s calendar, scheduling meetings and
negotiating dates, places and times with others. Similarly to a human secretary, an
OA is able to learn from its boss’s habits. As a consequence, the more the time a
user uses Chronos, the better the assistance it will provide.

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.

An OA acts in two situations:

• 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.

As privacy was in important requirement for Chronos, negotiation requires nei-


ther public calendars nor preferences, which makes the process harder. In order
to achieve an acceptable performance OA tries to learn from the negotiation with
other agents. In this way, after some time, each OA is able to predict the behavior
of its counterparts given a meeting proposal [18,15].

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.

3 Organizer Agent Design

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.

3.1 Knowledge Representation

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

class room 1 1 0.96 0 0.47 0.5 0.89 0.5 0.15


room 5 0 0.04 1 0.53 0.5 0.11 0.5 0.85
Table 1
Conditional probability table for P(Place|Time, Duration, Day)

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:

• the time of a meeting depends on its duration


• the place of a meeting depends on its time, duration and day.
• the presence of a particular participant depends on the time, place and day of a
meeting.

P(Duration)

P(Time|Duration) Duration
Time Day P(Day)

Place P(Place|Time,Duration,Day)

Participant
P(Participant|Time,Place,Day)

Fig. 1. A Bayesian Network representing the beliefs about a user’s habits

In addition to the relationships among variables, a BN also models the strength of


these relationships by associating a probability table to each node. In the figure
these joints are shown as P(X), thus for example P(Time|Duration) denotes the
conditional probability of arranging a meeting at a certain time given the duration of
the meeting. Table 1 shows the conditional probability table for P(Place|Time, Duration, 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.

Besides using Bayesian reasoning for evaluating proposals, it is used by each OA


to drive the search for an acceptable set of attributes for a meeting giving a user’s
calendar and preferences. The idea is to chose the most likely attibutes that satisfy
the user’s calendar and preferences given a set of user specified constraints.

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 Bayesian Networks it is possible to learn the probabilities encoded in each node


and the structure of the network. Currently Chronos is not able to learn the structure
of the BNs yet. However, as we will see in section 2, the performance of Chronos
is good, even with a sub-optimal learner. Despite these positive results we believe
that if we add more variables to the meetings it would be necesary to analyze the
usage of structural BN learning techniques.

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.

In these cases, the adjustement is made by recalculating the conditional probabili-


ties at each node.

3.4 Negotiation

Organizer Agents interact among themselves in order to schedule meetings. In our


system, agents are able to negotiate the different attributes of a meeting by using a
persuasion based negotiation protocol that permits agents to influence the decisions
of their counterparts. It is worth noting that this mechanism does not reveal users’
calendars or preferences. Our system uses an extended version of the negotiation
algorithm described in [20]

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

Chronos has been implemented by using MoviLog [21,22], a multi-paradigm lan-


guage that integrates Java and Prolog. MoviLog provides interesting features for
supporting agent development such as reasoning, knowledge representation, com-

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

Fig. 2. Screenshots of an Organizer Agent

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 [%]

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

Fig. 3. Accuracy of advise for meeting day of week

100 100
Crhonos Crhonos
Obelix Obelix
Prediction accuracy for duration [%]

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

Fig. 4. Accuracy of advise for meeting duration

11
100 100
Crhonos Crhonos
Obelix Obelix
Prediction accuracy for location [%]

Prediction accuracy for location [%]


CAP CAP
80 80

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

Fig. 5. Accuracy of advise for meeting location


100 100
Crhonos Crhonos
90 Obelix Obelix
Prediction accuracy for time [%]

Prediction accuracy for time [%]


CAP CAP
80 80

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

Fig. 6. Accuracy of advise for meeting time

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

Chronos Obelix CAP


User A User B User A User B User A User B
Time 89% 96% 43% 73% 24% 28%
Duration 81% 89% 78% 60% 52% 68%
Day of week 71% 71% 36% 51% 38% 33%
Location 15% 87% 0% 60% 60% 35%
Average 64% 85% 39% 61% 43% 50%
Table 2
Summary for accuracy of advise

accuracy when the number of experiences is low. In opposition, Chronos is able


to provide assistance with acceptable levels of accuracy even when the number

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.

RCAL [26] is an automatic distributed meeting scheduling MAS. The distinctive


feature of RCAL is its tight integration with Outlook and the Semantic Web Sched-
ules, a standard for representing schedules. On the other hand, RCAL does not use
learning techniques to self improve.

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.

An important effort towards automatic meeting scheduling is DAS (Distributed


Adaptive Scheduling) [12]. DAS is based on a number of mobile agents that co-
ordinate meetings while not disclosing users’ private data. In experiments, DAS
has proven to be very efficient for scheduling meetings with many participants.
Similarly, CMRadar [25] is a multi-agent system for calendar management. It has
been used for experimenting with different heuristics for negotiating schedules with
simulated users. Both DAS and CMRadar do not use learning for improving their
performance.

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.

[6] S. Sen, E. H. Durfee, A formal study of distributed meeting scheduling: Preliminary


results, in: Conference on Organizational Computing Systems, Groups within
Organizations, 1991, pp. 55–68.
URL http://www.acm.org/pubs/articles/proceedings/cocs/122831/
p55-sen/p55-sen.pdf

[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

[10] E. Ephrati, G. Zlotkin, J. S. Rosenschein, A non–manipulable meeting scheduling


system, in: Proceedings of the 13th International Workshop on Distributed Artificial
Intelligence, Seatle, WA, 1994.

[11] L. Garrido, K. Sycara, Multi-agent meeting scheduling: Preliminary experimental


results, in: V. Lesser (Ed.), Proceedings of the First International Conference on Multi-
Agent Systems (ICMAS’95), The MIT Press: Cambridge, MA, USA, 1995.

[12] F. Wang, Adaptive meeting scheduling for large-scale distributed groupware, BT


Technology Journal 21 (4) (2003) 138–145.

[13] T. M. Mitchell, R. Caruana, D. Freitag, J. McDermott, D. Zabowski, Experience with


a learning personal assistant, Communications of the ACM 37 (7) (1994) 80–91.
URL http://www.acm.org/pubs/toc/Abstracts/0001-0782/176798.html

[14] J. Fernández León, M. Juárez, V. Martínez, Inferencia de Perfiles de Usuarios


en un Ambiente Multiagente Colaborativo, systems Engineering final year project,
UNICEN, Argentina (2001).

[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] F. V. Jensen, An Introduntion to Bayesian Networks, UCL Press, 1996.

[17] B. D’Ambrosio, Inference in bayesian networks, AI Magazine 20 (2) (1999) 21–35.

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

[19] D. Heckerman, M. P. Wellman, Bayesian networks, Communications of the ACM


38 (3) (1995) 27–30.
URL http://www.acm.org/pubs/toc/Abstracts/0001-0782/203336.html

[20] T. Ito, T. Shintani, Persuasion among agents: An approach to implementing a group


decision support system based on multi-agent negotiation, in: Proceedings of the
Fifteenth International Conference on Artificial Intelligence (IJCAI-97), Morgan
Kaufmann publishers Inc., San Mateo, CA, USA, 1997, pp. 592–599.

[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.

[23] L. Garrido, K. Sycara, Multi-agent meeting scheduling: Preliminary experimental


results, in: V. Lesser (Ed.), Proceedings of the First International Conference on Multi-
Agent Systems (ICMAS’95), The MIT Press: Cambridge, MA, USA, 1995.

[24] A. Cesta, D. D’Aloisi, R. Brancaleoni, Considering the user in mixed-initiative


meeting management, in: Proceedings of the 2nd ERCIM Workshop on ’User
Interfaces for All’, No. 3, ERCIM, 1996, p. 17.
URL http://ui4all.ics.forth.gr/UI4ALL-96/cesta.pdf

[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

Vous aimerez peut-être aussi