Lecture Notes in Artificial Intelligence Edited by J. G. Carbonell and J. Siekmann
Subseries of Lecture Notes in Computer Science
3191
This page intentionally left blank
Matthias Klusch Sascha Ossowski Vipul Kashyap Rainer Unland (Eds.)
Cooperative Information Agents VIII 8th International Workshop, CIA 2004 Erfurt, Germany, September 27-29, 2004 Proceedings
Springer
eBook ISBN: Print ISBN:
3-540-30104-6 3-540-23170-6
©2005 Springer Science + Business Media, Inc. Print ©2004 Springer-Verlag Berlin Heidelberg All rights reserved No part of this eBook may be reproduced or transmitted in any form or by any means, electronic, mechanical, recording, or otherwise, without written consent from the Publisher Created in the United States of America
Visit Springer's eBookstore at: and the Springer Global Website Online at:
http://ebooks.springerlink.com http://www.springeronline.com
Preface
These are the proceedings of the 8th International Workshop on Cooperative Information Agents (CIA 2004), held at the Fair and Congress Center in Erfurt, Germany, September 27–29, 2004. It was part of the multi-conference Net.ObjectDays 2004, and, in particular, was co-located with the 2nd German Conference on Multiagent Systems Technologies (MATES 2004). In today’s networked world of linked heterogeneous, pervasive computer systems, devices, and information landscapes, the intelligent coordination and provision of relevant added-value information at any time, anywhere, by means of cooperative information agents becomes increasingly important for a variety of applications. An information agent is a computational software entity that has access to one or multiple, heterogeneous, and geographically dispersed data and information sources. It proactively searches for and maintains information on behalf of its human users, or other agents, preferably just in time. In other words, it is managing and overcoming the difficulties associated with information overload in open, pervasive information and service landscapes. Cooperative information agents may collaborate with each other to accomplish both individual and shared joint goals depending on the actual preferences of their users, budgetary constraints, and resources available. One major challenge of developing agent-based intelligent information systems in open environments is to balance the autonomy of networked data, information, and knowledge sources with the potential payoff of leveraging them using information agents. Interdisciplinary research and development of information agents requires expertise in relevant domains of information retrieval, artificial intelligence, database systems, human-computer interaction, and Internet and Web technology. The CIA 2004 workshop aimed at providing an interdisciplinary forum for researchers, software developers, and managers to get informed about, present, and discuss the latest high-quality results in advancements of theory and practice in information agent technology for the Internet, the Web, and the Semantic Web. The CIA workshop series was initiated in 1997; since then the events of the series have been held annually, mainly at different locations in Europe. Each event of the series offers regular and invited talks of excellence that are given by distinguished experts, and system demonstrations, and honors innovative research and development on information agents by means of best paper awards and system innovation awards. The proceedings of the series are regularly published as volumes of the Lecture Notes in Artificial Intelligence (LNAI) series of Springer. In keeping with its tradition, this year’s workshop featured a sequence of regular and invited talks of excellence given by leading experts in the field. These talks covered a broad area of topics of interest, such as information agents for
VI
Preface
pervasive and peer-to-peer computing environments; issues of communication and cooperation; industrial applications; and recommender agents. This year the CIA System Innovation Award and the CIA Best Paper Award were sponsored by Whitestein Technologies AG, Switzerland, and the Spanish Association for Artificial Intelligence (AEPIA), respectively. The DMR Decision Engineering Lab of the Universidad Rey Juan Carlos in Madrid, Spain provided limited financial support to students who were co-authors of accepted papers so that they could give their presentations at the CIA 2004 workshop. CIA 2004 featured 3 invited and 18 regular papers selected from 59 submissions. The result of the peer-review of all contributions is included in this volume, rich with interesting, inspiring, and advanced work on research and development on intelligent information agents worldwide. All previous workshop proceedings were published by Springer as Lecture Notes in Artificial Intelligence volumes: 1202 (1997), 1435 (1998), 1652 (1999), 1860 (2000), 2182 (2001), 2446 (2002), and 2782 (2003). The CIA 2004 workshop was organized in cooperation with the Association for Computing Machinery (ACM). In addition, we are very much indebted to our sponsors, whose financial support made this event possible. The sponsors of CIA 2004 were: TRANSIT GMBH, Germany URJC DECISION ENGINEERING LAB (DMR), Spain WHITESTEIN TECHNOLOGIES, Switzerland SPANISH ASSOCIATION FOR ARTIFICIAL INTELLIGENCE, Spain AGENTLINK III, EU FP6 COORDINATING ACTION
We are in particular grateful to the authors and invited speakers for contributing their latest and inspiring work to this workshop, as well as to the members of the program committee, and the external reviewers for their critical reviews of submissions. Finally, a deep thanks goes to each of the brave members of the local organization team from tranSIT GmbH at the Fair and Congress Center in Erfurt for their hard work in providing the CIA 2004 event with a modern, comfortable location, and a social program. September 2004
Matthias Klusch, Sascha Ossowski, Vipul Kashyap, Rainer Unland
Co-chairs Matthias Klusch Sascha Ossowski Vipul Kashyap Rainer Unland
DFKI, Germany, Workshop Chair University of Rey Juan Carlos in Madrid, Spain Lister Hill National Center on Biomedical Communications, USA University of Duisburg-Essen, Germany
Program Committee Elisabeth Andre Wolfgang Benn Monique Calisti Brahim Chaib-draa Yves Demazeau Frank Dignum Tharam Dillon Boi Faltings Fausto Giunchiglia Rune Gustavsson Heikki Helin Mike Huhns Toru Ishida Catholijn Jonker Hillol Kargupta Manolis Koubarakis Daniel Kudenko Victor Lesser Beatriz Lopez Mike Luck Pablo Noriega Werner Nutt Eugenio Oliveira Andrea Omicini George Papadopoulos Michal Pechoucek Paolo Petta Alun Preece Volker Roth Claudio Sartori Ken Satoh Heiko Schuldt
(University of Augsburg, Germany) (TU Chemnitz, Germany) (Whitestein Technologies, Switzerland) (Laval University, Canada) (Leibniz, France) (University of Utrecht, The Netherlands) (La Trobe University, Australia) (EPFL, Switzerland) (University of Trento, Italy) (Blekinge TH, Sweden) (TeliaSonera AB, Sweden/Finland) (University of South Carolina, USA) (University of Kyoto, Japan) (Free University of Amsterdam, Netherlands) (UMBC, USA) (Technical University of Crete, Greece) (University of York, UK) (University of Massachusetts, USA) (University of Girona, Spain) (University of Southampton, UK) (IIIA CSIC, Spain) (Heriot-Watt University, Edinburgh, UK) (University of Porto, Portugal) (University of Bologna, Italy) (University of Cyprus, Cyprus) (TU Prague, Czech Republic) (Austrian Research Institute for AI, Austria) (University of Aberdeen, UK) (Fraunhofer IGD, Germany) (University of Bologna, Italy) (National Institute of Informatics, Japan) (UMIT Innsbruck, Austria)
VIII
Organization
Onn Shehory Von-Wun Soo Steven Willmott Mike Wooldridge Makoto Yokoo Franco Zambonelli Ning Zhong
(IBM Research, Israel) (National Tsing Hua University, Taiwan) (UPC Barcelona, Spain) (University of Liverpool, UK) (NTT Communication, Japan) (University of Modena, Italy) (Maebashi Institute of Technology, Japan)
External Reviewers Ilya Zaihrayeu Pavel Shvaiko Jan Treur Peter-Paul van Maanen Henrique Lopes Cardoso
Table of Contents
INVITED CONTRIBUTIONS Multi-agent Systems and Distributed Data Mining Chris Giannella, Ruchita Bhargava, Hillol Kargupta
1
Society-Centered Design for Socially Embedded Multiagent Systems Toru Ishida
16
Agents and OWL-S Terry Payne
30
Information Agents and P2P Computing Design and Implementation of Agent Community Based Peer-to-Peer Information Retrieval Method Tsunenori Mine, Daisuke Matsuno, Akihiro Kogo, Makoto Amamiya
31
Towards Monitoring of Group Interactions and Social Roles via Overhearing Silvia Rossi, Paolo Busetta
47
A Probabilistic Approach to Predict Peers’ Performance in P2P Networks Zoran Despotovic, Karl Aberer
62
Personalizing Information Retrieval with Multi-agent Systems Fabrício Enembreck, Jean-Paul Barthès, Braulio Coelho Ávila
77
Issues of Communication On the Impact of Agent Communication Languages on the Implementation of Agent Systems Juan Manuel Serrano, Sascha Ossowski
92
Reasoning About Communication – A Practical Approach Based on Empirical Semantics Felix Fischer, Michael Rovatsos
107
The Evolution of Probabilistic Reciprocity in a Multi-agent Environment with Neighborhoods Enda Ridge, Michael G. Madden, Gerard J. Lyons
123
X
Table of Contents
Recommender Agents Collaboration Analysis in Recommender Systems Using Social Networks Jordi Palau, Miquel Montaner, Beatriz López, Josep Lluís De la Rosa
137
Qualitative Analysis of User-Based and Item-Based Prediction Algorithms for Recommendation Agents Manos Papagelis, Dimitris Plexousakis
152
Information Agents and Mobile Computing Agents that Coordinate Devices, Services, and Humans in Ubiquitous Computing Akio Sashima, Noriaki Izumi, Koichi Kurumatani
167
Multi-agent Technology as an Enabler of Computer Supported Cooperative Work for the Mobile Workforce 183 Habin Lee, Patrik Mihailescu, John Shepherdson Agent Platform with Inaccessibility and Mobility Support David Šišlák, Milan Rollo,
199
Industrial Applications Supply Chain Management Using Multi-agent System Keonsoo Lee, Wonil Kim, Minkoo Kim
215
An Agent Simulation Model for the Québec Forest Supply Chain Thierry Moyaux, Brahim Chaib-draa, Sophie D’Amours
226
Performance Analysis of Multiagent Industrial System Zofia Kruczkiewicz, Jan Magott
242
Cooperation in Open Environments The RoleX Environment for Multi-agent Cooperation Giacomo Cabri, Luca Ferrari, Letizia Leonardi
257
Auction Equilibrium Strategies for Task Allocation in Uncertain Environments David Sarne, Meirav Hadad, Sarit Kraus
271
Table of Contents
XI
Agent’s Multiple Inquiries for Enhancing the Partnership Formation Process David Sarne, Sarit Kraus
286
Author Index
303
This page intentionally left blank
Multi-agent Systems and Distributed Data Mining Chris Giannella, Ruchita Bhargava, and Hillol Kargupta Department of Computer Science and Electrical Engineering University of Maryland Baltimore County Baltimore, MD 21250 USA {cgiannel,ruchita1,hillol}@cs.umbc.edu
Abstract. Multi-agent systems offer an architecture for distributed problem solving. Distributed data mining algorithms specialize on one class of such distributed problem solving tasks—analysis and modeling of distributed data. This paper offers a perspective on distributed data mining algorithms in the context of multiagents systems. It particularly focuses on distributed clustering algorithms and their potential applications in multi-agent-based problem solving scenarios. It discusses potential applications in the sensor network domain, reviews some of the existing techniques, and identifies future possibilities in combining multi-agent systems with the distributed data mining technology. Keywords: multi-agent systems, distributed data mining, clustering
1
Introduction
Multi-agent systems (MAS) often deal with complex applications that require distributed problem solving. In many applications the individual and collective behavior of the agents depend on the observed data from distributed sources. In a typical distributed environment analyzing distributed data is a non-trivial problem because of many constraints such as limited bandwidth (e.g. wireless networks), privacy-sensitive data, distributed compute nodes, only to mention a few. The field of Distributed Data Mining (DDM) deals with these challenges in analyzing distributed data and offers many algorithmic solutions to perform different data analysis and mining operations in a fundamentally distributed manner that pays careful attention to the resource constraints. Since multi-agent systems are also distributed systems, combining DDM with MAS for data intensive applications is appealing. This paper makes an effort to underscore the possible synergy between multi-agent systems and distributed data mining technology. It particularly focuses on distributed clustering, a problem finding increasing number of applications in sensor networks, distributed information retrieval, and many other domains. The paper discusses one of these application domains, illustrates the ideas, and reviews existing work in this area. Although, the power of DDM is not just restricted to clustering, this paper chooses to restrict the scope for the sake of brevity. The paper is organized as follows. Section 2 provides the motivation behind the material presented in this paper. Section 3 introduces DDM and presents an overview of the field. Section 4 focuses on a particular portion of the DDM literature and takes M. Klusch et al. (Eds.): CIA 2004, LNAI 3191, pp. 1–15, 2004. © Springer-Verlag Berlin Heidelberg 2004
2
C. Giannella et al.
an in-depth look at the distributed clustering literature. Section 5 considers distributed clustering algorithms in the context of sensor networks that are drawing an increasing amount of interest from the multi-agent systems community. Finally, Section 6 concludes this paper.
2
Motivation
Agents in MAS need to be pro-active and autonomous. Agents perceive their environment, dynamically reason out actions based on conditions, and interact with each other. In some applications the knowledge of the agents that guide reasoning and action depend on the existing domain theory. However, in many complex domains this knowledge is a result of existing domain theory and also the outcome of empirical data analysis. Scalable analysis of data may require advanced data mining for detecting hidden patterns, constructing predictive models, and identifying outliers, among others. In a multi-agent system this knowledge is usually collective. This collective “intelligence” of a multi-agent system must be developed by distributed domain knowledge and analysis of distributed data observed by different agents. Such distributed data analysis may be a non-trivial problem when the underlying task is not completely decomposable and computing resources are constrained by several factors such as limited power supply, poor bandwidth connection, and privacy sensitive multi-party data, among others. For example, consider a defense related application of monitoring a terrain using a sensor network that has many tiny mote-type [15] sensors for measuring vibration, reflectance, temperature, and audio signals. Let us say the objective is to identify and track a certain type of vehicle (e.g. pick-up trucks). The sensors are battery-powered. Therefore, in the normal mode they are designed not be very active. However, as soon as someone detects a possible change in scenario, the sensors must wake up, observe, reason, and collaborate with each other in order to track and identify the object of interest. The observations are usually time-series data sampled at a device specific rate. Therefore, collaboration with other sensor-nodes would require comparing data observed at different nodes. This usually requires sending a window of observations from one node to another node. This distributed problem solving environment appears to fit very well with the multi-agent framework since the solution requires semi-autonomous behavior, collaboration and reasoning among other things. However, regardless of how sophisticated the agents are, from the domain knowledge and reasoning perspective, they must perform the underlying data analysis tasks very efficiently in a distributed manner. The traditional framework of centralized data analysis and mining algorithms does not really scale very well in such distributed applications. For example, if we want to compare the data vectors observed at different sensor nodes the centralized approach will be to send the data vectors to the base station (usually connected through a wireless network) and then compare the vectors using whatever metric is appropriate for the domain. This does not scale up in large sensor networks since data transmission consumes a lot of battery power and heavy data transmission over limited bandwidth channel may produce poor response time. Distributed data mining technology offers more efficient solutions in such applications.The following discussion illustrates the power of DDM algorithms using a simple randomized technique for addressing this sensor network-related problem.
Multi-agent Systems and Distributed Data Mining
3
Given vectors and at two distributed site A and B, respectively, we want to approximate the Euclidean distance between them using a small number (compared to of messages between A and B. Note that the problem of computing the Euclidean distance between a pair of data tuples and can be represented as the problem of computing the inner products between them as follows:
where denotes the Euclidean distance between and represents the inner product between and defined as Therefore, the core challenge is to develop an algorithm for distributed inner product computation. One can approach this problem in several ways. Table 1 shows a simple communication efficient randomized technique for computing the inner product between two vectors observed at two different sites.
So instead of sending a vector to the other site, we only need to send a vector where and the dot product can still be estimated accurately. Indeed, it can be shown that the expected value of D is and Table 1 shows some experimental results concerning accuracy. This algorithm illustrates a simple communication-efficient-way to compare a pair of data vectors observed at two different nodes. It potentially offers a building block to support the collaborative object identification and tracking problem in sensor networks where the centralized solution does not work because of limited bandwidth and power supply for the sensor nodes. Privacy of the data can be another reason for adopting the DDM technology. In many applications, particularly in security-related applications, data are privacy-sensitive. When the data are multi-party and privacy-sensitive, centralizing the data is usually not acceptable. Therefore, many data mining applications in such domains must analyze data in a distributed fashion without having to first download everything to a single site. There exists a growing number of DDM algorithms that address many data mining problems for distributed environments. The following section presents an overview.
3
Distributed Data Mining: A Brief Overview
Data mining [9], [10], [11],and [31] deals with the problem of analyzing data in scalable manner. Distributed data mining is a branch of the field of data mining that offers a
4
C. Giannella et al.
framework to mine distributed data paying careful attention to the distributed data and computing resources. In the DDM literature, one of two assumptions is commonly adopted as to how data is distributed across sites: homogeneously (horizontally partitioned) and heterogeneously (vertically partitioned). Both viewpoints adopt the conceptual viewpoint that the data tables at each site are partitions of a single global table. In the homogeneous case, the global table is horizontally partitioned. The tables at each site are subsets of the global table; they have exactly the same attributes. In the heterogeneous case the table is vertically partitioned, each site contains a collection of columns (sites do not have the same attributes). However, each tuple at each site is assumed to contain a unique identifier to facilitate matching. It is important to stress that the global table viewpoint is strictly conceptual. It is not necessarily assumed that such a table was physically realized and partitioned to form the tables at each site. Figures 1 and 2 illustrate the homogeneously distributed case using an example from weather data. Both tables use the same set of attributes. On the other hand, Figures 3 and 4 illustrate the heterogeneously distributed case. The tables have different attributes and tuples are linked through a unique identifier, Timestamp. The development of data mining algorithms that work well under the constraints imposed by distributed datasets has received significant attention from the data mining community in recent years. The field of DDM has emerged as an active area of study. The bulk of DDM methods in the literature operate over an abstract architecture which includes multiple sites having independent computing power and storage capability. Local computation is done on each of the sites and either a central site communicates with each distributed site to compute the global models or a peer-to-peer architecture is used. In the latter case, individual nodes might communicate with a resource rich centralized node, but they perform most of the tasks by communicating with neighboring nodes by message passing over an asynchronous network. For example, the sites may represent independent sensor nodes which connect to each other in an ad-hoc fashion. Some features of a distributed scenario where DDM is applicable are as follows. 1. The system consist of multiple independent sites of data and computation which communicate only through message passing. 2. Communication between the sites is expensive.
Multi-agent Systems and Distributed Data Mining
5
3. Sites may have resource constraints. 4. Sites may have privacy concerns.
Typically communication is a bottleneck. Since communication is assumed to be carried out exclusively by message passing, a primary goal of many DDM methods in the literature is to minimize the number of messages sent. Some methods also attempt to load-balance across sites to prevent performance from being dominated by the time and space usage of any individual site. As pointed out in [25], “Building a monolithic database, in order to perform non-distributed data mining, may be infeasible or simply impossible” in many applications. The cost of transferring large blocks of data may be prohibitive and result in very inefficient implementations. Surveys [17] and [24] provide a broad, up-to-date overview of DDM touching on issues such as: clustering, association rule mining, basic statistics computation, Bayesian network learning, classification, the historical roots of DDM. The collection [16] describes a variety of DDM algorithms (association rule mining, clustering, classification, preprocessing, etc.), systems issues in DDM (security, architecture, etc.), and some topics in parallel data mining. Survey [33] discusses parallel and distributed association rule mining in DDM. Survey [34] discusses a broad spectrum of issues in DDM and parallel data mining and provides a survey of distributed and parallel association rule mining and clustering. Many of the DDM applications [27,18] deal with continuous data streams. Therefore, developing DDM algorithms that can handle such stream scenarios is becoming increasingly important. An overview of the data stream mining literature can be found elsewhere [2]. Instead of looking at the broad spectrum of different DDM algorithms, this paper restricts itself to distributed clustering methods and their applicability in multi-agent systems. The following section addresses this issue.
Fig. 1. Homogeneously distributed weather data at site 1
Fig. 2. Homogeneously distributed weather data at site 2
6
C. Giannella et al.
Fig. 3. Heterogeneously distributed weather data
Fig. 4. Heterogeneously distributed grocery store data
4
Distributed Clustering Algorithms
In this section, we present an overview of various distributed clustering solutions proposed to date. We classify distributed clustering algorithms into two categories. The first group consists of methods requiring multiple rounds of message passing. These methods require a significant amount synchronization. The second group consists of methods that build local clustering models and transmit them to a central site (asynchronously). The central site forms a combined global model. These methods require only a single round of message passing, hence, modest synchronization requirements.
4.1
Multiple Communication Round Algorithms
Dhillon and Modha [3] develop a parallel implementation of the K-means clustering algorithm on distributed memory multiprocessors (homogeneously distributed data). The algorithm makes use of the inherent data parallelism in the K -means algorithm. Given a dataset of size they divide it into P blocks, (each of size roughly During each iteration of K -means, each site computes an update of the current K centroids based on its own data. The sites broadcast their centroids. Once a site has received all the centroids from other sites it can form the global centroids by averaging. Forman and Zhang [8] take an approach similar to the one presented in [3], but extend it to K-harmonic means. Note that the methods of [3] and [8] both start by partitioning and then distributing a centralized data set over many sites. This is different than the setting we consider: the data is never centralized – it is inherently distributed. However, their ideas are useful for designing algorithms to cluster homogeneously distributed data. Kargupta et al. [19] develop a collective principle components analysis (PCA)based clustering technique for heterogeneously distributed data. Each local site performs PCA, projects the local data along the principle components, and applies a known clustering algorithm. Having obtained these local clusters, each site sends a small set of representative data points to a central site. This site carries out PCA on this collected data (computes global principal components). The global principle components are sent
Multi-agent Systems and Distributed Data Mining
7
back to the local sites. Each site projects its data along the global principle components and applies its clustering algorithm. A description of locally constructed clusters is sent to the central site which combines the cluster descriptions using different techniques including but not limited to nearest neighbor methods. Klusch et al. [20] consider kernel-density based clustering over homogeneously distributed data. They adopt the definition of a density based cluster from [12] data points which can be connected by an uphill path to a local maxima, with respect to the kernel density function over the whole dataset, are deemed to be in the same cluster. Their algorithm does not find a clustering of the entire dataset. Instead each local site finds a clustering of its local data based on the kernel density function computed over all the data. In principle, their approach could be extended to produce a global clustering by transmitting the local clusterings to a central site and then combining them. However, carrying out this extension in a communication efficient manner is non-trivial task and is not discussed by Klusch et al. An approximation to the global, kernel density function is computed at each site using sampling theory from signal processing. The sites must first agree upon a cube and a grid (of the cube). Each corner point can be thought of as a sample from the space (not the data set). Then each site computes the value of its local density function at each corner of the grid and transmits the corner points along with their local density values to a central site. The central site computes the sum of all samples at each grid point and transmits the combined sample grid back to each site. The local sites can now independently estimate the global density function over all points in the cube (not just the corner points) using techniques from sampling theory in signal processing. The local sites independently apply a gradient-ascent based density clustering algorithm to arrive at a clustering of their local data. Eisenhardt et al. [5] develop a distributed method for document clustering (hence operates on homogeneously distributed data). They extend K-means with a “probe and echo” mechanism for updating cluster centroids. Each synchronization round corresponds to a K-means iteration. Each site carries out the following algorithm at each iteration. One site initiates the process by marking itself as engaged and sending a probe message to all its neighbors. The message also contains the cluster centroids currently maintained at the initiator site. The first time a node receives a probe (from a neighbor site with centroids it marks itself as engaged, sends a probe message (along with to all its neighbors (except the origin of the probe), and updates the centroids in using its local data as well as computing a weight for each centroid based on the number of data points associated with each. If a site receives an echo from a neighbor (with centroids and weights it merges and with its current centroids and weights. Once a site has received either a probe or echo from all neighbors, it sends an echo along with its local centroids and weights to the neighbor from which it received its first probe. When the initiator has received echos from all its neighbors, it has the centroids and weights which take into account all datasets at all sites. The iteration terminates. While all algorithms in this section require multiple rounds of message passing, [19] and [20] require only two rounds. The others require as many rounds as the algorithm iterates (potentially many more than two).
8
4.2
C. Giannella et al.
Centralized Ensemble-Based Methods
Many of the distributed clustering algorithms work in an asynchronous manner by first generating the local clusters and then combining those at the central site. These approaches potentially offer two nice properties in addition to lower synchronization requirements. If the local models are much smaller than the local data, their transmission will result is excellent message load requirements. Moreover, sharing only the local models may be a reasonable solution to privacy constraints in some situations; indeed, a trade-off between privacy and communication cost is discussed in [22]. We present the literature in chronological order. Some of the methods were not explicitly developed for distributed clustering, rather for combining clusterings in a centralized setting to produce a better overall clustering. In these cases we discuss how well they seem to be adaptable to a distributed setting. Johnson and Kargupta [4] develop a distributed hierarchical clustering algorithm on heterogeneously distributed data. It first generates local cluster models and then combines these into a global model. At each local site, the chosen hierarchical clustering algorithm is applied to generate local dendograms which are then transmitted to a central site. Using statistical bounds, a global dendogram is generated. Lazarevic et al. [21] consider the problem of combining spatial clusterings to produce a global regression-based classifier. They assume homogeneously distributed data and that the clustering produced at each site has the same number of clusters. Each local site computes the convex hull of each cluster and transmits the hulls to a central site along with regression model for each cluster. The central site averages the regression models in overlapping regions of the hulls. Samatova et al. [26] develop a method for merging hierarchical clusterings from homogeneously distributed, real-valued data. Each site produces a dendogram based on local data, then transmits it to a central site. To reduce communication costs,they do not send a complete description of each cluster in a dendogram. Instead an approximation of each cluster is sent consisting of various descriptive statistics e.g. number of points in the cluster, average square Euclidean distance from each point in the cluster to the centroid. The central site combines the dendogram descriptions into a global dendogram description. Strehl and Ghosh [29] develop methods for combining cluster ensembles in a centralized setting. They argue that the best overall clustering maximizes the average normalized mutual information over all clusters in the ensemble. However, they report that finding a good approximation directly is very time-consuming. Instead they develop three more efficient algorithms which are not theoretically shown to maximize mutual information, but are empirically shown to do a decent job. Given data points and N clusterings (clustering has clusters), consider an matrix H constructed by concatenating the collection of matrices for each clustering. The entry of is one if data point appears in cluster in clustering otherwise zero. One algorithm simply applies any standard similarity based clustering over the following similarity matrix The entry is the fraction of clusterings in which data point and appear in the same cluster. The other two algorithms apply hyper-graph based techniques where each column of H is regarded as a hyperedge.
Multi-agent Systems and Distributed Data Mining
9
In principle, Strehl and Ghosh’s ideas can be readily adapted to heterogeneously distributed data (they did not explicitly address this issue). Each site builds a local clustering, then a centralized representation of the H matrix is constructed. To compute H directly, each site sends to a central site. This, however, likely will involve too much communication on datasets with large numbers of tuples because is For Strehl and Ghosh’s ideas to be adapted to a distributed setting, the problem of constructing an accurate centralized representation of H using few messages need be addressed. Fred and Jain [7] report a method for combining clusterings in a centralized setting. Given N clusterings of data points, their method first constructs an co-association matrix (the same as as described in [29]). Next a merge algorithm is applied to the matrix using a single link, threshold, hierarchical clustering technique. For each pair whose co-association entry is greater than a predefined threshold, merge the clusters containing these points. In principal Fred and Jain’s approach can be adapted to heterogeneously distributed data (they did not address the issue). Each site builds a local clustering, then a centralized co-association matrix is built from all clusterings Like Strehl and Ghosh’s ideas; in order for Fred and Jain’s approach to be adapted to a distributed setting, the problem of building an accurate co-association matrix in a message efficient manner must be addressed. Jouve and Nicoloyannis [14] also develop a technique for combining clusterings. They use a related but different approach than those described earlier. They reduce the problem of combining clusterings to that of clustering a centralized categorical data matrix built from the clusterings and apply a categorical clustering algorithm (KEROUAC) of their own. The categorical data matrix has dimensions and is defined as follows. Assume clustering has clusters labeled The entry is the label of the cluster (in the clustering) containing data point The KEROUAC algorithm does not require the user to specify the number of clusters desired in the final clustering. Hence, Jouve and Nicoloyannis’ method does not require the desired number of clusters in the combined clustering to be specified. Like the approaches in [29] and [7], Jouve and Nicoloyannis’ technique can be readily adapted to heterogeneously distributed data. A centralized categorical data matrix is built from the local clusterings, then the central site applies KEROUAC (or any other categorical data clustering algorithm). However, the problem of building an accurate matrix in a message efficient manner must be addressed (despite the fact that their title contains “Applications for Distributed Clustering”, they did not address the issue). Topchy et al. [30] develop an intriguing approach based on combining many weak clusterings in a centralized setting. One of the weak clusterings used projects the data onto a random, low-dimensional space (1-dimensional in their experiments) and performs K-means on the projected data. Then, several methods for combining clusterings are used based on finding a new clustering with minimum sum “difference” between each of the weak clusterings (including methods from [29]). His idea does not seem directly applicable to a distributed setting where reducing message communication is the central goal. Hence, the work saved at each site by producing a weak clustering is not of much importance. However, he discusses several new ideas for combining clusterings which are of independent interest. For example, he shows that when using generalized
10
C. Giannella et al.
mutual information, maximizing the average normalized mutual information consensus measure of Strehl and Ghosh is equivalent to minimizing a square-error criterion. Merugu and Ghosh [22] develop a method for combining generative models produced from homogeneously distributed data (a generative model is a weighted sum of multi-dimensional probability density functions i.e. components). Each site produces a generative model from its own local data. Their goal is for a central site to find a global model from a pre-defined family (e.g. multivariate, 10 component Gaussian mixtures), which minimizes the average Kullback-Leibler distance over all local models. They prove this to be equivalent to finding a model from the family which minimizes the KL distance from the mean model over all local models (point-wise average of all local models). They assume that this mean model is computed at some central site. Finally the central site computes an approximation to the optimal model using an EM-style algorithm along with Markov-chain Monte-carlo sampling. They did not discuss how the centralized mean model was computed. But, since the local models are likely to be considerably smaller than the actual data, transmitting the models to a central site seems to be a reasonable approach. Januzaj et al. [13] extend a density-based centralized clustering algorithm, DBSCAN, by one of the authors to a homogeneously distributed setting. Each site carries out the DBSCAN algorithm, a compact representation of each local clustering is transmitted to a central site, a global clustering representation is produced from local representations, and finally this global representation is sent back to each site. A clustering is represented by first choosing a sample of data points from each cluster. The points are chosen such that: (i) each point has enough neighbors in its neighborhood (determined by fixed thresholds) and (ii) no two points lie in the same neighborhood. Then K-means clustering is applied to all points in the cluster, using each of the sample points as an initial centroid. The final centroids along with the distance to the furthest point in their K-means cluster form the representation (a collection point, radius pairs). The DBSCAN algorithm is applied at the central site on the union of the local representative points to form the global clustering. This algorithm requires an parameter defining a neighborhood. The authors set this parameter to the maximum of all the representation radii. Methods [13], [22], and [26] are representatives of the centralized ensemble-based methods. These algorithms focus on transmitting compact representations of a local clustering to a central site which combines to form a global clustering representation. The key to this class of methods is in the local model (clustering) representation. A good one faithfully captures the local clusterings, requires few messages to transmit, and is easy to combine. Both the ensemble approach and the multiple communication round-based clustering algorithms usually work a lot better than their centralized counterparts in a distributed environment. This is well documented in the literature. While, the DDM technology requires further advancement for dealing with peer-to-peer style and heterogeneous data, the current collection of algorithms offer a decent set of choices. The following section organizes the distributed clustering algorithms based on the data distribution (homogeneous vs. heterogeneous) they can handle.
Multi-agent Systems and Distributed Data Mining
11
Homogeneous vs. Heterogeneous Clustering Literature. A common classification of DDM algorithms in the literature is: those which apply to homogeneously distributed (horizontally partitioned) or heterogeneously distributed (vertically partitioned) data. To help the reader sort out the clustering methods we have described, we present the four-way classification seen in Table 4.2.
Fig. 5. Four-way clustering algorithms classification
The following section considers a specific instance of a DDM problem—analyzing data in a sensor network with peer-to-peer communication architecture. It identifies some of the constraints in clustering data in such environments, offers a perspective of the existing distributed clustering algorithms in the context of this particular application, and points out areas that require further research.
5
Sensor Networks, Distributed Clustering, and Multi-agent Systems
Sensor networks are finding increasing number of applications in many domains, including battle fields, smart buildings, and even human body. Most sensor networks consist of a collection of light-weight (possibly mobile) sensors connected via wireless links to each other or to a more powerful gateway node that is in turn connected with an external network through either wired or wireless connections. Sensor nodes usually communicate in a peer-to-peer architecture over an asynchronous network. In many applications, sensors are deployed in hostile and difficult to access locations with constraints on weight, power supply, and cost. Moreover, sensors must process a continuous (possibly fast) stream of data. The resource-constrained distributed environments of the sensor networks and the need for collaborative approach to solve many of the problems in this domain make multi-agent systems-architecture an ideal candidate for application development. For example, a multi-agent sensor-network application utilizing learning algorithms is reported in [27]. This work reports development of embedded sensors agents used to create an integrated and semi-autonomous building control system. Agents embedded on sensors such as temperature and light-level detectors, movement or occupancy sensors are used in conjunction with learning techniques to offer smart building functionalities. The peer-to-peer communication-based problem solving capabilities are important for sensor networks and there exists a number of multi-agent system-based different applications that explored these issues. Such systems include: an agent based referral system for peer-to-peer(P2P) file sharing networks [32], and
12
C. Giannella et al.
an agent based auction system over a P2P network [23]. A framework for developing agent based P2P systems is described in [1]. Additional work in this area can be found elsewhere [27,28,6]. The power of multi-agent-systems can be further enhanced by integrating efficient data mining capabilities and DDM algorithms may offer a better choice for multi-agent systems since they are designed to deal with distributed systems. Clustering algorithms are likely to play an important role in many sensor-networkbased applications. Segmentation of data observed by the sensor nodes for situation awareness, detection of outliers for event detection are only a few examples that may require clustering algorithms. The distributed and resource-constrained nature of the sensor-networks demands a fundamentally distributed algorithmic solution to the clustering problem. Therefore, distributed clustering algorithms may come handy [18] when it comes to analyzing sensor network data or data streams. Clustering in sensor-networks offers many challenges, including, 1. 2. 3. 4. 5.
limited communication bandwidth, constraints on computing resources, limited power supply, need for fault-tolerance, and asynchronous nature of the network
Distributed clustering algorithms for this domain must address these challenges. The algorithms discussed in the previous section addresses some of the issues listed above. For example, most of these distributed clustering algorithms are lot more communication efficient compared to their centralized counterparts. There exists several exact distributed clustering algorithms, particularly for homogeneous data. In other words, the outcome of the distributed clustering algorithms are provably same as that of the corresponding centralized algorithms. For heterogeneous data, the number of choices for distributed clustering algorithms is relatively limited. However, there do exist several techniques for this latter scenario. Most of the distributed clustering algorithms are still in the domain of academic research with a few exceptions. Therefore, the scalability properties of these algorithms are mostly studied for moderately large number of nodes. Although the communication-efficient aspects of these distributed clustering algorithms help addressing the concerns regarding restricted bandwidth and power supply, the need for fault-tolerance and P2P communication-based algorithmic approach are yet to be adequately addressed in the literature. The multiple communication round-based clustering algorithms described in Section 4 involve several rounds of message passing between nodes. Each round can be thought of as a node synchronization point (multiple sensor synchronizations are required). This may not go very well in a sensor network-style environment. Centralized ensemble-based algorithms provide us with another option. They do not require global synchronization nor message passing between nodes. Instead, all nodes communicate a model to a central node(which combines the models). In absence of a central controlling site one may treat a peer as a central combiner and then apply the algorithms. We can envision a scenario in which an agent at a sensor node initiates the clustering process and as it is the requesting node, it performs the process of combining the local cluster models received from the other agents. However, most of the centralized ensemble-based method algorithms are not specifically designed to deal
Multi-agent Systems and Distributed Data Mining
13
with stream data. That is something that we may need to address in the immediate future. Algorithms such as [13], [22], [26] deal with the limited communication issue by transmitting compact, lossy models (rather than complete specifications of the clusterings), which may be necessary for a sensor-network-based application. The following section concludes this paper.
6
Conclusions
Multi-agent systems are fundamentally designed for collaborative problem solving in distributed environments. Many of these application environments deal with empirical analysis and mining of data. This paper suggests that traditional centralized data mining techniques may not work well in many distributed environments where data centralization may be difficult because of limited bandwidth, privacy issues and/or the demand on response time. This paper pointed out that distributed data mining algorithms may offer a better solution since they are designed to work in a distributed environment by paying careful attention to the computing and communication resources. The paper focused on distributed clustering algorithms and their applications in sensor networks just to illustrate some of the existing challenges and weaknesses of the DDM algorithms. It noted that while these algorithms usually perform way better than their centralized counter-parts on grounds of communication efficiency and power consumption, there exist several open issues. Developing peer-to-peer versions of these algorithms for asynchronous networks and paying attention to fault-tolerance are some examples. Nevertheless, existing pleasures of distributed clustering algorithms do provide a reasonable class of interesting choices for the next generation of multi-agent systems that may require analysis of distributed data.
Acknowledgments The authors thank the U.S. National Science Foundation for support through grants IIS-0329143 and IIS-0093353. The authors also thank Haimonti Dutta for many useful discussions.
References 1. Babaoglu O., Meling H., and Montresor A. Anthill: a framework for the development of agent-based peer-to-peer systems. Technical Report 9, Department of Computer Science, University of Bologna, November 2001. 2. Babcock B., Babu S., Datar M., Motwani R., and Widom J. Models and Issues in Data Stream Systems. In Proceedings of the 21th ACM SIGMOD-SIGACT-SIGART Symposium on Principals of Database Systems (PODS), pages 1–16, 2002. 3. Dhillon I. and Modha D. A Data-clustering Algorithm on Distributed Memory Multiprocessors. In Proceedings of the KDD’99 Workshop on High Performance Knowledge Discovery, pages 245–260, 1999.
14
C. Giannella et al.
4. Johnson E. and Kargupta H. Collective, Hierarchical Clustering From Distributed, Heterogeneous Data. In M. Zaki and C. Ho, editors, Large-Scale Parallel KDD Systems. Lecture Notes in Computer Science, volume 1759, pages 221–244. Springer-Verlag, 1999. 5. Eisenhardt M., Muller W., and Henrich A. Classifying Documents by Distributed P2P Clustering. In Proceedings of lnformatik 2003, GI Lecture Notes in Informatics, Frankfort, Germany, 2003. 6. Farinelli A., Grisetti G., locchi L.,Lo Cascio S.,Nardi D. Design and evaluation of multi agent systems for rescue operations. In IEEE/RSJ International Conference on Intelligent Robots and Systems, volume 4, pages 3148–3143, 2003. 7. Fred A. and Jain A. Data Clustering Using Evidence Accumulation. In Proceedings of the International Conference on Pattern Recognition 2002, pages 276–280, 2002. 8. Forman G. and Zhang B. Distributed Data Clustering Can Be Efficient and Exact. SIGKDD Explorations, 2(2):34–38, 2000. 9. Han J. and Kamber M. Data Mining: Concepts and Techniques. Morgan Kaufman Publishers, San Francisco, CA, 2001. 10. Hand D., Mannila H., and Smyth P. Principals of Data Mining. MIT press, Cambridge, Mass, 2001. 11. Hastie T., Tibshirani R., and Friedman J. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer-Verlag, Berlin, Germany, 2001. 12. Hinneburg A. and Keim D. An Efficient Approach to Clustering in Large Multimedia Databases with Noise. In Proceedings of the 1998 International Confernece on Knowledge Discovery and Data Mining (KDD), pages 58–65, 1998. 13. Januzaj E., Kriegel H.-P., and Pfeifle M. DBDC: Density Based Distributed Clustering. In Proceedings of EDBT in Lecture Notes in Computer Science 2992, pages 88–105, 2004. 14. Jouve P. and Nicoloyannis N. A New Method for Combining Partitions, Applications for Distributed Clustering. In Proceedings of Workshop on Parallel and Distributed Computing for Machine Learning as part of the 14th European Conference on Machine Learning, 2003. 15. Kahn J., Katz R., and Pister K. Mobile networking for smart dust. In ACM/IEEE Intl. Conf. on Mobile Computing and Networking (MobiCom 99), 1999. 16. Kargupta H. and Chan P. (editors). Advances in Distributed and Parallel Knowledge Discovery. AAAI press, Menlo Park, CA, 2000. 17. Kargupta H. and Sivakumar K. Existential Pleasures of Distributed Data Mining. In Data Mining: Next Generation Challenges and Future Directions, edited by H. Kargupta, A. Joshi, K. Sivakumar, and Y. Yesha, MIT/AAAI Press, 2004. 18. Kargupta H., Bhargava R., Liu K., Powers M., Blair P., and Klein M. VEDAS: A Mobile Distributed Data Stream Mining System for Real-Time Vehicle Monitoring. In Proceedings of the 2004 SIAM International Conference on Data Mining, 2004. 19. Kargupta H., Huang W., Sivakumar K., and Johnson E. Distributed clustering using collective principal component analysis. Knowledge and Information Systems Journal, 3:422–448, 2001. 20. Klusch M., Lodi S., and Moro G. Distributed Clustering Based on Sampling Local Density Estimates. In Proceedings of the Joint International Conference on AI (IJCAI 2003), 2003. 21. Lazarevic A., Pokrajac D., and Obradovic Z. Distributed Clustering and Local Regression for Knowledge Discovery in Multiple Spatial Databases. In Proceedings of the 8th European Symposium on Artificial Neural Networks, pages 129–134, 2000. 22. Merugu S. and Ghosh J. Privacy-Preserving Distributed Clustering Using Generative Models. In Proceedings of the IEEE Conference on Data Mining (ICDM), 2003. 23. Ogston E. and Vassiliadis, S. . A Peer-to-Peer Agent Auction. In First International Joint Conference on Autonomous Agents and Multi-Agent Systems, pages 150–159, 2002.
Multi-agent Systems and Distributed Data Mining
15
24. Park B. and Kargupta H. Distributed Data Mining: Algorithms, Systems, and Applications. In The Handbook of Data Mining, edited by N. Ye, Lawrence Erlbaum Associates, pages 341–358, 2003. 25. Provost F. Distributed Data Mining: Scaling Up and Beyond. In Advances in Distributed and Parallel Knowledge Discovery, edited by H. Kargupta, A. Joshi, K. Sivakumar, and Y. Yesha, MIT/AAAI Press, pages 3–27, 2000. 26. Samatova N., Ostrouchov G., Geist A., and Melechko A. RACHET: An Efficient CoverBased Merging of Clustering Hierarchies from Distributed Datasets. Distributed and Parallel Databases, 11 (2): 157–180, 2002. 27. Sharpies S., Lindemann C., and Waldhorst O. A Multi-Agent Architecture For Intelligent Building Sensing and Control. In International Sensor Review Journal, 1999. 28. Soh L.-K. and Tsatsoulis C. Reflective Negotiating Agents for Real-Time Multisensor Target Tracking. In International Joint Conference On Artificial Intelligence, 2001. 29. Strehl A. and Ghosh J. Cluster Ensembles – A Knowledge Reuse Framework for Combining Multiple Partitions. Journal of Machine Learning Research, 3:583–617, 2002. 30. Topchy A., Jain A., and Punch W. Combining Multiple Weak Clusterings. In Proceedings of the IEEE Conference on Data Mining (ICDM), 2003. 31. Witten I. and Frank E. Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations. Morgan Kaufman Publishers, San Fransisco, 1999. 32. Yu B. and Singh M. Emergence of Agent-Based Referral Networks. In Proceedings of First International Joint Conference on Autonomous Agents and Multi-Agent Systems, pages 1208–1209, 2002. 33. Zaki M. Parallel and Distributed Association Mining: A Survey. IEEE Concurrency, 7(4):14–25, 1999. 34. Zaki M. Parallel and Distributed Data Mining: An Introduction. In Large-Scale Parallel Data Mining (Lecture Notes in Artificial Intelligence 1759), edited by Zaki M. and Ho C. -T., Springer-Verlag, Berlin, pages 1–23, 2000.
Society-Centered Design for Socially Embedded Multiagent Systems Toru Ishida Department of Social Informatics, Kyoto University
[email protected]
Abstract. To realize large-scale socially embedded multiagent systems, this paper proposes a new system design methodology towards society-centered design. We have already developed the scenario description language Q, which describes interaction protocols that link agents to society. Using the virtual space called FreeWalk, wherein agents behave under given Q scenarios, we explain each step of society-centered design. The process consists of participatory simulation, where agents and human-controlled avatars coexist in virtual space to jointly perform simulations, and augmented experiment, where an experiment is performed in real space by human subjects, scenariocontrolled agents, and human extras. As an application of society-centered design, we are working on mega navigation, where millions of humans and socially embedded agents collaborate for developing services for traffic control, crisis management and large-scale event navigation.
1 Introduction The waterfall model has been used as a software development model for a long time. Given the increase in human-computer interaction, however, it has become essential to use the user-centered design approach when creating usable and accessible interactive systems. It is natural to ask whether or not we need a different model for mobile/ubiquitous/pervasive computing, where thousands or millions of computers or electronic devices are connected in an ad hoc manner. Agent-based software engineering has been intensively studied [12]. Large scale multiagent systems may be a natural solution [14,20]. The problem is how to ensure that they yield adequate behavior: “adequate behavior” does not merely mean computationally correct behavior, but appropriate social behavior when embedded in human societies. It is known that the behavior of socially embedded systems is hard to predict, not only because the system is highly distributed, but also because the system is exposed to the impact of human interaction. In this paper, in contrast to user-centered design, we pursue society-centered design, where participatory technologies are applied to confirm the adequateness of socially embedded systems; the following steps provide a description of this approach. 1. Describe interaction protocols linking service agents and users so as to define the expected behaviors of socially embedded agents. We have been developing the scenario description language Q [10] for this purpose. M. Klusch et al. (Eds.): CIA 2004, LNAI 3191, pp. 16–29, 2004. © Springer-Verlag Berlin Heidelberg 2004
Society-Centered Design for Socially Embedded Multiagent Systems
17
2. Perform multiagent simulation by modeling the autonomous behaviors of service agents and users under the given protocols. The simulation takes place in virtual space by service agents and simulated users (we call both agents). Results of the simulation can estimate how the entire system would work in society. 3. Replace some of the simulated users by human-controlled avatars to perform a participatory simulation; the human subjects directly control their avatars. The simulation is performed in virtual space, and the avatars are controlled by the humans sitting in front of their desktop computers. From the results of the participatory simulation, we can improve the models of service agents and users, as well as the interaction protocols. 4. Perform experiments in a real space to try out the entire system with human subjects. Since the number of human subjects is often limited, however, the experiment should be augmented by scenario-controlled agents and human extras. We called this the augmented experiment; note that most of participants are virtual constructs.
Drogoul et al. proposed a methodological process for developing multiagent-based simulations, and introduced the idea of the participatory design of simulations [5]. Bousquet et al. applied role games to modeling multiagent systems [3]. In this paper, we propose participatory technologies to conduct simulations and experiments for large-scale socially embedded systems. In the following sections, we explain the society-centered design approach in detail, through visualizing it by using FreeWalk [16], a virtual space platform developed by the digital city project in Kyoto [11]. At the end of this paper, we apply the above steps to design mega navigation; the goal is to create services for traffic control, crisis management and large-scale event navigation where millions of people may be involved.
2 Scenario Engineering In this section, we focus on interaction protocols to link agents, not on the internal mechanisms of the agents. We view interaction protocols as behavioral guidelines of socially embedded agents, while agents keep certain degree of autonomy under the given constraints. We call the description of interaction protocols as scenarios. For realistic applications, since scenario writers are often not computing professionals, the correctness of scenarios for multiple agents is not guaranteed. Problems in scenarios should be adjusted not by proving their correctness but by conducting rehearsals. To monitor rehearsals, visualizing the scenario execution processes becomes essential. Q is a scenario description language for multiagent systems that allows us to define how agents are expected to interact with each other. Q’s language functionality is summarized as follows. Cues and Actions An event that triggers interaction is called a cue. Cues are used to request agents to observe their environment. No cue is permitted to have any side effect. Cues keep on waiting for the event specified until the observation is completed successfully. Compared to cues, actions are used to request agents to change their environment.
18
T. Ishida
Fig. 1. Q Scenario and Interaction Pattern Card (with Y. Murakami and A. Yamamoto)
Scenarios Guarded commands are introduced for the situation wherein we need to observe multiple cues simultaneously. A guarded command combines cues and actions; after one of the cues becomes true, its corresponding actions are performed. A scenario is used for describing protocols in the form of an extended finite state machine, where each state is defined as a guarded command. Scenarios can be called from other scenarios.
Society-Centered Design for Socially Embedded Multiagent Systems
19
Agents and Avatars Agents, avatars and a group of agents can be defined. An agent is defined by a scenario that specifies what the agent is to do. Even if a group of agents executes the same scenario, the agents exhibit different actions as they interact with their local environment (including other agents and avatars). Avatars are controlled by humans, and do not usually require any scenario. Figure 1(a) shows an example scenario for Microsoft agents. Agents can be autonomous or dependent. If autonomous, scenarios cannot be complex; if not, scenario writers can specify all details. Note that the granularity of cues and actions depends on two independent factors: the level of agent autonomy, and the degree of preciseness required by the scenario writer. Figure 2 shows the Q architecture for handling scenarios. When a scenario is given to a particular agent, a Q processor is instantiated and coupled to the corresponding agent system. The agent system is usually capable of hosting multiple agents. For example, the three dimensional virtual space FreeWalk can support hundreds of agents simultaneously. Consequently, the Q interpreter is designed to execute hundreds of scenarios simultaneously. Though the Q processor is implemented at the top of the Scheme, the program interface supports C++ and JAVA software, so it is easy to add Q to legacy agent systems. Q has been already combined with Microsoft, FreeWalk, CORMAS [2,22] and Caribbean [23,24] agents.
Fig. 2. Q Architecture
In order to develop successful socially embedded systems, scenario writers must provide appropriate scenarios to agents. It is necessary to establish a procedure that models agents at an appropriate level of abstraction. We propose the following threestep procedure for creating scenarios [15].
20
T. Ishida
STEP1: Define a Vocabulary A scenario writer and an agent system developer agree upon cues and actions as the interface between them. Note that cues and actions are not provided a priori by Q language but are defined for each application domain. STEP2: Write Scenarios The scenario writer describes scenarios using Q language, while the agent system developer implements cues and actions. STEP3: Extract Interaction Patterns Patterns of interaction are extracted from already written scenarios, and are used to define Interaction Pattern Cards (IPC). Scenario writers then describe scenarios by using the cards, and use their experience to further improve the definition of the cards. Figure 1(b) indicates an IPC representation that is the exactly equivalent of the Q scenarios in Figure 1(a). Note that IPC is not merely an Excel representation of Q language; it is a language to express interaction patterns in a particular domain. The introduction of IPC not only provides a simple means of writing scenarios, but also facilitates dialogs between scenario writers and agent system developers.
3 Participatory Simulation There are two types of multiagent-based simulations depending on their purposes; a) analytic multiagent-based simulations with a simple internal model of agents (hereafter referred to as analytic simulations) and b) synthetic multiagent-based simulation with a complex internal model of agents (hereafter referred as synthetic simulation). Analytic simulations have been used to analyze complex social systems. Here, the KISS principle (Keep It Simple, Stupid) is often applied [1]. The KISS principle states that agent modeling should be simple even though the observed phenomenon is complex, and that complexity should be a result of agent interaction. Hence, agents are expressed using a simple computational model that incorporates limited parameters. This approach is mainly used in the analysis of the relationship between the macro properties of the entire system and the micro properties of the agents constituting the system [7], On the other hand, synthetic simulation is used for the reproduction of reality-based situations. Agent models reflecting the real world are created to make the simulation as realistic as possible. This approach is used in an early stage of system development [13], in the examination of strategies for decision making, and in education or training [19]. In our society-centered design approach, we first conduct synthetic multiagentbased simulations, and then replace some of the agents by human-controlled avatars: humans directly control agents in multiagent-based simulations. We call simulation including human-controlled avatars as multiagent-based participatory simulation (hereafter referred to as participatory simulation). Figure 3 illustrates how to realize participatory simulations. Since the scenario processor interprets interaction protocols and requests agents to perform sensing and acting functions, it is easy to realize participatory simulation by replacing scenario-
Society-Centered Design for Socially Embedded Multiagent Systems
21
controlled agents with human-controlled avatars. We can monitor the entire process of simulation by visualizing the virtual space as described in Figure 3(b). Recording videos of behaviors of human subjects in real space is useful for analyzing simulation results.
Fig. 3. Participatory Simulation
We conducted a participatory simulation in the evacuation domain. We simulated the controlled experiments conducted by Sugiman in 1988 [21]. He established a simple environment with human subjects to determine the effectiveness of two evacuation methods: the Follow-direction method and the Follow-me method. In the former, the leader shouts out evacuation instructions and eventually moves toward the exit. In the latter, the leader tells a few of the nearest evacuees to follow him and actually proceeds to the exit without verbalizing the direction of the exit. Sugiman used university students as evacuees and monitored the progress of the evacuations with different number of leaders. The experiment was held in a basement that was roughly ten meters wide and nine meters long; there were two exits, one of which was not obvious to the evacuees. The ground plan of the basement is shown in Figure 4. Our first evacuation simulation used scenarios with simulated leaders and evacuees in a two-dimensional virtual space as displayed in Figure 4(a). This simulation showed that the Follow-me method outperforms the Follow-direction method when there are enough leaders. Since the simulation results closely parallel those recorded in Sugiman’s controlled experiment, we could conclude that the agents were reasonably well modeled [15]. We then examined the same scenario in the three-dimensional virtual space Free Walk. A difference between the two-dimensional and three-dimensional simulations is that the latter allows humans to join the simulation: human subjects can sense their environment and control their avatars in the virtual space. A participatory simulation was then performed with six human subjects: we replaced six out of twenty scenario-controlled agents by human-controlled avatars. The virtual space is designed so that human subjects cannot distinguish agents and avatars. By analyzing the logs and videos of simulations, we leaned that a) evacuees look for leaders not by their ears but by their eyes, b) when finding a leader, evacuees tend to approach the leader, even if the Follow-direction method is performed, and c) when losing their leaders, evacuees follow other evacuees moving in the same direction.
22
T. Ishida
Once an accurate model is acquired by participatory simulations, it becomes possible to simulate an experiment that has not conducted in real space. For example, Sugiman’s experiment was performed by two or four leaders, but we can vary the number to clarify the relation between the number of leaders and the time required for evacuation. Moreover, we can explore an effective combination of the Follow-me and Follow-direction methods. Participatory simulations are useful to educate or train people once we obtain accurate agent models and interaction protocols. It provides people with a vicarious experiential learning environment wherein evacuation or other drills can be experienced.
Fig. 4. Evacuation Simulation (with T. Kawasoe and K. Minami)
Many technical issues remain with participatory simulations. First, time management becomes difficult in participatory simulations. In our current design of multiagent-based simulations, the scenario interpreter has no responsibility for time management: time is controlled by the agent systems executing the sensing and acting functions. Therefore, in FreeWalk/Q, just as any combination between Q and other agent systems, only Free Walk manages time. To make this reasonable, however, we should assume that the scenario processor runs far more rapidly than the agent systems executing sensing and acting functions. This assumption becomes problematic if we use high-performance grid platforms as agent systems [8]. Furthermore, since human subjects play the simulation in real space, we need to keep time consistency among virtual and real spaces. Another issue is that learning from human subjects is not straightforward. By analyzing the logs of participatory simulation, we can improve the interaction protocols and agent models in several different ways. For example, in the evacuation domain, if the participatory simulation results differ from the expectation, there are
Society-Centered Design for Socially Embedded Multiagent Systems
23
several choices: to modify a given interaction protocol, such as Follow-me or Followdirection methods, to modify simulated human models, or to regard the results just as an exception. To appropriately learn lessons from simulation results, we should carefully analyze the data. Machine learning can help this analysis, and so will become a central issue in participatory simulation.
4 Augmented Experiment To understand how people accept/reject socially embedded systems, many real-world experiments have been conducted. A well-known example involves video phones. Since the value of video phones depends on the number of users, and user behavior in everyday life is not easy to simulate in virtual space, it is essential to observe how users accept and utilize the new technology. In mobile/ubiquitous/pervasive computing, however, because of a large number of electronic devices are embedded in human society, it is costly or often impossible to conduct experiments in real space. Augmented experiments have the concept of performing experiments with a small number of human subjects in real space with augmentation by multiagent systems. We call such experiments multiagent-base augmented experiments (hereafter referred to as augmented experiments).
Fig. 5. Augmented Experiment
Figure 5 illustrates how to realize augmented experiments. To provide enough reality to the human subjects, we need human extras around the subjects. In contrast to participatory simulations, the human extras do not control avatars, while agents in virtual space control the human extras. To monitor an entire experiment, the behavior of human subjects should be reproduced in virtual space. This can be realized if the real space is equipped with enough sensors. To analyze the entire experiment, however, video capture of the real space is indispensable in augmented experiments. The augmented experiment approach is not effective for controlled experiments with just a few subjects; instead, human subjects would be used rather than extras and complex virtual systems. For testing evacuation methods in open space like railway
24
T. Ishida
stations, however, we need augmented experiments, since there is no other way to conduct realistic experiments. To perform augmented experiments, we have placed more than twenty cameras in Kyoto subway stations, and successfully captured the movements of passengers in real time. We then reproduced their behavior in virtual space. We have implemented a monitoring system based on transcendent communication [17]. The bird’s-eye view of real space is reproduced on the screen of the control center so as to monitor the experiment. Figure 6 is a snapshot of a monitoring system; evacuees on a subway station platform are projected in virtual space. A leader in the control center can easily monitor the experiment. Furthermore the leader can point at particular passengers on the screen, and talk to them through mobile phones. When the monitor detects pointing operations, the audio connection is immediately activated between the control center and indicated passengers. A dragging operation indicating a rectangular area enables the leader to broadcast an announcement to a group of passengers.
Fig. 6. Transcendent Communication at Kyoto Subway Station (with H. Nakanishi and H. Ito)
The difficulty with augmented experiments is providing the human subjects with a sufficient level of reality. This is not easy if the number of human extras is limited. If there are not enough extras, their roles should be reassigned during the experiment. To control human extras by scenarios in a timely fashion, agents need to receive sensing information from the corresponding human extras. This is possible by embedding sensors into the experiment environment. Another difficulty is how to evaluate the results of experiments. The evaluation of agent models and interaction scenarios can be done by comparing the results of augmented experiments to those of multiagent-based simulations. Learning issues are similar to participatory simulations, but the evaluation is more difficult, since the behaviors of human subjects in real space are hard to analyze.
5 Example: Mega Navigation To apply society-centered design to large scale multiagent systems, we started a project called mega navigation; it assumes that at least a million agents are embedded in society.
Society-Centered Design for Socially Embedded Multiagent Systems
25
One agent serves one human by guiding him/her for traffic control, crisis management and large-scale event navigation. To draw a clear image of mega navigation, examples of the Beijing Olympics in 2008 are listed below. We assume that third generation mobile phones with GPS will be in wide use in Beijing at that time. Restaurant Recommendation: Suppose one company is planning to develop a restaurant recommendation service for foreign tourists. Tourists can get his location by GPS and can take a photo of the restaurants visited and their recommendations. The company expects tourists to provide the recommendations voluntarily. The question is whether or not the tourists will participate and upload/download recommendations. Since the information available can be consumed at no cost (the abuse of the commons), the response seems quite personal. Smart Tag: This company is also developing a smart tag for tourists so that they can easily find new friends who have similar hobbies, preferences, and schedules. Can we expect tourists to store their personal information in the tag? The company believes that the smart tag will help tourists to create their own communities, which would make the restaurant recommendation service community-oriented. Traffic Control: Traffic jams will increase in Beijing during the Olympics. But nobody knows how crowded the roads and Olympic facilities will become. The company is planning to guide people to less crowded roads and venues by using data of the tourists’ smart tags. Will tourists follow the instructions? To decrease traffic jams in Beijing, demand responsive bus services might be a good idea. However, it is hard to know how tourists will respond to this service. Crisis Management: Suppose a disaster happens during the Olympics. The company provides navigation service for people who have GPS mobile phones. It is expected that people with mobile phones send their locations and telephone numbers to the company. At the control center, the locations of such people are displayed on a large screen. Using transcendent communication, the control center talks to people to get local information, and asks them to guide surrounding people to safe areas. Will people voluntarily join this service? How many GPS mobile phone users are necessary to provide safe guidance to all citizens in Beijing? Research on large-scale multiagent systems has just started [18]. To handle a million people, we have been developing a mega navigation platform by combining Q and Caribbean [21,22]. Caribbean is a large-scale agent server designed for handling a million agents. Agents are created in the Caribbean server and persist in the server. Caribbean agents communicate with other agents via asynchronous peer-to-peer messaging. When a message is delivered to a particular agent, the corresponding activity of the agent is invoked. Agents can invoke service objects, which provide common services such as database management. Figure 7 shows how we connect Q and Caribbean. As in the case of FreeWalk/Q, time management is performed by Caribbean. Since Caribbean is a mega-scale agent server, however, it appears that Q cannot guarantee to run scenarios faster than Caribbean. To make time management easier, we are currently developing a translator to turn Q scenarios into Caribbean activities.
26
T. Ishida
We plan to use Caribbean/Q to conduct participatory simulations and augmented experiments on the service examples listed above. Traffic control problems [6] and demand bus services [4] are common examples in the agent research community. Multiagent-based simulation for demand responsive bus services is straightforward: we first define an interaction protocol between passengers and bus companies, run simulation with agents that simulate passengers, bus drivers and bus companies.
Fig. 7. Mega Navigation Platform
The corresponding participatory simulations are not straightforward. We want to focus on passengers’ decision making. It is not obvious, though, how human subjects in front of desktop computers can make realistic decisions given several options: wait for a bus, give up and walk, take a taxi, etc. Augmented experiments, on the other hand, would be enjoyable. A human subject with a mobile phone would actually make a phone call to the bus control center. One bus is allocated for him/her in virtual space, but the human subject cannot ride a virtual bus. To provide enough reality to the human subject, a real vehicle (maybe a chartered taxi if the budget is limited) is used to realize the virtual bus. The human subject then rides on the bus. Several simulated users may share the bus with the human subject. The bus stops at several places to let the simulated users get off the bus. Finally, the bus stops at the destination of the human subject, lets him/her get off, and the bus becomes virtualized afterwards. The real vehicle then becomes available to realize another virtual bus.
6 Conclusions In this paper, we proposed society-centered design for making large-scale agent systems run in human societies. We proposed a paradigm shift from user-centered design, where
Society-Centered Design for Socially Embedded Multiagent Systems
27
individual usability is a major concern, to society-centered design, where usability in the community becomes essential. Using multiagent-based simulations, we invented a system design process including participatory simulations and augmented experiments so as to confirm the adequateness of socially embedded multiagent systems. FreeWalk/Q is used to visualize those steps of society-centered design. Though the concept of society-centered design is open-ended, we proposed to include the following three components. Scenario Engineering: We developed Q, a scenario description language, to define interaction protocols that link agents and humans. Scenarios also foster the emergence of dialogs between agent designers (computing professionals) and application designers (scenario writers). Q has been combined with several legacy agent systems: Microsoft, FreeWalk, CORMAS and Caribbean agents. The reason that totally different agent systems can be supported is because Q is designed to describe interactions among legacy agents. Participatory Simulation: We call multiagent-based simulations that include human-controlled avatars participatory simulations. In our framework, since agents are controlled by scenarios, it is easy to realize participatory simulations by replacing agents by human-controlled avatars. We can monitor the entire process of a participatory simulation by visualizing the virtual space. Augmented Experiment: We call real-world experiments augmented by simulated users augmented experiments. Given that mobile/ubiquitous/pervasive computing will see a large number of computers or electronic devices embedded in human society, it will be costly or impossible to conduct experiments in real space. Augmented experiments enable us to perform experiments with a small number of human subjects. We then introduced mega navigation as an example of society-centered design. We have started working on guide services for a million people who are connected via wireless networks. We implemented Caribbean/Q as a mega navigation platform. By using examples of services for the Beijing Olympics, we showed the potential of applications such as traffic control, crisis management and large scale event navigation. Society-centered design focuses on the process to embed large-scale multiagent systems into human societies, and is suitable for designing community support systems [9]. This methodology differs from the Gaia methodology [25], which focuses on an early stage of designing multiagent systems mainly for enterprise applications. As more humans and agents coexist, the need for describing interaction scenarios becomes essential. If we allow agents to be completely autonomous, the whole system becomes hard to control. It is necessary to give social constraints as scenarios so that the behaviors of agents are reasonable. Remaining research issues include the topic of how agents learn to behave under given social constraints.
Acknowledgements The author thanks to Stéphane Bonneaud, Francois Bousquet, Alexis Drogoul, Reiko Hishiyama, Hideaki Ito, Tomoyuki Kawasoe, Zhiqiang Liu, Kazuhisa Minami, Yohei
28
T. Ishida
Murakami, Hideyuki Nakanishi, Daisuke Torii, Hirofumi Yamaki, Akishige Yamamoto and Gaku Yamamaoto for discussing and contributing to this work. The work is supported by Japan Science and Technology Agency.
References 1. R. Axelrod. The Complexity of Cooperation: Agent-Based Models of Competition and Collaboration. Princeton University Press, pp. 4–5, 1997. 2. F. Bousquet, I. Bakam, H. Proton and C. Le Page. Cormas: Common-Pool Resources and Multiagent Systems. Lecture Notes in Artificial Intelligence 1416, pp. 826–838, 1998. 3. F. Bousquet, O. Barreteau, P. Aquino, M. Etienne, S. Boissau, S. Aubert, C. Le Page, D. Babin, and J.-C. Castella. Multi-Agent Systems and Role Games: Collective Learning Processes for Ecosystem Management. M. Janssen Ed. Complexity and Ecosystem Management: The Theory and Practice of Multi-Agent Approaches, Edward Elgar Publishers, 2002. 4. M. Diana and M. M. Dessouky. A New Regret Insertion Heuristic for Solving Large-Scale Dial-a-Ride Problems with Time Windows. Transportation Research, Part B 38, pp. 539– 557, 2004. 5. A. Drogoul, D. Vanbergue, T. Meurisse. Multiagent-based Based Simulation: Where are the Agents? International Workshop on Multi-Agent Based Simulation (MABS-02), LNAI 2581, pp. 1–15, 2002. 6. K. Dresner and P. Stone. Multiagent Traffic Management: A Reservation-Based Intersection Control Mechanism. International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS-04), 2004. 7. J. M. Epstein and R. L. Axtell. Growing Artificial Societies: Social Science from the Bottom Up. MIT Press, 1996. 8. L. Gasser and K. Kakugawa. MACE3J: Fast Flexible Distributed Simulation of Large, Large-Grain Multi-Agent Systems. International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS-02), pp. 745–752, 2002. 9. T. Ishida Ed. Community Computing and Support Systems. Lecture Notes in Computer Science, State-of-the-Art Survey, 1519, Springer-Verlag, 1998. 10. T. Ishida. Q: A Scenario Description Language for Interactive Agents. IEEE Computer, Vol. 35, No. 11, pp. 54–59, 2002. 11. T. Ishida. Digital City Kyoto: Social Information Infrastructure for Everyday Life. Communications of the ACM (CACM), Vol. 45, No. 7, pp. 76–81, 2002. 12. N. R. Jennings. On Agent-Based Software Engineering. Artificial Intelligence, Vol. 177, No. 2. pp. 277–296, 2000. 13. H. Kitano, M. Asada, Y. Kuniyoshi, I. Noda and E. Osawa. RoboCup: The Robot World Cup Initiative. International Conference on Autonomous Agents (Agents-97), pp. 340–347 1997. 14. K. Kurumatani. Social Coordination with Architecture for Ubiquitous Agents CONSORTS. International Conference on Intelligent Agents, Web Technologies and Internet Commerce (IAWTIC-03), 2003. 15. Y. Murakami, T. Ishida, T. Kawasoe and R. Hishiyama. Scenario Description for MultiAgent Simulation. International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS-03), pp. 369–376, 2003. 16. H. Nakanishi, C. Yoshida, T. Nishimura and T. Ishida. FreeWalk: A 3D Virtual Space for Casual Meetings. IEEE Multimedia, Vol. 6, No. 2, pp. 20–28, 1999.
Society-Centered Design for Socially Embedded Multiagent Systems
29
17. H. Nakanishi, S. Koizumi, T. Ishida and H. Ito. Transcendent Communication: LocationBased Guidance for Large-Scale Public Spaces. International Conference on Human Factors in Computing Systems (CHI-04), pp. 655–662, 2004. 18. E. Ogston, B. Overeinder, M. van Steen and F. Brazier. A Method for Decentralized Clustering in Large Multi-Agent Systems. International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS-03), pp. 789–796, 2003. 19. J. Rickel and W. L. Johnson. Task-Oriented Collaboration with Embodied Agents in Virtual Worlds. IJ. Cassell, J. Sullivan, S. Prevost, and E. Churchill Eds. Embodied Conversational Agents, pp. 95–122, MIT Press, 2000. 20. T. Sugawara S. Kurihara, K. Fukuda, T. Hirotsu, S. Aoyagi and T. Takada. Reusing Coordination and Negotiation Strategies in Multi-Agent Systems for Ubiquitous Network Environment. International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS-04), 2004. 21. T. Sugiman and J. Misumi. Development of a New Evacuation Method for Emergencies: Control of Collective Behavior by Emergent Small Groups. Journal of Applied Psychology, Vol. 73, No. 1, pp. 3–10, 1988. 22. D. Torii and T. Ishida, S. Bonneaud and A. Drogoul. Layering Social Interaction Scenarios on Environmental Simulation. AAMAS Workshop on Multiagent and Multiagent-based Simulation (MAMABS), 2004. 23. G. Yamamoto and Y. Nakamura. Architecture and Performance Evaluation of a Massive Multi-Agent System. International Conference on Autonomous Agents (Agents-99), pp. 319–325, 1999. 24. G. Yamamoto and H. Tai. Performance Evaluation of an Agent Server Capable of Hosting Large Numbers of Agents. International Conference on Autonomous Agents (Agents-01), pp. 363–369, 2001. 25. F. Zambonelli, N. R. Jennings and M. Wooldridge. Developing Multiagent Systems: The Gaia Methodology. ACM Transactions on Software Engineering and Methodology. Vol. 12, No. 3, pp. 317–370, 2003.
Agents and OWL-S Terry Payne Electronics and Computer Science University of Southampton Highfield, Southampton SO17 1BJ, UK
[email protected]
Although Semantic Web Services have recently received a great deal of attention, the use of semantics to describe distributed cooperating components is not new. MultiAgent Systems have long addressed the problems of coordinating heterogeneous, autonomous components so that they can collaborate and achieve joint goals. Several MAS use semantic descriptions to achieve a shared understanding of communications (both the purpose of the communication, and the contents of the communication); however these solutions typically enable only a modest number of disparate MAS to collaborate. With current advances in the Semantic Web, and Semantic Web Services, it may be possible to relax these constraints. The DARPA Agent Markup Language for Services (DAML-S) was proposed as a solution to discovering and automating the composition of services. Two years on (and a name change to OWL-S), it has gained widespread interest; yet is viewed as a Web Services proposal augmented through semantics, rather than a markup language for Agents. This paper presents an agent-oriented perspective of OWL-S, including an alternative set of usage metaphors. The emerging problems for agent-based adoption are discussed, as well as potential solutions that address this divergence.
M. Klusch et al. (Eds.): CIA 2004, LNAI 3191, p. 30, 2004. © Springer-Verlag Berlin Heidelberg 2004
Design and Implementation of Agent Community Based Peer-to-Peer Information Retrieval Method Tsunenori Mine†, Daisuke Matsuno‡, Akihiro Kogo‡, and Makoto Amamiya† {Faculty†, Graduate School‡} of Information Science and Electrical Engineering, Department of Intelligent Systems, Kyushu University 6-1 Kasuga-koen, Kasuga, Fukuoka 816-8580, Japan {mine,kogo,amamiya}@al.is.kyushu-u.ac.jp, http://www-al.is.kyushu-u.ac.jp/~mine
Abstract. This paper presents an agent community based peer-to-peer information retrieval method called ACP2P method[16] and discusses the experimental results of the method. The ACP2P method uses agent communities to manage and look up information related to users. An agent works as a delegate of its user and searches for information that the user wants by communicating with other agents. The communication between agents is carried out in a peer-to-peer computing architecture. In order to retrieve information relevant to a user query, an agent uses a content file, which consists of retrieved documents and two histories : a query/retrieved document history(Q/RDH) and a query/sender agent history(Q/SAH). The former is a list of pairs of a query and the address of an agent that returned documents relevant to the query. The latter is a list of pairs of a query and the address of a sender agent and shows “who sent what query to the agent”. This is useful for finding a new information source. Making use of Q/SAH is expected to have a collaborative filtering effect, which gradually creates virtual agent communities, where agents with the same interests stay together. Our hypothesis is that a virtual agent community reduces communication loads necessary to perform a search. As an agent receives more queries, then more links to new knowledge are acquired. From this behavior, a “give and take” (or positive feedback) effect for agents seems to emerge. We implemented this method with Multi-Agent Kodama, and conducted experiments to test the hypothesis. The experimental results showed that the method employing two histories was much more efficient than a naive method employing ‘multicast’ techniques only to look up a target agent. Further, making use of Q/SAH facilitates bidirectional communications between agents and thus creates virtual agent communities.
1
Introduction
The rapid growth of the World Wide Web has made conventional search engines suffer from decreasing coverage in searching the Web. Internet users meet information floods every day, and are forced to filter out and choose the information they need. In order to deal with these problems, a lot of studies on distributed M. Klusch et al. (Eds.): CIA 2004, LNAI 3191, pp. 31–46, 2004. © Springer-Verlag Berlin Heidelberg 2004
32
T. Mine et al.
information retrieval(e.g. [4,3]), information filtering(e.g. [14]), information recommendation (e.g. [22]), expert finding(e.g. [28],[12]), or collaborative filtering (e.g. [9],[18],[10],[21]) have been carried out. Most systems developed in that research are, unfortunately, based on the server-client computational model and are often distressed by the fundamental bottle-neck coming from their central control system architecture. Although some systems based on the peer-to-peer (P2P for short) computing architecture (e.g. [24],[5],[8],[17]) have been developed and implemented, each node of most those systems only deals with simple and monolithic processing chores. Considering these issues, we proposed an Agent Community based P2P information retrieval method (ACP2P method for short) [16]. The ACP2P method uses agent communities to manage and look up information related to a user query. An agent works as a delegate of its user and searches for information that the user wants by communicating with other agents. The communication between agents is carried out based on a P2P computing architecture. In order to retrieve information relevant to a user query, an agent uses two histories : a query/retrieved document history(Q/RDH for short) and a query/sender agent history(Q/SAH for short). The former is a list of pairs of a query and the address of the agent that returned documents relevant to the query, where the query was sent by the agent itself. The latter is a list of pairs of a query and a sender agent and shows “who sent what query to the agent”. This is useful for finding a new information source. Making use of the Q/SAH is expected to make a collaborative filtering effect emerge and to gradually create virtual agent communities, where agents with the same interests stay together. Our hypothesis is that a virtual agent community reduces communication loads necessary to perform a search. As an agent receives more queries, then more links to new knowledge are acquired. From this behavior, a “give and take” (or positive feedback) effect for agents seems to emerge. We implemented the method with Multi-Agent Kodama and conducted experiments to test the hypothesis, i.e., to evaluate how well Q/SAH works for reducing communication loads and for making a “give and take” effect emerge. This paper presents the ACP2P method and discusses the details of experimental results. The results showed that the method reduced communication loads much more than other methods which do not employ Q/SAH to look up a target agent, and was useful for making a “give and take” effect. The remainder of the paper is structured as follows. Section 2 considers the ACP2P method. Section 3 discusses the experimental results and Section 4 describes related work.
2 2.1
Agent Community Based Peer-to-Peer Information Retrieval Method Overview of ACP2P Method
The ACP2P method employs three types of agents: user interface(UI) agent, information retrieval (IR) agent and history management (HM) agent. A set of
Design and Implementation of ACP2P Information Retrieval Method
33
three agents (UI agent, IR agent, HM agent) is assigned to each user. Although a UI agent and an HM agent communicate only with the IR agent of their user, an IR agent communicates with other users’ IR agents not only in the community it belongs to, but also in other communities, to search for information relevant to its user’s query. A pair of Q/RDH and Q/SAH histories is managed by the HM agent.
Fig. 1. Agents and their Community Structure
Fig. 1 shows an example of the agent community structure which the ACP2P method is based on. A portal agent in the figure is the agent which is a representative of a community and manages all member agents’ addresses there, where a member agent of a community designates an IR agent. Unlike a super-peer of a super-peer network[27], the portal agent originally does not behave as a server of all member agents in the community, but mediates between a member agent and the others for advertising its joining the community or telling its messages to them. When a member agent wants to find any target agents which have information relevant to a query, the agent looks them up using a content file, which consists of retrieved documents, and two histories: Q/RDH and Q/SAH. The format of the content file and two histories will be described in the next section. If the target agents are found, a query is sent directly to them, and their retrieved results are also returned directly to the query sender IR agent. If the requested number of such agents is not found, the agent asks the portal agent to send the query to the all member agents in the community by a multicast technique. At that time, all the answers will be returned to the portal agent. If the number of results with a ‘YES’ message reaches the requested number, without waiting for the rest of answers by other IR agents, the portal agent sends them back to the query sender IR agent. Even if the number of ‘YES’ messages
34
T. Mine et al.
did not reach the requested number after all IR agents replied, the portal agent also sends the currently held results to the query sender IR agent.
Fig. 2. Actions for Sending a Query
Fig. 3. Actions for Receiving a Query
Fig. 2, 3 and 4 show the processes or data flows in the following three cases : 1) an IR agent sends a query, 2) an IR agent receives a query from another IR agent or a portal agent, and 3) an IR agent receives answers from other IR agents, respectively. When receiving a query from a UI agent, an IR agent asks an HM agent to look up target agents with its history or a portal agent to do it using a query multicasting technique (Fig. 2). When receiving a query from other IR agents, the IR agent looks up the information relevant to a query, sends an answer to the query sender IR agent, and sends a pair of a query and the query sender IR agent’s address to an HM agent so that it can update Q/SAH (Fig. 3).
Design and Implementation of ACP2P Information Retrieval Method
35
The returned answer to the query is either a pair of a ‘YES’ message and retrieved relevant documents or a ‘No’ message, which represents no relevant information, provided that retrieved documents are not returned when the query comes through a portal agent.
Fig. 4. Actions for Receiving Answers
When receiving answers with a ‘YES’ message from other IR agents, an IR agent sends them to a UI agent, and sends them with a pair of a query and the addresses of answer sender IR agents to an HM agent to update Q/RDH (Fig. 4).
2.2
Content File and History Files
Table 1 shows the formats of a document content file: Content and two histories: Q/RDH and Q/SAH. The document content file consists of a list of 4-tuples
, namely, the title of a document, its text content, the address of the IR agent whose user owns the document, and the allowed distribution range of the document, respectively. Documents retrieved and returned by other IR agents are shared into the Content file without any redundant registration. Thus the same content returned by two or more IR agents
36
T. Mine et al.
is registered only once into the Content file. Original documents, which are created by a user and initially assigned to his/her agent, also take the same format as the Content. The Q/RDH file comprises a list of pairs of , each of which is a query sent by the agent itself and the address of IR agent that returned this retrieved information, respectively. The Q/SAH file is a list of pairs , each of which is a query and the address of the agent which sent the query to the IR agent. Table 2 shows an example of part of a document content file. Table 3 also shows an example of part of Q/SAH file, which was originally written in Japanese.
2.3
Determining Target Agents Using Both Histories
In order to determine the target agents to send a user query, an IR agent uses the contents of retrieved document files and two histories, Q/RDH and Q/SAH. Fig. 5 depicts an example how the target agents are found, where to represent IR agents. For simplicity, we assume here that the IR agent does the job of an HM agent. Furthermore, to show the correspondence between a query and a retrieved document, we show the content files in Q/RDH. has two query entries in its Q/RDH. Both queries were sent by itself. This figure shows that sent query ‘Note PC’ to and got the retrieved results from recorded the query and address into its Q/SAH. Since received the results from address was recorded in the ‘from’ field of the same record as the query in Q/RDH. In addition, since the content included in the results is the original of user, address is seen in the ‘original’ field of the content. In the same way, also sent query ‘Wireless LAN’
Design and Implementation of ACP2P Information Retrieval Method
37
Fig. 5. Example to find target IR agents using two histories and content file. A to E in circles represent IR agents’ names
to returned retrieved documents to it, and address was recorded into the ‘from’ field of the same record as query ‘Wireless LAN’ in Q/RDH. Since the documents include a content created by user, address is seen in the ‘original’ field of the content. After getting these histories, if sends another query which is similar to ‘Wireless LAN’, say ‘LAN’, not only can find in a ‘from’ field of Q/RDH, but also find from an ‘original’ field of the content file by calculating a similarity between the query and the content file. Accordingly sends the query to both and The figure also shows that received query ‘Mini Note PC’ from and both the query and address were recorded into the Q/SAH. Even if has not sent a query, it can find information related to the queries it received using its Q/SAH. Therefore when sends a query, say ‘Note PC’, it will find and with the Q/SAH and can consequently send the query to them.
2.4
The Effect of Both Histories
As mentioned in the previous section, both Q/RDH and Q/SAH help to find target agents to send a query to. If an IR agent can find a sufficient number of agents, no ‘query multicasting’ is carried out. Both histories, consequently, help to reduce communication loads between agents. The user’s positive or negative judgments concerning the retrieved results could be embedded into them in Q/RDH. These user evaluations are expected to be useful for finding target agents which will return relevant information, creating a collaborative filtering effect. As a user creates more information, his/her IR agent can return the retrieved results to more queries. Such an IR agent con-
38
T. Mine et al.
sequently receives more queries from other agents. Thus, the agent accumulates more information sources comprised of pairs of a query and a sender agent’s address in its Q/SAH. That leads to the emergence of a ‘give and take’ effect.
2.5
Overview of Multi-agent Kodama
The ACP2P method was implemented with Multi-Agent Kodama (Kyushu university Open & Distributed Autonomous Multi-Agent) [29]. Kodama comprises hierarchical structured agent communities based on a portal-agent model. A portal agent(PA) is the representative of all member agents in a community and allows the community to be treated as one normal agent outside the community. A PA has its role limited in a community, and the PA itself may be managed by another high-level portal agent. A PA manages all member agents in a community and can multicast a message to them. Any member agent in a community can ask the PA to multicast its message. All agents form a logical world which is completely separated from the physical world consisting of agent host machines. That means agents are not network-aware, but are organized and located by their places in the logical world. This model is realized with the agent middle-ware called Agent Communication Zone(ACZ for short). ACZ is primarily designed to act as a bridge between distributed physical networks, creating an agent-friendly communication infrastructure on which agents can be organized in a hierarchical fashion more easily and freely. ACZ is also designed to realize a peer-to-peer communication between agents. A Kodama agent consists of a kernel unit and an application unit. The kernel unit comprises the common basic modules shared by all Kodama agents, such as the community contactor or message interpreter. The application unit comprises a set of plug-in modules, each of which is used for describing and realizing a specialized or original function of agents. For more details, please see [29].
3 3.1
Experiments Preliminaries
We used the Web pages of Yahoo! JAPAN[26] for the experiments. The Web pages used are broadly divided into five categories: animals, sports, computers, medicine, and finance. Each of them consists of 20 smaller categories, which are selected in descending order of the number of Web pages recorded in a category. An IR agent is assigned to each selected category, and thus 100 IR agents are created and activated in the experiments. A category name is used as the name of an IR agent, and the Web pages in the category are used as the original documents of the agent. All agents are realized by implementing their functions in plug-in modules of Kodama’s application unit. Each IR agent sends 10 queries, which all belong to either query set QL=1 or QL=2. QL=1 and QL=2 consist of 10 queries, whose query length is one and two, respectively, where query length means the number of terms in a query. When using queries belonging to QL=1, 10 nouns are extracted from every category assigned to each IR agent in descending order of their frequency of occurrence in
Design and Implementation of ACP2P Information Retrieval Method
39
the category. Each of the nouns is used as a query of the IR agent. When using those belonging to QL=2, 5 nouns are extracted, and the combinations of the extracted 5 nouns taken in pairs create 10 queries. All IR agents were assigned to the same community for simplicity. We conducted experiments to show how two histories help to reduce communication loads between agents looking for information relevant to a query, and how Q/SAH helps in searching for new information sources. To perform the experiments, we compared three methods : 1) ACP2P with a Q/SAH(wQ/SAH for short), 2)ACP2P without a Q/SAH(woQ/SAH for short), and 3) Simple method always employing a ‘multicast’ technique (MulCST for short).
3.2
Similarity Measure for Information Relevant to a Query
In order to find the requested number of target agents to be sent a query, we calculate which returns the similarity value between query query and target agent with equation (1); becomes higher if sends a greater number of similar queries and returns more documents related to query. After calculating for each IR agent in the Content file and both histories : Q/RDH and Q/SAH, the requested number (RN) of target agents will be selected in the descending order of which value should be more than 0. Whenever the RN of agents is not found, the ‘query multicasting’ technique will be employed by a portal agent. At that time, all answers will be returned to the portal agent. If a target IR agent finds information relevant to query from its Content files, it returns a ‘YES’ message, otherwise a ‘NO’ message as mentioned in section 2.1. The judgment as to whether or not a document is relevant to a query is made according to the criterion of Boolean AND matching, that is, if the document includes the conjunctions of all terms in query, it will be judged relevant, otherwise irrelevant.
In equation (1), query consists of where is a term in query. and represent a query in a record of Q/RDH and Q/SAH, respectively. The first term returns the total score of the similarities between query and each of number of queries sent to The second term represents the
40
T. Mine et al.
score between query and which is the of queries sent by in Q/SAH. is a weight to consider the importance of ‘direct sending of a query.’ If is sent directly by is added to the score. The last term is the total score of similarities between query and each of documents originally created or just owned by the user of represents the similarity between query and the content of retrieved document doc. It is calculated with the following equation, which is a simplified form of BM15[20].
Where represents the frequency of occurrence of in doc. The reason why we did not consider a “inverse document frequency” factor on the equation is based on preliminary experimental results.
3.3
Experimental Results
First, in order to decide the value of in of equation 1, and to broadly figure out whether or not Q/SAH helps in looking for new information sources and in creating virtual communities, we compared three methods : woQ/SAH, and represents the method wQ/SAH with and is the method wQ/SAH with The results are shown in table 4, and show that both methods adopting Q/SAH are better than woQ/SAH. In addition, was slightly better than from the points of view of reducing the number of messages exchanged, increasing the number of achieved results and the number of agents making bidirectional communications. From these results, we decided to adopt as wQ/SAH.
Next, to show how much wQ/SAH works for reducing communication loads, we investigated the change of the average number of messages exchanged by each IR agent for every query input. The experiments were conducted with two query sets: QL=1 and QL=2, on which tests with 4 different requested numbers : RN=3, 5, 7 and 10 were performed. The results are shown in Fig. 6. In both cases, the average number of messages exchanged by each IR agent is reduced for every additional query input, and increases as RN does.
Design and Implementation of ACP2P Information Retrieval Method
41
Fig. 6. The average number of messages exchanged by each IR agent for each query input, every query belongs to QL=1(left) or to QL=2(right)
Further, for both QL=1 and QL=2, we compared the three methods: wQ/SAH, woQ/SAH and MulCST. RN was set to 10. The results are shown in Fig. 7. In both cases, the number of exchanged messages in MulCST did not change for every query input, while that for both wQ/SAH and woQ/SAH was reduced. In addition, wQ/SAH had better performance than woQ/SAH.
Fig. 7. The average number of messages exchanged by each IR agent for each query input, where QL=1 is the left, and QL=2 the right. RN=10 in both cases
We also compared three methods on the average number of documents acquired by each IR agent. The results are shown in table 5. Except for the case of RN=3 of QL=2, there was little difference between wQ/SAH and MulCST. Fig. 8 compares the three methods on the content acquisition efficiency, that is, the average number of acquired documents per one exchanged message in the cases of RN=3, 5, 7 and 10, for QL=1 and QL=2. For both query sets, wQ/SAH had the best performance, which was for RN=7 in QL=1 and RN=10 in QL=2. Further, we investigated the failure ratio caused by wQ/SAH and woQ/SAH because making use of query histories was just a good heuristic and might have failed to select appropriate target agents. The experiment was carried out with QL=2 because in the case of QL=1, no failure will occur since every query sent by each IR agent is different and the query is created from the original documents of the agent. The experimental results are shown in Fig. 9.
42
T. Mine et al.
Fig. 8. Comparison of Content Acquisition Efficiency
As the value of RN increases, the failure ratio decreases. This is because, as the value of RN increases, the number of acquired documents also increases as shown in table 5, and thus the number of information sources also increases. Consequently, it becomes easier to select target agents having information relevant to a query. As a baseline, we investigated the ratio of the number of agents returning a ‘YES’ message to each query, to the total number of IR agents. It was about 20%. That means when target agents are randomly selected, about 80% retrieval failure can occur. Considering that the retrieval failure ratio for both wQ/SAH and woQ/SAH was less than 20%, we can say that making use of two histories is effective in finding information relevant to user queries. Lastly, we conducted an experiment to show how the number of agents exchanging query messages together increases, comparing wQ/SAH and woQ/SAH.
Fig. 9. Failure Ratio for each RNof target agents, QL=2
Design and Implementation of ACP2P Information Retrieval Method
43
The results are shown in Fig. 10. In the case of wQ/SAH, the number of pairs of agents making bidirectional communication is much greater than that of those making one way communication. On the other hand, woQ/SAH shows the opposite tendency. These results show that Q/SAH facilitates bidirectional communications and then creates virtual agent communities where agents exchanging similar queries, i.e., having the same interests, stay together.
Fig. 10. The change of number of pairs of agents making bi-directional or One-way communication, for QL=2
4
Related Work
There is lots of work related to the topics touched on in this paper, such as distributed information retrieval(DIR), P2P file searching, collaborative filtering and so forth. DIR selects some IR systems to send a query, aggregates the results returned by the selected IR systems, and presents them to a user. Before selecting the IR systems to be sent a query, the resource description of each IR system is often created [3]. In the ACP2P method, Q/RDH incrementally creates an effect similar to resource description, and furthermore, Q/SAH works as a good heuristic like collaborative filtering in finding relevant information. A lot of P2P file searching systems such as Freenet[5], Chord [24], Gnutella[8], Napster[17] and pSearch[25] have been proposed. Freenet and Chord are carried out in a pure P2P computing architecture. They neither employ ‘broadcast’ techniques like Gnutella, nor have a centralized server machine like Napster. Freenet provides information sharing and information finding functions among anonymously distributed nodes. Although Chord does not provide anonymity of nodes, it has an efficient protocol for looking up nodes. Their node searching strategies are conducted according to keywords attached to the information of the nodes.
44
T. Mine et al.
On the other hand, the ACP2P method makes use of the content information of documents, and two histories: Q/RDH and Q/SAH to search for target agents with relevant information. In particular, Q/SAH provides similar effects to link analysis like PageRank[2] or HITs algorithm[13] and makes a natural collaborative filtering effect emerge. pSearch[25] realizes a semantic overlay network on physical nodes in a content-addressable network(CAN)[19] by distributing document indices based on document semantics, which are generated by Latent Semantic Indexing (LSI) [6]. The search cost for a given query is thereby reduced, since the indices of semantically related documents are likely to be co-located in the network[25]. However, since LSI requires a document-term matrix, pSearch initially needs to collect all documents from every node. I-Gaia[7] is an application layer for information processing in the DIET architecture, which is a Multi-Agent System development platform. It is formed of three types of agents: s-infocytes(SI), m-infocytes(MI) and t-infocytes(TI). It defined informaion-pull and push tasks with Reuters text-classification corpus and showed their results. For both tasks, queries sent by SI and documents published by MI reach MIs and SIs through TI, respectively. Thus, adequate routing between SIs and MIs is learned by TI. On the other hand, the ACP2P method does not rely on a special agent like TI for sending queries or publishing documents, but each IR agent directly communicates with other IR agents based on a peer-to-peer communicating method. Although lots of work on the field of Collaborative Filtering (e.g. [9], [18], [23], [1], [11],[15],[21]) has been done, most of it assumes the server-client computational model and needs a procedure to collect all data from other nodes explicitly. The ACP2P method takes a distributed data management method with agent communities based on a P2P computing architecture, and makes a natural collaborative filtering effect emerge, with both Q/RDH and Q/SAH.
5
Conclusion and Future Work
We discussed an agent community based information retrieval method, called the ACP2P method, which used the content of retrieved document files and two histories: Q/RDH and Q/SAH to find target agents to be sent a query. The method was implemented with Multi-Agent System Kodama. We conducted several experiments to show whether or not two histories helped to reduce communication loads between agents in searching for information relevant to a query, and whether or not Q/SAH helped in looking up new information sources. The experimental results showed the efficiency of ACP2P method and the usefulness of two histories for looking up new information sources. We also investigated and confirmed that the number of agents exchanging query messages together was increased by Q/SAH. We are currently investigating how to measure the accuracy of or to rank retrieved results, and considering how we can make use of user feedback embedded into the results. Developing an effective method for creating hierarchical agent communities to allocate agents to at the initial stage is future work.
Design and Implementation of ACP2P Information Retrieval Method
45
Acknowledgment We thank Dr. Ken’ichi Takahasi, Satoshi Amamiya and Dr. Guoqiang Zhong for their comments of this early work and support of Kodama System. This research was supported by the Japan Society for the Promotion of Science under the Grant-in-Aid for Scientific Research (A) No. 15200002 and (C) No. 16500082.
References 1. M. Balabanovic and Y. Shoham. Content-based, collaborative recommendation. Communications of the ACM, 40(3), 1997. 2. S. Brin and L. Page. The Anatomy of a Large-Scale Hypertextual Web Search Engine. In Proc. of 7th International World Wide Web Conference: WWW7 Conference, 1998. 3. J. Callan and M. Connell. Query-based sampling of text databases. ACM Transactions on Information Systems, 19(2):97–130, 2001. 4. J. Callan, M. Connell, and A. Du. Automatic discovery of language models for text databases. ACM SIGMOD, pages 479–490, 1999. 5. I. Clarke, O. Sandberg, B. Wiley, and T. W. Hong. Freenet: A distributed anonymous information storage and retrieval system. Designing Privacy Enhancing Technologies: International Workshop on Design Issues in Anonymity and Unobservability, http://www.doc.ic.ac.uk/ ~ twh1/academic/, 2001. 6. S. Deerwester, S. T. Dumais, G. W. Furnas, T. K. Landauer, and R. Harshman. Indexing by latent semantic analysis. Journal of the American Society of Information Science, 1990. 7. A. Gallardo-Antolin et al. I-Gaia : an information processing layer for the diet platform. In the first international joint conference on Autonomous Agents and Multi Agent Systems (AAMAS), pages 1272–1279, 7 2002. 8. Gnutella, http://gnutella.wego.com/, 2000. 9. D. Goldberg, D. Nichols, B. M. Oki, and D. Terry. Using collaborative filtering to weave an information tapestry. Communications of the ACM, 35:61–70, 1992. 10. N. Good, J. B. Schafer, J. A. Konstan, A. Borchers, B. M. Sarwar, J. L. Herlocker, and J. Riedl. Combining collaborative filtering with personal agents for better recommendations. In AAAI/IAAI, pages 439–446, 1999. 11. J. L. Herlocker, J. A. Konstan, A. Borchers, and J. Riedl. An algorithmic framework for performing collaborative filtering. In SIGIR99, pages 230–237, 1999. 12. A. Kanfer, J. Sweet, and A. Schlosser. Humanizing the net: Social navigation with a “know-who” email agent. In The 3rd Conference on Human Factors & The Web, http://www.ncsa.uiuc.edu/edu/trg, 1997. 13. J. M. Kleinberg. Authoritative sources in a hyperlinked environment. Journal of the ACM, 46:604–632, 1999. 14. K. Lang. NewsWeeder: learning to filter netnews. In Proceedings of the 12th International Conference on Machine Learning, pages 331–339. Morgan Kaufmann publishers Inc.: San Mateo, CA, USA, 1995. 15. P. Melville, R. J. Mooney, and R. Nagarajan. Content-boosted collaborative filtering. In SIGIR-2001 Workshop on Recommender Systems, 2001. 16. T. Mine, D. Matsuno, K. Takaki, and M. Amamiya. Agent community based peer-to-peer information retrieval. In the third international joint conference on Autonomous Agents and Multi Agent Systems (AAMAS), 7 2004. poster.
46
T. Mine et al.
17. Napster. http://www.napster.com/, 2000. 18. P.Resnick, N.Iacovou, M.Suchak, P.Bergstrom, and J.Riedl. Grouplens: Open architecture for collaborative filtering of netnews, 1994. 19. S. Ratnasamy, P. Francis, M. Handley, R. Karp, and S. Shenker. A scalable contentaddressable network. In SIGCOMM, pages 161–172, 2001. 20. S. E. Robertson and S. Walker. Some simple effective approximations to the 2poisson model for probabilistic weighted retrieval. In Proceedings of the 17 Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, 1994. 21. B. Sarwar, G. Karypis, J. Konstan, and J. Riedl. Item-based collaborative filtering recommendation algorithms. In WWW10, pages 285–295, 2001. 22. J. B. Schafer, J. A. Konstan, and J. Riedi. Recommender systems in e-commerce. In ACM Conference on Electronic Commerce, pages 158–166, 1999. 23. U. Shardanand and P. Maes. Social information filtering: Algorithms for automating “word of mouth”. In Proceedings of ACM CHI’95 Conference on Human Factors in Computing Systems, volume 1, pages 210–217, 1995. 24. I. Stoica, R. Morris, D. Karger, M. F. Kaashoek, and H. Balakrishnan. Chord: A scalable peer-to-peer lookup service for internet applications. In Proceedings of the 2001 conference on applications, technologies, architectures, and protocols for computer communications, pages 149–160, 2001. 25. C. Tang, Z. Xu, and S. Dwarkadas. Peer-to-peer information retrieval using selforganizing semantic overlay networks. In SIGCOMM, 2003. 26. Yahoo. http://www.yahoo.co.jp/, 2003. 27. B. Yang and H. Garcia-Molina. Designing a super-peer network. In IEEE International Conference on Data Engineering, 3 2003. 28. D. Yimam-Seid and A. Kobsa. Expert finding systems for organizations: Problem and domain analysis and the demoir approach. Journal of Organizational Computing and Electronic Commerce, 13(1):1–24, 2003. 29. G. Zhong, S. Amamiya, K. Takahashi, T. Mine, and M. Amamiya. The design and application of kodama system. IEICE Transactions INF.& SYST., E85-D(04):637– 646, 4 2002.
Towards Monitoring of Group Interactions and Social Roles via Overhearing Silvia Rossi1,2 and Paolo Busetta2 1 2
University of Trento – Italy ITC-irst – Povo, Trento – Italy
[email protected] [email protected]
Abstract. We are investigating how to provide intelligent, pervasive support of group of people within so-called “smart environments”. Our current main assumption, based on literature in psychology and organizational studies, is that a group performs some complex, routine task as a structured activity, that is, by following some protocols that allow its members to coordinate and share a common understanding about the current progress towards the group’s goal and the roles currently played by each member. If this is the case, a condition to provide support to a group activity by artificial agents is to share the same understanding. To this end, we have identified two initial goals: first, being able to understand if a group activity is progressing with respect to its expected evolution, by analyzing what is happening within the smart environment; second, recognizing what are the social roles of the group members, taking in mind that these are not necessarily pre-assigned and may change in time. This paper sketches a preliminary approach to these issues and a computational model for an overhearer agent. We suggest a preliminary set of rules for conversation analysis and social role recognition, and validate them against the simple case of implicit organizations, which – being artificial – follow well-known protocols.
1
Introduction
An active environment is a physical space that can sense and respond appropriately to the people and activities taking place within it [1]. These kinds of environments should provide assistance to the users in their physical or cognitive tasks; in particular, when the users are involved in a group activity, it is essential for the success of their work that the environment provides such assistance. Our long–term objective is intelligent, pervasive support of people within “smart environments”, motivated also by the availability of new sophisticated technologies, such as user interfaces and tools which enhance the possibility of human interaction, during the activity, with a combination of different input modalities (gesture, voice, etc.). Within the PEACH project [2] we are focusing on a interactive museum. This is a form of active environment, and can be seen as a large scale multi-user, multi-media, multi-modal system. In the case M. Klusch et al. (Eds.): CIA 2004, LNAI 3191, pp. 47–61, 2004. © Springer-Verlag Berlin Heidelberg 2004
48
S. Rossi and P. Busetta
of PEACH, museum visitors are provided with information about exhibits; this may be drawn from a variety of information sources and media types (museum server, online remote servers, etc.), and presented by a variety of clients (e.g., hand-held devices such PDAs, kiosks, wall screens, and so on). We are currently working towards exploiting channeled multicast [3] for intelligent support of groups of people, rather than individuals. In the museum setting, this is a particularly sensitive issue, since group visits are common and historical buildings must accommodate a number of simultaneous users. Our current main assumption, based on literature in psychology and organizational studies, is that a group performs some complex, routine task (such as planning a visit following the group’s preferences) as a structured activity, that is, by following some protocols that allow its members to coordinate and share a common understanding about the current progress towards the group goal and the roles currently played by each member. This assumption seems reasonable especially when we consider professional routine activities such as daily briefings. If this is the case, a condition to provide support to a group activity by artificial agents is to share the same understanding. As first step towards this objective, for this initial work we concentrate on multi-agent systems, which – being artificial – follow well-known protocols. We have identified two initial goals for our own work. First, being able to understand if a group activity is progressing with respect to its expected evolution, by analyzing what is happening within a smart environment. In this sense, we want to find a way to monitor (and possibly recognize) a conversation that reaches certain known states, via overhearing all the messages exchanged through broadcast communication. Second, finding a way to recognize what are the social roles of the group members, taking in mind that these are not necessarily pre-assigned and may change in time. This is important non only for a single conversation but for the evolution of their (long term) interaction as a whole. In fact, social roles define the interdependencies among members and set expectations for the behaviors of the members. In the current literature on multi-agent systems, the role of overhearing and of monitoring on distributed systems is gaining attention, as demonstrated by some recent works, e.g. [4–7]. In particular, in [4] the authors provide a formal model of the overhearing process in order to recognize conversation protocols. These are formalized as Finite State Machines where the conversation states are defined by the Cartesian product of each single agent state; a transition function is defined on all the possible “legal” states. They introduce also the concept of recognition of conversation roles, but such roles are just the ones defined by the protocol itself. As in [4], this paper sketches a computational model for an over hearer agent, suggests a preliminary set of rules for conversation analysis and social role recognition, starting not form the point of view of each single agent, but from the point of view of the entire organization of agents, formally represented with formulas in the JIT [8] (Sec. 2). We validates them against the simple case of implicit organizations (Sec. 3).
Monitoring of Group Interactions and Social Roles via Overhearing
2
49
Representing Group Activities Through JIT
To recognize or to model simple patterns of interaction (i.e. natural policies or protocols), one of the most obvious ways to proceed is, as we see from the current literature [4,5], to model them as Finite States Machines. A finite state machine is an abstract machine consisting of a set of states, a set of input events and a state transition function. Recently, Kumar et al. [9] and Chopra et Singh [10] pointed out that a state machine representation of a protocol has many limitations. The main criticism is that, by labelling arcs with communicative actions, these actions are fixed, so in open multi-agent systems, where agents are autonomous and heterogeneous, such agents cannot handle exceptions and opportunities. Moreover, there can be several actions (communicative and noncommunicative) that can lead to the same result [9]. This fact is of a great importance in our long–term objective of recognizing interactions among human beings, where we cannot predict all the possible evolutions. Moreover, assuming that such formalization is possible for humans, we foresee that this kind of representation lead us to a huge number of possible states, because the number of the possible interactions grows exponentially with the number of group members. Finally, we can be also in a situation where we do not exactly know who such members and so we cannot describe the states of the group as a product of their finite state machines. In the representation of conversation protocols made by [9], instead of specifying the state transitions, the authors specify just a partially ordered set of states (called landmarks) using the Joint Intention Theory [8]. JIT was born as a follow-up of a formalization of the theory of speech acts [11] and is expressed as a modal language with connectives of the first order logic and operators for propositional attitudes. The basic idea behind the landmark representation is that since a protocol is used to perform a certain task or to bring about a certain state of the world, one can identify the states that are brought about during the execution of the protocol. In addition, these states can be intended as the sub–goals that the group has to achieve in order to reach the global goal. So in conversation protocols, states can be characterized by a conjunction of propositions that are true in the state represented by the landmark. As landmarks in landmark expressions can represent the “way-points” that must be followed to successfully execute a protocol, we can think of a way to monitor an interaction that reaches certain known states, common for a given type of interaction. The authors in [9] also show that once that the representation of the family of protocols through landmarks is given, it is possible to derive the specific protocols. For what concerns us, we do not expect that from our landmark approach we can directly derive the specification of a protocol. What we want is not to be able to express a family of protocols, but, on the contrary, to be able to monitor organization of agents that use such protocols. This can be done having the states, which the organization must follow, as available information (landmarks); such landmarks represent the states of the organization expressed as beliefs and intentions of groups. Our objective is not to evaluate the correctness of the protocol (as in the classical use), but to monitor the development of the
50
S. Rossi and P. Busetta
group state. Specifically, we want to define a general set of social conventions and interaction policies, formalized with the Joint Intention Theory [8,12], for establishing and recognizing an interaction policy among human groups, where ordering of landmarks represents the state that the group presumably will follow and actions to reach such state can be chosen dynamically (as in human interaction). Of course, we can’t write JIT-formulas for each single member if the number of such agent is not known a priori, but, through a group extension of a few basic concepts, as done in [13], and introducing quantifiers, is possible to represent dynamic groups in a formal language and to reason about the whole group. Given these extensions of the JIT, using formulas for recognition, we have to deal with some issues such as: Different Interactions: For going to the current landmark to the next landmark, the group can exchange different kind of messages. For example in the Contract-Net Protocol (as formalized by Kumar et al., see [9]) the transition to the final state, where the job cannot be done or the escape condition is true, can be reached by exchanging different messages. As we said above, different actions can lead to the same result. Multiple Messages (Case 1) when agents are known: For going to the current state to the next state, the group needs of exchanging messages from different agents (see again [9], in the Contract-Net Protocol the transition to the final state needs the exchange of two messages from the two agent involved). So, we can express interaction protocols in a compact way. Selection of the State: In computing the next expected state, one message can be compatible with more than one next state. This means that, when dealing with a flexible and fault tolerant protocol, actions can be ambiguous. Multiple Messages (Case 2) when agents are known: For going to the current state to the next state, the group needs of exchanging messages from different agents with This is the case, for example, of an Auction in multicast channel (where everybody can overhear everybody else’s messages), where all bidders can listen all the bids, so they can change their own bids and bid again (or wait until they understand how to bid to win). This is exactly the case of the following: Multiple Messaging when agents are unknown: For going to the current state to the next state, the group needs of exchanging a number of messages that is unknown because the number of agent involved is unknown. Another key aspect to take into account is that people in a group may play various roles, and in this representation the concept of social role is still out. Of course, once that interaction protocols are described using the JIT, the natural way to formalize the roles involved in the interaction is by describing their behavior according to their Joint Commitment towards the group [8]. In traditional use, roles are typically static in the sense that membership of a given role is established early and rarely changed [14]. In CSCW applications, it is helpful to try to supply roles directly, but group dynamics can be difficult to establish, and individual activities can vary from group to group, from one context to another
Monitoring of Group Interactions and Social Roles via Overhearing
51
[15]. Having a topological view of the different roles within an application and of the relations between these roles is crucial if we want to manage multi-party interaction and to define policies of interaction. In this sense, in order to recognize social roles we need of some additional information as defined in the next section.
2.1
Recognition of Joint Activities
When agents are members of a group that share a common goal, they are engaged in interactive communicative social roles. These roles can be viewed as expectations for the individual, just as norms are expectations for a group [16]. There can be different types of roles, e.g. for task accomplishment, socio-emotional or just communication roles. In our case the roles that are associated to the agent in the recognition process are both social and conversation roles and depend on the current type of interaction (i.e. protocols). Therefore, in order to recognize such roles we must have a model of the interaction of our group of agents and we must know how these roles are related to such interaction. In our scenario, we assume that an Overhearer wants to recognize social roles in order to pro-actively provide suggestions, influence behaviors [17] and recovery from failures. As we said in the introduction, this work is a first step towards our objective, so we focus on artificial multi-agent systems where communication happens via observable multicast communication, which enables overhearing [13]. Thanks to overhearing, teamwork can be monitored so that team-members can coordinate their actions and plans with team-mates, and help team-mates to cooperate without interference [7,18]. Generally speaking, teams differ from small groups in the sense that a team is formed in order to achieve a specific goal; roles within a team are just task-dependent and not social [16]. In this work, we use the word “team” or “organization” as synonyms for a group with a shared goal but that has not only task-dependent roles. For this initial work, we designed a simple language that allows the definition of the interaction knowledge, intended as two types of rules. The first one associates a message with the current state of the group (as the sender perceives it) and the intended effects of such message, and the second associates a message again with a current state of the group, but also with a social role. In the formalization of the possible messages, preconditions and effects are described explicitly as JIT-formulas; Preconditions and effects refer to the organization as a whole. As we will see in Sec. 2.2, consistency checking is based on matching of preconditions of messages with landmark states and the computation of the next state is based on the same matching done on the effects. Observe that preconditions and effects can be part of a landmark (landmarks are conjunctions of formulas), so the same rules can be applied in different landmarks and may cause different results. In our current work, more than one message rule may be associated to each type of message (i.e. to each type of performative with a defined sender and receiver role), but, preconditions of each message-rule have to be different. This is to say, the same message can have different effects, but only if its preconditions are different (i.e., it is exchanged in different contexts). Preconditions may also be not specified intending that they are always satisfied. In a landmark repre-
52
S. Rossi and P. Busetta
sentation, landmarks can be defined by a conjunction of proposition; in the same way, precondition and effects in message-rules are conjunction of propositions. We reason about message-rules by means of a BDI [19] engine, based on agentSpeak(L) [20] and a reasoner implemented in Prolog. Thus, message rules can be seen as a plan library, overheard messages are trigger events and preconditions of the rules have to match with the current beliefs of the overhearer agent. The grammar of the message-rules is expressed by the following BNF:
For example, the following rule:
says that a request sent by a Requester to “ExampleRole” whose content is an XML document of type “Job” requires, as its precondition, that the requested job has not been done yet and has the effect of creating a joint persistent goal for the “ExampleRole” group of agents. The second set of rules gives us the possibility to make inferences about social roles of the members of the organization. This kind of aspect is not captured using a JIT reasoner only. Rules are formed by a message template to which it is associated a set of possible states and a possible role. Observe that even if the roles are related to a single agent, in particular to the sender of the message, the possible states do not refer to the single agent but to the organization under monitoring. The grammar for the roles is the following:
Monitoring of Group Interactions and Social Roles via Overhearing
53
Fig. 1. Computational model for the overhearer
For example, the following rule:
says that an INFORM sent when the group activity is at a landmark labelled as “WORKING” implies that its sender is an active participant to its group’s activity. In Sec. 3.1, we show some more examples and discuss how this rules are applied to the case of implicit organizations.
2.2
A Computational Model for the Overhearer
The general computational model for an overhearer, able to interpret the rules presented above, is composed of two main concurrent processes (see Fig. 1). We distinguish a main overhearing module from a module dedicated to the recognition of the current state (landmark) of the group and the possible next states through the application of the message-rules (for brevity called overhearing and group-level, respectively). Goals of overhearing are: (1) to handle a list of the agent within the organization; (2) to assign to each agent and to modify, during the interaction, a particular social role and (3) to handle all the tasks of monitoring the behavior of such agents in accordance with their roles. This process is achieved by using two external functions: is-consistent
54
S. Rossi and P. Busetta
and get-role. The first function checks the consistency of a message with the current state of the organization and with the possible next states. This process, as described below, is made by applying the message-rules. If the message is consistent, it is forwarded to the group-level. The second function recognizes the role played by the agent by applying social-rules. Both functions need to know the current state of the organization. This value (as well as the possible next states) is maintained in a global variable; in this way it can be read by these functions and written by the group-level. We assume that any problem of concurrency is handled by the implementation. In this preliminary work, the recognition of the type of interaction consists only of recognizing the transition from one state of the group to another state. We assume that is possible to understand which kind of interaction is going on (as done by [4]), and so we provide the overhearer with the landmark representation of each of them. Of course we foresee that this kind of approach (i.e. purely symbolical) lead to a high computational complexity, so we plan to extend our representation through a hybrid statistical/symbolic approach in future works. We are currently testing the algorithms on the example of Section 3 and results will be published in a forthcoming paper. The Algorithm 1.1 specifies the initialization of global variables and the interaction with the function Agent-Level, that has the task of updating the list of the agents and their associated roles. The algorithm starts also some role-dependent monitoring activities, which are out of the scope of this paper.
Agent-Level (see Algorithm 1.2) selects which agent to monitor, that is those for which it has been able to recognize the social role. This function takes as input an agent-list and a message and returns such list updated. Agent-Level calls another function to check the consistency of the message with the current state of the organization; if this message is consistent, the agent-level calls the function Get-Role (see Algorithm 1.3), that, on behalf of the current state of the organization and the social-rules, associates a specific social role to the sender agent.
Monitoring of Group Interactions and Social Roles via Overhearing
55
During the interaction a lot of possible inconsistencies may happen. The function Is-Consistent takes as input an agent and its message and reads the current state of the organization and the next expected states from the global variables (see Alg. 1.4). Then, it tries to apply the message rules (APPLY-MESSAGERULES). The latter function takes the effects of the message and tries to match them with all the possible legal landmarks, then returns all the landmarks which include such effects. At this point, the consistency is computed on the preconditions of the message in a similar way as the matching on the effects (CHECK-PRECOND). If the message results consistent with the organization, it is forwarded to the Group-Level, otherwise an error message is sent to the agent.
Obviously, the recognition of the states of the group depends on the interactions made by the single agents. However, for being able to recognize the state of the organization, besides the expectations on the next state given by the landmarks, we have to analyze all interactions made by the agents. The Algorithm in 1.5 can access a buffer that contains all the consistent messages forwarded by the function Is-Consistent. In this sense, the task of the Group-Level is to update the current state of the organization and to compute the expected next states. The process of selection of such states is done, as usual, by matching each single message effects with the legal landmarks. During this process we can
56
S. Rossi and P. Busetta
find situations in which such effects are compatible with more than one legal landmark. In this sense (before that the organization reaches the next state) we can have that next states are a set of landmarks. Obviously, this process will finish when a single next state is selected and all its JIT-formulas are valid.
In this algorithm, when the set of the possible expected states contains just one state which is valid (i.e. its associated JIT formula is satisfied), such state is set as the current state. Of course, this kind of computation is not trivial. In our preliminary approach we don’t have a process to reason formally about JIT formulas; our method is based just on simple plan matching exploiting our BDI interpreter. But, even in the case of having the ability to fully reason on JIT, we cannot be sure that all the information needed is exchanged (or all the messages are overheard). In this sense to compute the function VALID we use the following assumption: let us assume that all the messages overheard are compatible with the same current state (such assumption is true for Group-Level because only the consistent messages are stored in the buffer); when, in the selection of the next state, we have a single next state and we overhear a message that is compatible with such state, we can assume that all the formulas in this state are valid. Of course this is a strong assumption, but we plan, in order to enforce it, to provide a process to reason about JIT formulas.
3
A Case Study: Implicit Organizations
In our previous works [13,21] we did some investigations on the problem of group communication via overhearing in the field of multi-agent systems to support ambient intelligence. In simple terms, our approach consists in modeling the components of an active environment as agents, and having them communicating via multicast channels [3] rather than via point-to-point connections. We proposed a special form of team, called implicit organization [13], for the coordination of agents joining multicast channels to play a specific role. The word implicit highlights the facts that there is no need for a group formation phase (joining an organization is just a matter of tuning on a channel), and no name for it – the role and the channel uniquely identify the group, indeed. We adopt the
Monitoring of Group Interactions and Social Roles via Overhearing
57
term organization from Tidhar [22], to refer to teams where explicit command, control, and communication relationships are established among sub-teams. We choose implicit organizations as a case study for the approach presented above and for overhearing as a mechanism to achieve stability and consistency of the organizations. This is because group communication protocols used by Implicit Organizations take into account problems coming from unreliable channels, continuous changes in the number of agents, and strict real-time constraints. So, our objective is to explore advantages and disadvantages of an approach based on overhearing on unreliable group communication, in a situation where agents can come and go fairly quickly, their capabilities can change or evolve over time, and it is not necessarily known a-priori which agent can achieve a specific goal without first trying it out. Observe that third parties overhearing a channel, in accordance to [23], may help in making the interaction with implicit organizations much more robust – for instance, by detecting some message losses, or whether a goal-specific sub-team has been established.
3.1
Monitoring Implicit Organizations
An implicit organization is in charge of defining its own control policy, which means: (1) how a sub-team is formed within the organization in order to achieve a specific goal (i.e., serving a request); and, (2) how the sub-team decides to pursue its goal. For the latter objective, a coordination policy has to be established by the organization and used by sub-teams to decide who actually works toward achieving goals, and possibly to coordinate the agents when more than one is involved in the process. Whenever a new agent joins an environment, a protocol is run to negotiate the coordination policy of the organization the agent wants to be part of; the same happens when an agent leaves or whenever somebody detects an inconsistency due, for instance, to network partitioning or agent crashes, or simply to changes in the environment. In [13], we assumed that any request – by which we mean any REQUEST and QUERY, using the FIPA performatives [24] – generates a commitment by an implicit organization to perform the necessary actions and answer appropriately. The negotiation protocol, also described in [21], has been designed to work as efficiently as possible. In summary, the negotiation protocol works in two phases: first, the set of policy instances common to all agents is computed; then, one is selected. During the first phase of the negotiation, a group belief about the common policy instances is established. This can be easily achieved by having each agent sending information messages (INFORM) to the role on what it is able to support, and intersecting the contents of all received messages. The second phase consists in having one agent, called the “oracle”, selecting one policy among those common to everybody and notifying the organization of its decision, by means of a simple assertion message (ASSERT) sent to the role. In the context of a coordination policy negotiation, the possible objectives of an over hearer are:
58
S. Rossi and P. Busetta
Avoiding Renegotiation. The protocol described in [13] requires that every time an agent enters or exits from a channel, a renegotiation of the policy is called. Obviously, there will be cases in which such process is unavoidable (see as an example the case in which the agent which exits has an important social role in the organization, or the agent who enters wants to assume the role of the “oracle”). In all the other cases the agents (“newAgent”) can make a query to the overhearer and adapt themselves to the running situation. Consistency Check. During the process of policy negotiation, as we said, the protocol is described by means of the states in which there are mutual beliefs about some particular predicates. The role of the overhearer, in this case, can be of verifying the inconsistencies of some members of the organization and the integrity of mutual beliefs concerning supported policies, common policies, and the current policy. The current implementation of implicit organizations is formalized in [21] by means of the Joint Intention Theory [8] through a landmark based approach [9], as in Figure 2 where the landmark are:
Fig. 2. Request and Policy Negotiation Protocol for an Organization
The machine represented above starts with landmark L1, that says that there are no pending goal, while landmark L2 says that the requested goal has not been achieved yet, and that the implicit organization has a joint persistent goal to achieve it and notify the requester The notification of the results to is overheard by everybody in thus it establishes the mutual belief within the organization that satisfies its joint goal (landmark L3). Landmarks from L5 to L7 represent the policy negotiation protocol and in these landmarks all the formulas in L2 are still valid. In the case of the Request Protocol, the roles can be formalized as requester agent, participant (i.e. each agent of the organization receive the request for the
Monitoring of Group Interactions and Social Roles via Overhearing
59
job) and active-participant (i.e. the members of the organization which actively participate to the achievement of the task). Moreover, during the policy negotiation phase we can have different kind of social roles such as the oracle (i.e. the agent which is in charge to select the coordination policy).
Finally, for sake of simplicity, the possible states of the organization, represented by the landmarks, can be expressed as:
For instance during the policy negotiation protocol some of the rules for the overhearer are:
In the following message rules, we assume that the communication language is XML based, as it is the case in our LoudVoice platform:
4
Conclusions and Future Directions
In this paper we present a first attempt to formalize the process of monitoring group conversations and of recognizing social roles via overhearing. In particular we based our monitoring process on group’s states expressed through Joint Intention Theory and a landmark based approach. As with software agents, the problem of monitoring group interactions or teamwork remains a key problem also when dealing with human groups. Analyzing human behavior and group interactions is becoming possible by the availability of new and sophisticated technologies, such user interfaces and tools than enhance human-computer interfaces with a combination of input modality (gesture, voice, and so on). This analysis is needed because, if a smart environment has to provide implicit and
60
S. Rossi and P. Busetta
pro-active services, it needs to monitor and understand human activity and human needs. This has to be accomplished by establishing a model of human activities, and the technological and environmental state in which human beings operate. Human society has developed a set of commonly understood conversation protocols (social norms) for many common interactions [9]. Obviously, the application of this approach to human beings implies a higher uncertainty and is left to future works once that some statistical process of interaction recognition model will be formalized.
References 1. McCarthy, J.: Active environments: sensing and responding to groups of people. Personal and Ubiquitous Computing 5 (2001) available at http://www.inf.ethz.ch/vs/events/dag2001/. 2. O. Stock and M. Zancanaro: Intelligent Interactive Information Presentation for Cultural Tourism. In: Proceedings of the International CLASS Workshop on Natural Intelligent and Effective Interaction in Multimodal Dialogue Systems, Copenhagen, Denmark (2002) 3. Busetta, P., Doná, A., and Nori, M.: Channeled multicast for group communications. In: Proc. of the first intern. joint conf. on Autonomous agents and multiagent systems, ACM Press (2002) 1280–1287 4. Gutnik, G., Kaminka, G.: Towards a Formal Approach to Overhearing: Algorothms for Conversation Identification. In: Third International Joint Conference on Autonomous Agents and Multi Agent Systems (AAMAS 2004), New York, USA (2004) 5. Nair, R., Tambe, M., Marsella, S., and Raines, T.: Automated assistants for analyzing team behaviors. Autonomous Agents and Multi-Agent Systems, 8 (2004) 69–111 6. Legras, F., Tessier, C.: Lotto: group formation by overhearing in large teams. In: Proceedings of the second international joint conference on Autonomous agents and multiagent systems, ACM Press (2003) 425–432 7. Kaminka, G. A., Pynadath, D., Tambe, M.: Monitoring Teams by Overhearing: A Multi-Agent Plan-Recognition Approach. Journal of Artificial Intelligence Research, 17 (2002) 83–135 8. Cohen, P. R., Levesque, H. J.: Teamwork. Technical Report 504, AI Center, SRI International, Menlo Park, CA, (1991) 9. Kumar, S., Huber, M. J., Cohen, P. R., McGee, D. R.: Toward a formalism for conversation protocols using joint intention theory. Computational Intell, 18 (2002) 174–174 10. Chopra, A. K., Singh, M. P.: Nonmonotonic Commitment Machines. In: Advances in Agent Communication, Volume LNAI 2922., Springer (2004) 11. Smith, I. A., Cohen, P. R.: Toward a semantics for an agent communication language based on speech acts. In Shrobe, H., Senator, T., eds.: Proceedings of the Thirteenth National Conference on Artificial Intelligence and the Eighth Innovative Applications of Artificial Intelligence Conference, Vol. 2, Menlo Park, California, AAAI Press (1996) 24–31 12. Smith, I., Cohen, P., Bradshaw, J., Greaves, M., Holmback, H.: Designing conversation policies using joint intention theory. In: Proceedings of Third International Conference on Multi-Agent Systems (ICMAS98). (1998)
Monitoring of Group Interactions and Social Roles via Overhearing
61
13. Busetta, P., Merzi, M., Rossi, S., Legras, F.: Intra-Role Coordination Using Group Communication: A Preliminary Report. In: Advances in Agent Communication, Volume LNAI 2922., Springer (2004) 231–253 14. Edwards, W. K.: Policies and roles in collaborative applications. In: Proceedings of the 1996 ACM conference on Computer supported cooperative work, Boston, Massachusetts, ACM, ACM Press (1996) 11–20 15. Smith, R. B., Hixon, R., Horan, B.: Supporting flexible roles in a shared space. In: Proceedings of the 1998 ACM conference on Computer supported cooperative work, ACM Press (1998) 197–206 16. Bales, R. F.: Interaction Process Analysis: A Method for the Study of Small Groups. Addison-Wesley, Cambridge, Mass. (1976) 17. Conte, R., Dignum, F.: From social monitoring to normative influence. Journal of Artificial Societies and Social Simulation, 4 (2001) 18. Kaminka, G. A., Tambe, M.: Robust agent teams via socially-attentive monitoring. Journal of Artificial Intelligence Research, 12 (2000) 105–147 19. Rao, A. S., Georgeff, M. P.: BDI-agents: from theory to practice. In: Proceedings of the First Intl. Conference on Multiagent Systems, San Francisco (1995) 20. Rao, A. S.: AgentSpeak(L): BDI agents speak out in a logical computable language. In van Hoe, R., eds.: Seventh European Workshop on Modelling Autonomous Agents in a Multi-Agent World, LNAI 1038, Eindhoven, The Netherlands, Springer-Verlag (1996) 21. Busetta, P., Merzi, M., Rossi, S., and Zancanaro, M.: Group Communication for Real-time Coordination and Ambient Intelligence. In: Artificial Intelligence in Mobile System AIMS2003 (in conjunction with UbiComp 2003). (2003) 22. Tidhar, G.: Organization-Oriented Systems: Theory and Practice. PhD thesis, Department of Computer Science and Software Engineering, The University of Melbourne, Australia (1999) 23. Busetta, P., Serafini, L., Singh, D., Zini, F.: Extending Multi-Agent Cooperation by Overhearing. In: Proceedings of the Sixth Int. Conf. on Cooperative Information Systems (CoopIS 2001), Trento, Italy (2001) 24. Foundation for Intelligent Physical Agents: (FIPA Communicative Act Library Specification). http: //www. fipa. org/repository/cas.html.
A Probabilistic Approach to Predict Peers’ Performance in P2P Networks* Zoran Despotovic and Karl Aberer EPFL - Swiss Federal Institute of Technology Lausanne, Switzerland
Abstract. The problem of encouraging trustworthy behavior in P2P online communities by managing peers’ reputations has drawn a lot of attention recently. However, most of the proposed solutions exhibit the following two problems: huge implementation overhead and unclear trust related model semantics. In this paper we show that a simple probabilistic technique, maximum likelihood estimation namely, can reduce these two problems substantially when employed as the feedback aggregation strategy. Thus, no complex exploration of the feedback is necessary. Instead, simple, intuitive and efficient probabilistic estimation methods suffice.
1
Introduction
Recent empirical studies have shown that much of eBay’s commercial success can be attributed to its reputation mechanism (Feedback Forum) as a means of deterring dishonest behavior. Thus, [1] shows that “reputation profiles are predictive of future performance”, while [2] and [3] come up with the conclusion that Feedback Forum completely fulfills its promises: the positive feedback of the sellers increases their price, while the negative one reduces it. eBay’s Feedback Forum is just a well known example of reputation systems [4] as informal social mechanisms for encouraging trustworthy behavior in online communities. Their key presumptions are that the participants of an online community engage in repeated interactions and that the information about their past doings is informative of their future performance and as such will influence it. Thus, collecting, processing, and disseminating the feedback about the participants’ past behavior is expected to boost their trustworthiness. The mentioned eBay example confirms this expectation. A huge body of work has appeared recently on managing online reputations. (For a comprehensive overview see [5] for instance). In this paper we will be more specific and consider only P2P networks. We will first review the relevant literature (Section 3) and offer a view on how various P2P reputation management approaches contribute to building trust. As we will see, most of the them *
The work presented in this paper was partly carried out in the framework of the EPFL Center for Global Computing and supported by the Swiss National Funding Agency OFES as part of the European project Evergrow No 001935.
M. Klusch et al. (Eds.): CIA 2004, LNAI 3191, pp. 62–76, 2004. © Springer-Verlag Berlin Heidelberg 2004
A Probabilistic Approach to Predict Peers’ Performance in P2P Networks
63
suffer from the following two problems: huge implementation overhead and unclear trust related model semantics. The main cause of the first problem lies in the necessity of aggregating the feedback about all peers in the network in order to assess the trustworthiness of a single peer, while the second problem is mainly caused by the counterintuitive feedback aggregation strategies resulting in the outputs that are hard to interpret. In this paper we show on two settings relevant for P2P communities that a simple probabilistic technique, maximum likelihood estimation namely, can reduce these two problems substantially when employed as the feedback aggregation strategy (Sections 4 and 5). Operating on a small fraction of the feedback available in the network, it lends itself to an efficient implementation. On the other hand, its outputs are probabilities of specific behaviors of the peers and as such have a clear and well founded interpretation. Finally, its ability to detect peers’ misbehavior is as strong as that of the best ones of the existing approaches. Thus, we conclude that no complex exploration of the feedback is necessary. Instead, simple and efficient probabilistic estimation methods suffice. Interestingly, the vast majority of the existing approaches (excluding gametheoretic works) evaluate their effectiveness assuming that the peers are associated with probability distributions determining their performance. However, this assumption on the peer behavior is not explicitly built into the solution methods they propose. On the other hand, we start with the same assumption and, instead of aggregating the feedback in an ad hoc manner, we just try to predict the peer probability distributions as well as we can. This is the key difference between our and the other solutions. However, the exact setting in which the technique can be successfully used rules out forming huge collusive groups among peers. Instead, it implies their independent acting.
2
P2P Computational Models of Trust
In the following we introduce a general view on P2P computational models of trust, broad enough to cover all specific works we are aware of. The purpose of the section is to describe in general the problem the decentralized trust and reputation management considers. Section 3 then describes particular classes of solutions of the problem. An underlying assumption of the computational models of trust is that the peers engage in bilateral interactions, which results in forming a directed weighted (trust) multigraph. Its node set coincides with the set of peers and the set of edges with the set of interactions between the peers. In a general form, the weight assigned to any edge consists of an ordered pair: a flag representing the context of the corresponding interaction and the interaction outcome as perceived by the source. The set of all interaction outcomes is assumed to be common knowledge among the peers. We assume at most two possible interaction contexts: (1) recommendations, when the destination node acts as a recommender of other nodes capable of performing a specific task or other recommenders, and (2) the
64
Z. Despotovic and K. Aberer
task performances themselves. We also assume that the latter must be present while the former is optional.
Fig. 1. Computational model of trust
Figure 1 presents an example. The way we should understand this figure is as follows. Node had three interactions with node once node acted as a recommender of other entities (flag and node contention with the recommendation was evaluated 0.8 and twice node provided the service in question to node (flag and evaluations of the service provisions were 1 and 0.9 respectively. The core of any computational model of trust is in the answer to the following question: how can a given peer use the information on direct and recommendation experiences between the peers, that it can retrieve from the network, to evaluate the trustworthiness of any other peer? A bit of caution is needed here: we do not say that every peer knows the whole trust multigraph. Instead, we assume that it is reconstructed (the whole graph or a part of it) by querying the other peers, which may misreport. Generally, the direct experiences of the nodes which interacted with the given node (nodes and in the case of node from Figure 1) should be propagated through the graph down to the computation source (node by using the recommendation experiences along the paths to filter them out. Different works propose different strategies for doing this. We classify them in Section 3. We stress that most of the existing works do not model explicitly the context of recommendations but rather use direct experiences as filters. This can be thought of as weighting one’s reports by his trustworthiness rather than his ability to recommend. As well, we emphasize that most of the works use binary (zero-one) evaluations of the individual interactions. In the example of Figure 1 this would mean that all the numbers are zero or one. It is important to note that the formed trust graph does not coincide with the underlying P2P network. We see the underlying P2P system as managing a distributed database of (data key, data value) pairs. The problem is how to distribute this database among the peers so that the basic database operations (e.g. search) are efficient and the storage space required at each peer is
A Probabilistic Approach to Predict Peers’ Performance in P2P Networks
65
small in comparison with the size of the database. Two fundamental approaches exist to achieve this: (1) unstructured [6], in which the data is distributed randomly over the peers and broadcasting mechanisms are used for searching and (2) structured [7], [8], [9], that build up distributed, scalable data access structures to route search requests. Having clarified this, it should be clear that the trust graph can be actually stored in the underlying P2P system. In the case of an unstructured P2P overlay every peer can store its outgoing edges from the trust graph (the identifier of the destination node and possibly time stamp may act as the key), while in the case of a structured P2P overlay the triples (destination, source, timestamp) may act as the keys for the trust graph edges and be stored at peers just as dictated by the P2P network [10]. In both cases weights of the edges may act as the values. Thus, exploring the trust graph reduces actually to searching the underlying P2P network. More specifically, retrieving feedback about any specific peer is subdued to searching for the data items with the keys starting with that peer’s identifier. This can be done efficiently in a structured P2P network. In the rest of the paper we will assume this.
3 3.1
Trust Models Classification Classification Criteria
A clear categorization of P2P computational models of trust based on managing peers’ reputations must consider in the first place the models’ behavior with respect to the following three dimensions: the incurred implementation costs, the resistance to various attacks and the trust related model semantics. As P2P networks normally involve millions of nodes particular attention should be paid to cutting down the total implementation overhead introduced by the employed reputation management solution. It consists of: the communication costs associated with the process of retrieving the necessary feedback, the involved storage costs, and the computation overhead related to the feedback aggregation. Resistance to attacks normally implies an analysis of the model responsiveness to various forms of misbehavior of the peers. The following two types of misbehavior have been established in the literature as relevant: independent cheating in interactions or badmouthing other peers and forming collusive groups to badmouth specific peers and boost trust values of some other ones. For example, peers and in Figure 1 may misreport their experiences with peer independently or they may collude and misreport in correlated ways. The last mentioned dimension deserves more explanation as it is accompanied by quite some disagreement in the literature. Deriving from [11], we view trust as being inseparable from vulnerability and opportunism associated with the interacting parties. Consequently, we say that peer A (trustor) trusts peer B (trustee) if the interaction generates a gain to be shared with and by peer B and exposes peer A to a risk of loss, if peer B takes a too large portion from the joint gain. Building on this, we see trust management as a set of actions related to: 1) reducing the opportunism of the trustee, 2) reducing vulnerability of the
Z. Despotovic and K. Aberer
66
trustor and, after these two issues have been properly addressed, 3) deciding if and when to enter an interaction. Clearly, the main goal of any reputation management mechanism is partial or, if possible, complete reducing of the opportunism of the interacting parties. The degrees at which different mechanisms achieve this vary. We see the following classes: social networks formation, probabilistic estimation techniques and gametheoretic models, which are discussed next.
3.2
Social Networks
This class of approaches normally implies that the entire trust multigraph is reconstructed and that all reputation information available in it is aggregated (Figure 1). A natural interpretation of the aggregation process involves the following steps: 1) enumerating all paths from the trust computation source to the target node, 2) aggregating the trust values along the paths to give a path wide gossip and 3) merging these gossips into a final value. Where is the exact position of this class with respect to the tree dimensions introduced above? Normally, their implementation overhead is high. Because a trust-computing node has to retrieve the entire trust network, the communication costs are very high. Besides, because the number of paths between the trust-computing source and target can be exponential, the reputation aggregation process is too costly. These two problems are even more strongly emphasized if the context of recommendation is present - see [12] for an example. [13], modeling only direct experiences, offers important theoretical insights on this issue by characterizing the combinations of path and across-path aggregation strategies that may lead to a non-exponential trust computation algorithm (we note that many other works use such combinations: e.g. [14], used for Web pages ranking, and [15]). Central to the approach is the claim that, for specific combinations of the aggregation strategies, exploring all the paths is equivalent to finding a convergent power of the trust matrix, derived naturally from the trust graph.1 (Here, the matrix “multiplication” ’ operation is derived from the path and across-path aggregation operations.) However, the proposed algorithm requires the synchronous participation of all peers, making it hardly implementable in a P2P network. Instead, we believe that an incremental computation is something worth further investigation. [16] offers important insights with respect to this. The gist of this approach consists of computing the trustworthiness of a given node as the average of its performances as seen by its neighbors in the trust graph, weighted by the trustworthiness of the neighbors themselves. The authors also develop a simple caching scheme in which the trust values of the neighbors of the trust computation target are taken from a cache (default values are used in the case of cache
1
It is assumed that the interaction multigraph is transformed into a graph by aggregating first the interaction outcomes between the pairs of nodes.
A Probabilistic Approach to Predict Peers’ Performance in P2P Networks
67
miss) and their computed trust values replace the corresponding values existing in the cache. How robust is this class of approaches in presence of various misbehaviors? [15] and [16], the only works providing informative simulation results, report good performance of the corresponding approaches when the fraction of malicious peers is small (below 45% approximately) and the malicious peers independently cheat in the interactions and distort their ratings of other peers. [16] further reports the complete breakdown of the mechanism when the cheaters take more than a half of the overall population or when they collude. On the contrary, [15] claims almost full effectiveness of their mechanism when the malicious peers make the larger fraction of the population and collude in various ways. This results from, in our opinion, the fairly unrealistic assumption that a number of pretrusted peers exist each of whom is assigned some non-zero trust by the rest of the community, including the malicious peers. (This is so called “random walker” model used for Web pages ranking.) The computed values have unclear semantics and are hard to interpret. They cannot be interpreted as the (estimated) probabilities of the trustworthy behavior of the target peers and the question what exactly they represent is left open. Let us also mention an interesting detail related to [13] and [15]: when the trust graph is irreducible and apperiodic the powers of the corresponding trust matrix converge to a matrix in which all the rows are the same and sum up to 1 (the primary eigenvector of the matrix). Thus the trust values of the peers have global meaning - they are independent of the computation source. On the other hand, because all the values sum up to 1, it seems as if the trust was distributed among the peers. But, if we have the values for all the peers and they are approximately close we are in doubt whether the whole network is trustworthy or it is malicious. This leads us to conclude that the computed values lack a plausible interpretation on an absolute scale and that the only scenarios in which they can be used must involve ranking the trust values of many peers and selection of the most trustworthy one(s) among them.
3.3
Probabilistic Estimation
Probabilistic estimation techniques present certain improvement with respect to the meaningfulness of the computed values. Namely, they output probability distributions (or at least the most likely outcome) over the set of possible behaviors of the trusted agents. The importance of such models becomes clear if we recall the presented view on trust - if the opportunism of the trustee cannot be reduced completely then it becomes important for the trustor to be able to estimate the risks of the interaction and decides whether to enter it or not. If the individual outcomes of the interaction are assigned the probabilities and the trustor can assign them utilities as well then this task becomes easy - the trustor just needs to compute whether entering the interaction has a higher utility than staying out. In principle, it is possible to construct a probabilistic model in which all the paths between the trust computation source and target. However, we are not aware of any such attempt and doubt that it would suffer from an exponential
68
Z. Despotovic and K. Aberer
computation overhead, just as outlined previously. But, we believe that constructing such a model is unnecessary and that in most of the relevant settings it is sufficient to consider only two small fractions of the formed trust (multi)graph - those around the trust computation source and target. One of the goals of this paper is exactly to show this. Needless to say, another clear advantage of doing the trust computation this way is its implementation efficiency. It is a bit surprising that very few works on using well known probabilistic estimation techniques for decentralized trust computation exist. [17] presents the well-known method of Bayesian estimation as the right probabilistic tool for assessing the future trusting performance based on past interactions. Only direct interactions were studied - the question of including recommendations was not considered. [18] goes a step further by taking into account the “second-hand” opinions also. However, the strategy for merging own experiences with those of other witnesses is intuitive (giving more weight to own experiences, though plausible, is still intuitive) rather than theoretically founded.
3.4
Game-Theoretic Models
Game-theoretic reputation models make a further clarification in the interpretation of the agents’ trustworthiness in the sense that, if the reputation system is designed properly, trust is encoded in the equilibria of the repeated game the agents are playing. Thus, for rational players trustworthy behavior is enforced. The real challenge here is how to define the feedback aggregation strategies that will lead to socially desirable outcomes carrying trust. [19] presents the proper game-theoretic framework for analyzing reputations (repeated games with incomplete information), while [20] and [21] offer certain characterizations of the equilibria payoffs in the presence of reputation effects. [22] focuses on a specific game and derives its equilibria. Apart from this the author also raises questions concerning the overall game-theoretic reputation systems design, such as incentivizing players to leave feedback, dealing with incomplete feedback etc. However, an underlying assumption of this work is that a central trusted authority does the feedback aggregation. We see this as a major obstacle to transferring game-theoretic models to decentralized environments.
4
Model I - Honest or Dishonest Peers
Let us now consider a P2P network consisting of peers having associated innate probabilities of performing honestly in their interactions with others. Let denote the probability of peer Assume that peer interacted with peers and its performances in these interactions were where (1 denoting the honest performance and 0 the dishonest one). When asked to report on peer performances witnesses may lie and misreport. Assuming that they lie with specific probabilities, say for peer the probability of observing report from peer can be calculated as:
A Probabilistic Approach to Predict Peers’ Performance in P2P Networks
Now, given a random sample of independent reports that the likelihood function of this sample is
69
we have
The maximum likelihood estimation procedure now implies simply finding that maximizes this expression. This number is the maximum likelihood estimate of the unknown probability. Note also that the own experiences are seamlessly integrated into this model - the trust computing source peer just has to put for his own experiences Let us locate this model in the three-dimensional space introduced in Section 3.1. First, referring back to Figure 1, if peer is computing the trustworthiness of peer then the model assumes the peer first retrieves from peers and their reports on peer performances with them. (This is the meaning of in (2)). Thus, the necessary reputation information on which the model operates consists in this case of the edges entering node Keeping in mind what we said in Section 2 about how the overlay network is used to store the trust data we see that retrieving these edges (feedback) coincides with searching the overlay for the data items with the keys starting with Further, as we will see shortly, not all such data items have to be retrieved. Good predictions can be achieved even with 10-20 reports retrieved. We stress that this is a considerable improvement as compared to what most of the existing approaches do - we retrieve only a small fraction of the feedback about the trust computation target, while they retrieve the entire feedback about all the nodes. On the other hand, we assume that peer deduces the misreporting probabilities from own interactions (by comparing its own performances with the reports about them). These “averages” can be maintained for specific peers are different) or at the level of the whole network are all same). In the simulations below we assume the second possibility. In this case the involved storage costs per peer are negligible - only a single value is kept and used to approximate the situation in the network. Thus, in a word, the model incurs small communication overhead and virtually no storage costs. Second, the output values of the model are probabilities and as such they do have a plausible interpretation on the absolute [0,1] scale. Therefore, it is easy to interpret and use them without comparing with the other peers’ values. Third, Equation (2) implies the independence of the reports Thus, the assumed setting is non-collusive and the simulation results we present next hold for this setting. We note that extensions to collusive settings are possible by integrating the collusion possibilities into (2).
70
4.1
Z. Despotovic and K. Aberer
Simulation Results
We checked the performance of the method in a variety of parameter settings. As the estimation quality measure we chose the mean absolute error of the estimated probabilities of the peers performing honestly and their actual values. The following parameters are considered: 1) the number of peers - 128 (constant throughout the simulations), 2) the number interactions per peer - varied at increments of 20 from 20 to 100, and 3) fraction of liars - varied at increments of 0.1 from 0.1 to 0.5. All the results are averaged across 20 simulation runs. The interactions among the peers were generated at random, we did not consider any particular structure of the resulting trust network. Note that the second parameter, number of interactions per peer, is not correlated with the numbers of peers. For higher network sizes the same results would be obtained with the same numbers of interactions per peer. Put differently, the absolute amount of feedback is what determines the results, not its relative size as compared to the size of the network. Figure 2 shows the results for the case when the peers’ probabilities of performing honestly are generated at random in the interval [0, 1].Note that the liars were generated so that they always lie from (1) equals the fraction of liars). We have also experimented with varying and did not observe any important difference.
Fig. 2. Simulation results - peers’ trustworthiness drawn randomly from [0,1]
We emphasize that the plot is symmetric across the line “fraction of liars = 0.5”. This is simply a consequence of the introduced probabilistic assumptions and non-collusive peer behavior - if a peer believes that the majority of the peers are liars then it should take the reverse of their reports as true. Interestingly, no existing approach exhibits this behavior.
A Probabilistic Approach to Predict Peers’ Performance in P2P Networks
5
71
Model II - Normally Distributed Services
There are settings in which the peers’ behavior or their performances within certain contexts are characterized by a globally known finite number of types. An example of such a setting would be the speeds of the network connections of the peers. Namely, there are a fixed number of the connection types with prespecified speeds. (However, the speed of any given connection is only theoretically fixed, in practice it varies due to different conditions in the network.) In this section we present a general model of such settings and show how the maximum likelihood estimation can be used in this case. The simulation results, given in Section 5.2, show that the technique performs even better than in the setting of Section 4. Intuitively, this is a consequence of the stronger constraints imposed on the peers behavior. Consider a P2P network consisting of N peers They provide services to one another and we are assuming that each observed service quality is distributed according to a normal distribution Thus, there are different distribution from which the service qualities are drawn, all of them having the same standard deviation but different means These distributions will be denoted by so that, for any the symbol will denote the normal distribution We further assume that the means are innate to the peers so that whenever a given peer, say peer provides a service then the service quality observed by its consumer will be a random variable distributed according to where is peer mean. As in the precedent model, we are assuming that a fraction of the peer population are liars, while the rest of the populations are honest participants. The fraction of liars is learned by comparing the own performances and the reports about them. We will assume the following behavioral patterns of the two groups of peers. Consider an interaction between service provider and consumer in which observes the quality level If peer is honest then it will report value when asked to report on peer On the other hand, if is a liar then it will first choose a distribution at random and then report a random value generated from this distribution. Our task is, just as before, to show that a maximum likelihood based estimation method can be used to accurately predict the future performance of the service providers given the reports of their past provided qualities. Note that a very similar setting was considered in [23], where a machine learning technique was used instead.
5.1
Estimation Derivation
Let denote the unknown mean of a given peer. To determine the likelihood of any report on that peer’s performance we must first determine the distribution of the reports. Denoting by Y the corresponding random variable we have:
Z. Despotovic and K. Aberer
72
where
and
Taking derivatives we obtain the following probability density function:
Now, having a random sample from this distribution and assuming that the independence of the samples we compute the likelihood function:
The final task is to select the unknown parameter such that this likelihood function is maximized. We stress that whatever has been said in Section 4 on the the model’s main properties applies also here. In short, low implementation overhead and meaningful interpretation of the output values remain the main properties of this model too. Its prediction quality is given next.
5.2
Simulation Results
We now present the results from a series of tests that show the performance of the method. We first generate peers, determine the liars and assign service distributions to the peers. The services are generated in such a way that, if there are services then their means are random numbers between 1 and (the standard deviation was varied between 0 and 1 as presented below). Being a liar and having any specific service are not correlated. Then we generate a number of interactions at random. The following parameters are considered in the simulations: 1) the number of peers - 128 (constant throughout the simulations), 2) the number interactions per peer - varied at increments of 20 from 10 to 50, 3) fraction of liars - varied at increments of 0.1 from 0.1 to 1.0, 4) number of services - 4 (constant throughout the simulations) and 5) standard deviations of the service distributions - varied at increments of 0.1 from 0.1 to 1.0 with the default value of 0.3. The fraction of incorrect guesses (misclassification rate) is used as the quality measure. Figure 3 presents the dependency of the misclassification rate on the fraction of liars and the number of interactions per peer considered. The number of services was 4 and their means were all 0.3. Figure 4 shows how the misclassification rate depends on the standard deviations of the services.
A Probabilistic Approach to Predict Peers’ Performance in P2P Networks
73
Fig. 3. Misclassification rate of the expected service quality as a function of the fraction of liars. Standard deviations of the service distributions -
Fig. 4. Misclassification rate of the expected service quality as a function of the standard deviation of the distributions of the services
Let us comment on the presented results. First, because the number of the services is greater than two and the liars lie uncoordinatedly good predictions can be made even when the fraction of the liars is close to one. Second, the method becomes very robust as the number of interactions considered increases. When the inluence of the “noise” (standard deviation is not too high, the method is able to separate the distributions quite well. Though the simulation setting considered in this section is different from the setting of Section 4 we can still derive some conclusions by comparing the presented results. The main difference between the two models is as follows: the model in the previous section assumes infinitely many behavior types (probability distributions), while the model in this section implies a known finite number of behavior types. It is this difference that enables a better performance of the maximum likelihood estimation in the second case.
74
6
Z. Despotovic and K. Aberer
Discussion and Future Work
We propose in this paper a simple probabilistic method to assess peers’ performance in a P2P network (or more specifically their trustworthiness). The method is based on the well known statistical estimation technique - maximum likelihood estimation. We test its quality on two settings relevant for P2P communities. From the test we derive the following as the main properties of the method. 1. The method is able to estimate peers’ characteristics (i.e. their trustworthiness) quite well. For smaller fractions of liars, the method gives good estimates even when a small number of recent interactions is considered (around 20). This is particularly important when the assumed peer behavior is time dependent. In this setting, our method is more capable of capturing the behavioral dynamics. 2. The implementation overhead of the method is as small as possible. Practically, it only implies the small communication overhead related to retrieving the direct experiences of the peers who interacted with the trust computation target. 3. The considered setting was non-collusive; it assumed that peers did not form collusive groups but rather acted independently. In this setting, the mechanism gives estimates of the peers’ trustworthiness with errors within 5-10% even with 30% of liars.
To the best of our knowledge, no existing approach exhibits such properties. At best, they show similar quality of the trustworthiness estimation (similar or higher estimation error) but require substantially higher implementation overhead. On the other hand, most of them can be applied only in specific settings (e.g. file sharing) because they essentially need ranking of the trustworthiness values of various peers. Our comparison of the results given in [15], [16] and [23] and those presented here confirms these claims directly. There is a simple explanation of this. Namely, the simulation settings we consider coincide (or are very similar) with those presented in the mentioned works. This is true not only for the simulation parameters but also for an important aspect of the assumed behavior of the peers. Precisely, all the works assume that the peers are associated with specific probability distributions that determine their performance. The key difference between our and the other solutions is that we introduce this assumption explicitly into the trust computation method, while the other works do not. However, we did not deal in this paper with the case in which these probability distributions are correlated among the peers. Put differently, we assumed here independent acting of the peers, without forming collusive groups. Checking precisely the performance of the presented method in collusive settings and extending it to be as effective as possible under this assumption on the peers’ behavior make the most important part of the future work. This can be done either by modeling collusions probabilistically (operating directly on Equations (2) and (7)) or learning the probabilities of misreporting for every peer in the network separately rather than for the network as a whole.
A Probabilistic Approach to Predict Peers’ Performance in P2P Networks
75
References 1. Resnick, P., Zeckhauser, R.: Trust among strangers in internet transactions: Empirical analysis of ebay’s reputation system. In Baye, M.R., ed.: The Economics of the Internet and E-Commerce. Volume 11 of Advances in Applied Microeconomics. Amsterdam, Elsevier Science (2002) 2. Houser, D., Wooders, J.: Reputation in auctions: Theory and evidence from ebay. Working paper, University of Arizona (2001) 3. Melnik, M.I., Alm, J.: Does a seller’s ecommerce reputation matter? evidence from ebay auctions. Journal of Industrial Economics 50(3) (2002) 337–349 4. Resnick, P., Zeckhauser, R., Friedman, E., Kuwabara, K.: Reputation systems. Communications of the ACM 43(12) (2000) 45–48 5. Dellarocas, C.: The digitization of word-of-mouth: Promise and challenges of online reputation systems. Working paper, MIT (2002) 6. Clip2: The gnutella protocol specification v0.4 (document revision 1.2). http://www9.limewire.com/developer/gnutella_protocol_0.4.pdf (2001) 7. Aberer, K.: P-grid: A self-organizing access structure for p2p information systems. In: Proceedings of the Sixth International Conference on Cooperative Information Systems (CoopIS 2001), Trento, Italy (2001) 8. Stoica, I., Morris, R., Karger, D., Kaashoek, F., Balakrishnan, H.: Chord: A scalable peer-to-peer lookup service for internet applications. In: Proceedings of the 2001 ACM SIGCOMM Conference. (2001) 149–160 9. Ratnasamy, S., Francis, P., Handley, M., Karp, R., Shenker, S.: A scalable contentaddressable network. In: Proceedings of ACM SIGCOMM ’01. (2001) 161–172 10. Aberer, K., Despotovic, Z.: Managing trust in a Peer-2-Peer information system. In: Proc. of the IX International Conference on Information and Knowledge Management, Atlanta, Georgia (2001) 11. Usunier, J.C.: Trust management in computer information systems. Working paper, IUMI, HEC, University of Lausanne, Switzerland (2001) 12. Beth, T., Borcherding, M., Klein, B.: Valuation of trust in open networks. In: Proceedings of the European Symposium on Research in Computer Security (ESORICS), Brighton, UK, Springer-Verlag (1994) 3–18 13. Richardson, M., Agrawal, R., Domingos, P.: Trust management for the semantic web. In: Proceedings of the Second International Semantic Web Conference, Sanibel Island, FL (2003) 351–368 14. Page, L., Brin, S., Motwani, R., Winograd, T.: The PageRank citation ranking: Bringing order to the web. Technical report, Stanford University, Stanford, CA (1998) 15. Kamvar, S.D., Schlosser, M.T., Garcia-Molina, H.: Eigenrep: Reputation management in p2p networks. In: Proceedings of the World Wide Web Conference, Budapest, Hungary (2003) 16. Xiong, L., Liu, L.: Peertrust: Supporting reputation-based trust in peer-to-peer communities. IEEE Transactions on Knowledge and Data Engineering (TKDE), Special Issue on Peer-to-Peer Based Data Management (2004) 17. Mui, L., Mohtashemi, M., Halberstadt, A.: A computational model of trust and reputation. In: Proceedins of the 35th Hawaii International Conference on System Science (HICSS). (2002) 18. Buchegger, S., Le Boudec, J.Y.: The effect of rumor spreading in reputation systems for mobile ad-hoc networks. In: Proc. of WiOpt ‘03: Modeling and Optimization in Mobile, Ad Hoc and Wireless Networks, Sophia-Antipolis, France (2003)
76
Z. Despotovic and K. Aberer
19. Kreps, D., Wilson, R.: Reputation and imperfect information. Journal of Economic Theory 27 (1982) 253–279 20. Fudenberg, D., Levine, D.: Reputation and equilibrium selection in games with a patient player. Econometrica 57(4) (1989) 759–778 21. Fudenberg, D., Levine, D.: Maintaining a reputation when strategies are imperfectly observed. Review of Economic Studies 59 (1992) 561–579 22. Dellarocas, C.: Efficiency and robustness of binary feedback mechanisms in trading environments with moral hazard. Working paper 4297-03, MIT (2003) 23. Sen, S., Sajja, N.: Robustness of reputation-based trust: Boolean case. In: Proceedings of AAMAS02, Bologna, July (2002)
Personalizing Information Retrieval with Multi-agent Systems Fabrício Enembreck1, Jean-Paul Barthès2, and Braulio Coelho Ávila1 1
PUCPR, Pontifícia Universidade Católica do Paraná PPGIA, Programa de Pós-Graduação em Informática Aplicada, Rua Imaculada Conceição, n. 1155, Curitiba PR - Brasil {fabricio, 2
avila}@ppgia.pucpr.br
UTC – Université de Technologie de Compiègne, HEUDIASYC – Centre de Recherches Royallieu, 60205 Compiègne - France [email protected]
Abstract. In this paper we evaluate the performance of MAIS, a multi-agent system for searching the Internet. The search for interesting documents on the Internet is becoming more and more difficult. Inference engines are largely outperformed by the expansion of the Internet and quite often the user is not satisfied with the results of a search. We believe that multi-agent systems can help to improve the user’s satisfaction because in a multi-agent system (MAS) agents can be specialized in different tasks (search or filtering) and can personalize information. We implemented such an approach using an open MAS containing personal assistants, library agents, filter agents and search agents. In this paper we study the elements of our MAS and compare the performance of the system with traditional search engines taking the viewpoint of the user. Our results are much more accurate than standard search engines. Keywords: Personalized Information Retrieval, Information Agents, Web Search
1 Introduction Savoy [22] indicates that 85% of the users searching the web for information use several search engines, which is a clear indication of the limits of the search engines on the Internet. The differing results for the engines are due to two main factors: (i) search engines have different strategies to evaluate the quality of the sites in relation to a user’s queries, and (ii) search engines databases contain different sets of indexed pages. The quality of a site is estimated by a relevancy measure that ranges from simple term frequency-based techniques to more elaborate heuristic strategies. A good example is Google. Google considers that a web site is important when it is often referenced by other web pages — PageRank technique. Consequently, web addresses present in many pages have priority over less known addresses [4]. We think that if such generic strategies may work for some users, they cannot work for most of them, M. Klusch et al. (Eds.): CIA 2004, LNAI 3191, pp. 77–91, 2004. © Springer-Verlag Berlin Heidelberg 2004
78
F. Enembreck et al.
essentially because they do not take into account the user’s profile or background in order to obtain better, personalized results. The personalization on the web is not a new research topic. Web personalization was first undertaken in the nineties by Lieberman [13], Armstrong et al. [1] or Chen and Sycara [5] who introduced agents for searching the web, while recording the user’s moves. In such approaches, the visited web pages were treated as a database containing common topics. Existing links helped selecting new pages automatically. Such applications are not actual multi-agent applications since distributed exchange of information is not good enough to qualify a multi-agent system. Furthermore, they can be developed using traditional distributed objects or client/server techniques. On the other hand, in a multi-agent system, agents share an interaction protocol (not only a communication protocol) to accomplish common tasks like building coalitions, allocating tasks, or doing coordination. In this work we compare the performance of a multi-agent system developed for searching the web, MAIS (Multi-Agent based Internet Search) [6]. In MAIS, agents with different roles are used to distribute tasks in an open environment. Personalization in MAIS is accomplished analyzing favorite sites and using public interest centers. The paper is organized as follows: Section 2 introduces agents for the Internet; we discuss some strategies for personalization in Section 3; Section 4 presents some details of the MAIS system; in Section 5, we evaluate the performance of MAIS comparing results with traditional search engines; in Section 6 we discuss related works and, finally, Section 7 concludes the paper.
2 Multi-agents and Internet This section first addresses the advantages one could benefit from developing multiagent systems for Internet applications. Using multi-agent systems may have a number of advantages like scalability, stability, or load balancing. Scalability: the system can be updated or expanded without affecting the normal operations. Since agents are independent systems, they can be created and modified individually while other agents continue to provide services1; Stability: whenever an agent crashes, other agents can coordinate the distribution of services and ensure their execution; Load balancing: agents distribute processing naturally. Some tasks like learning profiles or searching the web can be very hard indeed. Agent Coordination Protocols tend to distribute the work between different agents running in different processes, threads, machines or networks uniformly. Nowadays, much attention is paid to information or gathering agents [15]. Such agents can follow the context of the user and provide personalized information to users using a device connected to the web (telephones, notebooks, palms, PDAs, etc.) 1
Note that this does not say anything about what happens to the bandwidth when the number of agents increases drastically.
Personalizing Information Retrieval with Multi-agent Systems
79
in professional or entertainment applications [11] [19]. Other less frequent applications are based on distributed problem solving. Such agents can compete for resources (booking hotels, flights, restaurants, or cinemas) or collaborate to satisfy the user (e.g., Freitas and Bittencourt [9] give an example for searching specific information like call-for-papers on the web with a collaborative multi-agent system). Despite the enormous potential, we do not see many multi-agent systems for providing Internet services, although this situation is changing with emerging multiagent standards like those proposed by FIPA [8], There is however a general consensus that intelligent agents will guide users in many activities related to the web [15]. Many projects are being undertaken with this idea. For example, the Agentcities Task Force [25] congregates more than fifty FIPA compliant agent platforms spread throughout the world for providing services. Currently they offer only basic services for the purpose of evaluating standardization. In the future, such platforms could provide intelligent services. Another example in the multi-agent community is the Trade Agent Competition—TAC [25]. TAC is a public competition between several trading agents in the world. In each competition, eight agents compete against one another. Each agent must use trade strategies to maximize the resources of its users. Resources allow organizing travel and must be sufficient for buying airline tickets, making hotel reservations and optionally spending for entertainment. TAC is a good illustration of the services that could be provided by Internet agents in the future. We exploit the advantages discussed in this section with a system for personalized search on the web. The agents share information about the users, coordinate the task allocation (filtering and search) and distribute the processing, enabling the treatment of several queries in parallel by different machines.
3 Adaptive Agents and the Web Agents are often used in the implementation of “intelligent” Internet services. Such services can aid the user to personalize news, find papers, search sites or filter information. Since the nineties, many applications has been developed with such features. Most of those applications have in common the usage of an accurate user model for improving and personalizing results. Middleton [17] discusses more than sixty applications, organizing them according the different implementations of the user model, namely: Supervising the User Behavior: the agents represent users’ actions on unsupervised databases then, an incremental learning method (for instance, behavior networks or memory-based algorithms) is used for identifying the sequences of actions adapted to a given situation; Using Explicit Feedback: the agent ask the user for information for correcting errors and refining the answers to the problems; Lieberman [14] calls this approach “Profiling by Example;” Learning from a Base of Experiences: the agent constructs a database of experiences and a non-incremental learning algorithm produces a user model;
80
F. Enembreck et al.
Allowing the User to Program the Agent: the user can program the agent for improving its performance; Using a Knowledge Base: the agent can use predefined user models. The user can fill forms and give answers to general questions. Based on this information the user constructs a knowledge base. Next section presents a web search application that uses the first two techniques for modeling the user. The user model is updated dynamically, based on the user’s actions and feedback. For the web search, the user’s actions are limited to adding and removing sites to and from favorites and changing the centers of interest. Additionally, the user can give feedback, adding sites presented in the result of the searches as favorites.
Fig. 1. MAIS Architecture
4 MAIS Architecture In a previous paper [6] we presented a multi-agent system for searching the web, MAIS (Multi-Agent system for Internet Search). In this section, we discuss some details of MAIS. The architecture of MAIS is composed of several agents: Personal Agent (PA), Library Agent (LA), Filter Agent (FA) and Search Agents (SA). These agents are presented Fig. 1. The user interacts with the system using a PA interface (Fig. 2). Currently, the interface of the system is a prototype and we are not concerned with the visual aspects. The user can also select some public centers of interest using this interface (Fig. 3). Each interest center is composed of a fixed collection of documents selected by experts and of the dictionary learned with LA. For instance, Artificial-Intelligence-Adaptive-Agents,
Personalizing Information Retrieval with Multi-agent Systems
81
Fig. 2. PA interface
Fig. 3. Public centers of interest
Groupware-Knowledge-Management and Artificial-lntelligence-MBR are examples of interest centers present in the system. Such interest centers are shared by all users, but can be personalized progressively by adding new documents to the profile. The documents in an interest center are copied into the user space when the topic is selected. Since the processing of requests and the user data are distributed among several agents, the copies do not affect the system scalability significantly. Then the user can update the interest center. Currently, the number of available interest centers is small but we expect to build a collection of interest centers similar to the directories organized in categories commonly available in web search engines.
82
F. Enembreck et al.
The PA provides two services: the management of the favorite sites and the management of the search.
4.1 Management of Favorite Sites Favorite sites are stored in the user workspace inside folders as text documents. The Library Agent (LA) analyzes the documents and constructs a general dictionary to represent them. The resulting structure contains the most important terms extracted from the collection of personal documents. Similarly, another LA is used to construct the dictionary of the public interest centers.
4.2 Search Process The user starts a search passing information to the PA, i.e., a list of terms, the maximal number of sites in the answer and the interest centers. Then, the PA sends a broadcast message and contracts a Filter Agent (FA) to start the search. The FA plays a central role in the system. An FA engaged in a contract must retrieve sites from Search Agents (SAs). The FA sends a call-for-bids, passing the user’s terms, the number of sites and a deadline to all SAs. The FA waits for all answers to arrive before a time limit. In the next step, it starts the analysis of the sites for personalizing the final result. In order to personalize results, the FA orders the list of sites received from SAs according to the user’s preferences. Each page is submitted to a classification process that assigns a degree of interest to the page. The page classes are the favorite folder names and the interest centers of the user. The sites are then ranked and the best ones are selected. Next sections give more details on how the Library and the Filter agents have been implemented. Search Agents retrieve sites from search engines quite simply.
4.3 The Library Agent (LA) The LA is specialized in document management. It constructs a general structure (a dictionary) from a collection of document. The LA uses automatic document classification or information retrieval techniques. Documents are represented as vectors of important terms, using TF-IDF (term frequency – inverse document frequency) measure [21].
4.4 The Filter Agent (FA) The FA coordinates the exchanges among the agents of the system. It is responsible for personalizing the list of sites received from the SAs based on the user profile. The FA uses ELA (Entropy-based Learning Algorithm) for classifying the sites. ELA is a lazy graph based learning algorithm. Details about ELA can be found in [7]. The classification of a site returns the class of the site and a classification rate. The classification rate is the value computed in the ELA algorithm. Before using the learning algorithm we need (i) to compute a general structure for the user model and (ii) to construct a training set.
Personalizing Information Retrieval with Multi-agent Systems
83
Fig. 4. Combination of the document structures in a global document representation
4.4.1 General User Model The structure of the user model takes into account the representation of the user favorite documents and the representation of each center of interest. We merge such structures, ordering the terms according to the TF-IDF values of the terms and limiting the dimension of the vector arbitrarily to 1000. With this approach we guarantee that terms, important for all the classes, are present in the general structure. Fig. 4 gives an example of the process. Thus, the general user model representation consists of a list of terms selected from (n + 1) vectors representing document collections: 1 for the user favorites and n for the number of interest centers selected previously. In this process, the system does not analyze the content of the documents, but simply uses the vector model of each document collection, saving much processing time. 4.4.2 The Training Set We use the favorite document vectors and the interest center document vectors to construct the training set for the ELA algorithm. We stress that the class for each vector is known (the name of the favorite folder or the name of the interest center). Since the current version of ELA (Entropy-based Learning Algorithm) works strictly with symbolic data, vectors are formed of binary variables.
4.5 MAIS Construction OMAS2 agents [2] have been used in the construction of the system. OMAS agents live in an open environment where agents communicate using KQML messages transmitted with a UDP protocol. The agents always communicate in broadcast mode. 2
Open Multi-Agent System architecture.
84
F. Enembreck et al.
The content language is generally coded in LISP structures and the interaction protocol is Contract Net [23].
4.6 MAIS Interoperability A Transfer Agent (TA) guarantees interoperability between OMAS platforms and others FIPA compliant platforms in a transparent way. The TA implements some basic FIPA services like Agent Manager System, Directory Facilitator and Agent Communication Channel. The TA can translate OMAS messages in SL-0 messages and make OMAS and FIPA protocols compatible. Consequently, the TA is the bridge between OMAS agents and remotes platforms. Fig. 5 presents the architecture of the system.
Fig. 5. Communication between the OMAS platform and FIPA platforms
From a technical point of view, the Personal Assistant (PA) is composed of a LISP interface, capable of sending messages to the TA that works on a remote HTTP server. Then, the TA sends the messages to the internal platform. We use Allegro Common Lisp™ as the HTTP server in this application. The application has been entirely coded in LISP. Because the web server is a LISP program, the interpretation of KQML and SL-0 structures is extremely easy. Fig. 6 presents the resources used in the application. To make the system interoperable, we have developed a small language to communicate between the LISP interface and the HTTP server. Similarly, this language allows to communicate with agent platforms other than OMAS [2], used in this work. We tested interoperability of our OMAS agents with JADE [12], another FIPA [8] compliant platform. Fig. 7 shows how searches can be started from JADE agents. In the left hand-side of the window we have information about our platform. The right hand-side the window is used to send a request for sites. The “searcher@OMAS” agent plays the role of the assistant and starts the search process. “START-REQUEST” is a term from the content
Personalizing Information Retrieval with Multi-agent Systems
85
language we developed. The complete language specification it is out of the scope of this paper.
Fig. 6. Software resources of the system
Fig. 7. Executing searches remotely with JADE agents
5 MAIS Evaluation Evaluation of web search engines is always a difficult task. Common measures used in systems based on information retrieval, like recall and precision, are not adapted due the dynamic behavior of the web corpus. Thereby, most works use a limited corpus of web pages. A common strategy is to score web pages using a similarity measure between results and training pages. For instance, Menczer et al. [16] used refer-
86
F. Enembreck et al.
ence web pages organized in 100 categories proposed by Yahoo for the comparison of three search engines. Nevertheless, the page datasets used for learning and test are small and static and is not a good sample of the Internet data. To avoid such problems, Gasparetti and Micarelli [10] used recall and precision measures on the “.GOV”
database provided by TREC3 (Text REtrieval Conference). This database has got 1.2 million of pages “.gov” collected until 2002. According the authors, the database is large enough to represent a feasible sample of web data. The authors evaluated a web page classification algorithm using three queries: “exchange office,” “educational department” and “children foundation.” The average number of results for each query is 373712, 445964 and 117036 respectively. We claim that in a realistic approach, an answer must contain a small number of interesting web pages, because very often the user will analyze only few addresses appearing at the top of the list [24]. To avoid problems related to recall and precision measures, in our evaluation approach, we use the feedback of three users for evaluating the results obtained directly from the web. Thus, we do not use simulated databases. The users analyze only the top twenty or thirty web pages telling how many pages are interesting to them. All users search for information about multi-agent systems and a site is considered interesting if it is related to multi-agent research domain. Each user selected a number of reference web pages before the experiments. Table 1 presents more details about the users. Each user sent the following queries: “agent,” “autonomy agent,” “personal assistant” and “personal assistant agent.” The queries are intentionally ambiguous. The goal of the evaluation method is to establish the importance of the users’ expertise used as reference for the information filtering process. We also measured the influence of public interest centers proposed by the system through user C. User C was invited to send the queries with no interest centers support and, further, using the interest centers (C-int). 3
http://trec.nist.gov
Personalizing Information Retrieval with Multi-agent Systems
87
The graph presented Fig. 8 presents the performance of three widely used search engines (All-the-Web, Altavista and Google) and the results of the users A (A-55) and B (B-8) that used MAIS. As expected, user A obtained the best results, showing that the system is capable of taking into account the user context represented as favorite sites for personalizing results. User B similarly also benefited from this advantage.
Fig. 8. Performance with the 20 first sites
Two observations seem clear based on the results of Fig. 8: The first one is the limitation regarding the performance of MAIS in relation to the quality of the search engines; The second one is the variability of search engines. Because MAIS does meta-searches, if all search engines used in MAIS do not give good results, so does MAIS. This can be observed with the query “agent,” which is quite ambiguous. Some search engines present good performances for specific queries but bad performance for different queries. We observed for instance that All-theWeb produces good results for the query “Autonomy Agent” and poor results for the query “Personal Assistant.” When the first thirty web pages have been analyzed, MAIS gave still the best results for user A (Fig. 9). However, other search engines have outperformed the performance regarding user B in three of four queries. The system cannot support the user when the user profile is not compatible with the information he is looking for. This can be solved if the user informs the system not to use her profile for the search and but only the public interest centers. In order to measure the importance of the public interest centers for the information search, user C (whose profile is almost empty) initially sends queries without using the interest centers (MAIS(C)) and then queries using the interest centers (MAIS-int). Results are shown Fig. 10. For the query “Agent,” interest centers are useless because the query is actually quite ambiguous. For the query “Autonomy Agent” the interest centers improved the performance significantly when both 20 and 30 first sites are used. For the last two queries, the performance of the system was
88
F. Enembreck et al.
improved when the 30 first sites are used. When only 20 sites are used, interest centers had not a high importance for the queries “Personal Assistant” and “Personal Assistant Agent.” This behavior demonstrates that even for reasonable accurate queries like “Personal Assistant Agent,” search engines used in MAIS are not capable of clustering the best pages and of presenting them at the top of the list.
Fig. 9. Performance with the 30 first sites
Fig. 10. Results with and without interest centers
Average performance is presented Table 2. Analyzing the 20 and 30 first sites, MAIS outperforms all search engines. It shows that the system can benefit from the advantages of all specific search engines, producing a more accurate result. Surprisingly, the winner (C-int) contains an almost empty profile (only one personal page) but uses public interest centers. Such results indicate that the sites judged interesting by the users do not add important information to the system. In fact, more web pages can even decrease the accuracy of the system because they do not contain a lot of text and introduce some noise.
Personalizing Information Retrieval with Multi-agent Systems
89
In addition, the system was more accurate when users selected the public interest centers, probably because they are composed of documents selected by experts, the documents are representative of the field and contain much textual information. Thus, we can conclude that the users will have to carefully analyze the sites he thinks appropriate before adding them to his profile.
6 Comparing MAIS and Other Multi-agent Based Tools Widyantoro and coworkers [26] discuss different representations of user profiles for personalization of information systems. The authors stress the importance of using long term and short term user profiles. They introduce a technique based on explicit user feedback, where users indicate positive and negative examples. Some other works are also based exclusively on user feedback: Amalthea [18], [3], Webnaut [20] and WAIR (Web Agents for Internet Research) [27]. In such systems the user must provide a significant amount of feedback, increasing the human workload and the dependency of the system. The main difference with MAIS is how the user feedback is used for updating the user profile. In our approach we divide the user profile in n + 1 parts, where n is the number of interest centers selected by the user plus the user favorites model. For us, the user favorite model represents the long term model of the user profile. The short term model is built dynamically, when the user explicitly changes of interest centers selecting new public centers of interest. We think that our approach reduces the need for user feedback because the user does not need to classify each document, but only to select some interest centers. In addition, the system behavior does not depend exclusively on the user feedback because the system can have already many feasible models based on collections of high quality documents.
7 Conclusions In this paper we analyzed the performance of MAIS [6] (Multi-Agent based Internet Search). The system is based on multi-agents systems, information retrieval and
90
F. Enembreck et al.
automatic document classification techniques. It realizes meta-searches using standards search engines, personalizes searches and provides public interest centers, producing better results. Personalization on the web is a wide field. It seems that the idea of personalized multi-agent systems capable of realizing personalized tasks like search for information, information presentation, resources location (hotels, transport tickets and general products) becomes increasingly more realistic. In MAIS, personalization is carried out taking into account user favorite sites and public interest centers constructed previously and automatically from documents selected by experts. The performance of MAIS shows that public interest centers and favorite sites are an important source of information for improving the quality of the searches.
References 1. Armstrong, R; Freitag, D.; Joachims, T.; Mitchell, T., WebWatcher: A Learning Apprentice for the World Wide Web, AAAI Spring Symposium on Information Gathering from Heterogeneous, Distributed Environments, march, 1995. 2. Barthès, J-P. A., OMAS v 1.0 Technical Reference, Memo UTC/GI/DI/N 151, Université de Technologie de Compiègne, Département de Génie Informatique, Jannuary, 2002. 3. Billsus. D.; Pazzani. M., A Hybrid User Model for News Story Classification. Proceedings of the Seventh International Conference on User Modeling (UM ’99). Banff. Canada. 1999. 4. Brin, S., Page, L., The Autonomy of a Large-Scale Hypertextual Web Search Engine, Computer Networks, n. 30, pp. 107–117, 1998. 5. Chen, L ; Sycara, K., Webmate: A Personal Agent for Browsing and Searching, Proceedings of the 2nd International Conference on Autonomous Agents (Agents’98), ACM Press, (K. Sycara and M. Woodridge eds.), pp. 132–139, New York, 1998. 6. Enembreck, F., Barthès, J-P., Multi-agent based internet search, In: Concurrent Engineering: Enhanced Interoperable Systems, Proc. of the ISPE, A. A. Balkema, 2003. ISBN 90 5809 623 X 7. Enembreck, F., Contribution à la conception d’agents assistants personnels adaptatifs, Université de Technologie de Compiègne, PhD Thesis, 2003. 8. FIPA, Foundation for Intelligent Physical Agents, http://www.fipa.org. 9. Freitas, F. L. G., Bittencourt, G., An Ontology-based Architecture for Cooperative Information Agents, Proceedings of IJCAI’03, Morgan Kaufmann Publishers, pp. 37–42, Georg Gottlob and Toby Walsh (eds.), 2003. ISBN 0-127-05661-0 10. Gasparetti, F., Micarelli, A., Adaptive Web Based on a Colony de Cooperative Distributed Agents, Cooperative Information Agents (CIA) VII, Springer-Verlag, LNAI 2782, M. Klusch, A. Omicini, S. Ossowski and H. Laamanen (eds.), pp. 168–183, Helsinki, August, 2003. ISBN 3-540-40798-7 11. Grimnes, G. A. A., Chalmers, S., Edwards, P., Preece, A., GraniteNights – A Multi-agent Visit Scheduler Utilising Semantic Web Technology, Cooperative Information Agents (CIA) VII, Springer-Verlag, LNAI 2782, M. Klusch, A. Omicini, S. Ossowski, H. Laamanen (eds.), pp. 137–151, Helsinki, August, 2003. ISBN 3-540-40798-7 12. JADE. Java Agent DEvelopment Framework, http://sharon.cselt.it/projects/jade/ 13. Lieberman, H., Autonomous Interface Agents, Proceedings of the ACM Conference on Computer and Human Interface, Atlanta, Georgia, March 1997.
Personalizing Information Retrieval with Multi-agent Systems
91
14. Lieberman. H., Intelligent Profiling by Example. Proceedings of the International Conference on Intelligent user Interfaces (IUI2000). Santa Fé. January 14–17. 2001. 15. Liu, J., Web Intelligence (WI): What Makes Wisdom Web?, Proceedings of IJCAI’03, Morgan Kaufmann Publishers, pp. 1596–1601, Georg Gottlob and Toby Walsh (eds.), 2003. ISBN 0-127-05661-0 16. Menczer, F., Pant, G., Srinivasan, P, Ruiz, M. E., Evaluating Topic-Driven Web Crawlers, Proceedings of the 24th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, pp. 241–249, 2001. 17. Middleton. S. E., Interface agents: A review of the field. Technical Report. ECSTRIAM01-001. University of Southampton. UK. 2001. 18. Moukas A., Amalthaea: Information Discovery and Filtering using a Multiagent Evolving Ecosystem. Applied Artificial Intelligence: An International Journal. 11(5):437-457. 1997. 19. Muldoon, C., O’Hare, G. M. P., Phelan, D., Strahan, R., Collier, R.W., ACCESS: An Agent Architecture for Ubiquitous Service Delivery, Cooperative Information Agents (CIA) VII, Springer-Verlag, LNAI 2782, M. Klusch, A. Omicini, S. Ossowski and H. Laamanen (eds.), pp. 1–15, Helsinki, August, 2003. ISBN 3-540-40798-7 20. Nick. Z. Z., Themis. P., Web Search Using a Genetic Algorithm. IEEE Internet Computing, pp. 18–26. March-April. 2001. 21. Salton, G., Automatic Text Processing: The Transformations, Analysis, and Retrieval of Information by Computer, Addison-Wesley, 1989. 22. Savoy, J., Information Retrieval on the Web: A New Paradigm, Upgrade The European Online Magazine for the IT Professional, (Ricardo Bayeza-Yates, Peter Schäuble eds.), n. 3, vol III, June 2002. 23. Smith, R. G., A Framework for Distributed Problem Solving, In the Proceedings of the International Joint Conference on Artificial Intelligence. Tokyo, Japan, 1979. pp. 836– 841. 24. Silverstein, C., Henzinger, M. R., Marais, J, Moricz, M., Analysis of a very large AltaVista query log, ACM SIGIR, n. 33, pp. 6–12, 1999. 25. TAC, Trade Agent Competition, 2002. http://auction2.eecs.umich.edu/game.html. 26. Widyantoro. D.H., Ioerger. T.R., and Yen. J., Learning User Interest Dynamics with a Three-Descriptor Representation. Journal of the American Society for Information Science. 52(3):212–225. 2001. 27. Zhang. B., Seo. Y., Personalized Webdocument Filtering using Reinforcement Learning. Applied Artificial Intelligence, n. 15, pp. 665–685. 2001.
On the Impact of Agent Communication Languages on the Implementation of Agent Systems* Juan Manuel Serrano and Sascha Ossowski Artificial Intelligence Group Department of Computing, ESCET University Rey Juan Carlos {jserrano,sossowski}@escet.urjc.es http://www.ia.escet.urjc.es
Abstract. Today’s software platforms that support the construction of agent systems in accordance with the FIPA specifications essentially provide enabling infrastructure services, and are still far away from adequately rendering support to current methodologies and theories for building agent systems, especially when social concepts play a significant role. Elsewhere, we have presented the theory, that smoothly integrates relevant aspects of Agent Communication Languages and Organisational Models, so as to provide guidelines for agent system design. This paper explores the impact of this theory on the actual development and implementation of agent-based applications. For this purpose, the metamodel is considered as a programming language, in which roles, interactions, communicative actions, etc., are first-class language entities. We show how this language can be effectively implemented as a software framework that extends the JADE platform, and provide an example that illustrates its potential.
1
Introduction
In the last decade, the development of software agent applications has largely benefited from the standardisation efforts made by the Foundation for Intelligent Physical Agents (FIPA) [1], as well as from the many software platforms that implement the FIPA specifications (e.g. [2,3]). These platforms, however, provide rather basic infrastructure services, and are still far away from adequately rendering support to current methodologies and theories for building agent systems [4]. This is particularly true for approaches that set out from a social-level analysis [5], such as the Role/Interaction/Communicative Action theory [6,7], which smoothly integrates relevant aspects of Agent Communication Languages (ACL) [8,9] and Organisational Models (OM) [10,11] by introducing the concepts of Communicative Roles and Interactions, so as to provide guidelines for agent system specification. This paper explores the impact that the RICA metamodel has on the design and, in particular, on the implementation of agent-based applications: it shows how agent system programming can be leveraged by relying on roles and interactions as first*
Research sponsored by the Spanish Ministry of Science and Technology (MCyT), project TIC2003-08763-C02-02.
M. Klusch et al. (Eds.): CIA 2004, LNAI 3191, pp. 92–106, 2004. © Springer-Verlag Berlin Heidelberg 2004
On the Impact of Agent Communication Languages
93
class programming constructs, and by structuring these abstractions in terms of ACL components. The paper is organised as follows: Section 2 outlines the fundamentals of the RICA theory in terms of programming language metaphor. In Section 3, we present the architecture and design of the RICA-J prototype, a software framework implemented on top of the JADE platform [2]. Section 4 gives an example for the use of this framework, which illustrates how an important part of agent system programming gives rise to, and may rely on, highly-reusable libraries of communicative roles and interactions. Finally, we present the lessons learnt from this enterprise.
2
The
Theory
The theory provides a conceptual framework which establishes a systematic link between the specifications of the organisational model and the ACL of a multiagent application. According to the theory, the specification of the organisational model comprises the definition of entities such as agents, roles and interactions, while the specification of the ACL deals with the definition of communicative actions and protocols. The theory is made up of two major components: a metamodel, which defines the language used to specify the different types of organisational and communicative entities; and a specification of the structure and behaviour of these entities.
2.1
The
Metamodel
The metamodel is outlined by the UML class diagram of figure 1. The relations between its entities are subject to a number of constraints which will be discussed in the sequel.
Fig. 1. The
metamodel
The behaviour of agents manifests itself in the form of different roles. So, the definition of a (type of) agent basically requires the specification of a collection of (types of) roles1. Role definitions required the specification of a collection of actions, which repre1
In the sequel, the qualification “type of” will be omitted whenever the context makes clear that we are talking about types and not instances.
94
J.M. Serrano and S. Ossowski
sent the specific tasks to be performed as part of the role’s functionality. Moreover, roles which delegate part or all of their functionality to other roles are called enclosing roles. The definition of an action requires, in turn, the specification of its types of input and output parameters. The theory establishes a distinction between generic roles and so-called social roles, a kind of role which represents the functionality of agents participating in social interactions. The state of a social interaction is represented by a collection of parameters. The distinction between generic actions and, so-called, social actions, parallels the one established for roles. Input/output parameters defined for a social action must have been declared as state parameters of its corresponding type of interaction. In this way, the state of social interactions will be updated as a result of the execution of social actions. Communicative actions are conceived as special kinds of social action performed with the intention to be observed by agents playing a specific role [12]. The propositional content parameters of a communicative action simply consists of its input parameters. There are actually two parallel hierarchies of actions, corresponding to disjunctive and single actions, respectively. The FIPA inform-if and request communicative actions are examples of disjunctive and single communicative actions, respectively. In the context of an interaction, protocols are optional artefacts that prescribe the (social) actions that agents must perform. According to the metamodel, a protocol must identify the type of regulated interaction (which, in turn, constrains the roles, actions, etc. that the protocol can refer to), and may be augmented by whatever protocol specification technique (AUML sequence diagrams, Petri-nets, interaction machines, etc.). The following example, which closely follows a similar one found in the JADE distrubtion, illustrates the use of the concepts as a conceptual framework for modelling multiagent applications. Consider a simple e-commerce setting. Purchase interactions are established between pair of agents, playing respectively the roles of buyer and seller. The parameters declared for this type of interaction include the item to be purchased, the credit card used in the payment, its successful status, etc. Buyers may perform different FIPA communicative actions. For instance, they may request the seller to sell some item (a type of social action), or cancel the selling action once it has been initiated. Furthermore, sellers may evaluate (a type of social action) whether the sell action can be performed, and under which conditions the item should be sold. Sellers may also take communicative actions to agree or refuse to sell an item, etc. The FIPA Request protocol is used as a purchase protocol. client agents playing the role of buyers, and clerk agents act as sellers, both using FIPA ACL/FIPA SL as their communication language. The remaining entities of the metamodel in 1, communicative roles and communicative interactions, establish the link between communicative and organisational concepts. The rationale behind these particular kinds of social roles and interactions relates to reusability matters: given that requests and cancellations, for instance, might be declared for other roles different from the buyer role, it makes sense to define a generic role, named requester, encapsulating the declaration of these actions. Then, the seller role, as well as any other role requiring these C As as part of its characteristic behaviour, may simply reuse their declaration from the requester role. Similarly, the FIPA Request protocol may be attached to a generic social interaction which declares the interaction
On the Impact of Agent Communication Languages
95
parameters and communicative roles required by the actions included in the protocol. Social roles that are defined in this manner (in terms of communicative actions) are called communicative roles. In a similar way, social interactions, defined by protocols and communicative roles, are called communicative interactions. Communicative roles and interactions encapsulate the whole pragmatic competence of agents. So, non-communicative social roles must directly or transitively specialise from, or delegate their communicative competence to, some communicative role. Other communicative entities in the e-commerce example may include the requestee communicative role, encapsulating the declaration of the agree and refuse CAs, and action performing communicative interactions, which can be regulated, among others, by the FIPA Request protocol. The parameters declared for this type of interaction, include the action to be performed, the successful status of the interaction, etc. Note that communicative roles may also define non-communicative social actions. For instance, the evaluation action identified for the seller role could actually be a social action declared for the generic requestee role. Figure 2 shows an instantiation of the metamodel for the e-commerce application, using an specialisation pattern. The model is depicted as a UML class diagram, using stereotypes to indicate the type of each declared element. Parameters and the language spoken by agents are represented as attributes, while actions and social roles are modelled after UML operations and the interface classifier, respectively. Concerning the instances of the relationships, they are represented using UML associations, except to model specialisations, where the UML generalisation is used instead. Note that the declaration of the action parameters, which would be represented by operation attributes, have been omitted from the diagram.
Fig. 2. The organisational model of a simple e-commerce application
2.2
Structure and Behaviour of
Entities
Figure 3 shows a static view of the relationships which hold between the different instances of the entities at a given run-time slice. Agents, roles, social interactions, etc. are considered as the most generic types of entities, specifying the common structure and behaviour of its instances. Thus, they play the same role as the java class Object, which any programmed class has as super-class.
96
J.M. Serrano and S. Ossowski
Fig. 3. Structure of
entities
As shown in figure 3, at a given time, agents may be concurrently playing several roles2. A number of other roles, qualified as abandoned, may have previously been played. The predefined behaviour common to all agents is characterised by examining, whenever an agent is created or some event occurs, its collection of roles in order to identify abandoned roles that must be wake-up, and active roles that must be abandoned. Roles whose type declarations include the definition of some enclosing role set up a link to the latter at the time of their instantiation. When a role is played or abandoned, its characteristic behaviour is activated or deactivated, respectively. In general, the behaviour of some role, which specifies the conditions that must be met in order to perform its declared actions, is defined by its type. However, pure enclosing roles (whose funcionality is completely split into other roles) have a predefined behaviour which defaults, similarly to agents, to periodically examining its enclosee roles in order to update the collections of active and abandoned roles of the player agent. Social roles for which some interaction type is defined, have a predefined behaviour as well. Besides examining their enclosee roles, they monitor the conditions defined for initiating interactions of the declared type. In addition, they go through the ongoing interactions to see if some of them must be finished. At any time, an agent playing a social role, may be participating in multiple on-going interactions in accordance with the role’s type. Interactions can finish prematurely, because of some abnormal execution or by an explicit abortion, or upon completion (either successfully or unsuccessfully). The initiating conditions as well as the general agent behaviour within some interaction is specified by its type declaration. However, those interactions regulated by a collection of protocols will delegate by default these responsibilities to them. Hence, protocol types are required to define their particular initiating conditions, as well as the logic required to identify which activity a given role must perform at any given time. The behaviour of a role in the context of an interaction regulated by some protocol defaults to performing the required activities until the protocol itself signals the completion of the interaction. The activities prescribed by protocols comprise the (concurrent or sequential) performance, observation, or abortion of social actions. The performance of any kind of action (social or non-social) requires a collection of consistently instantiated input parameters, while its result is conveyed through the output parameters. Social ac2
The types of these roles must obviously conform to the declaration of the agent type. This kind of type conformance applies throughout the following discussion.
On the Impact of Agent Communication Languages
97
tions are executed in the context of a particular interaction, in such a way that its input and output parameters values refer to the parameters representing the actual state of the interaction. In general, the particular activity performed by some agent when executing some action must be defined by its corresponding type. Communicative actions, though, have a predefined activity, which consists of sending a message to some agent’s role in any language understood by the receiver agent (e.g. FIPA ACL/FIPA SL). With regard to the observation of other agent’s actions, the particular way to achieve this activity must be defined by the corresponding type of social action. The same applies to the abortion of the execution of some action. Note that the metamodel, together with the execution-based semantics just sketched, can be considered as a programming language offering different types of constructs of organisational and communicative nature. In fact, the declarations of the different types of entities identified by the metamodel can be conveyed by programming language constructs, as an alternative representation mechanism to the UML modelling notation. Just as Java programs are composed of declarations of classes, methods, attributes, etc., a program comprises declarations of the different agents, roles, interactions, etc., required by the application. As an example, the following piece of code conveys the structure of the declaration of some role.
In the example, reserved words are capitalised and relate to the different types of entities and relationships of the theory. The syntax and indentation features attempt to resemble those of the Java language. Any conventional programming language (e.g., Java) may complete this organisational-based agent programming language, by providing the specification of the activation conditions and the execution code of their actions.
3
A
Software Framework
This section describes the software framework (an acronym for which allows to program multiagent systems based on the theory and its operational semantics that we have sketched in the previous section. We have chosen to develop the software framework on top of an existing tool, in order to reuse those middleware aspects required for supporting agent interactions, as well as the different agent abstractions provided. In particular, we use Jade [2], a FIPA-compliant platform implemented in Java, so our framework is also based that language. The implementation of the layer (implemented in a java package named rica) was designed with the goal of relieving, as much as possible, the application developers from those programming tasks that could be automated. These tasks include, for instance, the programming
J.M. Serrano and S. Ossowski
98
of the agent’s and generic role’s predefined behaviours, dealing with the instantiation, playing and abandonment of roles; the programming of the default behaviours of agents participating in some interaction under some protocol; the updates on the interaction state resulting from the execution of actions, etc. In order to achieve this goal, the types of the application agents, roles and interactions, etc., must be available at runtime. Hence, the layer has been subdivided into two modules: A reflective module, implemented by the package rica.reflect (an analogue of the java.reflect standard package), containing those classes which implement the metamodel entities of the theory: AgentType, RoleType, etc.; and a core module, implemented by the package rica.core (an analogue of the jade. core package), providing classes implementing the structure and common behaviour of the different abstractions: Agent, Role, SocialInteraction, Protocol, etc. The next subsections will describe the structure and design guidelines followed in the implementation of the reflective and core modules.
3.1
The reflective Module
The rica.reflect package provides an implementation of the metamodel entities of the theory, in such a way that the class diagram of figure 1, conveys the general structure of this package as well. AgentType, RoleType, etc., classes are analogues to the java class Class, which represent the type of some declared object. The object class, in turn, is an analogue of the classes implemented in the rica.core package, which are objects of a more specific nature. The basic problems faced in the design of the reflective capabilities of the framework are related to these questions: Firstly, how can the declaration of the types of roles, interactions, and so on, be embedded in the declaration of java classes? Secondly, how can these declarations be accessed? The devised solution to answer the second question, which sets up the premises to solve the first one, follows the pattern used by the Java language itself. In java, type information is accessible in two ways: statically, using the static class field, automatically declared for any class, and, dynamically (at run-time), by the object instance method, getclass(). Similarly to the class field, any class specifying some type will necessarily declare a static field, named type, containing the declaration of its type. Concerning the dynamic access to the type of some object, getType() instance methods will be defined for each of the top-level classes: Agent, Role, SocialInteraction, etc. This methods will access the corresponding type field declared for the dynamic class of the object. Figure 4 illustrates this design pattern using some role entity as example. With regard to the first question, the implementation of an entity type will be commonly carried out by means of the implementation of a java class3. In those cases, the declaration of the type will be embedded in the class by means of public static final fields, which will be, in general, initialised by accessing the type fields of the 3
The exception are parameter types which are implemented as fields of the declaring classes of interactions.
On the Impact of Agent Communication Languages
99
Fig. 4. Reflective design pattern
declaration members4. Then, the declaration will be created automatically by accessing these static fields. As shown in figure 4, the classes implementing the metamodel entities, must declare a constructor which takes as parameter the java class corresponding to the static class of the entity. All the java classes implementing some entity type will follow the same implementation schema corresponding to that type. For instance, the schema for embedding the declaration of a role type in a java class is as follows:
3.2
The core Module
The rica.core package is designed around the collection of classes shown in figure 5. These classes implement the major types of entities whose structure and dynamic behaviour was described in section 2.2. As can be observed, the abstract classes (interfaces) of the diagram represent the base action types. Single and disjunctive action hierarchies provide actual implementations of these interfaces (not shown in the figure). On the other hand, the only entities which are left from the diagram of figure 5 are: parameters, which, as was previously explained, are embedded in java as fields of the corresponding interaction and action classes, and languages, whose implementation will be described bellow. Also, note that social interactions objects in the framework are not shared by the different participating agents, but are owned by a single participant’s role. In this way, social interaction objects represent the view of 4
Thus, the static accessor will be used for declaration purposes, while the getType() instance methods will be used at run-time.
100
J.M. Serrano and S. Ossowski
the interaction from one participant’s perspective, called its (characteristic) performer. Later, we will deal with the issue of participants representation.
Fig. 5. Major structure of the rica.core package
Figure 5 also shows the main methods declared by these classes, which manifest a close correspondence with the computational semantics prescribed for each type of entity (methods parameter types are omitted from the class diagram to improve its readability). We can distinguish between two different kind of methods: those corresponding to the dynamic characteristic of the declared types, and those related to the state of its instances: Type Related Methods. As it was previously described, agent, role, social role, and action types, require certain characteristics concerning its functionality, which complement the static characteristics identified by the metamodel. For instance, role types must specify its characteristic behaviour and activation conditions. These components of their declaration can be specified by overriding the setBehaviour, shouldBeAbandoned and shouldBePlayed methods. Similarly, the setInteractionBehaviour and shouldInitiateInteraction and methods allow particular social roles to specify their conditions to initiate its participation in some interaction, as well as its characteristic behaviour within it. Moreover, programmers can implement the handleInitiatedInteraction and handleFinishedInteraction abstract methods, which are hooks invoked when the specified interaction is initiated or finished, respectively. Some of these type of methods have predefined implementations, as those previously mentioned for social roles, which resort to the protocols declared for its social interaction type, or those related to the behaviours of agents and pure enclosing roles. Other ones, such as those corresponding to the activation conditions of roles, or the execution functionality of actions are declared as abstract. Finally, some of them are declared as final, as those fixing the general behaviour of social roles, or the execution functionality of communicative actions.
On the Impact of Agent Communication Languages
101
Instance Related Methods. These methods do not carry type information, but simply allow to change or observe the state of the different instances. In this way, the play(RoleType r) and abandon(RoleType r) methods, cause some agente to play and abandon the role instance of the specified type (these methods will be called from the predefined behaviour of the agent), and the as(RoleType r):Role method returns the role instance of the specified type currently being played by the receiving agent. Similarly, the launch() method starts the execution of some action, and the initiate(SocialInteraction i) method cause the specified interaction in which some social role is participating to be initiated. Last, the getNextActivity() method of the Protocol class, allow the social roles to get the activities that must be performed in each step of some interaction according to the state of the protocol. The behaviours of agents and roles are represented by means of the Jade abstraction, jade.core.Behaviour. The predefined behaviour for agent types is implemented as a cyclic behaviour, which checks the activation conditions of the agent roles, through the shouldBeActivated method. Once this method returns true, the role’s characteristic behaviour will be scheduled for execution. In the case of social roles, its predefined behaviour is a parallel behaviour which necessarily includes a cyclic behaviour which invokes the shouldInitiateInteraction method, to check if some interaction must be initiated. The default implementation of this method creates an instance of the social role’s interaction type, and checks if any of the protocols that regulate its type of interaction (which will be accessed using the reflective capabilities, i.e. the getType() method) signals the beginning of the interaction. As soon as the shouldBeInitiated protocol’s method returns true, the interaction will be initiated, and the social role’s interaction behaviour (the one returns by the getInteractionBehaviour method), will be scheduled as part of the social role’s parallel behaviour. Moreover, the handleInitiatedInteraction method would be invoked. The social role’s predefined interaction behaviour performs the activities returned by the getNextActivity method of the protocol (execute, observe or interrupt some action), until the end of the interaction, which will be signalled by its hasBeenCompleted method. In this way, the whole dynamics of some agent concerning those aspects related to the management of interactions (its initiation, development and finalisation) are automated through the predefined behaviours of agents and social roles. The rica.core package also includes other classes providing the glue linking the abstractions with those provided by the Jade platform. Among these classes, the ACLMessageTranslator class helps to translate some communicative action to and from an object of the jade.lang.acl.ACLMessage class. To achieve this task, the language spoken by the agent performing the communicative action (represented by the Jade abstraction, jade.content.lang.Codec), and the ontology of the social interaction in which the action is performed (represented by an instance of the jade.content.onto.Ontology class), will be used. The rica.core.RolePlayingDFService bridge class provides convenient ways to published the types of social roles that some agent is currently playing, as well as its spoken languages, through the jade.domain.DFService class. In this way, when some agent is committed to initiate an interaction and must look for other participants, agents playing the types of roles
102
J.M. Serrano and S. Ossowski
declared for the interaction’s type, and speaking some of the agent’s languages, can be searched for in the directory service.
4
Programming in
The design of a multiagent application in the framework departs from its organisational analysis in terms of the metamodel, possibly elaborated on the basis of the method suggested in [6]. This analysis will uncover those communicative interactions that application-dependent agents and interactions rely on. In case that a need for the use of protocols is identified, the model of the application is complemented with their proper specification, using for that purpose whatever protocol specification technique be most adequate. The architecture of application programs in the framework is shown in figure 6. Applications rely on the reuse of two kinds of component libraries: those implementing the communicative aspects of the application-dependent interactions, and those allowing the implementation of protocol specifications on the basis of different kinds of formalisms. These libraries can be based upon FIPA specifications or other contributions made available by independent application developers. Currently, most of the FIPA ACL components are implemented in a library of communicative interactions under the fipa java root package: fipa.closedActionPerforming, fipa. closedInfoExchange, etc. Protocols are implemented based on so-called interaction machines [7], available through the protocol.interactionMachine package.
Fig. 6. Architecture of a
application
Given that the necessary protocol specification and instrumentation techniques are available, the implementation of a multiagent application based on requires
On the Impact of Agent Communication Languages
103
to design and implement (1) the communicative interactions needed that are not present in the available communicative libraries, and (2) the application-dependent interactions and agents. In the following we will illustrate both steps on the basis of the e-commerce model of figure 2, and using interaction machines as protocol specification formalism. On the one hand, the implementation of communicative interaction types and their corresponding communicative roles, actions, protocols, etc., components, requires embedding their definitions in proper subclasses of the core superclasses, as explained in section 3.1. On the other hand, for fully implementing the different types of components, additional aspects concerning the behaviour of these entities must be addressed, following the general requirements described in section 3.2. This section describes the particular way in which communicative and social components will generally addressed these implementation features. For instance, the playing and abandonment conditions for communicative roles, which are implemented by overriding the corresponding shouldBePlayed() and shouldBeAbandon() Role methods, should be left unspecified, as these conditions closely depends on the specific type of social role specialising the communicative role. Similarly, the handleInitiatedInteraction() and handleFinishedInteraction(), should not be implemented. On the contrary, those aspects concerning the conditions that should be met in order to initiate and interaction of the kind declared for the communicative role, will be usually defined at this level. For instance, an action performing interaction is initiated when the requester generates the intention that some action be performed, and some requestee partner has been found. Following this scheme, the implementation of the ActionPerforming class, which is partially shown in table 1, provides a constructor for the requester role which updates its action parameter, taking into account the intentional state of the specified role. If some action shall be performed, a partner agent playing the requestee role is located through the role-based directory service5. The action performing interaction is instantiated by the requester agent once the monitoring behaviour of its social role’s behaviour is restarted, and the shouldInitiateInteraction method is subsequently invoked. Then, the fipa request protocol is instantiated and asked whether the requester must initiate its participation in the interaction. This protocol, implemented by means of an interaction state machine, is initiated if the initial request transition can be activated, which in turn, requires the action parameter (its propositional content) to be initialised. Hence, the interaction will be initiated if this parameter was set in its instantiation. The implementation of the Requester role provides the getIntendedAction method, as well as the setIntendedAction and dropIntention, to update its intentional state. These methods may only be invoked from the user interface of the agent, or from other roles which the agent is currently playing. Moreover, they will cause the role’s behaviour to be restarted, in order to initiate a new interaction, or finish an ongoing one through the cancel communicative action. Besides communicative actions, just as the Request and Cancel actions declared by the requester agent, non-communicative social actions can be defined for communicative 5
The setRestOfParticipant method,declared by the SocialRole class, achieve this task, thanks to the reflective capabilities of the framework.
104
J.M. Serrano and S. Ossowski
role types as well, as for the requestee role. However, the full specification of these types of actions will normally be available at the level of application-dependent roles. Thus,
On the Impact of Agent Communication Languages
105
the particular implementation of the evaluate action performed by this type of roles, will depend on the kind of social role reusing its declaration. The evaluate action can be implemented by the Evaluate class, a subclass the singleSocialAction core class. Its execute method could be left unspecified, but an alternative implementation schema, resorting to abstract methods of the Requestee class is more convenient. This class provides implementations for identifying as to whether the action must be performed, and if it will be performed immediately: Finally, application-dependent components typically consist of social roles and interactions. As the pragmatic competence of social roles is implemented by the communicative roles that they specialise, the only thing left to be determined is the moment in which this competence will be performed, i.e. its activation conditions, and the possible actions performed in the beginning and ending of the interactions. For instance, the buyer role, as a kind of requester, can be implemented, as shown below, by extending the Requester class described above. Its activation is set by the interval of time during which its human counterpart is connected to the e-commerce portal or some purchase is pending to be completed. The activities performed in the initiation and finishing of some purchase will most probably be related to updates in its user interface.
5
Conclusions
In this paper we have shown how multiagent applications can be developed based on the reuse of communicative components, structured along organisational concepts, which encapsulate the ACL of the MAS. In particular, we have presented the software framework that proves that communicative roles and interactions cannot only be used as conceptual tools for the analysis and design of ACLs (see [6] for an analysis of FIPA ACL in these terms), but also as software components providing much of the functionality that application-dependent social roles and interactions require. The framework allows to build up highly-reusable libraries of communicative roles, interactions and protocols, and thus relieves MAS programmers of most tasks associated with the management of interactions, a key issue in the implementation of any MAS. Moreover, it is based on a separation of concerns, as the pragmatic competence of agents is encapsulated in special software modules, and is thus kept away from non-communicative aspects of the application. The framework also stresses the use of interactions as first-class programming abstractions, something which is absent from JADE and other MAS frameworks. A notable exception to this rule are approaches based on electronic institutions [13]. Still, the framework relies on a programming language metaphor and a specification of the execution-based semantics of the different types of organisational meta-entities. This bias towards organisational modelling also differentiates our approach from other proposals in the field of agent programming languages, which tend to focus on intra-agent programming matters, rather than on the social structure of the application. Future work comprises the (re-)implementation of several MAS applications so as to fully explore the potential and limitationsuse of the framework. Furthermore, we are interested in relating our work to current FIPA efforts in the field.
106
J.M. Serrano and S. Ossowski
References 1. FIPA: The foundation for intelligent physical agents. (http://www.fipa.org/) 2. Bellifemine, F., Poggi, A., Rimassa, G.: Jade: a fipa2000 compliant agent development environment. In: Proceedings of the fifth international conference on Autonomous agents, ACM Press (2001) 216–217 3. Nwana, H.S., Ndumu, D.T., Lee, L.C., Collis, J.C.: Zeus: a toolkit and approach for building distributed multi-agent systems. In: Proceedings of the third annual conference on Autonomous Agents, ACM Press (1999) 360–361 4. Omicini, A., Ossowski, S., Ricci, A.: Coordination infrastructures in the engineering of multiagent systems. In Bergenti, F., Gleizes, M., Zambonelli, F., eds.: Methodologies and software engineering for agent systems – An AgentLink Perspective. Kluwer (2004) 5. Ossowski, S., Omicini, A.: Coordination knowledge engineering. Knowledge Engineering Review 4 (2003) 309–316 6. Serrano, J., Ossowski, S., Fernández, A.: The pragmatics of software agents – analysis and design of agent communication languages. In et al., K., ed.: Intelligent Information Agents – The AgentLink Perspective. Springer-Verlag (2003) 7. Serrano, J., Ossowski, S.: An organisational approach to the design of interaction protocols. In Huget, M.P., ed.: Communication in Multiagent Systems. Volume 2650 of Lecture Notes in Computer Science. Springer (2003) 194–208 8. Singh, M.P.: Agent communication languages: Rethinking the principles. IEEE Computer 31 (1998) 40–47 9. Cohen, P.R., Levesque, H.J.: Communicative actions for artificial agents. In Lesser, V., ed.: ICMAS’95, MIT Press (1995) 65–72 10. Ferber, J., Gutknetch, O.: A meta-model for the analysis of organizations in multi-agent systems. In Demazeau, Y., ed.: ICMAS’98, IEEE Press (1998) 128–135 11. Zambonelli, F., Jennings, N.R., Wooldridge, M.: Organizational abstractions for the analysis and design of multi-agent systems. In Ciancarini, P., Wooldridge, M.J., eds.: AOSE. Volume 1957 of LNCS. Springer (2000) 235–252 12. Sadek, M.D.: Dialogue acts are rational plans. In: Proceedings of the ESCA/ETRW Workshop on the structure of multimodal dialogue, Maratea, Italic (1991) 1–29 13. Esteva, M., Rodriguez, J.A., Sierra, C., Garcia, P., Arcos, J.L.: On the formal specifications of electronic institutions. In Dignum, F., Sierra, C., eds.: Agent-mediated Electronic Commerce (The European AgentLink Perspective). Volume 1191 of LNAI., Berlin, Springer (2001) 126–147
Reasoning About Communication – A Practical Approach Based on Empirical Semantics Felix Fischer and Michael Rovatsos Department of Informatics Technical University of Munich 85748 Garching, Germany {rovatsos,fischerf}@cs.tum.edu
Abstract. Given a specification of communication rules in a multiagent system (in the form of protocols, ACL semantics, etc.), the question of how to design appropriate agents that can operate on such a specification is a very important one. In open systems, the problem is complicated even further by the fact that adherence to such a supposedly agreed specification cannot be ensured on the side of other agents. In this paper, we present an architecture for dealing with communication patterns that encompass both a surface structure of admissible message sequences as well as logical constraints for their application. This architecture is based on the InFFrA social reasoning framework and the concept of interaction frames. It assumes an empirical semantics standpoint by which the meaning of communication is pragmatically interpreted through decision-theoretic optimality considerations of a reasoning agent. We introduce the abstract architecture and a formal model and present experimental results from a complex domain to illustrate its usefulness.
1
Introduction
The process of designing agent communication languages, interaction protocols and conversation policies is primarily concerned with what goes on between rather than inside agents. It is therefore only natural that ACL research has rarely attacked the problem of how to build agents in accordance with a given set of semantic rules, protocol structures, etc. In the light of open multiagent systems, in which agents are not controlled by a central entity or pursue common goals and need not be benevolent, this design problem is complicated even further. Not knowing how other agents will apply a given specification concerning the semantic and pragmatic properties of the provided means of communication, the question for an agent is not only how to apply it by himself, but also whether to comply with the supposedly agreed specification at all. This is exactly the issue this paper deals with: Given the specification of a number of communication patterns together with logical constraints for their application, how can we design an agent that uses them appropriately to further his own goals, not knowing whether other agents will comply? As a possible answer to this question, we propose an agent architecture based on the concept of empirical semantics [10]. This architecture can be seen as a “communication reasoning” component that takes as inputs the belief M. Klusch et al. (Eds.): CIA 2004, LNAI 3191, pp. 107–122, 2004. © Springer-Verlag Berlin Heidelberg 2004
108
F. Fischer and M. Rovatsos
state and utility function of an agent as well as a set of models of communication patterns (so-called interaction frames) and outputs communication decisions. The architecture is characterised by two essential features: 1. It uses decision-theoretic principles to make optimal action decisions while taking previous communication experience into account. 2. It combines empirical knowledge with a priori specified logical constraints for communication patterns.
Most importantly, the reasoning heuristics used in this architecture are computationally tractable and can be implemented directly. We thus contribute to the task of engineering agents that are able to operate flexibly on a given set of communication protocols and semantic rules and under the assumption that the empirical semantics view is followed. The remainder of this paper is structured as follows: In section 2 we review the foundations of the empirical semantics approach. Subsequently, we introduce the InFFrA social reasoning framework that the proposed architecture is based on. Section 4 establishes a formal model of empirical semantics called that uses InFFrA frames to capture probabilistic expectations about communication. In section 5 we then present the apparatus necessary for making decisions in this model. Experimental results from a concrete implementation of the model in a complex domain are given in section 6 to underline its practical usefulness. Section 7 rounds up with some closing remarks and conclusions as well as an outlook to future work.
2
Empirical Semantics
In [10], we proposed a new model for communication based on empirical semantics. The basic idea behind this model is that communication obtains its meaning through the interactions within which it occurs. The central instrument to establish this meaning are the expectations constructed by agents participating in or observing an interaction. These expectations “contain” the current semantics of communication in a given social context and their evolution over time mirrors the evolution of meaning. To make things a bit more concrete, we quote the following central elements of the empirical semantics approach from [10]: 1. The meaning of a message can only be defined in terms of its consequences, i.e. the messages and actions that are likely to follow it. Two levels of effects can be distinguished: (a) The immediate reactions of other agents and oneself to the message. (b) The “second-order” impact of the message on the expectation structures of any observer, i.e. the way the utterance alters the causal model of communicative behaviour. 2. Any knowledge about the effects of messages must be derived from empirical observation. In particular, a semantics of protocols cannot be established without taking into account how the protocols are used in practice. 3. Meaning can only be constructed through the eyes of an agent involved in the interaction, it strongly relies on relating the ongoing communication to the agent’s own goals.
Reasoning About Communication – A Practical Approach
109
Fig. 1. Empirical semantics and its evolution
In other words, our view is that the semantics of communication can be reduced to its pragmatics as perceived by agents who are using communication. While this is an overtly restrictive interpretation of meaning for general communication, it can be very useful for practical agent reasoning in open multiagent systems, in which “normative” semantics (e.g. commitment-based speech act semantics [12]) may be proven wrong by others’ inability or unwillingness to comply with them. This is because of the fact that it can be used as a minimal-assumption method for reasoning about communication which at least ensures that the agent will not compromise his own welfare for the sake of complying with a pre-specified semantics (when others do not comply, either). Generally speaking, if the meaning of an utterance (or sequence of utterances) lies in the expected consequences, what is needed to capture semantics is a model of causality and correlation that allows to predict these consequences for a given (sequence of) utterance(s). This model will then be adapted with new observations so as to enable the agent to extrapolate past correlations into the future. Expectation networks [6,7] have been suggested as a very general method of capturing this kind of expectations that relies on a probabilistic model of “continuations” between interrelated messages derived from statistical observation. Instead of going into the details of this formalism, we sketch the basic idea using the illustrations of figure 1. In this figure, nodes represent communicative actions, edges correlations between them (variable line width is used to indicate different degrees of correlation). The shaded node sequence is used to describe the recently observed portion of the network, e.g. an ongoing conversation. The decreasingly dark shaded regions of predicted future actions denote that predictions regarding “distant” events are increasingly vague. The transition from the situation shown on the left to that on the right occurs upon observation of a new action that is appended to the currently relevant path. With this new observation, the correlation between the message previously observed and the current message increases compared to alternatives that did not occur. Taking the standpoint of empirical semantics enables an agent to adapt his expectations with new communication experience and to adjust his own behaviour to the expected reactions of others. However, this conceptual view of semantics does not say anything about how agents can use such expectations in practice.
110
3
F. Fischer and M. Rovatsos
The InFFrA Architecture
The Interaction Frames and Framing Architecture InFFrA [11] has originally been developed as a meta-framework for social reasoning architectures based on the notions of “interaction frames” and “framing”. The central idea behind InFFrA is to employ models of classes of interaction called interaction frames to guide agents’ social behaviour. The process of applying frames appropriately in interaction situations is referred to as framing. In the abstract architecture InFFrA, a frame is a data structure that contains information about the possible courses of interaction (so-called trajectories) characteristic to a particular frame, roles and relationships between the parties involved in an interaction of this class, contexts within which the interaction may take place, and beliefs, i.e. epistemic states of the interacting parties. In computational terms, the trajectory model is usually a representation of a set of admissible message and action sequences, while the latter three elements can be collapsed into a single set of logical constraints which then have to be verified using the agent’s internal belief state (usually represented by the contents of a knowledge base). InFFrA makes use of a number of frame-based data structures to conduct the steps necessary for framing: the active frame, the unique frame currently activated to describe the expected course of events, the perceived frame, an interpretation of the currently observed state of affairs, the difference model containing the differences between perceived frame and active frame, the trial frame, used when alternatives to the current frame are sought for, and the frame repository, in which the agent locally stores its frame knowledge. Using these data structures, an InFFrA agent performs the following steps in each reasoning cycle: 1. Interpretation & Matching: Update the perceived frame and compare it with the active frame. 2. Assessment: Assess the usability of the active frame in terms of (i) adequacy (compliance of frame conditions with the current situation), (ii) validity (the degree to which the active frame’s trajectory matches the perceived encounter) and (iii) desirability (depending on whether the implications of the frame correspond to the agent’s private goals). 3. Framing decision: If the active frame seems appropriate, continue with 5. Else, proceed with 4 to find suitable alternatives. 4. Adjustment/Re-framing: Search the frame repository for better frames. “Mockactivate” them as trial frames iteratively and go back to 1; if no suitable frame is found, end the encounter. 5. Enactment: Derive action decisions by applying the active frame.
Reasoning About Communication – A Practical Approach
111
Fig. 2. Overview of the framing process
This entire (simplified) framing process is depicted in figure 2. It should be emphasised that InFFrA only describes the social layer of agent reasoning; in order to obtain an integrated agent architecture, it has to be combined with a suitable component for local rational reasoning (e.g. a BDI [8] reasoner), so that the agent’s private goals and preferences can be taken into consideration during the assessment phase. Looking at InFFrA from an empirical semantics point of view, we can re-interpret the frames in an agent’s repository as the expectations about communication patterns that the agent holds. This provides us with a reasoning scheme for processing expectations which is missing in the pure “expectation-modelling” view of expectation networks laid out in the previous section. Moreover, if we ensure that frame conceptions are adapted with new experience, InFFrA is ideally suited for applying pre-specified communication patterns (e.g. traces of protocol execution as envisioned by the designer) in a goal-oriented fashion while making sure that others’ (or one’s own) deviance from these normative patterns influences the expectations about validity and relevance of these patterns in the future.
4
A Formal Model of Frame-Based Empirical Semantics
To obtain a formal computational model for representing and reasoning about communicative expectations based on InFFrA, we have developed a simple yet expressive model for describing two-party, discrete, turn-taking encounters which can be thought of as conversations between two agents. uses a sequence of message patterns (i.e. messages containing variables) as its trajectory model specifying the surface structure of the encounters described by a particular frame, together with a list of substitutions to capture concrete values of these variables in previously experienced interactions. Each substitution also corresponds to a set of logical conditions that were required for and/or precipitated by execution of the trajectory in the respective encounter. Finally, trajectory occurrence and substitution occurrence counters record the frequency with which the frame has occurred in the past. Formally, a frame in is defined as follows:
112
F. Fischer and M. Rovatsos
Definition 1. A frame is a tuple
where
is a sequence of message patterns
the trajectory of
the frame, is an ordered list of variable substitutions, is an ordered list of condition sets, such that is the condition set relevant under substitution is a trajectory occurrence counter list counting the occurrence of each prefix of the trajectory T in previous encounters, and is a substitution occurrence counter list counting the occurrence of each member of the substitution list in previous encounters. In this definition, is a language of speech-act [ 1 ] like message and action patterns of the form perf (A, B, X) or do (A, Ac). In the case of messages (i.e. exchanged textual signals), perf is a performative symbol (request, inform, etc.), A and B are agent identifiers or agent variables and X is the propositional content of the message taken from a logical language In the case of physical actions (i.e. actions that manipulate the physical environment) with the special “performative” do, Ac is the action executed by A (a physical action has no recipient as it is assumed to be observable by any agent in the system). Both X and Ac may contain non-logical substitution variables that are used for generalisation purposes (as opposed to logical “content variables” used by agents to indicate quantification or to ask for a valid binding). We further use to denote the language of “concrete” messages that agents use in communication (and that do not contain variables other than “content variables”). To illustrate these concepts and to explain the semantics of a frame, we will consider an example of how the FIPA contract net protocol [4] can be implemented in For ease of presentation, we will write T(F), C(F), etc. to denote the respective elements of a frame F and use the compact notation instead of where
and
Table 1 shows an interaction frame for the success path of the contract net protocol, the following should be noted about this example: As can be seen, the first condition set (corresponding to the empty substitution) contains feasibility preconditions of the respective performatives (in FIPA-SL [3] with additional timestamps of the form indicating at which trajectory step a condition has to hold), as far as they are relevant for frame execution. Definition 1 does not constrain which conditions are to be stored for a specific enactment of a frame (even allowing for empty condition sets), and the task of extracting relevant or even crucial information from the agent’s knowledge is clearly nontrivial. However, the reasoning framework to be defined in the following section
Reasoning About Communication – A Practical Approach
113
primarily uses conditions to identify similarities in encounters, while expectation is drawn from utilities obtained during frame execution, making this approach less sensitive to the way conditions are selected. As for the different failure cases covered by the contract net protocol, these could either be modelled implicitly by using timeouts and interpreting “silence as disapproval” or explicitly by virtue of additional frames. The frame of table 2, for example, models the refusal to submit a proposal. Together, and capture the following observations about previous encounters: Five encounters started with a message matching three of them continued with a proposal by the other two with a refusal. In two of the former three cases, the proposal was accepted by and the respective physical action carried out by One encounter has terminated after the second message or was continued with a message not matching For four of the five encounters, substitutions are available. Two contracts were made, one about the delivery of four tires for a price of 75 each, one about the replacement of a set of tires for 400. Two calls for proposals for the delivery of four tires were refused because no tires were available (which is a generalisation over two encounters, leaving unspecified). To use frames for the prediction of future encounters, however, we need a formal model of their prospective rather than retrospective semantics. Here, the idea is (as in [10]) to use an entire repository of frames, each representing a set of message/action sequences by virtue of the substitutions that can still be applied to its trajectory. Given an encounter prefix, i.e. a sequence of messages already uttered in the current encounter, and the agent’s current belief state, we can filter out those paths that
114
F. Fischer and M. Rovatsos
either (a) do not match the encounter prefix or (b) are labelled with logical conditions not satisfied under current knowledge base content. Considering the remaining (i.e. relevant) paths, we can then assign probabilities to all the possible encounter continuations (or postfixes) using the counter values of Additionally, domain-dependent casebased reasoning [5] techniques can be applied by introducing a similarity measure on messages, such that different instances of a postfix pattern have different probabilities depending on their similarity with past enactments of the respective frame. Hence, represents a simplified version of an expectation network that has the form of a tree. More formally, let the encounter prefix and
the most general unifier (MGU) of and the corresponding trajectory prefix of F (where unifier(·,·) returns the most general unifier for two message patterns or sequences thereof, or if they cannot be unified). For a given knowledge base describing the belief state of an agent (KB is assumed to be encoded in the same propositional language as the content of messages for reasons of simplicity), this allows us to define
as the set of substitutions still possible under F, KB, and The elements of are extensions of for which at least one condition in C(F) is satisfied.1 For a given similarity measure on message pattern sequences, we can define
1
We use the notation here for the result of applying to each element of a list or set L, and for the substitution that results from applying after Further, we implicitly assume that only minimal substitutions are considered for only replacing variables that actually occur in T(F) or in some
Reasoning About Communication – A Practical Approach
115
to assess to which extent is “applicable” to F. In this definition, is used to take the frequency of a past condition/substitution into account and expresses how relevant a particular frame condition is in determining the applicability of 2 This quantity can be used to derive a conditional probability distribution over the different substitutions F may be enacted under:
for some normalisation constant
Finally, combining this formula with the frequency
of F matching any past encounter starting with allows us to compute the continuation probability with which an encounter that started with will be concluded with
Looking back at figure 1, this equation defines a probability distribution for the possible continuations of an encounter given a current “path” in the expectation network induced by Next, we will show how this semantics of can be used to conduct rational reasoning about communication.
5
Reasoning and Making Decisions About Communication
Based on the formal model presented in the previous section, the general principles of InFFrA can be concretised and embedded into an agent architecture to endow agents with the ability to reason and make decisions about communication. To illustrate how this is done, we will again go through the individual steps of the abstract reasoning cycle depicted in figure 2. Interpretation and Matching/Assessment. At the beginning of each reasoning cycle, the knowledge base KB and the encounter prefix are updated from the peer’s last utterance. As for matching and assessment, the agent checks if i.e. if the trajectory of the active frame matches and the remaining steps of can still be executed under KB. Considerations about the desirability of could also 2
A simple definition of given by
considering only those conditions currently satisfied, is for example
116
F. Fischer and M. Rovatsos
play a role in the framing decision, and a possible definition for such a desirability criterion will be given in our description of frame enactment. Returning to the example of the previous section, we consider an encounter with and for both agents and prefix so that can successfully match against If for example did only sell tires in fours, executability of would still fail and require a re-framing. Adjustment/Re-Framing. The idea behind grouping different courses of interaction into frames is to exploit the fact that (usually) similar types of interaction (e.g. negotiation dialogues, contracting, etc.) exist which differ only in the specific content of messages, but not in what they achieve for the interacting parties. This hierarchical view enables agents to optimise within the current frame while disregarding other frames during a conversation. However, if the active frame cannot be carried out any longer, the search space for appropriate continuations has to be expanded. In this case, a variety of frame selection heuristics can be used to find suitable alternatives. In our implementation, experimental results for which are presented in the following section, we use hierarchical reinforcement learning techniques [13] to learn an optimal frame selection strategy over time. Also, we construct new frames through concatenation in a planning-like manner to achieve the original goal of a conversation that went awry. An extensive treatment of the resulting architecture can be found in [2]. At the end of an encounter – in order to maintain a concise model of past interactions – the active frame is augmented by a substitution that unifies its trajectory with along with a set of conditions that were required for or precipitated by the execution. Enactment. If the active frame contains no further steps, the agent simply terminates the encounter, as is the case if no active frame could be found. Else, the next message or action is chosen by applying the locally optimal substitution to the next step of the active frame’s trajectory. To determine we assume that the agent’s preference towards different world states is expressed by means of a real-valued utility function where is the utility associated with a message sequence being executed for initial knowledge base KB. Since some variables of will be bound by the agent himself, while concrete values for others will be “selected” by his peer with a certain conditional probability, the optimal substitution is defined as the one with the highest expected utility. Normally, this notion of expected utility will also be used during frame assessment to determine the desirability of a specific substitution or entire frame. For example, one could force a re-framing unless executing the postfix of the active frame under the most desirable substitution yields a positive utility. If we write and for the sets of possible substitutions the agent and his peer in the current encounter can apply, respectively, the expected utility of executing a frame F under is given by
Reasoning About Communication – A Practical Approach
117
where is the postfix of F corresponding to prefix (which can be determined by applying the most general unifier of and the corresponding prefix of T(F) to the respective rest) and is the probability with which the peer will conditionally choose some substitution depending on the agent’s choice An approximation of can be computed from the past cases stored in F. Using Bayes’ rule and applying equation 1 to both numerator and denominator, we can approximate
if (and 0, else). By means of standard expected utility maximisation, the optimal substitution is then given by
Concluding the above example under the assumption that no re-framing was necessary, now has to select an appropriate proposal. That is, each of the elements of yields a different price for a tire, and the search for the best substitution is a search for the highest possible price (as will usually increase with higher profit) such that will still accept (as the probability for the accept will usually decrease with an increasing price) and will be guided by similar past cases stored in i.e. by past prices for tires.
6
Experimental Results
In order to show their performance in practice, the concepts presented so far have been implemented and tested in the multiagent-based link exchange system [9]. In this system, agents representing Web sites engage in communication to negotiate over mutual linkage with the end of increasing the popularity of one’s own site and that of other preferred sites. Available physical actions in this domain are the addition and deletion of numerically rated links originating from one’s own site and the modification of ratings (where the probability of attracting more traffic through a link depends on the rating value). provides a highly dynamic and complex interaction testbed for the following reasons: Agents only have a partial and incomplete view of the link network. In particular, agents engage in non-communicative goal-oriented action in between encounters, so that the link network (and hence the agents’ utility situation) may change while a conversation is unfolding. The number of possible link configurations is vast, and agents can only predict possible utilities for a very limited number of hypothetical future layouts. There is no notion of commitment – agents choose frames in a self-interested way and may or may not execute the physical actions that result from them. Also, they may undo their effects later on.
118
F. Fischer and M. Rovatsos
agents consist of a non-social BDI [8] reasoning kernel that projects future link network configurations and prioritises goals according to utility considerations. If these goals involve actions that have to be executed by other agents, the component starts a framing process which runs until the specific goal has been achieved or no adequate frame can be found. We report on experiments in which agents were equipped with frames with the following six trajectories:
The first three frames allow for accepting to perform a requested action X, making a counter-proposal in which Y is suggested instead of X, or using propose – also to suggest that B executes X if A agrees to execute Y. The last three frames can be used to explicitly reject a request or proposal. In that, X and Y are link modification actions; each message is available in every state and incurs a cost that is almost negligible compared to the utilities gained or lost through linkage actions (yet high enough to ensure no conversation goes on forever). Also, agents can always send a stop action to indicate that they terminate an encounter if they cannot find a suitable frame. After their termination, encounters are stored in the frame from which they have originated. For example, agent would store the encounter by adding a substitution to the respective frame together with an automatically generated list of conditions that were required for physical action execution. As state abstraction, we use generalised lists of statements of the form ({I, R}, {I, R, T}, {+, –, ?}) representing the physical actions talked about in an encounter. and stand for a positive or negative link modification (i.e. addition/deletion of a link or an increase/decrease of its rating value), I/R for the initiator and responder of the encounter, T for a third party; +/–/? indicates whether the (learning) agent likes, dislikes or doesn’t know the target site of the link modification. For example, if and talk about in an encounter initiated by (while the learning agent is the responder and likes site) this is abstracted to If in the same conversation suggests to modify his own link toward (whom he does not like) from a rating value of 1 to 3, the state (viz subject) of the encounter becomes The intuition behind this state abstraction method is to capture, in a generalised form, the goal of the conversation that can currently be realised while at the same time reducing the state space to a reasonable size. Figure 3 shows a comparison for a system with ten agents with an identical profile of private ratings (preferences) towards other agents (both plots show the performance of the best and the worst agent in the group as well as the average utility over all agents).
Reasoning About Communication – A Practical Approach
Fig. 3. Performance plots for communicating BDI agents and
agents
119
120
F. Fischer and M. Rovatsos
In the first plot, agents employ BDI reasoning and additionally send requests to others whenever they favour execution of someone else’s action according to their BDI queue. These requests are then enqueued by the recipient as if he had “thought of” executing the respective action himself. Thus, it depends on the recipient’s goal queue and on his utility considerations whether the request will be honoured or not. As one can see, after a certain amount of time agents do no longer execute any of the actions requested by others, and cannot find any profitable action to execute themselves, either. The system converges to a stable state. The second plot shows the results of a simulation with the same setup as above but using agents. Again, agents issue requests whenever they identify that someone else could do something useful. After this initial message, the framing procedure takes over. Quite clearly, despite the fact that there is a greater variation in maximal, minimal and average agent utility, the average and the best agent perform significantly better than in the BDI case, while the weakest agent performs just as good as in the BDI case on the average. While on first glance the performance of agents might not be strikingly different from those using plain BDI, it should be noted that the results establish a lower bound on the performance gained by using In environments with (possibly) non-benevolent peer agents showing non-stationary behaviour, the performance of agents using prespecified communication protocols or assuming a fixed semantics of communication can become arbitrarily bad, while includes the ability to learn what to expect from a given peer in a specific interaction situation. To allow for any quantitative statements, however, additional experiments will be necessary. Yet another interesting interpretation can be drawn from the fact that the average utility of agents lies within the range of the two horizontal lines in the plot. These denote the average utilities for two special linkage configurations: the lower one of the two corresponds to a fully connected linkage graph, in which each agent (honestly) displays the ratings of his out-links (i.e. reveals his true opinions about others). The slightly higher utility shown by the upper line is attained if agents do not lay any links toward agents they dislike. It is an interesting property of the utility function used in that acting “politically correct” is slightly better than being honest. The fact that agent utilities evolve around these benchmarks indicates that they truly strive to make strategic communication moves and exploit the advantages of concealing certain beliefs. Apart from these utility results, two interesting observations can be made about the framing behaviour: Agents never use the reject-frames, because they immediately notice that halting the encounter right away is cheaper (by the cost of sending the reject message) and has the same effects. This allows the frame designer to focus on “success” trajectories without having to worry about failure. Once agents accept to do something, they will keep their promise. This is simply because they are able to predict the utility consequences of an encounter and have no reason to engage in communication if they do not intend to proceed.
Reasoning About Communication – A Practical Approach
7
121
Conclusions
In this paper we have presented an architecture for reasoning about communication patterns within the framework of empirical semantics. From a practical point of view, this contributes to the “agent side” of ACL research, as it offers methods to construct and implement agents that are able to deal with given specifications of rules that govern the communication in a system. Three features are particularly interesting about our approach: 1. The frames used in our formal model combine information about the surface structure of communication sequences, logical constraints (frame conditions) and empirical data (counters). This allows for great flexibility with respect to what is defined in commonly agreed protocols, semantics, etc. For example, in non-exploitable protocols as those used in mechanism design, it may suffice to just specify admissible message sequences (because it does not matter what the agents think, for example), while other types of interactions such as contracting may require commitment rules, descriptions of agents’ mental states, etc. 2. Agents are capable of exploiting past communication experience. Thus, they are able to “start out” with a predefined set of patterns and to test to which degree their peers comply with them, which offers a major advantage in open systems where adherence to protocols, truthfulness constraints, etc. cannot be guaranteed. In particular, this paves the way for the use of machine learning methods (as we have done) that make minimal assumptions about others’ behaviour and simply accumulate communication knowledge as they go. 3. The architecture combines decision-theoretic (probabilistic) reasoning methods with symbolic communication. This constitutes an important contribution to the practical design of communicating agents, but also an initial step to explore the special character of communication as opposed to general action. In [10], for example, we have argued for trading off optimality against predictability in communication so that more reliable communication patterns can occur. Using decision theory as a firm foundation for rational reasoning can help formalising what agents (should) do in communication and whether and in which way this differs from the models used in, e.g. game theory and economics.
A major advantage of our approach is that it allows us to combine the decisiontheoretic power of RL models with the knowledge-based aspects of symbolic agent communication, interaction protocols and ACL research in general. It is this aspect that makes rational action and learning possible for high-level agent architectures that employ logical reasoning. In the future, we intend to look at more complex models of interaction frames with trajectories more expressive than simple sequences. Also, we want to investigate to which degree agents are capable of exchanging meta-frame information to reach consensus about which frames to use. Finally, a lot of work needs to be done on automatically transforming ACL and interaction protocol specifications into readily usable frames.
122
F. Fischer and M. Rovatsos
References 1. J. L. Austin. How to do things with Words. Clarendon Press, 1962. 2. F. Fischer. Frame-Based Learning and Generalisation for Multiagent Communication. Diploma Thesis, Department of Informatics, Technical University of Munich, Munich, Germany, December 2003. 3. FIPA (Foundation for Intelligent Physical Agents). FIPA Communicative Act Library Specification, 2002. Available under URL http://www.fipa.org/specs/fipa00037/SC00037J.pdf. 4. FIPA (Foundation for Intelligent Physical Agents). Fipa Contract Net Interaction Protocol Specification, 2002.Available under URLhttp://www.fipa.org/specs/fipa00029/SC00029H.pdf 5. J. L. Kolodner. Case-Based Reasoning. Morgan Kaufmann, San Francisco, 1993. 6. M. Nickles and M. Rovatsos. Communication Systems: A Unified Model of Socially Intelligent Systems. In K. Fischer and M. Florian, editors, Socionics: Its Contributions to the Scalability of Complex Social Systems, LNCS. Springer-Verlag, Berlin, Germany, 2004. To appear. 7. M. Nickles, M. Rovatsos, and G. Weiss. Empirical-Rational Semantics of Agent Communication. In Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS-04), New York, NY, 2004. 8. A. S. Rao and M. P. Georgeff. BDI agents: From theory to practice. In Proceedings of the First International Conference on Multi-Agent Systems (ICMAS-95), pages 312–319, 1995. Rovatsos.LIESON – User’s Manual and Developer’s Guide. 9. M. http://www7.cs.tum.edu/~rovatsos/lieson/users-manual.pdf, 2002–2003. 10. M. Rovatsos, M. Nickles, and G. Weiß. Interaction is Meaning: A New Model for Communication in Open Systems. In J. S. Rosenschein, T. Sandholm, M. Wooldridge, and M. Yokoo, editors, Proceedings of the Second International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS-03), Melbourne, Australia, 2003. 11. M. Rovatsos, G. Weiß, and M. Wolf. An Approach to the Analysis and Design of Multiagent Systems based on Interaction Frames. In Maria Gini, Toru Ishida, Cristiano Castelfranchi, and W. Lewis Johnson, editors, Proceedings of the First International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS-02), Bologna, Italy, 2002. ACM Press. 12. M.P. Singh. A social semantics for agent communication languages. In Proceedings of the IJCAI Workshop on Agent Communication Languages, 2000. 13. R. S. Sutton, D. Precup, and S. Singh. Between MDPs and semi-MDPs: A Framework for Temporal Abstraction in Reinforcement Learning. Artificial Intelligence, 112:181–211, 1999.
The Evolution of Probabilistic Reciprocity in a Multi-agent Environment with Neighborhoods Enda Ridge, Michael G. Madden, and Gerard J. Lyons National University of Ireland, Galway, {enda.ridge, michael. madden, gerard.lyons}@nuigalway.ie
Abstract. Previous work by other researchers has investigated the evolution and stability of a ‘probabilistic reciprocity’ strategy in a package delivery domain where all agents could communicate reputations to every other agent. We extend that work to the more realistic situation of spatially distributed agents with neighborhoods that restrict agent interaction and communication. We improve the original probabilistic reciprocity strategy with a modification that tarnishes the reputations of agents that repeatedly refuse requests for help. We then investigate the effect of reducing neighborhood size from the general case of the ‘global neighborhood’ used in previous work. Our experiments show that neighborhoods can be reduced to a critical size without a significant degradation in the evolutionary stability of the improved probabilistic reciprocity strategy. We also show that locating like agents within a niche can mitigate this degradation. From a multi-agent design perspective, this means that for a population with a given proportion of selfish and dishonest agents, communication may be reduced to within a subset of the population while retaining the same success of the reciprocative strategy. We also show how to extend the problem domain to abstract a wider range of interaction situations as defined in the literature.
1
Introduction and Motivation
The importance of the field of Multi-Agent System (MAS) research is well rec-
ognized and the emergence of workshops and conferences such as Cooperative Information Agents (CIA) and Cooperative Information Systems (CoopIS) acknowledges cooperation as a critical area of investigation within the field. Cooperation and interaction are common to the very definitions of agency in the literature. Among Ferber’s [1] minimal common properties of an agent is the ability to communicate directly with other agents. Maes [2] talks about autonomous agents being “engaged in a cooperative process” with a user. In Wooldridge and Jennings’ weak notion of agency [3], an agent has “social ability”. According to Weiss [4], the key question for MAS research is “When and how should which agents interact — cooperate and compete — to successfully meet their design objectives?”. He mentions abilities such as improving the state of coordination, reconciling disparate viewpoints and conflicts, negotiating and forming organizational structures. Clearly, interaction and specifically cooperation are very important to the design of a multi-agent system. M. Klusch et al. (Eds.): CIA 2004, LNAI 3191, pp. 123–136, 2004. © Springer-Verlag Berlin Heidelberg 2004
124
E. Ridge et al.
Popular MAS frameworks such as JADE [5] reduce the agent environment to a passive message transport system. The advantages to a MAS of a rich and active environment beyond a message transport system are evidenced by success with experiments on algorithms inspired by social insects [6]. These have demonstrated that virtual gradient fields and chemical trails can aid agent communication and coordination [7]. Research toward a better understanding of such agent-environment interplay is in its infancy. One worthwhile endeavor is investigating under which environmental conditions there are benefits to the agent society and under which conditions the imposition of an environment may be detrimental to the desired societal level behavior. In particular, we are investigating the effect of introducing spatial distribution and neighborhoods to Sen and Dutta’s work [8] on the evolution and stability of agent strategies employing a probabilistic reciprocity decision rule [9]. A spatially distributed environment could arise where either agents are actually physically dispersed or where agents represent spatially dispersed users. Ubiquitous computing may be an example of the former case. Imagine a shopping mall where some tenant shops have situated agents connected to a wireless network. One possible commercial direction for agent research is toward the idea of these agents sharing information on potential customers and their requirements and tailoring services to those requirements. Agents representing different categories of outlet should like to establish a reciprocal relationship for identifying potential customers in their vicinity and directing those customers to one another. Could such a relationship develop and be sustained? Secondly, cases will arise where agents are pooled in a software environment but represent physically dispersed users. This is true in the VLAB system [10] which offers a brokerage service to hauliers represented by agents. The modern haulage industry is pan-continental and offers cooperation opportunities for sharing haulage resources such as idle tractor cabs and empty trailer space. However, over large geographical distances and for infrequently visited delivery locations, there would be fewer interaction occasions for hauliers. Under what conditions would parasitic agent strategies dominate such a system? This paper has the following outline. We first cover the previous related work on cooperation and probabilistic reciprocity. Section 3 describes our experiment setup and how the problem domain we use could be modified to fit within many recognized categories of interaction situation. Section 4 details the experiments we have run and their results. Section 5 draws conclusions from these results and suggests some directions for extending our work.
2 2.1
Related Work Deterministic Strategies
Among the most frequently cited work on cooperation is that of Axelrod [11– 13]. This work investigated the robustness of various deterministic strategies in playing the Prisoner’s Dilemma [14]. It has been criticized on several fronts.
The Evolution of Probabilistic Reciprocity in a Multi-agent Environment
125
Game theorists and economists have pointed out weaknesses in Axelrod’s conclusions about the merits of the TIT-FOR-TAT strategy [15]. They highlight his choice of initial conditions as biasing the basin of attraction into which the game’s dynamics settle. The applicability of Axelrod’s conclusions to real-world problems has been criticized by Sen and Dutta [8]. They highlight weaknesses in the following areas: Initial Decision: Axelrod assumed TIT-FOR-TAT agents started by cooperating. This leads to all agents cooperating subsequently. However, if agents start by not cooperating then TIT-FOR-TAT will never produce cooperative interactions. Symmetrical Interactions: Axelrod assumed every interaction is perfectly symmetrical. That is, in any interaction, both agents incur the same absolute value of cost and benefit. In real life these values are not always the same. In deciding whether or not to help others, an agent must consider both the history of past interactions and expectation of interactions in the future. Repetition of identical scenarios: in real life, either the parties involved or the environmental conditions change between interactions. Lack of a measure of work: to compare different scenarios, we need some common metric of the work involved. A simplistic TIT-FOR-TAT strategy that does not incorporate such as measure would favor equally taking on a very expensive task and a relatively cheap task. Other researchers have achieved improved results with deterministic variants of the TIT-FOR-TAT strategy such as PAVLOV [16]. However, all of these experiments are set in the highly abstract Prisoner’s Dilemma game. This abstraction does not capture the following features that are very real considerations in a rich multiagent society. The possibility of communication: This precludes any reasoning with another player, threats and bargaining. The influence of third parties: The game is only between two players. In multi-person interactions, a witness to a defection can punish the cheater. A victim of a cheater can warn others of its experience. The problems of implementing a choice: All strategies are perfectly implemented. There is no mention of any domain specifics and no possibility of partial cooperation and defection. Uncertainty about what the other player actually did on the previous move: Strategies as they are perceived are assumed to represent the player’s intention to cooperate or defect. The possibility of noise and errors in perception is not addressed.
2.2
Probabilistic Strategies
Sen has proposed a probabilistic reciprocity strategy that addresses some of the weaknesses in Axelrod’s work [9]. This strategy uses a sigmoidal probability
126
E. Ridge et al.
function of additional cost of helping, average cost of tasks, and reputation of the requesting agent to decide which requests for help to honor. We briefly repeat its definition here for continuity. Let there be N agents in the multiagent system, each with T tasks assigned to it. The jth task assigned to the ith agent is Let be the cumulative savings obtained by agent from agent over all of their previous interactions. Let be the cumulative work done by agent for agent over all of their previous interactions. Then the balance of these exchanges is The balance of their exchanges between two agents that have never interacted before is zero. Balances are not symmetrical Sen suggests using (1) to calculate the probability that an agent with an assigned task will carry out an additional task for a requesting agent
An agent’s willingness to cooperate is measured by and determines the steepness of the cooperation curve. is the average cost of tasks to be performed by agent is the extra cost agent incurs by accepting agent task The parameters and are global constants. The values of the other variables come from the dynamics of the system, specifically the agent’s history of interactions and the tasks it is randomly assigned. As the exponential term increases, the probability of helping the requesting agent decreases. Therefore, a negative balance with the requesting agent can only decrease the probability of helping that agent. The advantages of a probabilistic approach over a deterministic approach are that it can bootstrap cooperative relationships despite the potential for cheating and it can better handle noise. Furthermore, Sen’s proposed strategy favors helpful agents over selfish agents since it acknowledges the history of interactions with a requesting agent and it allows for current workload.
3
Experimental Setup
In these experiments, we aim to extend the work of Sen and Dutta to a spatially distributed agent environment. Our implementation is based on our understanding of their work as reported in [8]. We make clear where we have made assumptions about their implementation.
3.1
Agent Problem Domain
The package delivery problem domain consists of one depot to which three radial fins are attached (Figure 1). All fins have a length of three units. A package delivery task involves bringing a package from the depot to a position on a fin. There is a single depot that is used by all agents.
The Evolution of Probabilistic Reciprocity in a Multi-agent Environment
127
Fig. 1. Schematic of the Package Delivery Domain showing a central depot with three radial fins all of length 3
We retain Sen’s metaphor of the package delivery domain but stress that we do not intend it to be a model of real-world physical delivery locations in the way, for instance that directed graphs might express vehicle routing. Rather, we consider it an abstraction of types of cooperative interaction. We propose that the specific interaction type, as defined by Ferber’s taxonomy of interaction situations [1], can be set by some adjustments to the domain as outlined below. The situation of incompatible goals is modeled by setting a limit on the number of packages that can be held at a given delivery location. When 1 below that limit is reached, then one agent’s delivery to that location will prevent another agent’s subsequent delivery to that location. Those agents’ goals are thus incompatible. Conflict over resources can be introduced by limiting the number of agents on a fin at the same time. Agent capacities can be modeled by giving each agent a finite amount of fuel. Agents then use fuel in proportion to the distance of a task from the depot. If an agent has insufficient fuel to reach a delivery location it has insufficient resources for its task. Agents cannot cross between fins for different concurrent tasks. This represents tasks for which one agent cannot facilitate another by taking on its task. Increasing the number of fins therefore reduces cooperation opportunities. Agents can only interact at the depot. For task sets evenly distributed over fins and fin positions, increasing the fin length reduces the frequency of interaction and increases the conflict over resources. The problem domain as reproduced from Sen and Dutta’s work therefore models compatible goals with sufficient skills and sufficient resources. This fits within Ferber’s ‘indifference’ category. However, what makes this problem domain more interesting is that agents desire to minimize their costs when achieving their tasks. There is an incentive for agents to facilitate one another by sharing tasks. Costs are calculated as follows.
128
E. Ridge et al.
Consider a package delivery task at a distance from the depot. The work to complete this task involves traveling a distance from the depot to the delivery location on the fin and returning back to the depot for the next task. It costs one unit per unit distance traveled per package and one unit per distance traveled (empty-handed) on the return to the depot. The cost of this work for such a task in isolation is However, if two tasks are undertaken at the same time then the savings on the single return journey mitigates the extra cost of bringing the additional package to its destination. For example, let be the maximum distance of all tasks the helping agent is planning to undertake. Let be the distance of the additional task that the agent is considering undertaking for agent Then (2) gives the extra cost of the additional task to agent
The implication of this cost structure is that work performed cooperatively costs less than the same work performed in isolation. Each agent is given a randomly generated list of assigned tasks such that every agent receives the same total number of tasks and the same total amount of work. Agents then proceed to complete their tasks either individually or cooperatively based on the result of their interactions at the depot. There is no limit on the number of additional tasks that an agent can take on simultaneously.
3.2
Agent Environment
For the concept of a neighborhood to have meaning we require some form of spatial distribution. We have used the common setup of a square lattice of connected nodes where an agent is located at a node [17]. The top and sides of the lattice are wrapped to avoid possible edge effects. The lattice that agents inhabit has no relation to the abstract package delivery problem domain. Conceivably, agents on the lattice could cooperate according to some other abstraction such as the Prisoner’s Dilemma game. In this lattice framework, we can define several types of neighborhood. Two of the most common variants are the Moore neighborhood and the Von Neumann neighborhood as illustrated in Figure 2 for a neighborhood range of two. We have chosen the Moore neighborhood because by increasing its range sufficiently we can recover the general case of global environment vision used in Sen and Dutta’s work. Neighborhoods introduce restrictions on both agent interactions and on the evolutionary selection scheme. Neighborhoods restrict an agent’s interactions at the depot to only those agents within its own neighborhood. Neighborhoods restrict the sampling of the evolutionary selection scheme from the whole population to that subset within an agent’s neighborhood. We use this restriction because the evolutionary scheme is an attempt to model an agent’s adoption of new strategies based on its perception of successful strategies.
The Evolution of Probabilistic Reciprocity in a Multi-agent Environment
129
Fig. 2. Moore neighborhood (left) and Von Neumann neighborhood (right)
3.3
Evolutionary Selection
The evolutionary selection scheme is not intended as a model of any real evolutionary process. Rather it introduces a selection pressure on agent strategies. It is a simple scheme that we reproduce from the previous work we extend. At the end of an evaluation period, when each agent has completed all tasks it was assigned at the start of the period, each agent’s cost C incurred during the period is totaled. An agent’s fitness is given by:
We use the 1 term in the denominator to avoid division by 0 in the unlikely event of an agent incurring 0 cost during the whole evaluation period. Two different agents from an agent’s neighborhood are selected with probabilities proportional to their fitnesses. The strategy of the selected agent with the greater fitness is adopted for the next evaluation period.
3.4
Agent Help Decision Strategies
The most sophisticated strategies used by Sen and Dutta were what they termed Earned Trust Reciprocative (ETR) and Collaborative Lying (CL). Earned Trust Reciprocative Strategy. The ETR strategy uses the probabilistic reciprocity function of Equation 1 in making its help decisions. The term is the balance reported by all agents with whom the deciding agent has an existing balance greater than zero. That is, all agents that have helped the deciding agent in the past and are therefore presumed honest. Collaborative Lying Strategy. The CL strategy never helps other agents. In addition, when asked for a reputation it bolsters the reputation of unhelpful agents and tarnishes the reputation of helpful agents. No claim is made for the rationality of CL. It exists purely as a disruptive strategy. Differences in Implementation. There may be some differences in our implementation of these strategies due to the following details.
130
E. Ridge et al.
Average Cost There are several ways to calculate the average cost term in the probabilistic reciprocity equation. We have chosen a preset value of 2.5. This is an approximate average over the possible combinations of one assigned and one additional task in a domain with three radial fins all of length three. Requests for Help: There are many ways to assess requests for help. We have chosen to assess each request in a bundle independently of others in the bundle. This means that additional cost is calculated relative only to the current assigned task, regardless of other additional costs that may arise after assessing the bundle and finalizing the transfer of tasks with requesting agents. Updating Balances: When updating balances after an interaction has completed we use the additional cost that was calculated when assessing requests. While this may no longer be the true additional cost, it is nonetheless the value on which the decision to help was made and we are evaluating the strategies that use this decision process. We now propose an additional strategy that is a variant of Sen’s ETR strategy. Earned Trust Tarnish Strategy. The Earned Trust Tarnish (ETT) strategy differs from ETR in one way. When an agent refuses an ETT agent’s request for help, the ETT agent decreases its balance with the refusing agent by a constant. This modification attempts to address a potential weakness in the ETR strategy. An ETR agent that repeatedly requests help from a possibly selfish CL agent keeps no record of its lack of success in receiving help from that agent. Yet should that CL agent request help from the same ETR agent it will still be treated as a possibly cooperative agent. This is unrealistic when the CL agent has no history of honoring requests for help. By reducing its balance with refusing agents, the ETT strategy helps identify likely selfish agents and will treat requests from those agents with greater skepticism than an ETR agent would. Figure 3 illustrates this for an average cost of 2.5 and a decreasing range of balances (0, –1, –2). The topmost curve plots an ETT agent’s probability of helping against increasing additional cost when balance with the requesting agent is 0. This is the same probability that is always used by an ETR agent. The other curves show decreasing probabilities of helping for corresponding decreases in balance with the requesting agent. The tarnishing constant must be set so that the likelihood of help is reduced without completely ruling out help. This acknowledges that the refusals may have been due to the requested agent being overloaded during previous interactions.
4
Experiments and Results
This section outlines the experimental setup and results obtained. Since we aim to extend Sen and Dutta’s work, we set all parameters to be the same as theirs.
The Evolution of Probabilistic Reciprocity in a Multi-agent Environment
131
Fig. 3. The effect of decreasing balance on Probability of helping for an ETT agent
Specifically, there are 3 fins all of length R = 3. There are N = 100 agents. Willingness to cooperate is set to and is set to 0.75. We repeat each experiment three times. In addition, we introduce the following parameters and details common across all experiments. The square lattice contains 10 × 10 nodes. Agents are dispersed randomly on the lattice and remain static for the duration of the experiment.
4.1
Reproducing Previous Work
The initial percentage of Collaborative Liars was controlled from 10% to 90% in increments of 10 with the remaining agent strategies initially set to Earned Trust Reciprocative. Every agent was given a neighborhood range sufficient to see the whole lattice. On the 10 × 10 lattice with Moore neighborhoods this value is 5. Figure 4 summarizes the results1. Qualitatively, our results show the same trend as Sen and Dutta’s with ETR requiring a roughly constant minimum average amount of tasks to dominate the population. The disparity in the quantity of tasks and the sharp increase at high initial percentages of CL must be due to some of the differences in our implementation as noted previously. However, the qualitatively similar trend make us confident that we have reproduced the most important characteristics of the agent interactions. Henceforth, we use our implementation of ETR as our base point.
4.2
Tarnishing Repeated Refusers
We now repeat the previous set of experiments, replacing the ETR strategy with the proposed ETT strategy. The tarnishing constant for the ETT strategy is set to 1. Figure 5 shows that the ETT strategy requires less than half the mean tasks of ETR before it dominates the CL strategy, a marked performance improvement. 1
The Sen and Dutta curve is estimated from their paper.
132
E. Ridge et al.
Fig. 4. Average of Minimum Tasks before ETR agents dominate CL agents
Fig. 5. Average of Minimum Tasks before ETT agents dominate CL agents
ETT identifies potentially selfish agents more quickly than ETR and so less time is wasted helping those agents. The ETT strategy suffers from the same sharp degradation in its performance as ETR at high initial percentages of CL. This is illustrated in Figure 6 which shows the percentage increase in mean tasks required by both ETR and ETT as the initial percentage of CL is increased. Having established that ETT is a better strategy in this domain, we proceed to investigate the effect of neighborhoods on that strategy.
4.3
Introducing Neighborhood Effects
In this set of experiments, we repeat the previous test of ETT against CL for the set of all possible neighborhood ranges. In a 10 × 10 lattice with Moore neighborhoods this set is {4, 3, 2, 1}. These ranges correspond to proportions of the environment {80%, 50%, 25%, 10%}. Figure 7 summarizes the results. Up to about 30% initial CL, there is little difference between the different neighborhood ranges apart from the extreme neighborhood range corresponding to 10% of the environment. Beyond this point, however, the ETT behavior starts its steep increase. The lower neighborhood ranges begin to increase first. This is because, with a random distribution of strategies on the lattice, the proba-
The Evolution of Probabilistic Reciprocity in a Multi-agent Environment
133
Fig. 6. Percentage increase in mean tasks for ETR and ETT
Fig. 7. Average of Minimum Tasks before ETT agents dominate CL agents for all neighborhood ranges
bility of an ETT agent being located in a very selfish neighborhood is higher for smaller neighborhoods. Each neighborhood range has a critical point above which the ETT strategy cannot cope with increases in the initial percentage of CL strategies in the environment. Alternatively, looked at from a more positive perspective, there is a lower bound on neighborhood range to which communication can be restricted without compromising the cooperation opportunities available at an agent vision permitting global communication. It should be noted that although all of the strategies have a neighborhood restriction imposed on them, none of them explicitly attempt to incorporate neighborhood effects into their calculations. Clearly, the presence of neighborhoods has a detrimental effect beyond a critical concentration of CL initially in the population when strategies are dispersed randomly.
4.4
Niches
We now test whether biases in agent location can mitigate the detrimental effects of reduced neighborhood ranges. In this set of experiments, agents are not dispersed randomly on the lattice. We initiate the experiments with the ETR strategy in a square niche of various sizes.
134
E. Ridge et al.
By niche, we mean a group of adjacent agents using the same strategy. This is similar to what Axelrod terms territoriality [12]. We describe the size of a square shaped niche by its range. For a square shaped niche with nodes on each side, we define the niche range as:
Figure 8 illustrates a 6 × 6 niche (range 2.5).
Fig. 8. A 6x6 niche (36 agents)
We emphasize that neighborhoods arise from individual agents having limited vision of the world whereas niches are a biasing in the dispersion of agent strategies on the lattice. Figure 9 summarizes the results for a 6 × 6 niche. The solid plot is for a 6 × 6 niche of 36 ETR agents surrounded by CL. The dashed plot is for 36 ETR agents randomly dispersed on the lattice. For all neighborhood ranges, the ETR agents that begin in a niche outperform those that are randomly dispersed. This effect is increased when the neighborhood range of agents approaches and decreases below the range of the niche, represented by the dashed vertical line. Collaborative agents with neighborhoods smaller than their niche are no longer exposed to unhelpful agents outside the niche. This shows that if we wish to reduce the number of tasks for which an ETR strategy can dominate a population, we should locate that behavior in a niche, preferably larger than the neighborhood size available to agents.
5
Conclusions and Future Work
We have validated aspects of previous work in the field and generalized those experiments to an environment with a spatial distribution and neighborhoods. We have improved on the proposed probabilistic reciprocity strategy for the given problem domain by modifying the strategy to tarnish repeated refusers. Taking this improved reciprocative strategy, we have investigated the effect of neighborhoods on the performance of the strategy where neighborhoods restrict agent interactions. Our results show that above a threshold initial selfish
The Evolution of Probabilistic Reciprocity in a Multi-agent Environment
135
Fig. 9. The effect of a niche on the performance of ETR
fraction in a randomly distributed global population, restricting interaction to a subset of the population does not have a detrimental effect on the performance of the strategy in terms of mean tasks required to dominate the population. Furthermore, when a strategy is located in a niche, it performs better than when randomly dispersed. This benefit is increased when the range of the niche is greater than the range of the agents in the niche. This is important both where communication has a real cost and where designers would like to reduce the messaging load on system agents such as Directory Facilitators without compromising the incentive to cooperate. We have highlighted the merits of the package delivery domain as an abstraction that can be customized to model various types of interaction within Ferber’s taxonomy [1] beyond the ‘indifference’ category used by Sen et al. There are several directions in which to take future work. There remains plenty of scope for variants of the probabilistic reciprocity strategy. In the context of spatial environments, we intend to investigate the impact of niches on the success of strategies and whether some strategies might be better suited to niches. We wish to investigate the relationship between niche size and agent vision in the context of the evolution and stability of reciprocative strategies. As already mentioned, the problem domain provides the opportunity for studying several categories of interaction situation and how well the existing strategies cope with these different interaction situations. Finally, we would like to look at evolutionary techniques, perhaps in combination with learning, that could help agents improve their own values of etc rather than having the designer pre-set them.
6
Acknowledgements
The support of the Enterprise Ireland Informatics Research Initiative is gratefully acknowledged. We wish to thank the reviewers for their suggestions and comments.
136
E. Ridge et al.
References 1. Ferber, J.: Multi-Agent Systems: An Introduction to Distributed Artificial Intelligence. Addison-Wesley, London (1999) 2. Maes, P.: Agents That Reduce Work and Information Overload. Communications of the ACM 37 (1994) 31–40 3. Wooldridge, M., Jennings, N.: Intelligent Agents: Theory and Practice. Knowledge Engineering Review 10 (1995) 115–152 4. Weiss, G.: Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence. The M.I.T. Press, Cambridge, Massachusetts, U.S.A. (2000) 5. Bellifemine, F., Poggi, A., Rimassa, G.: JADE - A FIPA-compliant agent framework. In: Proceedings of the 4th International Conference on the Practical Applications of Agents and Multi-Agent Systems (PAAM-99). (1999) 99–108 6. Gasparetti, F., Micarelli, A.: Adaptive Web Search based on a Colony of Cooperative Distributed Agents. In Klusch, M., Omicini, A., Ossowski, S., Laamanen, H., eds.: Cooperative Information Agents VII. Volume 2782 of Lecture Notes in Artificial Intelligence. Springer-Verlag (2003) 168–183 7. Steels, L.: Cooperation between distributed agents through self-organisation. In Demazeau, Y., Mueller, J.P., eds.: Decentralized AI - Proceedings of the First European Workshop on Modelling Autonomous Agents in a Multi-Agent World (MAAMAW-89). Elsevier Science, Amsterdam (1990) 175–196 8. Sen, S., Dutta, P.S.: The Evolution and Stability of Cooperative Traits. In: Proceedings of the First International Joint Conference on Autonomous Agents and Multiagent Systems. ACM Press, New York (2002) 1114–1120 9. Sen, S.: Reciprocity: a foundational principle for promoting cooperative behavior among self-interested agents. In: Proceedings of the Second International Conference on Multiagent Systems. AAAI Press, Menlo Park, CA (1996) 322–329 10. Lyons, G.J., Madden, M.G., Smith, F., Chambers, D.: Virtual Logistics MultiAgent Broker. In: Research Proposal to the Enterprise Ireland Informatics Research Initiative. (2003) 11. Axelrod, R.M.: Effective Choice in the Prisoner’s Dilemma. The Journal of Conflict Resolution 24 (1980) 3–25 12. Axelrod, R.M.: The Evolution of Cooperation. Basic Books, New York (1984) 13. Axelrod, R.M.: More Effective Choice in the Prisoner’s Dilemma. The Journal of Conflict Resolution 24 (1980) 379–403 14. Rapoport, A.: Prisoner’s Dilemma. In Eatwell, J., Milgate, M., Newman, P., eds.: The New Palgrave: Game Theory. Macmillan, London (1989) 199–204 15. Binmore, K.: The Complexity of Cooperation by Robert Axelrod, a long review by Ken Binmore. Journal of Artificial Societies and Social Simulation 1 (1998) 16. Nowak, M.A., Sigmund, K.: A strategy of win-stay, lose-shift that outperforms tit-for-tat in the prisoners dilemma game. Nature 364 (1993) 56–58 17. Epstein, J.M., Axtell, R.: Growing artificial societies: social science from the bottom up. Brookings Institution Press, Washington D.C. (1996)
Collaboration Analysis in Recommender Systems Using Social Networks Jordi Palau, Miquel Montaner, Beatriz López, and Josep Lluís de la Rosa Institut d’Informàtica i Aplicacions Agents Research Laboratory Universitat de Girona 17071 Girona, Spain {jpalaur, mmontane, blopez, peplluis}@eia.udg.es
Abstract. Many researchers have focused their efforts on developing collaborative recommender systems. It has been proved that the use of collaboration in such systems improves performance, but what is not known is how this collaboration is done and what is more important, how it has to be done in order to optimise the information exchange. The collaborative relationships in recommender systems can be represented as a social network. In this paper we propose several measures to analyse collaboration based on social network analysis. Once these measures are explained, we use them to evaluate a concrete example of collaboration in a real recommender system. Keywords: Recommender Systems, Collaboration Analysis, Electronic Communities, Social Networks, Trust
1
Introduction
In the real world, not only society in general but in particular our friends, help us to discover new things which they think we would like. Our friends advise us about an interesting product, a movie, a book or a restaurant, collaborating with us in the selection process. Being aware of this collaboration in the real world, researchers have focused on the development of recommender systems [14] which can recommend items to a user based on information from other users. Particularly, the collaborative filtering method has proved to be a useful method to take advantage of the collaborative world especially when combined with other technologies in a hybrid approach [2,6]. Thus, the collaboration among users increases the performance of recommender systems. However, we do not know many things about how this collaboration is done. This is a first step towards the design of new methods and techniques that will contribute to optimise collaboration with a given purpose (goal). Recently, collaboration has been modeled as a network of users exchanging information, that is, a social network. Users are represented as actors (nodes) and collaborative relationships as directed ties. In this paper we use this representation to propose several measures based on social network analysis in order to understand how users collaborate. To illustrate the use of the measures, we perform the evaluation of a real collaboration framework implemented in our group. M. Klusch et al. (Eds.): CIA 2004, LNAI 3191, pp. 137–151, 2004. © Springer-Verlag Berlin Heidelberg 2004
138
J. Palau et al.
Thus, this work is a first step to achieving a further goal. The long-term aim of our work is to find out how can we tune the different parameters of our recommender system in order to have a social network featured in an optimal way according to certain criteria. This paper is structured as follows. Section 2 introduces social networks and why they are used in our work. Our proposal of measures to analyse collaborative recommender systems are presented in Section 3. Section 4 introduces the collaborative recommender system implemented in our group and used as a basis for our experimentation and Section 5 shows how the proposed measures are used to analyse our real example. Section 6 presents related work and finally, some conclusions and further work are provided in Section 7.
2
Social Networks
A social network [3] is a representation of the relationships existing within a community. Social networks provide us with a tool to study collaboration, in particular through theory developed in social network analysis [18,16,7]. Even within the same community several types of social networks can be built depending on the social relationship taken into account: friendship, mutual support, cooperation and similarity are typical criteria used in establishing the social relationship components of a community. Actors in this social network can be individuals, groups of people, objects or events as far as certain relationships hold them together. The strength of a tie may range from weak to strong depending on the quantity, quality and frequency of the exchanges between actors [12]. In this way, social networks are able to represent societies and relationships among individuals from these societies by means of a graph. In collaborative recommender systems, each system user is represented by an actor in the graph, and relationships among these users are represented through directed ties. If user A develops a relationship with user B, there should be a directed tie from A to B. Since relations among users change over time, it is important to take into account that social networks are dynamic. So, a social network represents relationships among users at a certain moment in time. It is also important to know which locality the analysed system has. A system with locality 1 is the one where only the immediate ties a user has are taken into account. In systems where this locality is higher than 1, immediate and also indirect ties are considered. For example, if there is a user A connected to another user B, and B is connected to a third user C, A can reach C through B. However, in systems with locality 1, A cannot reach C unless there is a tie between them.
3
Social Network Measures
This section presents the measures we propose in order to analyse the collaboration among the users/agents of a recommender system. In general, the social network resulting from a collaborative recommender system has locality 1. Therefore, the measures proposed in this paper only take into account the immediate ties among the actors.
Collaboration Analysis in Recommender Systems Using Social Networks
139
All these measures are based on social network analysis; namely size, density, degree centrality, network centrality, clique membership and factions.
3.1
Size
Size is the number of actors present in the network, and is useful in order to calculate other measures. This parameter can give us a general idea of how the network is. Say we have a small firm with only 10 workers. It would be easy for each worker to know the others and build up relationships. Now imagine we have a firm with 1000 workers. It would be extremely difficult for any worker to know all of the others. As a group gets bigger (and size increases) the proportion of ties that could be present decreases, and usually partitioned groups emerge.
3.2
Density
Fully saturated networks (i.e. one where all logically possible ties are actually present) are rare, especially in social networks with a considerable number of actors. In a network whose size is K, the number of possible different directed ties is Density is the proportion of all ties that could be present that actually do in fact exist. A low density tells us the system analysed is restrictive when actors have to establish relationships with other actors. In the other hand, in a high density system, relationships amongst actors can easily be made.
3.3
Degree Centrality
Degree is a measure that counts the number of ties an actor has. In the case where we are dealing with a network where direction of ties is important, we can distinguish between in-degree and out-degree. On one side, in-degree is the number of ties an actor receives. According to social network theory, if an actor receives many ties, it is often said he has high prestige because many other actors seek to direct him ties. This approach can be applied in our study because if an actor receives many ties, it means other actors trust him, so he has more prestige. He also has more power, because he can influence other actors as far as his opinions are taken into account. On the other hand, out-degree is the number of ties which begin with the actor himself. Actors with a high out-degree are able to make many others aware of their views. If an actor has a high out-degree it means he trusts a high number of other agents, and so he has more chances to ask for opinion/advice. We can say actors with high out-degree may be in advantaged positions because they have more alternative ways to satisfy needs and they are less dependent on other actors or they may have access to more resources.
3.4
Network Centrality
This measure is similar to the previous one, but here the whole network is analysed instead of each actor. There are several ways to calculate centrality in the network, and
140
J. Palau et al.
each of them uses a different source that generates different rates. For example, it can be calculated by using degree centrality, closeness centrality, betweenness centrality and flow centrality. In our study we use the degree centrality calculated for each actor to calculate a value for the whole network. This decision has been taken because degree centrality is the only one which takes into account the immediate ties an actor has. The other ways to calculate centrality consider the indirect ties an actor has (i.e. actor 1 can reach actor 3 if there is an actor 2 connected to both of them). As we do not want to use this approach, we only use degree centrality. Using in and out-degrees, an index of network centrality can be calculated. First of all we need to define the star network. A star network is a network where there is one actor A connected to all the other actors in the network. The others have only one tie (a connection to A). The star network is the most centralised network for any number of actors. We can express the degree of variability in the degrees of actors in our analysed network as a percentage of that in a star network of same size. A different value for in-degree and out-degree is calculated. Another way to calculate centrality is by looking at the variation between the mean and the standard deviation for in and out-degrees. In a centralised network there is a high variation because there are huge differences within actors in and out-degrees, while in a network which is not centralised, variation tends to be lower. The network centralisation parameter gives us an idea of the amount of concentration or centralisation in the whole network. A high value means that the network is centralised, that is, there are several actors who have a high degree and several other actors who have a low degree (in or out). A low value means the network is not centralised, so the actors have a similar degree value.
3.5
Clique Membership
The next two measures are related to the substructures which may be present in the network. Divisions of actors into subgroups can be an important aspect of social structure, and it can be important in understanding how a network as a whole is likely to behave. The first structure we evaluate are cliques. A clique is a sub-set of a network in which actors are more closely tied to one another than to other members of the network. In real life people also tend to form cliques on the basis of age, gender, race and other criteria. The clique definition is very strong as a clique is a number of actors who have all possible ties present among themselves (i.e. in terms of graphs, a maximal complete subgraph). Three actors can easily form a clique, so we do not consider these kinds of structures in this measure. We calculate clique membership for each actor. First, all the cliques which are present in the network have to be found by considering only the ones with four or more actors. Then we get a clique membership which is the number of cliques on which an actor is a member. Clique membership gives us an idea about the tendency each actor has to form substructures in the graph. The fact that several actors have a high clique membership indicates that probably there are communities within the social network because these actors are highly related among themselves. If actors have a low clique membership it will be extremely difficult to find communities in the network.
Collaboration Analysis in Recommender Systems Using Social Networks
3.6
141
Factions
We have seen that cliques are very restrictive, because there must be all the possible ties present to form a clique. A less strict division would allow some ties between groups and also less than full density within them. So, the last measure we propose is factions. In network terms, it is possible to define partitions of the network by grouping together actors on the basis of the similarities in which they are tied. Using the power of computers it is possible to search for partitions of a network into groups that maximise the similarity of the patterns of connections of actors within each group. This method divides our network into the number of factions we want. The output is a set of different groups where actors are more likely to be tied to each other than with actors from other groups. This helps us to identify communities within our network.
4
Running Example
In an attempt to study the collaboration among users, our research group implemented GenialChef1, a restaurant recommender system developed within the IRES Project2. GenialChef is the basis of our experimentation. The details of this implementation are extensively explained in [9]. As a summary, GenialChef is a multi-agent system that recommends interesting restaurants to its users. The agents making up this system can be grouped into service agents and personal agents (PA)(the system architecture is shown in Figure 1). The service agents provide objective information to the PAs: the restaurant server agents (RSA) provide information about restaurants and the personal agent facilitator (PAFA) acts as a broker agent and is in charge of assisting the PAs in finding other PAs. PAs provide personalised information to their users. Every user has a PA in the system, which encapsulates his/her user profile and is in charge of recommending to him/her interesting restaurants. In order to take advantage of the collaborative world, PAs exchange information by means of two new information filtering methods: the opinion-based filtering method and the collaborative filtering method through trust. Their main idea is to consider other agents as personal entities on which you can either rely or not. Thus, PAs only collaborate with reliable agents. Reliability is expressed through a trust value with which each agent labels its neighbours [10]. Once the agent has a set of reliable agents, it can use them to filter information. When an agent is not sure about a recommendation or discovers a new item, it asks the reliable agents for their opinion and uses their trust values to decide whether the item is interesting for the user or not. Moreover, PAs can ask to their friends for advice, that is, ask about new items that could be of interest to the other user. We suppose that similar agents provide pertinent opinions, but they may also give inadequate ones. Therefore, trust should be modified depending on the results of the recommendations in order to improve acquaintances. 1 2
GenialChef was awarded the prize for the best university project at the E-TECH 2003. The IRES Project was awarded the special prize at the AgentCities Agent Technology Competition.
142
J. Palau et al.
Fig. 1. System Architecture
Thus, after a period of time, each agent has a list of reliable agents with whom to collaborate in case of need (contact list). Clearly, this output can be viewed as a graph representing a social network. Therefore, each PA is represented by an actor of the graph, and the trust relationships each PA develops are directed ties among them. If a PA A trusts in another PA B, there would be a directed tie from A to B. One can find these relationships through the contact list of reliable agents that each PA has. In order to analyse the evolution of the system, two stages are considered. The first one is taken just when the system begins to execute, and the last one is taken at the end of the execution. For instance, Figure 2 and Figure 3 show the layout of the social networks obtained in our experiments at the beginning and at the end of the execution respectively. Following the example, looking at Figure 3, sala_2 trusts pages, llado and mirocoll opinions/advice and collaborates in cunat_mangui recommendations. It is also important to keep in mind that our social networks have locality 1, which means that only the direct ties an actor has are taken into account. For example, having
Collaboration Analysis in Recommender Systems Using Social Networks
143
Fig. 2. Network 1: Graph layout of the relations created among PAs at the beginning of the execution, presented as a social network using Netdraw visualization program
three PAs A, B and C where A trusts in B and B trusts in C, does not necessarily mean that A trusts C. Therefore, some of standard techniques usually used in social network analysis can not be applied to our problem.
5
Experimental Results
We have used the measures proposed in Section 3 to analyse how the collaboration is done in a concrete framework. In particular, the collaboration among PAs from the recommender system explained in Section 4 has been evaluated. In order to do that, a simulator based on the “profile discovering procedure” has been developed [11], which allows us to perform thousands of repeatable and perfectly controlled experiments. In this section we analyse the simulation results of a 60 day long trial with 40 real user profiles extracted from our university staff. In particular we analyse the social networks evolution, taking one picture of the social network at the beginning of the simulation (just after the startup) and another one at the end of the simulation in order to analyse the evolution of the network during the experiment. It has been demonstrated that the use of collaboration increases the performance of the system in [9]. Moreover, the performance of the system has been studied using different parameters, so we know which parameters make the system perform better. Therefore, we can extract some conclusions about what the measures obtained in the analysis of the social network should be in order to get
144
J. Palau et al.
Fig. 3. Network 2: Graph layout of the relationships created among PAs at the end of the execution
a system with a higher performance. The simulation was performed with the optimal parameters studied in [9]. In order to evaluate the collaboration performed in this simulation, we have used UCINet [4], which is a software designed to represent and analyse social networks. In particular, we examined the different measures explained in Section 3: size, density, degree centrality, network centrality, clique membership and factions. The first two measures to analyse are size and density. As we used 40 user profiles to run the simulation, the size of both resulting networks is 40. The maximum number of ties we could have in a fully saturated network of size 40 is 1560. In Network 1 we only have 150 real ties while in Network 2 we have 170 real ties. Both values are low and so the resulting density is 9.6% for Network 1 and 10.9% for Network 2. The lowness of the measures points out that, in general, PAs do not have many friends. With regard to the evolution, the density has increased during the experiment (there are 20 ties more at the end of the execution), which means that collaboration has allowed the PAs of the system to make new and trusted friends during the execution. With regard to out and in-degrees, Figure 4 shows the degrees for each PA at the beginning of the execution, and Figure 5 shows the degrees after the execution. Looking at both figures, the highest in-degree is for marc, who appears on 12 other PA’s contact lists. Therefore, he is the most prestigious one because there are more PAs who trust him. The highest out-degrees are those of cufi, del_acebo and jordif. They have
Collaboration Analysis in Recommender Systems Using Social Networks
145
Fig. 4. Freeman’s Degree at the beginning of the execution
the highest number of PA’s on their contact lists to ask for opinions/advice. If we take a look at Figures 2 and 3, we see that all these PAs are drawn in a position which is quite central (in the centre of the layout). Another thing to pay attention to is the fact that there is a large number (13 at the beginning and 12 at the end) of PAs with an out-degree of 0. This means they do not have any PA on their contact lists and they cannot ask for advice in the case of needing it. There are also 6 PAs at the beginning and 7 at the end with an in-degree of 0. This means they do not have any PAs who trust them. This is due to the fact that the profiles associated with the concrete PA are different from all the others. In the real world, there are people who like restaurants that we would never go to. If we asked for advice from people with different tastes that differ from ours and we got a bad recommendation, we probably would not trust them anymore. By analysing the evolution of these degrees it is possible to have an idea of the effects of collaboration in the system, and which agents are the most collaborative. For example, cufi trusted 12 other PAs at the beginning and, by the end, this number had increased to 16, so through collaboration a friendship had been developed with 4 new PAs. On the other hand, llado had 3 other PAs who trusted him at the beginning and 8 at the end, so this demonstrates that llado is likely to develop new ties with other PAs who start trusting him during the execution of the system. So what the analysis of degrees shows
146
J. Palau et al.
Fig. 5. Freeman’s Degree at the end of the execution
is which are the most and the least collaborative agents. It has been demonstrated that a system where the agents have too many friends does not perform better, and neither does a system with a low number of friends. Having analysed degrees for individual PAs, we can now analyse the degrees in the whole network. Network centrality for out-degree is 37.54% at the beginning and 33.53% at the end and for in-degree is 16.5% at the beginning and 20.38% at the end. Therefore, these values are quite low, and this result would indicate that the network is not very centralised. However we have to be aware of the fact that network density is very low and there are very few ties in the network. As a consequence this result may be altered. Table 1 shows the values of means, standard deviations and the coefficients of variation for each situation. Clearly the population is more homogeneous with regard to in-degree, but the fact is that both values are high, so it can be concluded that structural positions are heterogeneous and that network centralisation is high in both networks. By comparing Network 1’s results with Network 2’s ones, there is a reduction of the coefficients of variation in the system after the execution. As a consequence, a homogeneous system should perform better than a heterogeneous one. Now we analyse possible network substructures. Figure 6 shows the number of cliques of which each actor is a member. As there are several actors who have a high
Collaboration Analysis in Recommender Systems Using Social Networks
147
Fig. 6. Personal agents membership to cliques of size 4 or more
clique membership we can say, with a reasonable certainty, that there exists at least one community in our network. There are 19 actors in Network 1 and 18 in Network 2 who have a 0 clique membership. This indicates that there are some actors who clearly do not belong to any community. The evolution shows that clique memberships at the beginning are similar to the ones at the end. The most changeable PAs regarding clique membership are the ones mentioned in the in and out-degree analysis, because the ones with the higher degree changes are the ones with the higher clique-membership changes. In order to corroborate the hypothesis we came up with when analysing clique membership, network substructures are examined by means of factions. This analysis has only been made in Network 2 because the most relevant one is the resulting network at
148
J. Palau et al.
the end of the execution. UCINet’s output shows that the best partition dividing the PAs in two factions is: Faction 1 moises, bosch, mangui, robert, munoz, lladó, neret, israel, tomàs, marc, santi, david_2, raül, colomer, maki, teixidor, mirocoll_2, rafa, jordif, del_acebo Faction 2 betty, bianca, iriana, monti, pous, pagès, alicia, figui, matabosch, eduard, vicenç, arnau, buixó, germana_mangui, toni, lluis_2, cunat_mangui, sala_2 We can see the distribution of ties inside and outside of the factions created in Figure 5. We can calculate the density of ties in the four different areas of Figure 7 in order to evaluate them. In region 1-1 the density is 0.28, in region 2-2 it is 0.06, and in regions 1-2 and 2-1 the densities are 0.05 and 0.04 respectively. On one hand there is region 1-1 (faction 1) with a huge concentration of ties compared to the others. This faction creates a community, because its PAs have developed a large number of relationships among themselves and as a consequence, they are the ones who collaborate the most. On the other hand, faction 2 has a low density. In fact, regions 1-2 and 2-1 have almost the same density as region 2-2 (faction 2). Therefore, faction 2 cannot be considered a community. This is the consequence of not having enough PAs in the network to form other communities.
6
Related Work
Social network analysis has been largely applied to other domains with different purposes. There has been a great deal of work on studying the relationships among Internet users [19]. The main objective of these studies is to find similar users on the Internet that could give useful information to others. For example, some papers use social networks in order to find communities of similar users from the Web [5,1] or e-mail [8]. Several research groups have used social networks to study trust and reputation mechanisms in multi-agent systems where agents act as assistants for the members of an electronic community. For example, some papers address the problem of calculating the degree of agent reputation needed in order to collaborate in a multi-agent system [13, 15]. Others use social networks in e-commerce to support reputations for both expertise (providing good service) and helpfulness (providing good referrals) [17]. No similar work on the utilisation of social network analysis in order to evaluate how collaboration is done has been found.
7
Conclusions and Further Work
This paper is a first attempt to analyse how users/agents collaborate in a collaborative recommender system. Up to now, efforts in research have been directed towards developing recommender systems with collaboration and demonstrating that their performance is better than the ones who do not use collaboration. The main objectives of these collaborating systems have always been focused on finding just who the best candidates to collaborate with are. However, we do not know much about how the ideal collaboration model should be in order to optimise the performance of these systems.
Collaboration Analysis in Recommender Systems Using Social Networks
149
Fig. 7. Factions tie representation
Our proposal in order to evaluate how collaboration is done, is by the use of social networks as a tool to represent and analyse collaboration in recommender systems. In particular we propose some measures based on social network analysis that help us to understand general aspects about the composition of the collaborative network. Thus, measures such as size, density, degree centrality, network centrality, clique membership and factions help us to achieve our objective. Having made these measures, we used them to show how an analysis of a real system should be. In the analysed example, we were able to observe that at the end of the execution, the level of collaboration was quite low (although it was higher than at the beginning), that there was a homogeneous group of users who formed a community, and that there were several other users who were very isolated from the rest. The results presented in this paper have been obtained through an execution of our simulator using the parameters which have been demonstrated to be optimal in [9]. Thus, the next step in our work is to perform large-scale experiments with different parameters analysing in each of them the proposed measures. In doing so, we will be able to find out the impact of the parameters of our recommender system in the social network. In particular, we want to study how the best collaboration is obtained, for
150
J. Palau et al.
example, in a centralised/decentralised network, in a dense/non-dense network or in a network with more/less communities. Moreover, we also want to analyse how social networks evolve over time. In this paper we have only considered two snapshots of the network: one at the beginning and the other one at the end of the execution. In the future we want to study the whole evolution, and so how relationships among users are generated and how they are dropped, the social evolution of a certain user inside the social network and the progressive creation of communities and their evolution.
Acknowledgements This work was supported by the Spanish MCYT Project DPI2001-2094-C03-01 and the Agentcities.NET Project ACNET.02.50.
References 1. L. A. Adamic and E. Adar. Friends and neighbors on the web. Social Networks, pages 25(3):211–230, July 2003. 2. M. Balabanovic and Y. Shoham. Combining content-based and collaborative recommendation. In Communications of the ACM, 1997. 3. J. Barnes. Social Networks. Reading, MA: Addison-Wesley, 1972. 4. F. L. Borgatti S.P., Everett M.G. Ucinet for windows: Software for social network analysis. Harvard: Analytic technologies, 2002. 5. D. Gibson, J. M. Kleinberg, and P. Raghavan. Inferring web communities from link topology. In UK Conference on Hypertext, pages 225–234, 1998. 6. N. Good, J. Schafer, J. Konstan, A. Borchers, B. Sarwar, J. Herlocker, and J. Riedl. Combining collaborative filtering with personal agents for better recommendations. In Proceedings of AAAI, volume 35, pages 439–446. AAAI Press, 1999. 7. R. A. Hanneman. Introduction to Social Network Methods. http://faculty.ucr.edu/ ~hanneman/SOC157/NETTEXT.PDF, 2001. 8. V. Krebs. Data mining email to discover social networks and communities of practice. http://www.orgnet.com/email.html, 2003. 9. M. Montaner. Collaborative Recommender Agents Based on Case-Based Reasoning and Trust. PhD thesis, Universitat de Girona, September 2003. 10. M. Montaner, B. López, and J. de la Rosa. Developing trust in recommender agents. In Proceedings of the AAMAS’02, pages 304–305, Bologna (Italy), 2002. Cristiano Castelfranchi and W. Lewis Johnson (Eds.). ACM Press. 11. M. Montaner, B. López, and J. de la Rosa. Evaluation of recommender systems through simulated users. To be published in the 6th International Conference on Enterprise Information Systems (ICEIS’04). Porto (Portugal), April 2004. 12. N. Papakyriazis and M. Boudourides. Electronic weak ties in network organizations. 2001. 13. J. Pujol, R. Sanguesa, and J. Delgado. A Ranking Algorithm Based on Graph Topology to Generate Reputation or Relevance, volume ISBN: 3-540-44384-3, chapter 18, pages 382– 395. Springer Verlag (2003), 2003. 14. P. Resnick and H. Varian. Recommender systems. In Communications of the ACM, pages 56–58, 1997.
Collaboration Analysis in Recommender Systems Using Social Networks
151
15. J. Sabater and C. Sierra. Reputation and social network analysis in multi-agent systems. In In Proceedings of the AAMAS’02, pages 475–482, Bologna, Italy, July 15-19 2002. 16. J. Scott. Social network analysis. London: Sage, 1991. 17. M. Venkatraman, B. Yu, and M. Singh. Trust and reputation management in a small-world network. In Proceedings of Fourth International Conference on MultiAgent Systems, pages 449–450, 2000. 18. S. Wasserman and J. Galaskiewicz. Advances in Social Network Analysis. Sage Publications, October 1994. 19. B. Wellman, J. Salaff, D. Dimitrova, L. Garton, M. Gulia, and C. Haythornthwaite. Computer networks as social networks: Collaborative work, telework, and virtual community. Annual Review of Sociology, 22:213–238, 1996.
Qualitative Analysis of User-Based and Item-Based Prediction Algorithms for Recommendation Agents Manos Papagelis1, 2and Dimitris Plexousakis1, 2 1
Institute of Computer Science, Foundation for Research and Technology - Hellas P.O. Box 1385, GR-71110, Heraklion, Greece 2 Department of Computer Science, University of Crete P.O. Box 2208, GR-71409, Heraklion, Greece {papaggel,dp}@ics.forth.gr
Abstract. Recommendation agents employ prediction algorithms to provide users with items that match their interests. In this paper, we describe and evaluate several prediction algorithms, some of which are novel in that they combine user-based and item-based similarity measures derived from either explicit or implicit ratings. We compare both statistical and decision-support accuracy metrics of the algorithms against different levels of data sparsity and different operational thresholds. The first metric evaluates the accuracy in terms of average absolute deviation, while the second evaluates how effectively predictions help users to select high-quality items. Our experimental results indicate better performance of item-based predictions derived from explicit ratings in relation to both metrics. Category-boosted predictions can lead to slightly better predictions when combined with explicit ratings, while implicit ratings (in the sense that we have defined them here) perform much worse than explicit ratings.
1 Introduction Recommendation systems [1] have been a popular topic of research ever since the ubiquity of the web made it clear that people of hugely varying backgrounds would be able to access and query the same underlying data. The initial human-computer interaction challenge has been made even more challenging by the observation that customized services require sophisticated data structures and well thought-out architectures to be able to scale up to thousands of users and beyond. In recent years, recommendation agents are extensively adopted by both research and e-commerce recommendation systems in order to provide an intelligent mechanism to filter out the excess of information available and to provide customers with the prospect to effortlessly find out items that they will probably like according to their logged history of prior transactions.
1.1 Background Recommendation agents need to employ efficient prediction algorithms so as to provide accurate recommendations to users. If we define a prediction to be a number M. Klusch et al. (Eds.): CIA 2004, LNAI 3191, pp. 152–166, 2004. © Springer-Verlag Berlin Heidelberg 2004
Qualitative Analysis of User-Based and Item-Based Prediction Algorithms
153
value that expresses the predicted likelihood that a user will “like” an item, then a recommendation is defined as the list of N items with respect to the top N predictions from the set of items available. Improved prediction algorithms indicate better recommendations. This explains the essentiality of exploring and comprehending the broad characteristics and potentials of prediction algorithms and the reason why this work concentrates on this research direction. There are generally two methods to formulate recommendations both depending on the type of items to be recommended, as well as, on the way that user models [2] are constructed. The two different approaches are content-based [3, 4] and collaborative filtering [1, 3, 5, 17], while additional hybrid techniques have been proposed as well [3]. Approaches of Recommendation Algorithms Recommendation algorithms are classified to content-based and collaborative filtering based, while hybrid techniques have been proposed, as well, that provide a combination of the two. Content Based Recommendation Algorithms Content-based algorithms are principally used when documents are to be recommended, such as web pages, publications, jokes or news. The agent maintains information about user preferences either by initial user input about his interests during the registration process or by rating documents. Recommendations are formed by taking into account the content of documents and by filtering in the ones that better match the user’s preferences and logged profile. Collaborative Filtering Based Recommendation Algorithms Collaborative-filtering algorithms aim to identify users that have relevant interests and preferences by calculating similarities and dissimilarities between user profiles [16]. The idea behind this method is that, it may be of benefit to one’s search for information to consult the behavior of other users who share the same or relevant interests and whose opinion can be trusted. Challenges of Recommendation Agents The challenges for recommendation algorithms expand to three key dimensions, identified as sparsity, scalability and cold-start. Sparsity Even users that are very active, result in rating just a few of the total number of items available in a database. As the majority of the recommendation algorithms are based on similarity measures computed over the co-rated set of items, large levels of sparsity can be detrimental to recommendation agents. In [14], Huang and al. propose to deal with sparsity problem by applying an associative retrieval framework and related spreading activation algorithms to explore transitive associations among consumers through their past transactions and feedback. Scalability Recommendation algorithms seem to be efficient in filtering in items that are interesting to users. However, they require computations that are very expensive and
154
M. Papagelis and D. Plexousakis
grow non-linearly with the number of users and items in a database. Therefore, in order to bring recommendation algorithms successfully on the web, and succeed in providing recommendations with acceptable delay, sophisticated data structures and advanced, scalable architectures are required. In [15], Cosley and al. describe an open framework for practical testing of recommendation systems in an attempt to provide a standard, public testbed to evaluate recommendation algorithms in real-world conditions. Cold-Start An item cannot be recommended unless a user has rated it. This problem applies to new and obscure items and is particularly detrimental to users with eclectic taste [6, 7],
1.2 Contributions The primary contributions of this paper are: The utilization of explicit ratings in an “implicit” sense so as to enrich the user’s model, without actually prompting users to express their preference to categories The introduction of item-similarity and user-similarity measures based on implicit ratings The introduction of item-based and category-boosted prediction algorithms based on a range of similarity measures The empirical analysis and evaluation of presented prediction algorithms
1.3 Organization Section 2 describes a set of similarity measures to compare the relevance between users or items. These measures derive either from explicit or implicit ratings. Section 3 describes a set of existing and newly introduced prediction algorithms that integrate the similarity measures. Section 4 presents the experimental evaluation metrics that we employ in order to compare the algorithms and we discuss the results of our evaluation. Section 5 summarizes our contributions and draws directions for further research.
2 Similarity Measures In this section, we present a set of similarity measures based on the Pearson correlation coefficient, a metric of relevance between two vectors [8]. When the values of these vectors are associated with a user’s model then we call it user-based similarity, whereas when they are associated with an item’s model then we call it item-based similarity. The similarity measure can be effectively used to balance the ratings significance in a prediction algorithm and therefore to improve accuracy. There are several similarity algorithms that have been used: cosine vector similarity, Pearson correlation, Spearman correlation, entropy-based uncertainty measure and mean-squared difference. In [9] Breese et al. suggest that Pearson correlation performs better than cosine vector similarity, while in [10] Herlock et al.
Qualitative Analysis of User-Based and Item-Based Prediction Algorithms
155
suggest that Pearson’s correlation performs better than Spearman’s correlation, entropy-based uncertainty and mean-squared difference for collaborative filtering. According to these remarks we decide on Pearson correlation to calculate item-based and user-based similarities taking advantage of both explicit and implicit ratings. An explicit rating identifies the preference of a user to a specific item. A user is prompted by the agent’s interface to provide ratings for items so as to improve his model. The more ratings the user provides, the more accurate the recommendations provided to him are. Ratings range from 1 to 10 with 1 expressing greatest aversion to the item and 10 expressing greatest liking to the item. Explicit ratings are logged by the system and form the user’s model. An implicit rating [11, 12] identifies the preference of a user to specific categories1. We use here the term “implicit” somewhat excessively so as to express that a user is never actually prompted to express his preference to categories. We take advantage of the fact that an item belongs to some categories and we develop a user model based on category preference. If the explicit rating of a user concerning a specific item belonging to a set of categories is considered “good” then his model is updated so as to include the preference and vice versa. A rating is considered as “good” when it is greater than or equal to a threshold. Before describing the algorithms we introduce some definitions that facilitate the explanation process. We define A set of m users A set of n items A set of p categories A set of q explicit ratings A set of t implicit ratings The explicit rating of a user
with reference to an item
The average explicit rating of a user
as
as
In the sequence, we define three matrices that derive from our data, the user-item matrix, the user-category matrix and the item-category bitmap matrix. User-item matrix is a matrix of users against items that have as elements the explicit ratings of users to items. Some of the user-matrix cells are not filled, as there are items that are not rated by some users. User-category matrix is a matrix of users against item categories that have as elements, values that show the number of times a user has rated positively or negatively for a category. For each category we keep two columns, one for positive ratings and one for negative ratings. Item-category bitmap matrix is a matrix of items against categories that have as elements the value 1 if the item belongs to the specific category and the value 0 otherwise. Similarity is calculated over the parts of two vectors that derive from one of these matrices as it is depicted by the shadowed parts in figure 1. 1
Items in the database belong to categories.
156
M. Papagelis and D. Plexousakis
Fig. 1. The different matrixes intended for similarity algorithms
2.1 User-Based Similarity Based on Explicit Ratings If we define the subset of items that users
and
have co-rated as
where n is the total number of items in the database, then similarity between two users is defined as the Pearson correlation of their associated rows in the user-item matrix and is given by equation 1.
Based on Implicit Ratings The values of the user-category matrix elements are used to calculate the preference of the user to the category and the result is considered as an implicit rating
to that category, where
and
are respectively the number of positive and negative ratings2 that user has implicitly given to category x. The similarity between the two users is defined as the Pearson correlation of their implicit ratings to categories and is given by equation 2, where p is the number of categories available. 2
Ratings are considered as positive or negative when they are greater or lower than a threshold respectively.
Qualitative Analysis of User-Based and Item-Based Prediction Algorithms
157
2.2 Item-Based Similarity Based on Explicit Ratings If we define the subset of users that have rated both items
and
as
where m is the total number of users in database, then the similarity between the two items is defined as the Pearson correlation of their associated columns in the user-matrix and is given by equation 3.
Based on Item-Category Bitmap There is also an alternative way to calculate the correlation between two items taking into account the categories in which they belong. The similarity between the two items is defined as the Pearson correlation of their associated rows in the itemcategory bitmap matrix and is given by equation 4.
where p is the number of categories and
is a value equal to 1 if the item
x belongs to category h and equal to 0 otherwise.
3 Prediction Algorithms Prediction algorithms [9] try to guess the rating that a user is going to provide for an item. We will refer to this user as active user and to this item as active item These algorithms take advantage of the logged history of ratings and of content associated with users and items in order to provide predictions.
158
M. Papagelis and D. Plexousakis
3.1 Random Prediction Algorithms The random prediction algorithm represents the worst case of prediction algorithm3, since instead of applying a sophisticated technique to produce a prediction it generates a random one. We refer to the random prediction algorithm so as to have a reference point at how much better results we obtain by the utilization of more sophisticated ones.
3.2 User-Based Prediction Algorithms Description User-based prediction algorithms are based on user’s average rating and an adjustment to it, as given by equation 5.
Adjustment is most often a weighted sum that integrates user-based or item-based similarity measures. Since prediction arises as the sum of the two, improvements can be considered in both operators. Next, we present the classic user-based collaborative filtering prediction algorithm and we suggest some improvements taking advantage of the different user-based and item-based similarity measures described in the earlier section. User-Based with Explicit Ratings This is the classic user-based collaborative filtering prediction algorithm and comes up as the sum of the active user’s average rating, regarding the whole set of items that the active user has rated, and an adjustment. The adjustment is a weighted sum of the other users’ ratings concerning the active item and their similarity with the active user. The prediction algorithm is given by the equation 6.
where m ' is the number of users that have rated the item
i.e. the
user’s average rate, and n is the number of items that the active user has rated. User-Based with Explicit Ratings and Category Boosted Instead of calculating the active user average rating over the total number of rated items, we can calculate the active user average rating over the subset of rated items that belong to the same categories as the active item. The prediction algorithm is given by the equation 7. 3
Actually, this is not absolutely true. We can artificially produce worse prediction algorithms than the random-based one but in order to do this we also need some kind of logged information.
Qualitative Analysis of User-Based and Item-Based Prediction Algorithms
where
the number of users that have rated the item
and
159
i.e.
the user’s average rate, where n is the number of items that the active user has rated and at least one of the categories that and belong to are common User-Based with Implicit Ratings Instead of using the user-based explicit ratings similarity we can use the userbased implicit ratings similarity in order to calculate the similarity between the active user and the other users. The prediction algorithm is given by the equation 8.
where
is the number of users that have rated the item
and
i.e.
the user’s average rate, and n is the number of items that the active user has rated.
3.3 Item-Based Prediction Algorithms Description We refer to item-based prediction algorithms as the algorithms that are based on item’s average rating and an adjustment to it, as given by equation 9.
Adjustment is most often a weighted sum that integrates user-based or item-based similarity measures. Since prediction arises as the sum of the two, improvements can be considered in both operators. Next, we suggest an item-based collaborative filtering prediction algorithm based on explicit ratings and also an item-based collaborative filtering prediction algorithm based on implicit ratings. In both cases we use the item-based similarity measures described in the earlier section. Item-Based with Explicit Ratings This algorithm is a reversed user-based collaborative filtering. Here we calculate the item’s average rating and then add to this an adjustment. The item-based collaborative filtering prediction algorithm comes up as the sum of the active item’s
160
M. Papagelis and D. Plexousakis
average rating, regarding the whole set of users that have rated it, and an adjustment. The adjustment is a weighted sum of the ratings that the active user has given to other items and their similarity with the active item. The prediction algorithm is given by equation 10.
where
the number of items that user
have rated and
i.e. the
item’s mean rate, where n is the number of users that have rated the active item. Item-Based with Implicit Ratings Instead of using the item-based explicit ratings similarity we can use the itembased implicit ratings similarity in order to calculate the similarity between the active item and the other items. The prediction algorithm is given by equation 11.
where
is the number of items that user
have rated and
i.e. the
item’s average rating, and n is the number of users that have rated the active item.
4 Experimental Evaluation and Results 4.1 Data Set Our experimental data comes from our movie recommendation system named MRS4. The MRS database consists of 2068 ratings provided by 114 users to 641 movies, which belong to at least 1 of 21 categories. Therefore the lowest level of sparsity for our tests is defined by For our tests we run all the prediction 4
MRS stands for Movie Recommendation System, is temporarily hosted on the Computer Science department of the University of Crete and can be accessed by http://marouli.csd.uoc.gr: 8989/web/rs. The demonstration system integrates just a part of the algorithms described here, as the most of them are still subject of research.
Qualitative Analysis of User-Based and Item-Based Prediction Algorithms
161
algorithms over a pre-selected 300-item set extracted randomly by the set of 2068 actual ratings. We strongly encourage interested readers to visit the web site of the system and obtain a more detailed view.
4.2 Metrics There are two key dimensions on which the quality of a prediction algorithm can be measured, namely coverage and accuracy. Coverage Metric Coverage is a measure of the percentage of items for which a recommendation agent can provide predictions. A basic coverage metric is the percentage of items for which predictions are available. Coverage can be reduced by defining small neighborhood sizes or by sampling users to calculate predictions. All experimental results demonstrated in this paper had coverage slightly less than perfect (99% in our experiments) for a high level of sparsity. A prediction is impossible to be computed in case that very few people rated an item or in case that the active user has zero correlations with other users. Accuracy Metrics Several metrics have been proposed for assessing the accuracy of collaborative filtering methods. They are divided into two main categories: statistical accuracy metrics and decision-support accuracy metrics. Statistical Accuracy Metrics Statistical accuracy metrics evaluate the accuracy of a filtering agent by comparing the numerical prediction values against user ratings for the items that have both predictions and ratings. Some of them frequently used are Mean Absolute Error (MAE), Root Mean Squared Error (RMSE) and correlation between ratings and predictions [10]. All of the above metrics were computed on result data and generally provided the same conclusions. For our statistical accuracy measure, we use Mean absolute error (MAE) [17]. MAE is a measure of the deviation of predicted ratings from their actual ratings. Formally, if we define n as the number of actual ratings in an item set, then MAE is defined as the average absolute difference between the n pairs predicted ratings
and the actual ratings
of
and is calculated as
The lower the MAE, the more accurate the predictions are permitting to provide better recommendations. We calculated the MAE for the different prediction algorithms and for different levels of Sparsity. The results are illustrated in figure 2.
162
M. Papagelis and D. Plexousakis
Fig. 2. Prediction Algorithms Statistical Accuracy
As far as statistical accuracy is concerned, we reach the following outcomes about the performance of the prediction algorithms. Item-based prediction algorithms perform better than user-based algorithms Implicit rating based algorithms (in the sense that they have been defined for these tests) perform much worse than explicit rating based algorithms Our item-based algorithm, based on explicit ratings seems to be very sensitive to sparsity levels. As sparsity reduces, the MAE of the algorithm goes down, which means that accuracy is increased. performs as much as 39,5% better than classic Collaborative Filtering prediction algorithm when sparsity level is 97,2%. increases the accuracy precision of as it calculates the user average based only on the subset of items that belong to the same categories as the active item. However, this increment is insignificant taking into consideration the extra computation needed to include category information.
Qualitative Analysis of User-Based and Item-Based Prediction Algorithms
163
Experimental results indicate that item-based algorithms provide more accurate recommendations than user-based algorithms. In particular, our item-based algorithm based on explicit ratings, behaves much better as sparsity increases in comparison to all other algorithms presented. Our agent provides predictions of rating with an average MAE lower than 1 (i.e. 0.838). In our system, ratings range from 1 to 10, while in other common systems (GroupLens, EachMovie dataset) ratings range from 1 to 5. In order to obtain a clear comparative view of our MAE results, one needs to divide the results with a factor of 2. This in the best case leads to 0,419 for MAE, which is especially satisfactory for providing high-quality recommendations. Decision-Support Accuracy Metrics Decision-support accuracy metrics evaluate how effectively predictions help a user to select high-quality items. Some of them frequently used are reversal rate, weighted errors, Precision-Recall Curve (PRC) sensitivity and Receiver Operating Characteristic (ROC) sensitivity [13]. They are based on the observation that, for many users, filtering is a binary process. Consequently, prediction algorithms can be treated as a filtering procedure, which distinguishes “good” items from “bad” items. For our decision support accuracy measure, we use the ROC sensitivity. ROC sensitivity is a measure of the diagnostic power of a filtering system. Operationally, it is the area under the receiver operating characteristic (ROC) curve-a curve that plots the sensitivity and the 1-specificity of the test. Sensitivity refers to the probability of a randomly selected “good” item being accepted by the filter. Specificity is the probability of a randomly selected “bad” item being rejected by the filter. The ROC curve plots sensitivity (from 0 to 1) and 1 – specificity (from 0 to 1), obtaining a set of points by varying the quality threshold. The ROC sensitivity range between 0 to 1, where 0.5 is random and 1 is perfect [24,22]. If we denote the predicted rate as PR, the actual rate as AR and the quality threshold as QT , then the following possible cases are defined by the filter for one item True Positive (TP) when False Positive (FP) when True Negative (TN) when False Negative (FN) when For a set of items sensitivity is defined as the True Positive Fraction (TPF) and the 1-specificity as the False Positive Fraction (FPF) where where tp , fn is the number of true positive and false negative occurrences over the set of items respectively. where tn , fp is the number of true negative and false positive occurrences over the set of items respectively.
164
M. Papagelis and D. Plexousakis
We calculated the ROC curve for the different prediction algorithms and for quality thresholds ranging between 1 and 9, while the sparsity level was equal to 0,972. We use the symbolism ROC-threshold to represent the discrete points on the ROC curve for the specific quality threshold value. The area under the curve represents how much sensitive the prediction algorithm is, so the more area it covers the better for the prediction algorithm. The results are illustrated in figure 3.
Fig. 3. Prediction Algorithms Decision support accuracy (ROC sensitivity)
The following remarks can be made about the quality of the prediction algorithms as far as decision-support accuracy is concerned. Item-based prediction algorithms perform better than user-based algorithms Implicit rating based algorithms (In the sense that they have been defined for these tests), perform much worse than explicit rating based algorithms Our performs 95% better than classic collaborative filtering for ROC-9, 89% better for ROC-8 and 29% better for ROC-7. This means that if we define as “good” items the ones that have average rating more than 9 or 8 or 7 respectively and as “bad” items the ones that have average rating less than 9 or 8
Qualitative Analysis of User-Based and Item-Based Prediction Algorithms
165
or 7 respectively, then predicts and therefore recommends items with 95% or 89% or 29% respectively more accuracy than classic collaborative filtering To obtain a clear view of the overall performance of each algorithm one need to calculate the area under the ROC curve. It is clear from the figure 3 that our performs much better than every other algorithm examined.
5 Conclusions and Future Work The vast volume of information flowing on the web has given rise to the need for information filtering techniques. Recommendation agents are effectively used to filter out excess information and to provide personalized services to users by employing sophisticated, well though-out prediction algorithms. We described how explicit ratings could be utilized in order to implicitly provide user’s preference to specific categories. We designed, implemented and tested a number of prediction algorithms based on either user or item similarity and we thoroughly evaluated their performance in relation to statistical and decision-support accuracy. Our analysis shows that itembased are much better than user-based predictions. Category-boosted predictions can lead to slightly better predictions when combined with explicit ratings, while implicit ratings (in the sense that we have defined them here) perform much worse than explicit ratings. Directions for future research include prediction and recommendation of users instead of items, sophisticated selection of qualitative parameters so as to improve the prediction accuracy, incremental updates of the predicted matrices, exploration of caching schemes for effectively bringing recommendation algorithms on the Web and use of prediction algorithms to identify virtual, dynamically created communities based on user models’ similarity.
References 1. Paul Resnick and Hal R. Varian. Recommender Systems (introduction to special section). Communications of the ACM, 40(3), March 1997 2. R.B. Allen, “User Models: Theory, method and Practice”. International Journal of ManMachine Studies, 1990 3. M. Balabanovic and Y. Sholam. “Combining Content-Based and Collaborative Recommendation”. Communications of the ACM, 40 (3), March 1997. 4. Ning Zhong, Jiming Liu, Yiyu Yao, “Web Intelligence: Algorithmic Aspects of Web Intelligent Systems”, eds., Springer-Verlag, 2003, pp. 323-345 5. Jonathan L. Herlocker, Joseph A. Konstan, and John Riedl, “Explaining Collaborative Filtering Recommendations”. Proceedings of the ACM Conference on Computer Supported Cooperative Work (CSCW 2000). 6. Andrew I. Schein, Alexandrin Popescul, Lyle H. Ungar, “Methods and Metrics for ColdStart Recommendations”. Proceedings of the Annual International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR 2002).
166
M. Papagelis and D. Plexousakis
7. Prem Melville, Raymond J. Mooney and Ramadass Nagarajan, “Content-Boosted Collaborative Filtering for Improved Recommendations”. Proceedings of the National Conference of the American Association Artificial Intelligence (AAAI-2002) 8. Karl Pearson, “Mathematical contribution to the theory of evolution: VII, on the correlation of characters not quantitatively measurable”. Phil. Trans. R. Soc. Lond. A, 195,1-47, 1900. 9. John S. Breese, David Heckerman and Carl Kadie. Empirical analysis of predictive algorithms for collaborative filtering. Proceedings of the Conference on Uncertainty in Artificial Intelligence (UAI-98) 10. Jonathan L. Herlocker, Joseph A. Konstan, Al Borchers and John Riedl, “An Algorithmic Framework for Performing Collaborative Filtering”. Proceedings of the 22nd ACM SIGIR conference on Research and development in information retrieval, (SIGIR 1999) 11. Jon Kleinberg, Christos H. Papadimitriou, Prabhakar Raghavan, “On the Value of Private Information”. Proceedings of Conference on Theoretical Aspects of Reasoning about Knowledge (TARK VIII), 2001 12. David Nichols, “Implicit Rating and Filtering”. Proceedings of 5th DELOS Workshop on Filtering and Collaborative Filtering, 1997, pp. 31-36 13. Badrul M. Sarwar, Joseph A. Konstan, Al Borchers, Jon Herlocker, Brad Miller and John Riedl, “Using Filtering Agents to Improve Prediction Quality in the GroupLens Research Collaborative Filtering System”. Proceedings of the ACM Conference on Computer Supported Cooperative Work (CSCW 1998). 14. Zan Huang, Hsinchun Chen, Daniel Zeng. “Applying associative retrieval techniques to alleviate the sparsity problem in collaborative filtering”. ACM Transactions on Information Systems (TOIS), 22 (1), January 2004 15. Dan Cosley, Steve Lawrence, David M. Pennock, “REFEREE: An open framework for practical testing of recommender systems using ResearchIndex”, Proceedings of the Very Large Data Bases Conference (VLDB 2002) 16. Jon Herlocker, Joseph A. Konstan, Loren Terveen and John Riedl, “Evaluating Collaborative Filtering Recommender Systems”. ACM Transactions on Information Systems (TOIS), 22 (1), January 2004 17. Thomas Hofmann, “Collaborative Filtering via Gaussian Probabilistic Latent Semantic Analysis”. Proceedings of the Annual International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR 2003).
Agents that Coordinate Devices, Services, and Humans in Ubiquitous Computing Akio Sashima, Noriaki Izumi, and Koichi Kurumatani Cyber Assist Research Center, National Institute of Advanced Industrial Science and Technology Aomi 2-41-6 Koto-ku, Tokyo, 135-0064, Japan [email protected], [email protected], [email protected]
Abstract. In the vision of Semantic Web, agents are defined as the programs that collect information from diverse sources, processes the information and exchanges the results with other programs. To show the potential of the semantic web agents, we extend application areas of the agents to the real world, namely ubiquitous computing. In this paper, we propose semantic web agents that coordinate devices, services and humans in ubiquitous computing to solve this human-centered service coordination issue. It is called location-mediated agent coordination. This paper describes some research issues realizing the human-centered service coordination in ubiquitous computing, namely intention gaps and representation gaps. We describe the idea of location-mediated agent coordination to solve these issues.
1
Introduction
Two intelligent service frameworks, Ubiquitous (or Pervasive) computing [1] and Semantic Web [2], received much interest in both research and application in the past years. The research goal of the Semantic Web is to establish a methodology to manage that rich diversity of web content that have proliferated on the Internet by adding “meta-data” of web content. Those meta-data are Resource Description Framework (RDF) [3] and RDF Schema (RDFS)[4]. Meta-data have well-defined meanings based on the ontology. For that reason, “Semantic Web Agents”, which are autonomous computer programs that read the meta-data, can use meta-data to understand logical meanings of web content. Semantic web agents choose proper content out of myriad contents on the Internet on behalf of users. They also coordinate the contents for users and assist them in accessing the content. On the other hand, ubiquitous computing mainly concentrates handling real world information and physical objects in the real world. In the framework, numbers of sensor devices and computers are invisibly integrated in environments. The sensor devices may also include tiny, portable devices carried or worn by the users. The computers interact with the users by the sensor devices, not by M. Klusch et al. (Eds.): CIA 2004, LNAI 3191, pp. 167–182, 2004. © Springer-Verlag Berlin Heidelberg 2004
168
A. Sashima et al.
conventional human interface devices such as keyboards and mice. For example, context-aware information assist systems, a typical application of the ubiquitous computing, aim to recognize users’ contexts (e.g. locations, profiles and current activities), based on the sensor data, and provide proper information according to the users’ context. Although ubiquitous computing is a promising framework for intelligent services like context-aware information assistance, many research issues remain. A fundamental issue is coordination of devices, services, and users. Numerous heterogeneous devices (e.g., terminals, RF-IDs, cameras, information appliances, etc.), various information services that use those devices (e.g., navigation aids, guides, information retrievals, controlling devices, etc.), and users who have different intentions are physically located in a ubiquitous computing environment. In such a situation, how can we coordinate services and devices to assist a particular user in receiving a particular service and thereby maximize the user’s satisfaction? In other words, how can we dynamically coordinate the physically distributed heterogeneous services and devices and integrate them into a consistent human-centered service according to a user’s intention? To solve this human-centered coordination issue in ubiquitous computing, this study specifically addresses the semantic web agents. Inspired by the coordination capability of the semantic web agent, we have developed an agent-based service coordination framework in ubiquitous computing, called locationmediated agent coordination. In such coordination, agents coordinate services, users and devices in a ubiquitous computing environment based on their locations and meta-information, which are described by RDF. This framework is an attempt to realize semantic web agents that choose proper resources from numerous resources, coordinate those resources on behalf of users, and assist users in accessing resources of ubiquitous computing environments. This paper describes some research issues realizing the human-centered service coordination in ubiquitous computing, namely intention gaps and representation gaps. We describe the idea of location-mediated agent coordination to solve these issues.
2
Coordination Gaps in Ubiquitous Computing
We have shown a question: how can we dynamically coordinate the physically distributed heterogeneous services and devices to be integrated into a consistent human-centered service according to a user’s intention? In this section, we address two coordination issues in ubiquitous computing to solve this question, We call the issues intention and representation gaps.
2.1
Intention Gaps Between Services, Devices and Humans
Services in ubiquitous computing environment should be selected and composed according not only to the service provider’s assumption, but also the user’s
Agents that Coordinate Devices, Services, and Humans
169
intention. Thereby, we can realize human-centered service coordination on behalf of users. Service selection is easy if the provided services are few and the users clearly recognize their own intentions. However, user selection of a service that matches an intention from among myriad information services (e.g., navigation, guide, information retrieval, controlling device, etc.) becomes difficult when those services are physically co-located. In addition, an isolated service cannot satisfy the intention. In such a case, combining two isolated services might fit a user’s intention. For example, combination with a schedule service of a theater and car navigation systems can satisfy the user’s request, as in: Take me – I’d like to go to see “Kill Bill” tonight. Such combinatory processes may require device functionality and services beyond the designer’s assumption because they are designed to perform a certain task presumed by the designer. This study refers to these gaps as “Intention gaps.”
2.2
Representation Gaps Between Services, Devices and Humans
Recently, many localization-devices, such as GPS, RF-ID, Infrared sensors, etc., have been adopted. Each device has a certain communication speed, memory capacity and sensing accuracy. Therefore, their output data formats are usually ad hoc raw information about the locations. For example, while GPS device output shows latitudes and longitudes, output of infrared sensors shows the presence of a user near the devices. Similarly, many context-aware services that use location-information (locationawareness) have been proposed. The services are designed to engage for some tasks, such as navigation. The task usually requires its own spatial representation representing a certain task-oriented view of the environments. For example, to provide some information based on the user’s location, the agents should understand the user’s location as “the user is in a museum now”, rather than as “the user is at Longitude: 140.38.54 E, Latitude: 35.77.44 N at Mon., Jan 13 12:47:06 2003 J S T ” I n other words, information gaps occur between deviceoriented information like “Longitude” and service-oriented information like “in museum.” In addition, each user has their own spatial representation about surrounding environments. Users have a personalized, embodied view of environments, sometimes called a “personal space” in Social Psychology. Such perceptions of space differ idiosyncratically based on body size, social background, etc. Most popular research approaches to the location-awareness in ubiquitous computing are device-oriented [5] [6] [7]. They are designed for a specific device and are tightly bound to device-oriented spatial representation. Because they ignore the difference that we have described, it is difficult to directly apply to the services that has different spatial representation. Thus, a location service that has presupposed RF-ID-sensor-data cannot be applied to a location service that has presupposed infrared sensor or GPS data. This study refers to these gaps in spatial representation for ubiquitous computing environments as “representation gaps.”
170
3
A. Sashima et al.
Location-Mediated Agent Coordination
We introduce a multi-agent based coordination framework to bridge the intention gaps and representation gaps in ubiquitous computing. It is called “LocationMediated Agent Coordination”. Although each agent manages a specific type of information resource, their coordination enables users to access heterogeneous service resources as a seamless service. The coordination framework is an extension of middle agent framework [8] [9] [10] . The framework provides the service that matches service provider agents to service requester agents, initiates their communication, and sometimes mediates the flow of information among them. The location-mediated agent coordination framework consists of the following types of agents. Service Provider (Service Agent) the agent wraps a Web service, asks a middle agent to register their capabilities and physical service areas, and provides other agents to the service. Service Requester (Personal Agent) the agent asks a middle agent to register their physical appearance, such as sensor signal ID, and requires service provider agents to perform some service (e.g. Web Services) on behalf of a human user. Location-Aware Middle Agent the agent plays matchmaker between Service Providers and Service Requesters by considering their locations, capabilities and requirements; it then initiates their communication. They manage the spatial model of environments and reasoning about spatial relations of objects in the environments. Device Wrapper Agent the agent wraps a sensor device having Web service interfaces; it also provides sensor information to the middle agent.
3.1
Bridging Intention Gaps Between Services, Devices and Humans
Fig. 1 shows an outline of location-mediated coordination. The middle agent plays matchmaker between service providers (e.g. wrapper agents of Web Services) and service requesters (e.g. personal agent on behalf of a user) by considering their locations, capabilities, and requirements. It then initiates their communication. Thereby, it bridges the intention gaps that separate services and humans. The coordination process is as follows: 1. Service agents (e.g. wrapper agents of Web Services) advertise their capabilities and service rules that includes location information, such as service areas, to middle agents; 2. Personal agents request the middle agents to store their public properties that includes sensor-based appearance (e.g. RF-IDs); 3. Device wrapper agents (e.g. wrapper agents of location sensor devices) request the middle agents to store their sensor specifications and physical settings (e.g. locations of the devices);
Agents that Coordinate Devices, Services, and Humans
171
Fig. 1. Location-Mediated Agent Coordination
4. The middle agents have a world model of the environments. They integrate the received information into the model. They also monitor the sensor data received from sensor wrapper agents, map the sensor data on the world model. They check the personal agents that match the stored service rules. If they detect such a personal agents, they request the personal agent to access the service; 5. If the personal agent accepts an offer, it asks the service agents to provide the requested services.
3.2
Bridging Representation Gaps Between Services, Devices and Humans
To solve this representation-gap issue, the location-aware middle agent coordinates various formats of spatial information using meta information from devices and services. Fig. 2 shows an outline of the location-aware middle agent and other agents. All information in Fig. 2 is described by RDF and RDFS l; all agent communication messages are described by FIPA messages [11] (See Table 1). The location-aware middle agent manages spatial information based on four components (a world model, a spatial reasoner, a spatial information repository, and an interpreter of meta-information). The repository stores a history of sensor data, which we call observation data, received from device wrapper agents (See Table 1). The observation data, which is described by RDF/RDFS, consist of four elements: observer name, observed-object name, object location, and timestamp. 1
http://www.carc.aist.go.jp/consorts/2004/ubicomp-schema
172
A. Sashima et al.
Observation data can represents various types of location information derived from heterogeneous devices. To integrate the location-information of the observation data into a world model, the middle agents use the meta information of the observation data, such as data formats, sensor type, etc., The observation data is a key part of the location-mediated coordination. We can describe not only output of location sensor but also output of other
Agents that Coordinate Devices, Services, and Humans
173
Fig. 2. Outline of Location-Aware Middle Agent
devices (e.g. statuses of wireless-LAN access points) and services (e.g. output of the “finger” or “who” command in Unix) as the observation data. That is, various devices and services in ubiquitous computing environments are regarded as virtual location sensors in location-mediated agent coordination. For example, if we create a device wrapper agent that watch a status of a wireless-LAN access point, the observation data will consist of the name of the access point as the observer name, the MAC address of the user’s PDA as an observed-object name, the physical location of the access point as the object’s location, and timestamp. The data represents a cognitive meaning of the status of wireless-LAN access point from spatial information point of view. Similarly, the meta-information represents knowledge about the spatial information of wirelessLAN access points. The middle agents can understand the cognitive meaning based on the knowledge derived from the meta-information. Table 2 shows a part of sensor data meta information sent from a device wrapper agent. Interpreting the message, the agent can understand various format of sensor data (e.g, 2-dimensional point, binary, etc.). In this example, the format is 2-dimensional point(Point2D); Its origin is located on a segment on the world model(GroundFloorSegment_10_18). The middle agents also require mapping information between sensor signals (e.g. RF-IDs) and users to integrate users’ locations into a world model. For that reason, personal agents request the middle agents to store the mapping information of them (See Table 3). To describe the mapping information, we define a RDF property with that represents two objects (a user and a sensor device) are always co-located.
174
A. Sashima et al.
Similarly, mapping information between sensor signals and embedded services are used to integrate the “service zones”, where the services are available, into a world model. For that reason, service agents request the middle agents to store the mapping information of them. On the other hand, the reasoner stores service rules received from service agents. The rule consists of a precondition and an effect, like OWL-S [12]. The
Agents that Coordinate Devices, Services, and Humans
175
rules are described by RDF/RDFS based service-oriented qualitative representation, such as “near the painting” (See Table 4). To describe constraints like “near the painting”, we define a RDF property near that represents a object is near another object. We also define at, on, in, and etc. to describe such spatial constraints. The middle agent translates the spatial constraints in precondition into the spatial areas on the world model. It periodically checks the applicability of the rules into the observation data. The world model, a basic spatial representation to describe observation data and service rules, consists of the relation of spatial regions, and their properties. The model is described by a spatial ontology2 that we have developed to describe an indoor space using a tree representation (See Fig. 3) and a grid representation (See Fig. 4). In these figures, rectangular boxes represent RDF resources; oval boxes represent class of the resources; arrows represent RDF properties. We formalize the ubiquitous computing environments as a tree-structure of spatial regions. The tree representation is based on the human understanding of a spatial concept generally called mereological thinking[13], or reasoning about “part-of” relations. The tree-structure represents the relation of 2-dimensional spatial regions and their properties to describe the ubiquitous computing environments. Fig. 3 shows an example of an ontological tree-based representation (a structure of a museum) that we have developed, includes links in the figure means the mereological relations. When describing other buildings, one should describe the root node (top node of the world models) of the tree representation as World, a unique RDF resource. We also use a grid representation to show the shapes and locations of spatial regions in the spatial ontology that we have developed to describe the ubiquitous computing environments. Fig. 4 shows an example of an ontological gridrepresentation (a structure of a museum) that we have developed. We define Map and Segment in the ontology. A Map is a set of Segments; A Segment is a 2
http://www.carc.aist.go.jp/consorts/2004/spatial-schema
176
A. Sashima et al.
primitive square segment referred by a 2-dimensional location on a Map. partOf relations represent that the segment is a part of a Region represented in a treerepresentation.
4
Implementation
We have implemented location-mediated agent coordination framework using JADE [14] and Jena [15]. JADE is a software framework to develop an agent system that conforms to FIPA specifications; Jena is a Java framework for writing Semantic Web applications. Using these two excellent software framework, we have implemented agent-based context-aware information assist services in
Agents that Coordinate Devices, Services, and Humans
177
Fig. 3. A part of tree-based spatial representation
a museum. It is an application system of the framework. In the system, agents are aware of the distance between a user and the paintings in the museum3. In that scenario, when a user is located near a painting in the museum, the user can receive information about the painting via the user’s portable display device. Notice that this service can be easily integrated with the services derived from Internet resources, namely Web Services [16]. We have implemented the service accessing the Google Web Services [17] on behalf of the user in the museum. If the user needs more information about the painting, the user should push the “tell me” button of the portable device. The agents notice the user’s request, make a search query about the painting with the necessary information they have already had, e.g. the painting’s name and user’s preference. Fig. 5 shows an image of the monitor system of the information assist services in a museum. A museum map is visible in a main window in the lower right side of the figure; it has two information windows with a graphic image. In the map, human icons represent current locations of the users. Each zone surrounding a picture represents service zones of the museum service agents. Each line after the users represents users’ trajectories. Information windows correspond to the screens of users’ portable devices. In this application, the users casually roam around the museum. If a user enters the service zone, an information window pops up in the screen to display the picture information. Fig. 6 illustrates agent communication in the museum system. First, the service agent and the personal agents inform the middle agent of their profiles and request the middle agent to search for a matched agent based on their require3
Currently, users, users’ behaviors, and a museum in the system are simulated.
178
A. Sashima et al.
Fig. 4. A part of grid-based spatial representation
Fig. 5. An image of the monitor system of context-aware information assist services in a museum
ments. The requirements are described as some rules. The middle agent stores the rules and watches whether users who matched the rules are located in an environment. The device wrapper agent informs the middle agent where a user with a unique id is located. When the middle agent notices that a user is located on a service region, the agent tells the personal agents the user available service name. Then, the personal agent requests a service based on the service name.
Agents that Coordinate Devices, Services, and Humans
179
Fig. 6. Message-flows in assist services in a museum
Finally, the personal agent requests the device wrapper agent to show the service content on a user’s portable display device. In this system, we have confirmed the simplest framework of location-mediated coordination by applying agents to the context-aware information systems. Using the agent-based coordination framework, we have rapidly developed contextaware information systems. New services can be added to the system by defining the service agents and their ontologies.
5
Related Work
Numerous studies that address context-aware information assistance[18][19][20] [21] [22] have been proposed under the vision of ubiquitous computing. Although the software frameworks of these researches can coordinate devices, services, and humans in ubiquitous computing, the coordination are not as flexible as the coordination based on the agent communication language (e.g. FIPA-ACL with RDF) that we have described. Some researchers have applied agent technology to context-aware information assistance services. Using agent technology, they achieve greater flexibility
180
A. Sashima et al.
and more sophisticated interaction with users. C-Map [23] is a tour guidance system that provides information to visitors at exhibitions based on location and individual interests. Interface agents manage personal information and realize natural interaction with the user. The system realizes the context-aware information assistance through simple cooperation of agents. However, it seems to have difficulty in sharing contextual information among various kinds of services because the information context lacks the basis of well-defined ontological meanings. CoolAgent [24] and CoBrA [25] are context-aware software agent systems. Agents can share contextual information described by RDF. However, these studies do not provide the implementation framework of agents’ coordination to solve the coordination gaps. The present paper describes the location-mediated agent coordination as a coordination framework of ubiquitous agents and implements context-aware information assist systems in museums. Some standardized spatial ontologies exist, such as SUMO [26] and OpenCyc [27]. The reason why we adopt a newly created spatial ontology is that SUMO and OpenCyc are not suitable for describing an indoor space, but an outdoor space. Finally, some studies for middle agents exist [8] [9] [10]. As mentioned previously, the work in this paper is an extension of work in ubiquitous computing. Hence, results from those studies, such as integration of OWL-S [12], must be useful for our future research.
6
Future Work
We have presupposed that a user’s intentions and behaviors do not affect other users’ intentions and behaviors. Thus, when we design services for multi users, we confront another gap concerning user intentions: the gap between mass users’ intentions and limited service resources. The system must include a way of providing information to users that maintains overall system performance with limited service resources because serious conflicts among users may arise from poor resource allocation. Overall service performance will decrease in such a situation. In other words, user intentions may cause serious conflicts during access of limited service resources. For example, navigation systems for emergency fire evacuation must include a strategy for telling evacuees how to evacuate a building safely. If the systems simultaneously inform all users about the physically shortest path to an exit, users may crowd that path, creating a crushing panic. To bridge the gaps between mass users’ intentions and limited service resources, We plan to introduce the concept of “Social Coordination” [28] [29]. “Social Coordination” aims to resolve conflicts arising from multiple users’ requirements and to implicitly modify the provided information for each user to maintain overall system performance. We are implementing a facility using a market mechanism, called “user intention market” [30].
Agents that Coordinate Devices, Services, and Humans
7
181
Conclusion
This paper presented discussion of intention and representation gaps in ubiquitous computing. It proposed a basic idea to bridge the gaps, called locationmediated agent coordination, inspired by Semantic Web agents. In the framework, we proposed location-aware middle agents to realize location-mediated agent coordination in ubiquitous computing. It orchestrates service agents, device wrapper agents and personal agents to assist the user, and extends application areas of the agents from the Internet to the real world. As an applications of the coordination, context-aware information assist services in a museum were shown.
References 1. Weiser, M.: The computer for the 21st century. Scientific American (1991) 94–104 2. Berners-Lee, T., Hendler, J., Lassila, O.: The semantic web. Scientific American (2001) 3. Resource Description Framework (RDF). http://www.w3.org/RDF/ (2004) 4. RDF vocabulary description language 1.0: RDF Schema (RDFS). http://www.w3. org/TR/rdf-schema/(2004) 5. Addlesee, M., Curwen, R., Hodges, S., Newman, J., Steggles, P., Ward, A., Hopper., A.: Implementing a sentient computing system. IEEE Computer Magazine (2001) 50–56 6. Priyantha, N.B., Chakraborty, A., Balakrishnan, H.: The cricket location-support system. In: Proceedings of the 6th annual international conference on Mobile computing and networking, ACM Press (2000) 32–43 7. Krumm, J., Cermak, G., Horvitz., E.: RightSPOT: A novel sense of location for a smart personal object. In: Proceedings of Ubicomp 2003. (2003) 36–43 8. Decker, K., Sycara, K., Williamson, M.: Middle-agents for the internet. In: Proceedings of the 15th International Joint Conference on Artificial Intelligence, Nagoya, Japan (1997) 9. Sycara, K.P., Klusch, M., Widoff, S., Lu, J.: Dynamic service matchmaking among agents in open information environments. SIGMOD Record (1999) 47–53 10. Paolucci, M., Kawmura, T., Payne, T., Sycara, K.P.: Semantic matching of web services capabilities. In: Proceedings of the 1st International Semantic Web Conference. (2002) 333–347 11. The Foundation for Intelligent Physical Agents (FIPA). http://www.fipa.org/ (2004) 12. OWL-S 1.0 Release. http://www.daml.org/services/owl-s/1.0/ (2003) 13. Casati, R., Varzi, A.C.: Parts and Places: The Structures of Spatial Representation. The MIT Press, Cambridge, Massachusetts (1999) 14. Java Agent DEvelopment framework (JADE). http://sharon.cselt.it/ projects/jade/ (2004) 15. Jena – A Semantic Web framework for Java. http://jena.sourceforge.net/ (2004) 16. Web Services Activity. http://www.w3.org/2002/ws/ (2004) 17. Google Web APIs. http://www.google.com/apis/ (2004)
182
A. Sashima et al.
18. Abowd, G.D., Atkeson, C.G., Hong, J., Long, S., Kooper, R., Pinkerton, M.: Cyberguide: a mobile context-aware tour guide. Wirel. Netw. 3 (1997) 421–433 19. QoSDream. http://www-lce.eng.cam.ac.uk/qosdream/ (2003) 20. Roman, M., Hess, C., Ranganathan, A., Madhavarapu, P., Borthakur, B., Viswanathan, P., Cerquiera, R., Campbell, R., Mickunas, M.D.: GaiaOS: An infrastructure for active spaces. Technical Report UIUCDCS-R-2001-2224 UILUENG-2001-1731, University of Illinois at Urbana-Champaign (2001) 21. Chen, G., Kotz, D.: Solar: An open platform for context-aware mobile applications. In: Proceedings of the First International Conference on Pervasive Computing (Short paper). (2002) 41–47 In an informal companion volume of short papers. 22. Garlan, D., Siewiorek, D., Smailagic, A., Steenkiste, P.: Project AURA: Toward distraction-free pervasive computing. IEEE Pervasive computing (2002) 22–31 23. Sumi, Y., Etani, T., Fels, S., Simonet, N., Kobayashi, K., Mase, K.: C-map: Building a context-aware mobile assistant for exhibition tours. In: Community Computing and Support Systems, Social Interaction in Networked Communities [the book is based on the Kyoto Meeting on Social Interaction and Communityware, held in Kyoto, Japan, in June 1998], Springer-Verlag (1998) 137–154 24. Chen, H., Tolia, S.: Steps towards creating a context-aware agent system. Technical report, HP Labs (2001) 25. Chen, H., Finin, T., Joshi, A.: Semantic Web in in the Context Broker Architecture. In: Proceedings of PerCom 2004. (2004) 26. Suggested upper merged ontology (SUMO). http://ontology.teknowledge.com/ (2004) 27. OpenCyc. http://www.opencyc.org/ (2004) 28. Kurumatani, K.: Social coordination in architecture for physically-grounding agents. In: Proceedings of Landscape Frontier International Symposium. (2002) 57–62 29. Kurumatani, K.: Mass user support by social coordination among citizens in a real environment. In: Multiagent for Mass User Support. Springer (2004) 1–19 30. Kurumatani, K.: User intention market for multi-agent navigation - an artificial intelligent problem in engineering and economic context. In: Working Note of the AAAI-02 Workshop on Multi-Agent Modeling and Simulation of Economic Systems (MAMSES-02), AAAI Press (2002) 1–4
Multi-agent Technology as an Enabler of Computer Supported Cooperative Work for the Mobile Workforce Habin Lee, Patrik Mihailescu, and John Shepherdson Intelligent Systems Research Centre, BT Group, B62 MLB1/pp12, Adastral Park, Martlesham, Suffolk, IP5 3RE, UK {ha.lee,patrik.2.mihailescu,john.shepherdson}@bt.com
Abstract. This paper proposes an agent-based computer supported cooperative work system known as TeamWorker that enables cooperation between mobile workers for the execution of their jobs by providing services via conversational components (C-COMs). C-COMs encapsulate agent interaction protocols, which can be dynamically plugged into participating agents. Furthermore, the intelligence and autonomy of agent technology is applied to overcome the barriers faced in mobile computing environments, such as difficulty in monitoring work progress, device diversity, need for multi-modal human agent interface, etc. Finally, we discuss how TeamWorker has been applied to a real mobile business process in a telecommunications company in the UK.
1 Introduction There have been many investigations into the IT support required to facilitate cooperation of team members in cooperative information systems [18] area, however, most of these are targeting an office-based workforce. On the other hand, a mobile workforce requires different types of IT support due to the inherent constraints faced within a mobile computing environment such as mobility of workers, device diversity, and unreliable network connections. Based on the experiences from two field trials in which a multi-agent platform was applied to support a mobile workforce in the UK and Germany [2], this paper addresses three main issues that need to be challenged by information system developers to support the coordination of a mobile workforce. Firstly the reach-ability of each mobile worker should be considered. Typically mobile workers spend the majority of their time either in transit, moving from one location to another, or working in the field. This prevents them from constantly monitoring a device screen (and using the application), as well as preventing the real time tracking of assigned jobs from an administrator’s point. Technologies such as text to speech and speech recognition can enable users to interact with their colleagues in a timely manner. Secondly the diversity of mobile computing devices should be considered. Mobile computing devices differ significantly from each other in terms of not only their hardware, and operating system functionality but also their physical appearance, and usability properties. This prevents the use of a fixed GUI client for interaction with M. Klusch et al. (Eds.): CIA 2004, LNAI 3191, pp. 183–198, 2004. © Springer-Verlag Berlin Heidelberg 2004
184
H. Lee et al.
the user, as a GUI developed for a PDA cannot be used on a mobile phone, which has a smaller screen, and a limited keypad. Thirdly the flexibility to adopt new coordination services should be considered. Typically once an information system is rolled out, additional services may need to be deployed, including enhancements to existing services. Some of these services may only be applicable for specific types of mobile computing devices and users that satisfy certain preconditions. Therefore the provision of services should be on demand, considering both the computing environment at the time of installation, and the user role. This paper proposes TeamWorker as a Computer Supported Cooperative Work (CSCW) system based on multi-agent technology to support the coordination of mobile workers. In TeamWorker, an intelligent agent supports each mobile worker for the cooperative execution of assigned works. The requirements identified above can best be supported by MAS technology due to the following aspects. Firstly, MAS technology provides well defined interaction protocols (or conversation policies) that are essential for the implementation of location-based coordination of remotely distributed workers. Secondly, the intelligence of a software agent can be applied to capture the progress of a mobile task by monitoring the actions and location changes of a worker. For this purpose, the internal architecture of a software agent can be applied to capture the belief, desire, and intention of a human worker. Thirdly the autonomy of an agent can be applied to increase the usability for mobile workers who have difficulties in making real time responses due to their frequent movements, and working with field equipment. Furthermore, an agent can autonomously configure GUI components or services for a user considering the constraints imposed by a specific mobile device. This paper is organized as follows. Section 2 reviews related work and section 3 details the main features of TeamWorker. In section 4 TeamWorker is applied to a real mobile business process, and finally, section 5 summarizes and concludes this paper.
2 Related Works CSCW [12] has been considered as one of the key technologies to implement a virtual workspace that enables distributed team-members to work together, regardless of location and time differences. Reviewing the current CSCW systems, they can be characterised by the use of network infrastructure to facilitate the communication, collaboration, and coordination of team members. Examples of CSCW include an electronic meeting system [16], a group decision support system [21], a workflow management system [11] and so on. Most of these technologies are based on the assumption of a reliable network connection for the transmission of high volumes of multi-media data, which limits their application to in-office work. Handheld CSCW [20] or mobile CSCW [22] extends the application area from in-office work to mobile work. Domingos et. al. [6] propose a mobile CSCW system to support mobile cooperative work from the workflow management system’s
Multi-agent Technology as an Enabler of Computer Supported Cooperative Work
185
perspective. However, they are considering the situation where each mobile worker carries a mobile device which is disconnected from a central workflow server most of the time (which is not the case in many modern mobile work configurations, wherein mobile workers are connected with a workflow server all the time via GPRS). One of main advantages of using mobile CSCW is facilitating knowledge sharing among mobile workers. Fagrell et. al. [8] identified four aspects of mobile knowledge management as it took place in the mobile work setting: sharing, i.e., several parties exchange knowledge; indexing, i.e., one party explains to another which knowledge to retrieve; diagnosing, i.e., two parties make sense of how to interpret a situation, and; foreseeing, i.e., one party (or more) uses knowledge to project the future. RoamWare [22] has been developed as a mobile CSCW to support physical/virtual meetings of mobile workers and evaluated in Umea University and Telia Nara. From the evaluation, they argue that the meetings among mobile actors are crucial aspects of the knowledge-sharing, coordination and decision-making processes. Fagrell et. al. and RoamWare focus on the knowledge management perspective of mobile cooperative work, whereas in this paper we propose the provision of knowledge management services in a workflow context. Recently, the role of MAS technology to implement CSCW has been highlighted and research that applies it to the coordination of distributed workers is sometimes categorised as Agent Supported Cooperative Work (ASCW) [24]. For example, Ellis et al. [7] apply agent technology to improve the performance of an online meeting system. One of the main areas in ASCW is a workflow management system wherein agent technology is used to increase the flexibility of the system [1][4][13]. However, such research is more focussed on workflow task scheduling and does not address the coordination mechanism among process actors. Furthermore, it does not address the issues specific to the mobile computing environment, such as device diversity, frequent disconnection, the nomadicity of workers, etc.
3 TeamWorker: Agent Support for Cooperative Mobile Work TeamWorker is an agent-based CSCW system that has been implemented using the JADE-LEAP [1] multi-agent platform. This platform is Java based, and is a version of the JADE multi-agent platform that has been designed to run on a variety of mobile computing devices. At present, two types of device configurations are supported by JADE-LEAP: i) PDA, and ii) Mobile phone/smart phone. The main component of TeamWorker is a smart agent, called a Personal Agent, which resides on a mobile computing device, and plays a personal assistant role for a mobile worker. This section shows how a personal agent supports coordination between mobile workers by overcoming the constraints identified in section 1. The following sub sections introduce firstly the internal architecture of a personal agent (3.1), followed by a discussion on how the personal agent can adapt the application based on the underlying mobile computing device (3.2). In sub section (3.3) a discussion is given on how TeamWorker provides a flexible provision of services, and in sub
186
H. Lee et al.
section (3.4) we conclude with a discussion on ‘always on’ awareness of a personal agent.
3.1 Personal Agent Architecture Fig. 1 shows the internal architecture of a personal agent that has been designed to support the coordination and activities of mobile workers. The architecture consists of three layers: i) Human-Agent Interface layer, ii) Agent Internal Layer, and iii) Coordination layer. The Human-Agent Interface Layer handles the management of interactions between the personal agent and the user. The main functionality of this layer is to determine which GUI components should be used depending upon the properties of the underlying mobile computing device, and to determine the medium (text or speech) to use during certain interaction requests from/to the user.
Fig. 1. Personal agent internal architecture
The Agent Internal Layer determines the optimal actions to undertake to achieve the best provision of services required for the execution of cooperative work. The main features of this layer are the goal engine that is comprised of the following: i) a fact base, ii) a set of rules, and iii) an inference engine. The fact base contains all the acquired knowledge of the personal agent. The set of rules comprise both an initial set of pre-defined (static) rules as well as dynamic rules that can be added during the execution of the personal agent. Finally the inference engine determines, depending upon the facts contained within the fact base, if a rule has been triggered. The other parts within this layer are the behaviour base that contains a set of agent behaviours, a
Multi-agent Technology as an Enabler of Computer Supported Cooperative Work
187
location detector that tracks the current physical location of the user, and the work monitor that monitors the current progress of the user’s work stack. When an event is received within this layer, it is initially converted into a fact and then stored within the fact base. Depending upon the type of fact, a rule maybe triggered and a set of actions may then be performed. Finally, the Coordination Layer consists of a coordination controller, and a C-COM manager that manage the service components installed within the personal agent, and also interact with other mobile workers (represented by their personal agents), to execute coordination based services.
Fig. 2. The meta-model of cooperative work context in TeamWorker
3.2 Adapting to Application and Device Specificity One of the main features of a personal agent is the capability to configure GUI components and services according to given specifications on a target application or a device. The meta-model described in section 3.2.1 shows the contextual information wherein a personal agent supports the execution of mobile work. The application developers use the meta-model to provide specifications on their application specific features such as additional attributes for some ontology items, application specific GUI components and services. A personal agent uses the specifications to configure corresponding application systems on specific devices. 3.2.1 Metamodel for Cooperative Work A general set of ontology items have been defined that outlines the scope of the cooperative work context within TeamWorker as shown in Fig. 2. Using the
188
H. Lee et al.
knowledge contained within the work context, a personal agent is able to guide the user during the execution of jobs by selecting the most appropriate services, and GUI components based on the current work context. For example, the work context may contain details such as the current location of the user and their proximity to colleagues, and the current state of their work schedule. The central ontology item within TeamWorker is ‘Work’ that represents a unit of a job that should be completed by a worker or a group of workers. Work is assigned to a user (as represented by an Actor) via a Role concept that determines their responsibilities and privileges. During the execution of Work one or more Resources may be consumed such as a Document or a Service, and a Group Decision Process may also be required to solve any problems that arise during its execution. One example of a Group Decision Process is the co-ordination of multiple team members to a single job site. Work can be part of a Schedule that represents the chronological order of the execution of each Work item assigned to a worker. Each Work item has one or more Milestones that represent the execution progress of a Work item. A Service is classified either as a Coordination Service or a Local Service. A Coordination Service is delivered by an executable software component known as a C-COM [15], which captures all information related with the coordination such as work progress, involved workers, location, etc, within a Coordination State item. Work can either be viewed individually in more detail, or as a group as defined respectively in the WorkDetail View and WorkList View GUI ontology items. Other GUI ontology items such as MenuPanel define how services can be accessed, and the CoordList View and CoordDetail View define how a user can view the current status of coordinationbased services. These ontology items can be extended upon or new ontology items created according to an application’s requirements. 3.2.2 GUI Configuration At the first launch time, each personal agent refers to a device description, which contains details on both the hardware and usability properties of the underlying host device. The device description is based on the FIPA device ontology specification [9], and a shortened example is shown in Fig. 3. Using this information, a personal agent is able to determine the best configuration of the GUI by only selecting those GUI components that meet the device constraints, and then adapting them to meet the user/application requirements. Each GUI component contains a description of the runtime properties required for its use (e.g. screen size, library support), and a list of customisations that can be made. For example, a table widget contained within a GUI component may allow both its column and data source to be customised. An example of a GUI component description is shown in Fig. 3. 3.2.3 Service Composition A personal agent composes and provides services to aid the execution of jobs for the user. For this purpose, a personal agent maintains a service hierarchy that is represented as a tree for a specific CSCW application. Fig. 4 shows a sample service tree and its XML-based description. A service tree shows the order of services that
Multi-agent Technology as an Enabler of Computer Supported Cooperative Work
Fig. 3. Sample description of device and GUI component profiles
Fig. 4. A part of a service tree (a) and its specification (b)
189
190
H. Lee et al.
can be provided to a worker according to a human user’s use of GUI components. A service description contains the name, type, appearance, target ontology ( tag), and C-COM reference to implement a cooperative service. A Service Link describes the transition path from one service to another service. For example, in Fig. 4, a service link ‘SL1’ links a service ‘ShowWorkDetail’, with four succeeding services. A service link provides a personal agent with the information representing the context wherein a service is provided. A personal agent configures the services for a mobile device according to the service tree and service specifications provided by a human user. A service is either generic or application specific depending on the generality of the service. Generic services can be provided to multiple applications while application specific services are applicable for a specific application. As mentioned in section 3.2.1, a service can also be classified as either a ‘local’ or ‘coordination’ service. A coordination service is delivered or created as a result of coordination with other worker’s personal agents.
3.3 Flexible Management of Coordination Services TeamWorker adopts CCoMaa [15], a conversational component based MAS architecture, as a means for the delivery of coordination services. In CCoMaa the interaction among agents for service delivery is performed via C-COM [15]. A C-COM is a conversational component that executes a service via asynchronous message based communication between two or more role components. A role component abstracts all the behaviour of an agent in the communication to achieve the service. The use of CCOM enables a personal agent to communicate with any service providing agents that use ad-hoc conversation policies for the provision of their service. The coordination logic required to facilitate the cooperative execution of a specific work item can be easily implemented using a conversation policy. Fig. 5 shows the process for the dynamic registration and installation of a C-COM in CCoMaa. First, new services are implemented as a C-COM and their corresponding role components are registered to a service mediator agent by a service provider agent (or an administrative agent). In addition a service description (that contains the authorised role of target workers and related business rules), and a component description that specifies the required runtime environment (e.g. a JVM supporting the CDC specification) and required computing resources (e.g. 20k storage space, 160x160 screen resolution, etc) is also registered. Later, a service consumer agent (a personal agent on a mobile device) contacts the service mediator agent to find any available role components for new services by providing its device profile (as mentioned in section 3.2.2) which is used by the mediator agent to match appropriate role components. The matched role components are downloaded and installed on the device of the agent and can be used by a worker on demand. In this approach, a personal agent also contacts a mediator agent to find the latest version of C-COMs installed on the device. This version matching process enables efficient management of coordination services where the coordination logic changes frequently due to organisational changes or any other reasons.
Multi-agent Technology as an Enabler of Computer Supported Cooperative Work
191
3.4 Always on Awareness In the following two sub-sections, we firstly discuss how the personal agent can keep the user informed when events that affect them occur, while the user is unable to interact with the system. Secondly, we discuss how the personal agent can take over responsibility (from the user) of maintaining real time tracking of the user’s work stack.
Fig. 5. Dynamic registration and download of coordination services in CCoMaa (cited and modified from [15])
3.4.1 Context Aware Multi-modal Human Agent Interface Where appropriate, the interaction between a user and a personal agent can be based on both speech synthesis and voice recognition. TeamWorker utilises an internally developed speech engine [17] that contains both a text-to-speech (TTS) component and a voice recognition component. The TTS component is used to keep the user informed of incoming messages, and system alerts, when they are no longer visibly interacting with the application. Users are able to configure which messages/events they wish to be informed of. The TTS component provides a voice queue in which multiple entries can be placed by the personal agent, as well as a number of configuration options to manipulate the produced voice. The voice recognition component is used as a means of enabling user interaction without requiring the user to look or touch the device. Due to the limited processing capabilities of mobile computing devices, the personal agent only recognizes specific command words based on current contextual information in order to increase the matching accuracy. Expected commands are restricted to those related to both the GUI components currently showing, and any data constraints. For example, if the GUI is showing details of an activated job, the most likely recognized command words are ‘update job information’, ‘request assistance’, and ‘close job’, etc. Coupled with the ‘always on’ nature of TeamWorker, text and voice integration dramatically increases its
192
H. Lee et al.
usability for mobile workers by keeping them in touch with their colleagues in ‘hands free’ situations, such as driving, climbing, and using tools and equipment. 3.4.2 Autonomous Work Milestone Monitoring Another feature of the personal agent with regards to improving reach-ability of mobile workers is its ability to assess the user’s work progress, by monitoring both
Fig. 6. (a) Ontologies and their relationships for work milestone management (b)(c)(d) simplified sample rules for work milestone management
their usage of the system, and their physical movements. This progress information can be used in various ways to improve the management of the user’s work stack. For example, a personal agent can transparently download relevant information for a job such as test results, and health and safety tips when it detects that the user is in transit to a job. To support this feature, each work item is described with one or more milestones. Each milestone is linked with some type of contextual information that is used by the personal agent when determining if the milestone has been reached. For example, contextual information includes the job state, location of the user, time, etc. A personal agent collects this contextual information several ways; by monitoring the use of services run during the execution of jobs, the location changes, the schedule of assigned jobs, etc. Fig. 6 (a) shows the ontology items and their relationships for this purpose. Fig. 6 (b), (c), and (d) show the sample rules used for an application specific milestone management. These rules can be classified as three types: rules for dispatching each event into a related user intention fact (b), rules for updating the progress of a milestone based on the new user intention if appropriate (c), and rules for determining appropriate actions to undertake when a desired milestone has been reached (d).
Multi-agent Technology as an Enabler of Computer Supported Cooperative Work
193
4 Application to a Real Mobile Business Process TeamWorker has been applied to support a mobile business process within British Telecommunications plc. (BT). This section shows how TeamWorker improves the working practices of a BT Field Engineer.
4.1 Telecommunications Service Provision and Maintenance BT operates a large mobile workforce to maintain its network and provide telecommunications services to residential and business customers across the UK. The process starts when a customer or a BT Field Engineer (a mobile worker) requests provision of a new service or repair of an existing one. The execution of each job requires one or more BT Field Engineers to visit a customer site and/or BT Equipment sites. In a typical working day, a BT Field Engineer picks up jobs from a centralised workflow management system, called Work Manager [8]. Then, the engineer moves to a customer site to execute a job. BT is operating a customer satisfaction initiative, called RARA (Ring Ahead Ring After) which mandates that a BT Field Engineer must ring the next customer before they arrive to inform them that they are on their way, as well as after completion of a job to receive customer feedback. In the case of a repair job, the engineer may visit a place where networkequipment is located before visiting the customer to perform one or more tests to identify the cause of the problem.
4.2 TeamWorker for BT Field Engineers TeamWorker has been customised to support BT Field Engineers by providing coordination services on the fly. Fig. 8 contains screenshots showing lists of BT jobs and their details based on the following specifications shown in Fig. 7. Fig. 7 shows specification examples for the configuration of GUI components for BT Field Engineers. Fig. 7 (a) is a part of the GUI specification for the configuration of the WorkList view that presents the list of assigned jobs to a BT Field Engineer. TeamWorker provides a tabular view for presentation of the job list. The <SelectionType> tag indicates that a BT Field Engineer can select multiple jobs when executing an operation (such as update job details). The tag is used to define each column of a job list table in the GUI to show WorkList information. Fig. 8 (a) and (b) show the WorkList View and the WorkDetail View configured by a personal agent based on the specification in Fig. 7 (a) and (b) respectively. The WorkList View shows the minimal information with regard to each job assigned to an Engineer while the WorkDetail View shows the details of the job. All the jobs assigned to a BT Field Engineer are delivered via a message-based interaction between a personal agent (running on the user’s device) and a workflow agent (which operates inside of the BT Corporate Intranet) via C-COMs. The capability of TeamWorker to adapt to heterogeneous devices is expected to be very useful to BT Field Engineers who normally will carry three types of devices: A company provided a Laptop Computer, a PDA, and their own mobile phone. The
194
H. Lee et al.
Laptop Computer is expected to be equipped within a Van while an Engineer will carry a PDA and a mobile phone. The Laptop Computer will be used for accessing heavy weight services which requires a larger screen resolution and intensive keyboard inputs while a PDA and a mobile phone will be used for accessing light weight services such as colleague awareness, job list and details, and message or voice based communications based services. If a PDA runs out of battery power, an Engineer is able to continue working with the application, by switching to a mobile phone wherein the personal agent will reconfigure the GUI and service components dynamically by sacrificing some GUI components and services that are subject to performance and resolution etc.
Fig. 7. Sample specifications for the configuration of GUI components for BT Field Engineers
BT Field Engineers are classified into three categories according to the line of business they belong to: BT Retail, BT Wholesale, and BT Global Service. The cooperation requirements of the three groups are slightly different due to the diverse types of equipment for which the Field Engineers are responsible. The plug and play feature of coordination services via C-COM makes TeamWorker applicable to all three organisations. Each worker is able to configure a set of cooperation services depending on the organisation s/he belongs to and her/his role. With this functionality, BT can manage all the services in a centralised way and a cooperation service for an organisation can be customised for another organisation and deployed dynamically. However, so far three types of common coordination services have been identified that are useful for BT Field Engineers across all the three organisations. Firstly, two types of job trading services, mini trade and maxi trade, have been implemented to enable each Engineer to re-assign their jobs via peer-to-peer negotiations with other Engineers. Mini trade is an agent-based job trading service wherein a personal agent contacts other users’ personal agents to determine the most appropriate candidates for
Multi-agent Technology as an Enabler of Computer Supported Cooperative Work
195
the reassignment of a job. For this, a contract net protocol has been used to implement the coordination logic. Each respondent personal agent creates a Bid, which contains the distance between its current location and the job location, the skill set of the mobile worker the personal agent is assisting. The initiator personal agent compares the Bids from the responder personal agents and proposes the job to the highestranking respondents in order.
Fig. 8. TeamWorker screenshots for Work list (a) and the detail of a BT work (b)
In a Maxi job trade service, a personal agent contacts the personal agent of a team leader to ask for reassignment of a job. Secondly, a request assistance service is provided to each Engineer who wants to form a temporary group to execute a collaborative job. In this service, an initiator personal agent contacts one or more respondent personal agents to find candidates, based on their user’s schedules, locations, and skills. Thirdly, an informal coordination service, ‘organise lunch meeting’, is provided to each Engineer. In this service, an Engineer can propose a lunch meeting by specifying candidate restaurants, times, and buddies. Each respondent can specify a preference for the venue and time, which is monitored by other colleagues. The informal meeting service is held to be an important element in improving a team’s performance, because Field Engineers can share their knowledge during informal social interaction [23]. Fig. 9 contains screenshots that show the incoming (a) and outgoing (b) coordination services of a Field Engineer. Especially, Fig. 9 (a) shows a message box indicating an arrival of new coordination service from another Engineer. The message can be read by a personal agent via the TTS engine.
196
H. Lee et al.
The speech based interaction capability along with the work milestone management capability of a personal agent has been applied to implement a BT policy, RARA. With the support from a personal agent on each device, the ratio of failure of RARA is expected dramatically reduced, which will increase the customer satisfaction. Finally, the “always on” awareness between team members is expected to improve the effectiveness of team working by increased intra-team communications, which will facilitate the knowledge sharing between a novice Engineer and expert Engineers.
Fig. 9. Screens showing outgoing (a) and incoming (b) coordination services
5 Conclusion This paper proposed TeamWorker as a CSCW system for mobile workforce. The Agent technology plays a central role in TeamWorker to assist a mobile worker by overcoming the constraints faced within a mobile computing environment. The main features of TeamWorker include the flexible composition of services for execution of work via a component-based approach, the ability to adapt to diverse devices, multimodal interaction between agents and users, and the work milestone management capability of a personal agent. The benefits of TeamWorker are improved cooperation among mobile workers, increasing the reachability of remote workers by supporting multi-modal interactions between them and their personal agents, and better workforce management via transparent work progress monitoring. During the development of TeamWorker, multi-agent technology showed the following advantages for the implementation of mobile CSCW. First, from the group awareness perspective, the autonomy of an agent is a useful feature to free a mobile worker from continuously reporting his location and job execution progress
Multi-agent Technology as an Enabler of Computer Supported Cooperative Work
197
(information which is vital for collaboration with colleagues). Second, the messagebased interaction protocols for multiple agents are useful for implementing asynchronous coordination of mobile workers. The use of the C-COM service architecture enables workers to use a new service on demand, as an agent can dynamically locate and install the corresponding C-COM for the service, with no a priori knowledge of any novel protocols that may be employed by that service. Third, agent ‘intelligence’ is a useful feature which, when used to understand the current job execution context, can support an enhanced the user experience via pro-active services such as finding the nearest qualified colleagues for the collaborative execution of the next job, switching to the appropriate interface mode (speech or text based) for human computer interaction, and so on. TeamWorker will be trialled in the near future with two teams of circa twenty mobile workers. The metrics for the evaluation of the field trial as are: Re-work Ratio: Re-work normally occurs when engineers cannot complete their jobs due to lack of required knowledge or parts. The coordination support from TeamWorker is expected to enable engineers to instantly contact the person best able to help them with their problem. RARA Outage Ratio: The intelligence and autonomy of the personal agents in TeamWorker is expected to reduce the RARA outage ratio dramatically by giving reminders to engineers when appropriate, or by directly calling the relevant customer. Customer Promise Hit Ratio: The real-time job trading functionality of TeamWorker is expected to increase this ratio by allowing engineers to reassign their jobs in exceptional cases.
References 1. Adorni, G., Bergenti, F., Poggi, A., and Rimassa, G.: Enabling FIPA agents on small devices . Lecture Notes in Artificial Intelligence 2182 (2001), 248–257 2. Berger, M., Buckland, B., Bouzid, M., Lee, H., Lhuillier, N., Olpp, D., Picault, J., and Shepherdson, J., An Approach to Agent-based Service Composition and it’s Application to Mobile Business Processes. IEEE Transactions on Mobile Computing, 2(3) (2003) 197206 3. Bose, R.: Intelligent Agent Framework for development knowledge-based decision support system for collaborative organisational processes. Expert Systems with Applications 11(3) (1996) 247-261 4. Chang, J.W. and Scott, C.T.: Agent-based workflow: TRP support environment (TSE). Computer Networks and ISDN Systems 28 (1996) 1501-1511 5. Cao, J. and Zhang, S.: An Integrated Multi-agent CSCW System for Concurrent Product Development. Int. Jr. of Information Technology & Decision Making 1(3) (2002), 423440 6. Domingos, H., Martins, J.L., Preguiça, N., and Duarte, S.M.: A Workflow Architecture to Manage Mobile Collaborative Work. in Proc.s of EPCM’99 (1999) 7. Ellis, C., Wainer, J., Barthelmess, P.: Agent-Augmented Meetings In: Agent supported cooperative work. Ye, Y. and Churchill E. (ed.). Kluwer Academic Publishers (2003)
198
H. Lee et al.
8. Fagrell, H., Ljungberg, F., and Bergquist, M.: Exploring Support for Knowledge Management in Mobile Work. In Proceedings of the European Conference on CSCW (1999) 9. FIPA Device Ontology Specification, http://www.fipa.org/specs/fipa00091/ (2000) 10. Garwood, G.J.: Work Manager. BT Technology Journal 14 (3) (1996) 11. Georgakopoulos, D., Hornick, M.F., and Sheth, A.P.: An Overview of Workflow Management: From Process Modeling to Workflow Automation Infrastructure. Distributed and Parallel Databases 3 (2) (1995) 119-153 12. Greenberg, S. (ed.): Computer-supported Cooperative Work and Groupware. Computers and People Series, Academic Press Ltd. (1991) 13. Jennings, N. R., Norman, T. J., Faratin, P., O’Brien P., and Odgers, B.: Autonomous agents for business process management. Int. Jour. of Applied AI 14(2) (2000) 145—189 14. Khoshafian, S. and Bucklewicz, M.: Introduction to Groupware, Workflow, and Workgroup computing. John Wiley & Sons Inc. (1995) 15. Lee, H., Mihailescu, P. and Shepherdson, J.W.: Conversational Component-based Open Multi-agent Architecture for Flexible Information Trade. Lecture Notes in Artificial Intelligence (LNAI) 2782 (2003) 109-116 16. Nunamaker, J.F., Dennis, A.R., Valacich, J.S., Vogel, D.R., George, J.F.: Electronic Meeting Systems to Support Group Work. Communications of the ACM 34(7) (1991) 4061 17. Page, J.H., and Breen, A. P.: The Laureate Text-to-Speech system: Architecture and Applications. BT Technology Journal 14(1) (1996) 84-99 18. Papazoglou, M.P. and Schlageter, G.: Cooperative Information Systems – Trends and Directions. Academic Press, ISBN 0125449100 (1997) 19. Schmidt, A., Beigl, M. and Gellersen, H. W.: There is more to Context than Location. In Computers & Graphics Journal. 23(6) (1999) 893-902 20. Schmidt, A., Lauff, M., and Beigl, M.,: Handheld CSCW, In Proceeding of Workshop on Handheld CSCW at CSCW ’98, Seattle (http://www.teco.edu/hcscw/papers.html) (1998) 21. Sheetz, S.D., Tegarden, D.P., Kozar, K.A., and Zigurs, I.: Group Support Systems Approach to Cognitive Mapping. Jr. of Management Information Systems 11(1) (1994) 31-58 22. Wiberg, M.: Knowledge Management in Mobile CSCW: Evaluation Results of a Mobile Physical/Virtual Meeting Support System. In Proceeding of 34th Annual Hawaii International Conference on System Sciences ( HICSS-34)-Volume 4, Maui Hawaii (2001) 23. Wittaker, S., Frolich, D. and Daly-Jones, W.: Informal workplace communication: What is it Like and How Might we Support It?, in Proceedings of Human Factors in Computing Systems, CHI ’94, ACM Press: New York (1994) 24. Ye, Y. and Churchill, E.: Agent Supported Cooperative Work. Kluwer Publishers, Boston Hardbound ISBN 1-4020-7404-2 (2003)
Agent Platform with Inaccessibility and Mobility Support David Šišlák, Milan Rollo, and Department of Cybernetics Czech Technical University in Prague Technická 2, Prague 6, 166 27 Czech Republic [email protected] {rollo pechoucek}@labe.felk.cvut.cz
Abstract. At present several Java-based multi-agent platforms from different developers are available, but none of them fully supports agent mobility and communication inaccessibility. They are thus no suitable for experiments with real-world simulation. In this paper we describe architecture of newly developed agent platform It is fast and lightweight platform with agent mobility support. Beside the functions common to most of agent platforms it provides the Geographical Information System service to user, so it can be used for experiments with environment simulation and communication inaccessibility. performance benchmarks compared against other agent platforms are also stated in this paper.
1
Introduction
is an agent platform designed for testing experimental scenarios featuring agents’ position and communication inaccessibility, but it can be also used without these extended functions [1]. The platform provides functions for the residing agents, such as communication infrastructure, store, directory services, migration function, deploy service, etc. Communication in is very fast and the platform is relatively lightweight. Comparison to the others agent platforms can be found in section 3. platform is not fully compliant with the FIPA [2] specifications, e.g. it does not support the inter-platform communication (caused by different message format). This interoperability is not necessary when developing closed systems, where no communication outside these systems is required (e.g. agentbased simulations). For large scale scenarios the interoperability also brings problems with system performance (memory requirements, communication speed). is suitable for real-world simulations including both static (e.g. towns, ports, etc.) and mobile units (e.g. vehicles). In such case the platform can be started in extended version with Geographical Information System (GIS) services and Environment Simulator (ES) agent. The ES agent simulates dynamics (physical location, movement in time and others parameters) of each unit. M. Klusch et al. (Eds.): CIA 2004, LNAI 3191, pp. 199–214, 2004. © Springer-Verlag Berlin Heidelberg 2004
200
2
D. Šišlák et al.
System Architecture
The system integrates one or more agent platforms. The shown in Figure 1. Its operation is based on several components:
design is
agent platform – provides basic components for running one or more agent containers, i.e. container manager and library manager (section 2.1); agent container – skeleton entity of ensures basic functions, communication infrastructure and storage for agents (section 2.2); services – provide some common functions for all agents in one container; environment simulator (ES) agent – simulates the real-world environment and controls visibility among other agent containers (section 2.4); agents – represent basic functional entities in a specific simulation scenario. Simulation scenario is defined by a set of actors represented by agents residing in the agent containers. All agent containers are connected together to one system by the GIS services. Beside the simulation of dynamics the ES agent can also control communication accessibility among all agent containers. The GIS service applies accessibility restrictions in the message transport layer of the agent container.
Fig. 1. System Architecture Structure
Agent Platform with Inaccessibility and Mobility Support
2.1
201
Agent Platform
The main design goals were to develop the platform as lightweight as possible and to make it easily portable to different operating systems and devices (like PDA). The platform is implemented as an application running on Java Virtual Machine (JVM version 1.4 or higher is required). Several platforms can run simultaneously (maximum 1000) on one computer, each in its own JVM instance. When new agent container is started, it can be specified in which platform it will be created and running.
Fig. 2. Library Deployment Sequence Diagram
The platform ensures the functionality of the rest of the system using two main components: Container Manager. In one agent platform can run one or more agent containers. Container Manager takes care of starting, execution and finishing these containers. Containers are mutually independent except for the shared library manager. Usage of one agent platform for all containers running on one computer machine is beneficial because it rapidly decreases system resources requirements (use of single JVM), e.g. memory, processor time, etc. Library Manager. The Library Manager takes care of the libraries installed in the platform and monitors which agents/services use which library. Descriptor of each agent and service specifies which libraries the agent/service requires. The Library Manager is also responsible for moving libraries of any agent migrating to other platform when required libraries are not available there. The migration process makes use of the Java programming language features. Whenever an agent migrates or agent/service is deployed, Library Manager checks which libraries are missing on the platform and obtains
202
D. Šišlák et al.
them from the source platform. The inter-platform functionality of the Library Manager is realized though the service library/loader (this service is present on every agent container). Library deployment sequence diagram is shown on figure 2. The user can add, remove and inspect libraries using the container GUI.
2.2
Agent Container
The agent container hosts two types of entities that are able to send and receive messages: agents and services. Agents do not run as a stand-alone applications, but are executed inside the agent containers, each in its own separate thread. The schema of general agent container structure is shown on figure 3. Container provides the agents and services with several low level functions (message transport, agent management, service management). Most of the higher level container functionality (agent deployment, migration, directory facilitator, etc.) is provided as standard container services.
Fig. 3. The Agent Container Structure
The agent container components are: Container Core. The Container Core starts and shuts down all container components. Store. The purpose of Store is to provide permanent storage through interface which shields its users from the operating system’s filesystem. It is used by all container components, agents and services. Each entity in the agent container (agent, service, container components) is assigned its own virtual storage, which is unaffected by the others. Whenever an agent migrates, its store content is compressed and sent to the new location. Message Transport. The Message Transport is responsible for sending and receiving messages from and to the container. Agent Manager. The Agent Manager takes care of creation, execution and removal of agents on the container. It creates agents, re-creates them after platform restart, routes the incoming messages to the agents, packs the agents for migration and removes agent’s traces when it migrates out of the platform or dies.
Agent Platform with Inaccessibility and Mobility Support
203
Service Manager. The Service Manager takes care of starting and stopping the services present in the agent container and their interfacing to other container components. The user can start, stop and inspect the services using GUI. There are two types of services – user services and system services. The system services are automatically started by the container and form a part of the container infrastructure (agent mover, library deployer, directory services etc.). The system services cannot be removed. The user services can be started by user or any agent/service. The user services can be either permanent (started during every container startup) or temporary (started and stopped by some agent). In contrast to agents the services are not able to migrate on other containers. The container name must be unique inside one system build from several containers. This name is also used for determination specific store subdirectory for the agent container and registered to the Environment Simulator Agent. Container GUI. The agent container has a graphic user interface (GUI), which gives the user an easy way to inspect container state and to install or remove its components (agents, services and libraries). The GUI could be shown or hidden both locally and remotely (by message). The GUI screen shot is shown in figure 4.
Fig. 4. Container GUI: Agent Information
Window has two parts. The tree on the left side shows names of agents, services and libraries present on the container.The right side shows detailed information about the object selected in the tree. Moreover, the agents and services are allowed to create their own GUI without any restrictions.
204
D. Šišlák et al.
Message Transport. The Message Transport is responsible for sending and receiving messages. Shared TCP/IP connection for message sending is created between every two platforms when the first message is exchanged between them. The message flow inside the platform is shown on figure 5.
Fig. 5. Message Flow
The message structure respects FIPA-ACL [3]. Messages are encoded either in XML or Byte64 format. Message content can be in XML format or String. The structure of each message content in XML format is described by Document Type Definition (DTD). For coding and decoding XML messages the Java APIs for XML Binding (JAXB) [4] package is used. For transport, all binary data (e.g. libraries, serialized agents, etc.) are encoded using the open source Base64 coding and decoding routines. Agent may receive messages without using conversation discrimination (all messages incoming to this agent are processed in one method), otherwise it must use the conversation manager with tasks. Conversation Manager and Tasks. Usually, an agents deal with multiple jobs simultaneously. To simplify a development of such agents, the offers tasks. A task is able to send and receive messages and to interact with other tasks. The Conversation Manager takes care of every message received by the agent to be routed to the proper task. The decision, to which Task a message should be routed, depends on the massage ConversationID. The ConversationID should be viewed as a ‘reference number’.
Agent Platform with Inaccessibility and Mobility Support
205
Agents. The agents are autonomous entities with unique name and ability to migrate. There is a separate thread created for each agent. A wrapper running in the thread executes the agent body. Whenever an agent enters an error state or finishes its operation, the control is passed back to the wrapper, which handles the situation. The return value of the agent state is used to determine agent’s termination type (die, migrate, suspend). Therefore potential agent failures are not propagated to the rest of the agent container. Agents could be deployed to remote containers. Services. The services are bound to particular container by their identifier. There could be the same service on several containers. Services do not have their own dedicated thread and are expected to behave reactively on response to incoming messages and function calls. Services can be also deployed to remote containers. The agents (and services or container components) have two ways how to communicate with a service. Either via normal messages or by using the service shell. The service shell is a special proxy object that interfaces service functions to a client. The UML sequence diagram of service shell creation and use is shown on figure 6. The advantage of service shell is an easy agent migration (for migration description see section 2.3): while the service itself is not serializable, the service shell is. When an agent migrates, the shell serializes itself with information what service name it was connected to. When the agent moves to the new location, the shell reconnects to its service at the new location. When a service is shut down, it notifies it’s shells so that they refuse subsequent service calls. There are several common services described in the table 1. These services are automatically started by the agent container and provide common functions for all agents. Agent/Service Naming and Addressing. The agent name is globally unique and is normally generated by platform during agent creation. The service name is unique only within one agent container (services cannot migrate) and is specified by the service creator. An address has the following syntax:
2.3
Migration Procedure
In order to successfully migrate, the agent has to support serialization. The migration sequence is shown on figure 7. All exceptions that might occur during the process are properly handled and the communication is secured by timeouts. If the migration cannot be finished for any reason, the agent is re-created in its original container. If the done message is successfully sent by the agent destination container but never received by the source container, two copies of the agent emerge. If the done message is received by the source container, but the agent creation
206
D. Šišlák et al.
Fig. 6. Service Shell Operation
fails at the destination container, the agent is lost. These events can never be fully eliminated due to the possible communication inaccessibility, but maximum caution was given to minimize their probability.
2.4
Environment Simulator and Communication Inaccessibility Support
The purpose of Environment Simulator (ES) is to simulate the real world environment. More specifically the ES models the platforms’ mutual accessibility and informs each container about other platforms inside its communication range. Besides visibility, the ES can inform the containers about any other parameters (eg. position, temperature, …). The ES consists of two parts: ES Agent, which generates the information and GIS services that are present at every platform connected in the scenario. Presence of the ES agent allows the container freely communicate with all other containers. The ES agent architecture allows simulation of complicated container motion and environment dynamics. There are two ES agents implemented:
Agent Platform with Inaccessibility and Mobility Support
Fig. 7. Agent Migration
207
208
D. Šišlák et al.
Manual (Matrix) ES Agent. This agent provides simple user-checkable visibility matrix, as shown on figure 8. The user simply checks which containers can communicate together and which can not.
Fig. 8. Platform Visibility Matrix
Automatic ES Agent. This agent is fully automatic environment simulator. It computes the positions of mobile agent containers representing mobile units in virtual world and automatically controls accessibility between them. The visibility is controlled by means of simulation of the short range wireless link. Therefore each container can communicate only with containers located inside predefined radius limit. As the containers move, connections are dynamically established and lost. The GIS services are responsible for distributing this visibility information to all container message transport layers. There are two types of GIS services one for server side and one for client side, as presented on figure 1. Server side is container where the ES Agent and gis/master service are running. On the client side gis/client service is running. After the container startup, the client service subscribes with the gis/master to receive the environmental updates (visibility, etc) and this information is than accessible to any container component (agent or service) interested in it. This client services are connected to the message transport layer and control message sending (when agent tries to send message to agent whose container is not visible, this message is returned as undeliverable). If no ES Agent is started, all platforms are connected without any restrictions. The GIS services in general can be realized at an agent level when one agent in the system will serve as an ES Agent and the others will be informed about the visibility changes via the messages. But in such a case several problems will occur. Agents will have to deal with processing of the incoming messages and no one can be sure that the agents will follow the visibility restrictions they will receive in the message (using the GIS services that are connected directly to the communication layer the simulation correctness if guaranteed). The communication accessibility is computed among the containers that are supposed to represent one physical location where a number of agents can be running. All agents within one container can freely mutually communicate and only the GIS client service is to be informed about the other containers. Using the GIS on agent level, all agents have to be informed about the others (even on the
Agent Platform with Inaccessibility and Mobility Support
209
same container) which may result in high (and mostly useless) communication traffic. The proposed approach is thus more natural and efficient.
2.5
Sniffer Agent
The Sniffer Agent is an on-line tool for monitoring all messages and their transmission status (delivered or not-reachable target). This tool helps to find and resolve communication problems in system during development phase. The sniffer can be started only on an agent container where gis/master service is running. After the sniffer starts, all messages between agents and services inside any container or among two agent containers are monitored. Messages can be filtered by the sender or receiver of the message. All messages matching the user-defined criteria are shown in the sniffer gui, as shown on figure 9. The message transmission status is emphasized by type of line. The color of the message corresponds to the message performative.
Fig. 9. The sniffer GUI
3
Platform Comparison
This section presents the results of comparison of available JAVA-based agent development frameworks evaluated by an independent expert Pavel Vrba from Rockwell Automation Research Center in Prague [5], which were carried out in a cooperation with the Gerstner Laboratory. These benchmarks were focused especially on the platform performance which is a crucial property in many applications. Detailed description of the particular features is beyond the scope of this paper. Firstly, the particular benchmark criteria, which the agent platform should provide are identified (e.g. small memory footprint and message sending speed). These benchmarks were carried out for
210
D. Šišlák et al.
following agent platforms1 - JADE [6] [7], FIPA-OS [8], ZEUS [9], JACK [10] and [11].
3.1
Message Speed Benchmarks
The agent platform runtime, carrying out interactions, should be fast enough to ensure reasonable message delivery times. The selected platforms have been put through a series of tests where the message delivery times have been observed under different conditions. In each test, so called average roundtrip time (avgRTT) is measured. This is the time period needed for a pair of agents (let say A and B) to send a message from A to B and get reply from B to A. The roundtrip time is computed by the agent A when a reply from B is received as a difference between the receive time and the send time. This message exchange was repeated several times (depending on the type of experiment) and the results were computed as an average from all the trials. 1
GRASSHOPPER’s licence does not allow to use it for benchmarking and other comparison activities.
Agent Platform with Inaccessibility and Mobility Support
211
Fig. 10. Message delivery time - serial test results
The overall benchmark results are presented in the table 2. More transparent representation of these results in the form of bar charts is depicted in figure 10. Three different numbers of agent pairs have been considered: 1 agent pair (AB) with 1000 messages exchanged, 10 agent pairs with 100 messages exchanged within each pair and 100 agent pairs with 10 messages per pair. Moreover, for each of these configurations two different ways of executing the tests are applied. In the serial test, the A agent from each pair sends one message to its B counterpart and when a reply is received, the roundtrip time for this trial is computed. It is repeated in the same manner N-times (N is 1000/100/10 according to number of agents). The parallel test differs in such a way that the A agent from each pair sends all N messages to B at once and then waits until all N replies from B are received. Different protocols used by agent platforms for the inter-platform communication are mentioned: Java RMI (Remote Method Invocation) for JADE and FIPA-OS, TCP/IP for ZEUS and and UDP for JACK. Some of the tests, especially in the case of 100 agents, were not successfully completed mainly because of communication errors or errors connected with the creation of agents. These cases are marked by a special symbol.
3.2
Memory Requirements Benchmark
This issue is mainly interesting for deploying agents on small devices like mobile phones or personal digital assistants (PDAs) which can have only a few megabytes of memory available. This issue is also important for running thousands of agents on the one computer at the same time. Approximate memory requirements per agent can be seen on figure 11.
212
D. Šišlák et al.
Fig. 11. Approximate memory requirements per agent
4
Simulation
Features of the platform were verified on the simulation of identification/removal of mines situated in given area using a group of autonomous robots. This simulation was developed within the Naval Automation and Information Management Technology (NAIMT) project. This software simulation of real-life hardware robots was required to enable scalability experiments and efficient development and verification of embedded decision making algorithms. The goal of the group of robots is to search the whole area, detect and remove all mines located there. To allow mine removal a video transmission path must be established between the base (operated by human crew that gives the robot a permission to remove the mine) and the robot who has found the mine. Typically, relying via the other robots is necessary, because the video transmission range is limited (e.g. wi-fi connection or acoustic modems in underwater environment). Figure 12 shows an example of robots transmitting a video to base. In this scenario two types of communication accessibility are included: High bandwidth accessibility, necessary for video transmissions, is limited. Signaling accessibility, used for coordination messages and position information, is currently assumed to be perfect. All robots in the simulation are autonomous and cooperative. Their dedicated components (coordinators) negotiate in peer-to-peer manner when preparing the transmission path. ES agent and GIS services are utilized during this phase to inform the robot about others within its video transmission range. Each robot consists of several components, implemented as agents running within one agent container: Robot Pod simulator, computing robot moves and updating its position with GIS server via GIS service. Mine Detector simulator, providing the decision making components with information about found mines. Video data acquisition and transmission element. This subsystem creates the data feed form the source provided by the simulation and prepares transmission path by remotely spawning one-use transmission agents along the path. Video is then transmitted as a stream of binary encoded messages. Robot Coordinator implementing search algorithm, transmission coalition establishment and negotiation.
Agent Platform with Inaccessibility and Mobility Support
213
Fig. 12. Relayed communication (link between the robot and base through 3 relays)
5
Acknowledgement
Authors wish to express acknowledgement to Rockwell Automation Research Center in Prague for mutually beneficial cooperation in the platform evaluation process. agent platform was developed within the project “Inaccessibility in Multi-Agent Systems” (contract no.: FA8655-02-M-4057). The NAIMT deployment has been supported in part by ONR project no.: N00014-03-1-0292.
6
Conclusion
agent platform supports communication inaccessibility, agent migration and deployment on remote containers. These features make well suited platform for simulation and implementation of physically distributed agent systems with applications ranging from mobile robotics to environmental surveillance by sensor networks. was designed as stream line lightweight platform which will operate on classical (PC) as well as mobile devices (PDA). As can be seen, has the best results in all message sending speed benchmarks (table 2) from all selected agent platforms. In comparison with its main competitors, JADE and FIPA-OS, the is at least two times faster than JADE and six times faster than FIPA-OS. has not any communication errors. Also in memory benchmark (figure 11) has one of the smallest memory requirement per agent.
214
D. Šišlák et al.
References 1.
2. 3. 4. 5.
6. 7.
8.
9. 10. 11.
Šišlák, D., Rehák, M., Lažanský, J., Inaccessibility in multi-agent systems. final report to Air Force Research Laboratory AFRL/EORD research contract (FA8655-02-M-4057). (2004) FIPA: Foundation for intelligent physical agents. http://www.fipa.org, 2004 FIPA-ACL: Fipa agent communication language overview. Foundation for Intelligent Physical Agents, http://www.fipa.org/specs/fipa00037 (2000) JAXB: JAVA API for XML Binding. http://java.sun.com/xml/jaxb (2004) Vrba, P.: Java-based agent platform evaluation. In McFarlane, and Valckenaers, editors, Holonic and Multi-Agent Systems for Manufacturing. Number 2744 in LNAI, Springer-Verlag, Heidelberg (2003) 47–58. JADE: Java Agent Development Framework. http://jade.tilab.com (2004) Bellifemine, F., Rimassa, G., Poggi, A.: Jade - a fipa-compliant agent framework. In Proceedings of 4th International Conference on the Practical Applications of Intelligent Agents and Multi-Agent Technology, London (1999) Poslad, S., Buckle, P., Hadingham, R.: The fipa-os agent platform: open source for open standards. In Proceedings of 5th International Conference on the Practical Applications of Intelligent Agents and Multi-Agent Technology, Manchester (2000) 355–368 Nwana, H., Ndumu, D., Lee, L., Collis, J.: Zeus: A tool-kit for building distributed multi-agent systems. Applied Artificial Intelligence Journal 13 (1999) 129–186 Fletcher, M., Designing an integrated holonic scheduler with jack. In Multi-Agent Systems and Applications II., Manchaster, Springer-Verlag, Berlin (2002) A-Globe. A-Globe Agent Platform. http://agents.felk.cvut.cz/aglobe (2004)
Supply Chain Management Using Multi-agent System Keonsoo Lee1, Wonil Kim2, and Minkoo Kim3 1
Graduate School of Information and Communication, Ajou University, Suwon, Kyonggido 442-749, Republic of Korea 2 College of Electronics and Information Engineering, Sejong University Seoul, 143-747, Republic of Korea 3 College of Information & Computer Engineering, Ajou University, Suwon, Kyonggido 442-749, Republic of Korea {lks7256, minkoo}@ajou.ac.kr, [email protected]
Abstract. Supply Chain Management is a concept that assumes a business as a chain of inter-connected entities of commercial activities [24]. Therefore, the objective of Supply Chain Management is reducing inventory, lead times and cost at each link under the given constraints. In this paper, we propose a cooperation model for Supply Chain Management using Multi-Agent System. This model constructs a relevant supply chain through iterated matchmaking process. The matchmaking process makes connection between service provider and service requestor for each link of the supply chain [23]. The effective supply chain can be made when each link of the supply chain is connected properly. In order to make a proper connection for each link, this proposed model uses multi-agent system as foundation architecture and uses clustering, rule-based system and neural networks as matching method. With this model, we can make optimum chain connection from the procurement to the customer.
1 Introduction Today E-Commerce is a familiar technology. This technology has changed the industrial models of customer acquisition, procurement, pricing, and customer satisfaction as well as the measure of a corporation’s performance [25]. Customers want to buy products anytime, anywhere cheaply and quickly. Supply Chain Management (SCM) is a strategy that recognizes the cost and service improvements to be gained by viewing the supply chain as a whole process from initial supplier to final customer [24]. The supply chain generally consists of five elements; procurement, manufacturing, distribution, retail, consuming. By reducing inventory, lead times and cost at each link between elements that have requesting-providing relationship, the supply chain can provide the benefit of SCM to the all constituents. This work was performed as a part of National Research Laboratory on KISTEP (M10302000087-03J0000-04400). 2 Author for Correspondence, +82-2-3408-3795. M. Klusch et al. (Eds.): CIA 2004, LNAI 3191, pp. 215–225, 2004. © Springer-Verlag Berlin Heidelberg 2004
216
K. Lee et al.
The construction process of supply chain is not an easy task. A proper connection for each link should guarantee the gratification of each side on that link. In the retailconsuming link, a proper connection should ensure the best profit to the retailer, and satisfy the customer’s desire with low price, fast delivery, and good quality of product. The supply chain has four links such as procurement-manufacturing, manufacturingdistribution, distribution-retail and retail-consuming. Since each of this process is independent and the whole process is complex, a Multi-Agent System (MAS) can be a suitable solution [1]. MAS is the most widely known solution for distributed problem solving. In this paper, we propose a cooperation model for SCM which is based on MAS. This model constructs an optimum supply chain by finding the best connection requesting and providing relation for each link. In order to find the most suitable connection, the MAS used the matchmaking method that employs clustering algorithm, rule-based system and neural networks.
2 Related Research 2.1 Multi-agent System The multi-agent system is composed of several agents and can achieve complicated goal through the cooperation with other agents. Each agent cannot archive the goal alone. Therefore, the collaboration is the core process of the multi-agent system [8]. In order to composite a team for a given task, several methods were suggested. They were Task sharing, Result sharing, and Distributed Planning. These methods are categorized by what data agents communicate with one another. Task sharing is a method of distributing tasks to other agents when a particular agent has many tasks to do. When the tasks are dependent, each agent needs to know the other agent’s progress. Therefore by sharing result, agents can improve group performance. Distributed Planning is a method of solving problem through designed plans. According to where the plan is designed and how the plan is executed, this method is considered as centralized planning for distributed plans, distributed planning for centralized plans or distributed planning for distributed plans. With these methods, the multi-agent system can achieve even a complex goal with simple task agents.
2.2 Matching Method The core of matching is extracting the feature of request and then finding objects whose features are the closest with the similarity of the extracted feature and the objects. The object that has the highest similarity value is regarded as the most suitable one. In this paper, we employed three methods such as clustering, rule-based system and neural networks. Clustering is a technique of grouping the elements with similar features. It clusters the element according to its distance to the each cluster’s centroid. In x-means, it is not necessary to define the number of clusters. In this paper, we used the x-means clustering algorithm. Rule-based system uses a predefined rule set to find the relation and similarity among objects. Each rule consists of a pair of a condition
Supply Chain Management Using Multi-agent System
217
and execution. When condition is satisfied, the execution is performed. With relevant pre-defined rules, it can perform the intended action at a specific situation. Neural networks consist of simple processors [16]. These processors are connected to one another, and the weight of each connection is changed through the learning process. With neural networks, we can perform the match for the situation where no clear set of logical rules can be given. In this paper, neural networks and rule-based system are employed for complementary cooperation.
3 Multi-agent System for Supply Chain Management Kasbah [3], MGAMA[21], and Jango[11] are the examples of multi-agent applications for E-Commerce. Kasbah realizes the marketplace by creating buying and selling agents for each good to be purchased or sold respectively. Commercial transactions then take place by the interactions of these agents. MGAMA is a prototype of an agent-based marketplace architecture developed by the University of Minnesota. Jango is a personal shopping assistant that is able to research on-line stores for product availability and price information. The object of matching is to recommend a proper item and to find the most suitable seller for the buyer. Lee at al [23] had developed as a matchmaking model, is shown in Fig. 1. In this model, one middle agent and three task agents are employed. The middle agent is MatchMaker that reorganizes the orders and matches the seller and buyer. Three task agents are Buyer Agent, Supplier Agent and Item Agent. The Buyer Agent suggests the list of suitable items to a buyer according to the buyer’s profile and sends the order to the MatchMaker. The Supplier Agent manages the registered seller’s profile and responds to the MatchMaker’ s request. The Item Agent manages the profiles of the items that registered as the attribute of each seller’s profile, and responds to the Buyer Agent’s request. This model is employed as base matching architecture in this paper.
Fig. 1. MatchMaking Model
218
K. Lee et al.
4 Proposed Cooperation Model The general supply chain is formed as procurement – manufacturer – distributor – retailer – customer. Therefore, it needs to have four connections such as procurement – manufacturer, manufacturer – distributor, distributor – retailer and retailer – customer. The proposed model is focused on suitable matching between service requester and provider on each link. The optimal supply chain can be constructed thorough continuity of proper connections.
4.1 Abstraction of Model This model is performed with four roles and one role selector. The actual roles of constructing supply chain are Broker Agent, Service Provider Agent, Service Request Agent and Assist Agent. Agent Selector as role selector assigns the each role to agents for each link in supply chain. The abstraction of this model is shown in Fig. 2.
Fig. 2. Abstraction of Model
This model constructs supply chain by making proper connection from procurement to customer. In order to perform this function, Agent Selector chooses suitable agents for each role at each link in the supply chain. Broker Agent is core role of matching service provider and service requester. When the Service Request Agent asks, the Broker Agent finds the most suitable service provider from the Service Provider Agent with the assistance from the Assist Agent. In order to make proper connection between service requester and service provider Broker Agent uses matching method described in Chapter 4.4. Service Provider agent manages the service providers’ profile, and clusters the objects. When the Broker Agent asks the provider list for the given request, this agent finds the cluster whose centroid is the most simi-
Supply Chain Management Using Multi-agent System
219
lar to the given request. Service Request Agent manages the service requesters’ profile, and reacts to the intention of the service requester. It sends the Broker Agent the requester’s profile and the order form. When the Broker Agent selects the service provider for the request, this agent makes connection to that provider. Assist Agent is a role of supporting served object on each link. For each link in the supply chain, the servable objects are different and the Service Request Agent generates a different request message. Therefore, the Assist Agent (1)manages the servable objects, (2)fetches the object list from the Service Provider Agent, (3)assists the Service Request Agent to generate possible request, and (4)offers the information of requested object to the Broker Agent.
4.2 Types of Agent There are 8 agents for the whole supply chain management system. They are Material Agent, Item Agent, Material Supplier Agent, Manufacturer Agent, Distributor Agent, Retailer Agent, Buyer Agent and MatchMaker. Material Agent manages the material objects list. This agent clusters material source and its provider list. It can be assigned as assist agent role. Item Agent manages the item list. It can be assigned as assist agent role. Material Supplier Agent manages the profiles of material suppliers. It can be assigned as service provider agent role. Manufacturer Agent manages the profiles of manufacturers. It can be assigned as both service provider and service request agent role. Distributor Agent manages the profiles of distributors. It can be assigned as service provider and service request agent role. Retailer Agent manages the profiles of retailers. It can be assigned as service provider and service request agent role. Buyer Agent manages the profiles of buyers. It can be assigned as service provider and service request agent role. MatchMaker makes the connection between the service requester and service provider. As there are four links in the supply chain, this agent has four modules for matching process. Each module is specified to each link. It can be assigned as broker agent role. The profiles of each agent with its attributes are shown in Table 1.
4.3 Chain Connection In this model, the full supply chain is not constructed whenever the request occurs. For example, when the buyer wants to buy an item, the full supply chain is not necessary.
220
K. Lee et al.
The part of supply chain that is related to buyer is all that needed. Therefore, we limited the construction of supply chain according to the request. When the Manufacturer Agent wants to build a supply chain, The Agent Selector assigns (1) Broker Agent role to the MatchMaker, (2) Service Request Agent role to the Manufacturer Agent, (3) Service Provider Agent role to the Distributor Agent, and (4) Assist Agent role to the Item Agent. Then, the Broker Agent finds the most suitable distributor for that manufacturer. The connections between manufacturer- procurement, manufacturer-distributor, distributor-retailer and retailer-buyer are constructed by this way. The full supply chain is constructed when the Manufacturer Agent requests for connection. However, when the Retailer Agent requests for connection, neither the links between manufacturerprocurement nor manufacturer-distributor will be established. Therefore this model constructs supply chain partially according to the type of agent that asks to build. Table 2 shows the list of constructed connection according to the agent type.
4.4 Methods of Matching In order to make proper connection, we combined three methods such as clustering, rule-based system and neural networks. Each agent clusters its resources for efficient matching. When the Broker Agent tries to find the suitable provider for the request, it retrieves the candidates that are in the proper cluster. In this model, x-means clustering algorithm is employed. In order to construct the suitable connection for each link, rule-based system and neural network are employed. The neural network selects the proper cluster from the Service Provider Agent. Then, rule-based system finds the most suitable provider from the selected cluster. The neural network is trained by back-propagation. This neural network has request profile as input and classifies it into the centroid of each cluster. After selecting the cluster, the most suitable service provider is retrieved from the cluster using pre-defined rules. The connection on each link is verified at two aspects. First, whether the neural network can select a suitable cluster and the rule-based system can find the most suitable object for the request? Second, is the set of connections on each link can perform as a good supply chain? The simulation discusses these aspects in the next chapter.
Supply Chain Management Using Multi-agent System
221
5 Simulation of the Proposed Model We assumed that the desired supply chain is for computer industry. The material items are 7 categories such as CPU, RAM, MainBoard, LAN, Sound, Video card and HDD. There are 5 materials for each category. There are three material suppliers for each material item. There are 5 manufacturers and each has 10 productive lines. We employed 5 distributors and 10 retailers. The number of the final customers is 100. The profiles of each object are randomly generated. The supply chains constructed by this model are categorized to four cases. The first case is when the manufacture makes an order, the full supply chain (material suppliermanufacturer-distributor-retailer-buyer) is constructed. In this simulation, 7 material suppliers are connected to manufacturer, since 7 materials are needed for manufacturer to make a product. Then the connection between manufacturer and distributor is made. The most suitable distributor who can satisfy the manufacturer’s demand is selected. With the selected distributor’s profile, the retailers who can accept the distributor’s service are selected. The each retailer’s expected buyers are retrieved. Through theses process, the manufacture finds the proper material suppliers for each material and the suitable distributor. Then the manufacturer forecasts which retailer will sell its item and how many customers have the intention of purchasing the item. Fig 3 shows the supply chain made by the request of a manufacturer. The partial results of each step in the construction in Fig.3 are shown in Table 3. The structures of the neural networks that are used for making connection in each step in Table 3 are shown in Table 4.
Fig 3. The Supply Chains generated by this Model
In Table 3, when the selected cluster has one element, the rule-based system, which is used for choosing the most suitable one from the cluster, does not participate
222
K. Lee et al.
in the process. This is the case of Link1 and Link2 in Table 3. In Link3, since the selected cluster (Cluster1) has three candidates (Retailer1, Retailer3, Retailer7), the system retrieves the most suitable retailer for Distributor4 using rule-based system. The profiles of Distributor4 and retailers in Cluster1 are shown in Table 5. The request order is made through interaction with the service requestor of constructing supply chain. In this case, as the requestor is a manufacturer, the particular request order is described in Table 5.
Supply Chain Management Using Multi-agent System
223
According to the profile of a distributor and retailers in selected cluster, the rulebased process is performed. In this example, the Retailer1 can fulfill the order with 30,510 with delivery cost 2,500. The Retailer3 can fulfill the order with 34,920 with delivery cost 1,700. The Retailer7 can fulfill the order with 31,350 with delivery cost 1,400. As the wishing price of the order, the requestor will not pay more than 33,000 Therefore, the Retailer3 is omitted. As the priority of attributes in request order is not mentioned, the advantages of each attribute that the retailer providers are treated equally. The Retailer1 accomplishes the order with satisfied price and high delivery cost. The Retailer7 accomplishes the order with satisfied price and low delivery cost. Therefore, in this case, Retailer7 is retrieved as the suitable service provider for the Distributor4.
The second case is when the distributor makes an order. In this case, manufacturerdistributor-retailer-buyer supply chain is made. The third case is when the retailer makes an order. In this case, distributor-retailer-buyer supply chain is made. The process of making connection between the participants is the same as the first case. The forth case is when the buyer makes an order. In this case, the retailer who can provide the buyer’s desired item with good condition are selected. This process is called matchmaking seller for the buyer [23]
6 Conclusion The proposed model generates the proper chain as the request occurs. The supply chain consists of relevant connections between service requester and provider. In full supply chain, this model provides the proper relations from the procurement to the customer. In partial supply chain, this model can be used for recommending products or sellers that can satisfy the buyer’s request. The simulation shows that this model is capable of assisting the decision making for choosing the suitable partners and managing relations of partners.
224
K. Lee et al.
References 1. P. Stone and M. Veloso, “Multiagent Systems: A Survey from a Machine Learing Perspective” Under review for journal publication February, 1997 2. N. Sadeh, “MASCOT : An Agent Architecture for Multi Level Mixed Initiative Supply Chain Coordination” Internal Report, Intelligent Coordination and Logistics Laboratory, Carnegie Mellon University, 1996 3. A. Chavez and P. Maes. Kasbah: An agent marketplace for buying and selling goods. In Proceedings of the first International Conference on the Practical Application of Intelligent Agent and Multi-Agent Technology(PAAM-96), London, UK, 1996 pp75-90 4. K. Lee, W. Kim and M. Kim “Decision making using Topological Information” 7th World Multiconference on Systemics, Cybernetics and Informatics 5. F.M.T.Brazier, D.G.A. Mobach, B.J.Overeinder, and N.J.E. Wijngaards “Supporting Life Cycle Coordination in Open Agent Systems” IIDS Group, Department of Artificial Intelligence, Faculty of Sciences, Vrije Universiteit Amsterdam. 6. K. E. Lachbaum, B. J. Grosz and C. L. Sidner “Model of Plans to Support Communication” Havard University Cambridge, MA 02138 7. Roberto A. Flores-Mendez, “Towards the Standardization of Multi-Agent System Architecture: An Overview” In ACM Crossroads, special issue on Intelligent Agent, Association for Computer Machinery, Issues5.4, pp. 18-24, Summer 1999 8. H. J. Levesque, P. R. Cohen, and J. H. T. Nunes. “On acting together” Technical report, AI center, SRI International, 1990 9. B. Grosz and S. Kraus. “Collaborative plans for complex group action” Artificial Intelli gence, 86(2):269-357. 1996 10. Virdhagriswaran S, Osisek, and O’Connor P. “Standardizing Agent Technology” ACM StandardView, 1995, Volumn 3, Number 3, pages 96-101 11. R, Doorenbos, O. Etzini, and D. Weld, A scaleable comparison-shopping agent for the world wide web. In Proceedings of the First International Conference on Autonomous Agents(IJCAI-97), Nagoya, Japan 1997 12. Bradshaw, J.M., Butfield, S., Benoit, P. and Woolley, J. D. “KAoS: Toward An Industrial Strength Open Agent Architecture” Software Agents, J. M. Bradshaw(Ed.), Menlo Park, Calif, AAAI Press, 1997, pages 375-418. 13. White, J. E. “Mobile Agents” Software Agents, J. M. Bradshaw (Ed.), Menlo Park, Calif, AAAI Press, 1997, pages 437-472. 14. ftp://ftp.sas.com/pub/neural/FAQ.html, last accessed 2003-12-07 15. http://www.cs.stir.ac.uk/~lss/NNIntro/InvSlides.html, last accessed 2003-12-07 16. K.Mehrotra, C. K. Mohan and S. Ranka “Element of Artificial Neural Network” A bradford Book, The MIT Press Cambridge, Massachusetts, London England 17. http://ihelpyou.netian.com/frm_scm.htm, last accessed 2003-12-07 18. http://www.magenta-corp.com/e_comm.htm, last accessed 2003-12-07 19. http://pattie.www.media.mit.edu/people/pattie/ECOM/sld001.htm, last accessed 2003-1207 20. http://pattie.www.media.mit.edu/people/pattie/ECOM/tsld038.htm, last accessed 2003-1207 21. Maksim Tsverovaryy, Maria Gini, Bamshad mobasher and Zbigniew Wiechowski “MAGMA : An Agent-Based Virtual market for Electronic Commerce” 1997 in http://citeseer.nj.nec.com, last accessed 2003-07-05 22. Richardo Baeza-Yates, Berthier Ribeiro-Neto “Modern Information Retrieval” ACM Press Addison-Wesley, 1999
Supply Chain Management Using Multi-agent System
225
23. K. Lee, W. Kim and M. Kim “Matchmaking buyer and seller model using Multi-agent system” 6th Pacific Rim International Workshop on Multi-Agents page.69-80 24. http://pom.knu.ac.kr/korean/SCM/1/scm.htm, last assessed 2003-12-07 25. http://www.supply-chain.org/ last accessed 2003-12-07
An Agent Simulation Model for the Québec Forest Supply Chain Thierry Moyaux1, Brahim Chaib-draa1, and Sophie D’Amours2 1
Université Laval - FOR@C & DAM AS, Pavilion Pouliot Département d’Informatique et de Génie Logiciel Québec City G1K 7P4 (Québec, Canada) {moyaux, chaib}@iad.ift.ulaval.ca http://damas.ift.ulaval.ca 2
Université Laval - FOR@C, Pavilion Pouliot Département de Génie Mécanique Québec City G1K 7P4 (Québec, Canada) [email protected] http://www.forac.ulaval.ca
Abstract. A supply chain is a network of companies producing and distributing products to end-consumers. The Québec Wood Supply Game (QWSG) is a board game designed to teach supply chain dynamics. The QWSG provides the agent model for every company in our simulation. The goal of this paper is to introduce this simulation model. For this purpose, we first outline the QWSG, and then describe with mathematical equations each company in our simulation. Finally, three examples illustrate the use of our simulation to study collaboration in supply chains. More precisely, we study incentives for collaboration at both the supply chain and company level.
1
Introduction
Sterman (1989)’s Beer Game is a board-game designed to teach supply chain dynamics, and in particular, a problem called the bullwhip effect which is the amplification of order variability in supply chains (a supply chain is the network of companies producing and distributing products to end-customers). The Québec Wood Supply Game (QWSG) is an adaptation of the Beer Game to the Québec forest industry. Precisely, the QWSG has a diverging material flow structure, while the Beer Game has a straight one. This diverging flow begins at the output of the Sawmill, because this company has two clients, while all other companies only have one client, as illustrated by Figure 1. This diverging flow forces us to adapt the standard company model for the Sawmill. In fact, all companies have the same model as in the Beer Game, except the Sawmill which is modelled as two subcompanies sharing some parts, e.g., incoming transport. The QWSG is introduced in Section 2. Kimbrough et al. (2002) replace human players by intelligent agents in the Beer Game. This modelization approach is interesting, because intelligent agents M. Klusch et al. (Eds.): CIA 2004, LNAI 3191, pp. 226–241, 2004. © Springer-Verlag Berlin Heidelberg 2004
An Agent Simulation Model for the Québec Forest Supply Chain
227
Fig. 1. Model of forest supply chain in the Québec Wood Supply Game
and human players/real companies share several properties, such as their autonomy, their reactive and proactive behaviours and their social ability (based on Wooldridge (2001)’s definition of an agent). We have a similar approach, except that we use the supply chain structure of the QWSG. We use the QWSG in order to replace human players by intelligent agents. Our goal is to study how local decisions taken by companies, impact global supply chain behaviour. Precisely, we give each company-agent a specific behaviour represented by its ordering scheme, and the simulation shows how this behaviour impacts the supply chain. In particular, companies can use ordering schemes which support information sharing, i.e., companies can collaborate in their ordering process. The notations, the model used for each company in the QWSG, and how to adapt this model to the Sawmill are presented in Section 3. The Beer Game and the QWSG share a common method for cost evaluation. This is based on inventory holding and on backorder costs (backorders are incurred by stockouts, i.e., negative inventoy levels, and represent products that have to be shipped as soon as possible). We have adapted these costs to represent costs of a real Québec supply chain. Each company’s method of cost calculation is presented in Section 4. Finally, three research questions related to collaboration in supply chains illustrate this paper. The first question deals with the validation of a coordination mechanism improving the overall efficiency of the supply chain. The second question focusses on the Sawmill’s incentive to behave according to either its own welfare, or overall supply chain welfare. Finally, in the third question, the use of Game Theory allows to extend the second question to every company. These three illustrations are presented in Section 5.
2
The Québec Wood Supply Game (QWSG)
Two board-games, called “Wood Supply Games”, based on the structure and dynamics of Sterman (1989)’s Beer Game, were developped by Fjeld (2001) and Haartveit and Fjeld (2002). These games are an exercise that simulates the
228
T. Moyaux et al.
material and information flows in a production-distribution system, and were designed to make human players aware of the bullwhip effect. They illustrate the complex dynamics at the level of the supply chain, while each company has a simple model. Compared to the classic Beer Game that has been used to study supply chain dynamics, the Wood Supply Games introduce divergent product flows to increase its relevance to the North European forest sector. According to Fjeld (2001), such bifurcation represents the broad variety of products (paper, books, paperboard boxes, furniture, buildings...) manufactured from a few types of raw materials (wood). Our team, FOR@C (2003), has adapted this game for the Québec forest sector; we use this version, which is displayed in Figure 1. The main difference between the original and our Québec Wood Supply Game is in the length of the lumber and paper chain which is either the same (Fjeld’s game) or different (our game), which corresponds to differences between Québec and Northern European wood industries. Figure 1 shows how six players (human or software agents) play the QWSG. The game is played by turns: each turn represents a week in reality and is played in five steps; these five steps are played in parallel by each player. In the first step, players receive their inventory (these products were sent two weeks earlier by their supplier, because there is a two-week shipping delay) and advance shipping delays between suppliers and their customers. Then in the second step, players look at their incoming orders and try to fill them. If they have backorders, they try to fill those as well. If they do not have enough inventory, they ship as much as they can, and add the rest to their backorders. In the third step, players record their inventory or backorders. In the fourth step, players advance the order slips. In the last step, players place an order to their supplier(s), and record this order. To decide the amount to order, players compare their incoming orders with their inventory/backorder level (in our simulation, company-agent only evaluate an order scheme in a reactive way). The correct decision that would reduce the bullwhip effect has to be taken here. Finally, a new week begins with a new step 1, and so on. Each position is played in the same way, except the Sawmill: this position receives two orders (one from the Lumber Wholesaler, another from the PulpMill) that have to be aggregated when placing an order to the Forest. The Sawmill can evaluate its order by basing it on the lumber demand or on the paper demand. In other words, the bifurcation in the supply chain makes the decision making harder by the PulpMill. Moreover, the Sawmill receives one type of product and each unit of this product generates two units: a lumber and a paper unit. That is, each incoming unit is split in two: one piece goes to the LumberSawmill’s inventory, the other goes to the PaperSawmill’s. In our simulation, we add information sharing to the QWSG, as suggested by (Lee et al., 1997; Moyaux et al., 2003). Precisely, orders are explicit vectors instead of a unique number where O and are hidden. In particular, O may be used to transmit the market consumption and other company requirements (in our case, the fluctuation of inventory levels). Therefore, orders are an information-based coordination mechanism (Boutilier, 1996; Wooldridge, 2001). We now present our simulation model.
An Agent Simulation Model for the Québec Forest Supply Chain
3 3.1
229
Simulation Model Based on the QWSG Notations
In order to share market demand, orders may have up to two dimensions, called O and as proposed in (Moyaux et al., 2003). O placed in week by company is noted and the corresponding is noted The way to calculate these two quantities depends on the company-agent’s behaviour, that is, on its ordering scheme. The other variables used in our simulation are: company outgoing Transport in week company outgoing Transport in week corresp. to current O. company outgoing Transport in week corresp. to current and backordered O. company outgoing Transport in corresp. to backordered company incoming Transport in week company Inventory in week company Placed Orders X in week company outgoing Orders O in week company incoming Orders O in week company backordered O in week company sent in week company outgoing in week company incoming in week company backordered in week lumber market consumption in Week paper market consumption in Week Figure 2 presents some of (but not all) the relations between variables. We now further present these relations.
3.2
Company Model
The equations presented in this subsection hold for each company (except Sawmill that is described at the end of this subsection) using any ordering scheme. In fact,
Fig. 2. Some relations between variables
230
T. Moyaux et al.
here, we present the “mechanical” part of the QWSG, but the decision process will be presented in Section 5. As illustrated in Figure 2, an order is placed in Week by a client This order is put in Week in to represent a first week of ordering delay. To represent the second week of delay, this order is received by supplier in Week in This order reception decreases supplier’s inventory I in the same week, because products are shipped in Too and and thus in To. In the next week, these shipped products are put in Week in client’s Ti to represent a first week of shipping delay. To model the second week of shipping delay, these products are put in client’s inventory in Week Therefore, to implement a two-week delay in information transmission and in transportation, order and transport variables are doubled, which explains the existence of pairs and The simulation begins in Week and ends in In this section, for simplifying equations, represents a retailer (any of both retailers) and is supplier, such as is a wholesaler, even if this is not compatible with Figure 1. Therefore, denotes retailer’s demand, that is, the market consumption or but and in the rest of this paper. Relations between variables that do not depend on the used ordering scheme are the same as in (Moyaux et al., 2003, 2004; Moyaux, 2004). represents products sent to its client by company in week To make the calculation of this quantity easy, it is divided into three parts such as represents products that are first sent to fulfill the current order (or the quantity of products the company is able to ship when inventory and incoming transports are not enough), as reflected by Equation 1. Then, company ships the quantity of products to reduce its backorders (Equation 2). Finally, when orders are fulfilled and there is no backorder left, products are sent to reduce backordered called (Equation 3).
An Agent Simulation Model for the Québec Forest Supply Chain
231
Backorders correspond to products needed by clients, but that cannot currently be shipped. Their role is to represent products that should have been shipped in the past or in the current week, and that have to be shipped as soon as possible. Like orders, backorders are represented by two variables: in Equation 4 represents backorders created by unfulfilled O, and in Equation 5 backorders created by unfulfilled
Incoming transport is supplier
last week outgoing transport:
Inventory level is previous inventory level plus inputs minus outputs:
Figure 2 shows how orders are delayed between a client and its supplier Each order is placed in goes next in to simulate the first week of delay, and is finally put in supplier’s to simulate the second week of delay. This explains why incoming order is the last week client outgoing transport (Equations 8 and 9).
232
T. Moyaux et al.
Figure 2 also explains how
and
are setup in Equations 10 and 11.
Every company is setup in the same way, except the SawMill which has to process two types of products: lumber and paper. As a consequence, some parts of this company are doubled to manage this particularity. Specifically, we use the pairs of variables and In addition, some additional variables and handle the interface between these pairs of variables and the Sawmill’s supplier. and are unique. In fact, we operate as if there were a LumberSawMill and a PaperSawMill having the same product input (each subcompany of the Sawmill receives what is in the incoming transport because one unit of wood coming from the Forest provides one unit of lumber and one unit of paper). Then, the rest of the LumberSawMill is distinct from the PaperSawMill. In particular, the LumberSawmill would like to place orders while the PaperSawmill prefers The design of the ordering schemes managing the variables are outined in Section 5. We also compare in Subsection 5.2 four methods to aggregate and into Before that, we present how costs in the QWSG are made realistic.
4
Cost Evaluation
Here, we adapt cost parameters from the Québec industry to the cost function in the QWSG. Precisely, the calculation of company cost is adapted from the QWSG method, in which it is the sum of company inventory plus two times the sum of its backorders during the whole simulation: This QWSG cost is the base that is next translated into real cost. First, one of two conversion factors is applied: (i) translates units in the QWSG into lumber quantity measured in Mpmp (i.e., one thousand pmp -in French “pied mesure planche”- where 1 pmp is a 1 inch × 1 foot × 1 foot piece of wood), and (ii) translates simulated units into quantity of paper measured in tma (i.e., one anhydrous metric ton, which represents between 2.5 and depending on the type of wood). Secondly, we consider a lumber market consumption of 70,000 Mpmp/year, and a paper market consumption of 63,000 tma/year, because the Sawmill has a transformation ratio of
An Agent Simulation Model for the Québec Forest Supply Chain
233
0.9 tma / Mpmp1. Therefore, we use and For example, if for all Week (we call “Step” this market consumption pattern), and thus and where units are the products simulated in the QWSG. Thirdly, we use sell prices to convert these quantities into Canadian dollars (CAD) by applying the prices and (paper has two prices, because the PulpMill transforms it and thus increases its value). These parameters come from the Conseil de l’Industrie Forestière du Québec (2004)’s Pribec2. Finally, we apply a ratio of 37% representing logistic costs according to Nahmias (1997). This leads to costs in Equations 12, 13, 14, 15, 16 and 17.
1
2
This also represents a input of of wood coining from the Forest, because there is a transformation ratio of but we do not use this information in our simulation. I thank Martin Cloutier (CRIQ -Québec Industrial Research Center- and Master’s student in FOR@C (2003)) who kindly gave to me these parameters.
234
5
T. Moyaux et al.
Study of Collaboration
The three following subsections illustrate how this simulation model and the previous method of cost evaluation can be used to study both the efficiency increase of the overall supply chain which is due to collaboration, and company’s individual incentive for collaboration. The first subsection deals with the choice of a common ordering scheme for all companies, in which collaboration with information sharing should improve the supply chain efficiency. We call this type of supply chain “homogeneous”, in which every company applies the same ordering scheme. The second subsection focusses on the case of the Sawmill, which is the only company having two clients to satisfy. Here, the question is if the Sawmill should act for itself, or for the whole supply chain efficiency. Conversely to the two first subsections, the third subsection no longer assumes that the supply chain is homogeneous. Precisely, companies are allowed to use different ordering schemes, and concepts from Game Theory are adapted to our simulation model to find the ordering scheme each company prefers to use. Thus, we address a similar question than in the second subsection, but we extend it to the whole supply chain, instead of the single Sawmill. The question in Subsection 5.3 can also be stated as: “do companies prefer collaboration or selfish behaviour?”
5.1
Study of Decentralized Coordination Mechanisms
Our simulation first allows us to study the dynamics in a whole supply chain when this supply chain is homogeneous, that is, where all companies use the same ordering scheme. The goal here is to understand which ordering scheme produces an efficient supply chain. Precisely, we propose in (Moyaux et al., 2003) two ordering schemes, called B and D, for reducing the bullwhip effect, i.e., for improving the overall supply chain efficiency, where orders are vectors instead of a single number X. The use of this vector allows companies to share information in order to collaborate. In this case, collaboration aims at improving the supply chain efficiency by reducing the bullwhip effect. However, we do not insist in this paper how this reduction is obtained, Moyaux et al. (2003, 2004) detail this point. We only note that companies have to share information, i.e., they have to collaborate by agreeing to perform this sharing. Since our two Schemes B and D are compared with A and C, from which they are derived to show why and how to share demand information (Moyaux et al., 2003), we now present these four schemes. Let us mention that B and D use orders, and C and D use information centralization: Scheme A does not use (Equations 18). Orders are placed with A such as to keep a steady inventory, except that negative orders (i.e., order cancellations) are forbidden (Equation 19).
An Agent Simulation Model for the Québec Forest Supply Chain
235
Scheme B is the first ordering scheme proposed to reduce the bullwhip effect with orders. Incoming O, which is the market consumption when all clients use Schemes B or D, is transmitted to the client (see Equation 20):
Next, company requirements are added to incoming and this sum is sent as to the supplier (see Equation 21). is an estimation of the inventory decrease caused by the variation of which is caused by the market consumption variation, is chosen such as the inventory eventually stabilizes on its initial level when market consumption is again steady after a variation. We take (see Moyaux (2004)’s thesis for details).
The two next ordering schemes apply information centralization, in which retailers multicast the market consumption to the whole supply chain. Information sharing with information centralization is much quicker than information sharing with orders, because market consumption transmitted in O is as slow as orders, while information centralization is assumed to be instantaneous and in real-time. Scheme C does not use as reflected by Equation 22.
Next, C is similar to A, except that information centralization is used, like in D. Remember that and depending on whether the considered company works with lumber or paper. Therefore, in Equation 19 is replaced by when the retailer agrees to multi-cast market consumption, else, by when the retailer disagrees to multi-cast, but the wholesaler agrees, ... else, by when no companies multicasts its incoming orders. We call the first company agreeing to multi-cast its incoming orders in Equation 23:
Scheme D is very similar to Scheme B. The difference is in the way to choose O and it is based on market consumption when information centralization is achieved by the retailer, else they are based on the wholesaler’s incoming order when the retailer does not multi-cast his incoming order but the wholesaler does... else the company uses its own incoming order when none of its clients multi-cast its incoming orders. Like in Scheme C, refers to the first company agreeing to multi-cast its incoming orders (Equation 24):
In the same way, in Equation 21 is replaced by Company incoming order, i.e., by the market consumption when the retailer agrees to multi-cast
236
T. Moyaux et al.
it. We explain in Moyaux (2004)’s thesis that we have to take companies, except for retailers that have (Equation 25):
for every
The initial conditions are for every company and for every ordering scheme. As previously stated, the demand Step indicates that market consumption in the QWSG is eleven products per week in the four first weeks, and then seventeen products until the end of the simulation for and for Since the bullwhip effect is the order variability, it is measured in Table 1 as the standard deviation of orders placed by companies. In this Table, the number is the standard deviation of orders placed by Company according to Figure 1, e.g., the PulpMill places orders with a standard deviation of 4.5 under Ordering Scheme D. Table 1 also presents individual costs, as introduced in Section 4, with the format e.g., the PaperRetailer has a cost with D. The lowest values in Table 1 are underlined. For example, C = 148, 173 k$ with Scheme D is underlined, because it is lower than C = 730, 291 k$ incurred by A, and than C = 202,107 k$ incurred by B, and than C = 460,001 k$ incurred by C. We can see that D has the best results for the whole supply chain, and also for every company. Let us recall that D is the highest level of collaboration, because it applies an improved form of collaboration called “information centralization”. Our paper (Moyaux et al., 2004) extends these results for eighteen other market consumption patterns and under three other ordering schemes. We only recall the results in Table 1 to illustrate the possible uses of our simulation to study collaboration in supply chains. On the contrary, the next subsection presents unpublished results. We now question whether the Sawmill could change the way it places orders, in order to reduce its individual cost
5.2
The Case of the Sawmill
We have seen that the Sawmill is modelled as two subcompanies called LumberSawmill and PaperSawmill. Each subscompany is similar to other companies
An Agent Simulation Model for the Québec Forest Supply Chain
237
in the QWSG, except that it shares some elements with the other subcompany. This particularity of the Sawmill is required by the diverging material flow simulated in the QWSG. In addition to the questions related to company behaviour that are outlined in the previous subsection, another issue appears here. The LumberSawmill would like to place orders while the PaperSawmill prefers These two different orders are chosen according to the same scheme A, B, C or D as the rest of the supply chain (homogeneous supply chain). The question is how to aggregate these two orders so as to place only one order Four aggregation methods are studied: 1.
was used in Subsection 5.1. Its results are thus in Table 1. 2.
is applied in (Moyaux et al., 2003, 2004) to avoid backorders by the Sawmill, because this company orders at least (and often more than) what it needs. The incurred results are presented in Table 2. that is, the Sawmill assumes lum3. ber is far much important for itself than paper. The standard deviation of placed orders and the costs are presented in Table 3. that is, the Sawmill assumes paper is 4. far much important for itself than lumber. The incurred results are presented in Table 4. The lowest in bold. For example,
and
between Tables 1, 2, 3 and 4 are written in Table 1 with Scheme C is bold,
238
T. Moyaux et al.
because it is lower than in Table 2, than in Table 3, and than in Table 4. We can note that the Sawmill sometimes prefers an aggregation method which is best for itself, but not for the whole supply chain, i.e., for a given ordering scheme, written bold is not in the same table than written bold. In particular, when every company uses Scheme D, the Sawmill chooses the third aggregation method in Table 3, because it has the lowest cost While the rest of the supply chain would rather that the Sawmill uses the fourth aggregation method in Table 4, because the supply chain incurs cost (which is lower than in Table 3). This opposition between individual cost and overall supply chain cost is extended to the whole supply chain in Subsection 5.3.
5.3
Analysis of Agents’ Incentives for Collaboration
In the two previous subsections, the supply chain was homogeneous. We relax this assumption now by allowing each company to choose an ordering scheme among three. The first two schemes are B and D. The third one is an implementation of the policy, which is classic in Inventory Management (Nahmias, 1997).: Scheme A” is an ordering policy that does not use orders. Therefore, incoming orders are fulfilled by shipping items to the client as actual orders, as is done with all ordering rules, but no are placed (Equation 26).
Each week, the company checks if inventory is lower than When this occurs, the company orders products to fill its inventory up to S (see Equation 27). We show in (Moyaux, 2004)’s thesis that taking and is optimal under two assumptions that are not met in our simulations: company demand is steady, and the company’s supplier is an infinite source of products that never incurs backorders. We discuss in Moyaux (2004)’thesis the reason why it is very hard to relax these two assumptions.
An Agent Simulation Model for the Québec Forest Supply Chain
239
The question studied here is to know if companies prefer either not collaborating by using A”, or partially collaborating by using B, or fully collaborating with D. In other words, is a company sacrificing itself for the welfare of the rest of the supply chain? It if this situation occurs, companies preferring collaboration would have to give money to this company, in order to incitate it to collaborate. In this case, the money transfer would have to be quantified. This kind of questions concerning agents’ preference is adressed with our simulation by carrying out many simulations. Specifically, there are simulations because we simulate six companies having each three different available ordering schemes, as reflected by Algorithm 1 (we can note here that a combinatorial explosion arises when companies are added). Precisely, all companies use the first scheme in the first simulation, next all companies use the first scheme, except a company using the second scheme..., and finally, all companies use the third scheme in the simulation. After each simulation, we note the individual cost for each company. The methodology to carry out all these simulations is outlined in Algorith 1. We have also included an optimization of the parameters of the ordering schemes, but we do not present that for the sake of simplicity.
Each simulation produces a set of costs Therefore, each simulation produces a set to fill one of the entries of a game in the normal form, according to Game Theory. The game built with these outcomes is next analyzed by Gambit 0.97.05. Gambit is a free software from the Gambit Project (2003), and is licensed under the Free Software Foundation (2004)’s GNU General Public License for analyzing games according to Game Theory principles. The result of the analysis of this game are as follows:
240
T. Moyaux et al.
The minimum of overall supply chain cost C is incurred when every company uses D. This means that using D is the best solution for the overall supply chain, as stated in Subsection 5.1. Conversely, to Subsection 5.1, it could have ocurred, for example, that cost C is minimum when a part of the supply chain uses D, and the other part B. This is not the case: the homogeneous supply chain is the best solution here from a global point of view. There is only one Nash equilibrium, which ocurs when every company uses D. This means that no companies has an incentive to deviate unilaterally from D. If we consider these two results together, we see that full collaboration of the whole supply chain is both the best choice for the overall supply chain, and for each company in this supply chain. In fact, if one company unilaterally stops using D, i.e., if it stops fully collaborating, it increases its costs because it leaves a Nash equilibrium.
6
Conclusion
This paper has presented the QWSG which is a board-game designed to teach supply chain dynamics. This game provides an agent modelisation of each company in a supply chain. We implemented this game and equations describing each company are presented in this paper. Next, we show how we adapt costs from the Québec forest industry to our simulation. Finally, three examples illustrate some possible uses of this simulation. The first example compares two collaboration-based ordering schemes with two other schemes. We verify here that collaboration is advantageous for the overall supply chain. Nevertheless, collaboration could still be disadvantageous for one company. We first establish that choices taken by a particular company in our simulation, the Sawmill, may be good for the whole supply chain, while it is bad for this company, or the contrary. Similarly, we extend this kind of question to every company. Here, we use Game Theory to check that the problem experienced by the Sawmill does not arise with every company. Precisely, companies can choose one of three levels of collaboration (no collaboration, partial collaboration and full collaboration). In this context, the only Nash equilibrium is when every company fully collaborates. In addition, this equilibrium also incurs the lowest overall supply chain cost. As a consequence, companies should fully collaborate.
References Boutilier, C. (1996). Planning, learning and coordination in multiagent decision processes. In Theoretical aspects of rationality and knowledge, pages 195–201. Conseil de l’Industrie Forestière du Québec (2004). Web site, http://www.cifq.qc.ca/ (accessed 16 February 2004). Fjeld, D. E. (2001). The wood supply game as an educational application for simulating dynamics in the forest sector. In K. Sjostrom and L.-O. Rask, editors, Supply Chain Management for Paper and Timber Industries, pages 241–251, Växjö (Sweden).
An Agent Simulation Model for the Québec Forest Supply Chain
241
FOR@C (2003). Web site of the Research Consortium in e-business in the forest products industry (Université Laval, Québec City, Québec, Canada. http://www.forac.ulaval.ca, (accessed 15 September 2003). Free Software Foundation (2004). Web site, http://www.gnu.org (accessed 18 february 2004). Gambit Project (2003). Gambit: Software tools for game theory, version 0.97.0.4. http://econweb.tamu.edu/gambit/ (accessed 16 October 2003). Haartveit, E. Y. and Fjeld, D. E. (2002). Experimenting with industrial dynamics in the forest sector - A Beer Game application. In Symposium on Systems and Models in Forestry, Punta de Tralca (Chile). Kimbrough, S. O., Wu, D., and Zhong, F. (2002). Computers play the Beer Game: Can artificial agents manage supply chains? Decision Support Systems, 33(3), 323–333. Lee, H. L., Padmanabhan, V., and Whang, S. (1997). The bullwhip effect in supply chain. Sloan Management Review, 38(3), 93–102. Moyaux, T. (2004). Multi-Agent Simulation and Analysis of Collaborative Strategies in the Québec Forest Supply Chain. Ph. D thesis, Université Laval (Québec City, Québec, Canada), forthcoming. Moyaux, T., Chaib-draa, B., and D’Amours, S. (2003). Multi-agent coordination based on tokens: Reduction of the bullwhip effect in a forest supply chain. In Proceedings of the 2nd int. joint conf. on Autonomous Agents and MultiAgent Systems (AAMAS), Melbourne (Victoria, Australia). Moyaux, T., Chaib-draa, B., and D’Amours, S. (2004). The impact of information sharing on the efficiency of an ordering approach in reducing the bullwhip effect. Systems, Man, and Cybernetics. submitted. Nahmias, S. (1997). Production and Operations Analysis. The McGraw-Hill Companies, Inc., edition. Sterman, J. D. (1989). Modeling managerial behavior: Misperceptions of feedback in a dynamic decision making experiment. Management Science, 35(3), 321–339. Wooldridge, M. (2001). An Introduction to Multi-Agent Systems. John Wiley & Sons, Inc. New York, NY, USA.
Performance Analysis of Multiagent Industrial System Zofia Kruczkiewicz, and Jan Magott Institute of Engineering Cybernetics, Wroclaw University of Technology
Abstract. Multiagent industrial system for monitoring and control of electrical power distribution is analyzed in the paper. The main goals of the multiagent system are to produce the set of hypotheses as a diagnosis of the state of the industrial system after faults have occurred and to prepare the restoration plan to return the system to a steady state. This system is combined from four types of agents. Co-operation between agents of the system is expressed by FIPA interaction protocol diagram. In the paper, the emphasis is put on performance evaluation, which is mainly based on system dynamics. In FIPA, the most extensive models of dynamics are statecharts. Performance statecharts are such statecharts that are extended by probability distributions of activity duration times, deterministic termination times, and probability distributions for solving non-determinism. Performance analysis of the industrial system using performance statecharts is carried over in the paper. The performance statecharts of described multiagent system (MAS) is characterized by the following statistical performance metrics: the probability of creation of an accepted restoration plan pr and the mean alarm reaction time t_mn. These metrics will be used in simulation experiments in tuning of values of agent maximal times of waiting for messages in order to optimize the values of the metrics.
1 Introduction Most industrial automation systems are based on the SCADA (Supervisory Control and Data Acquisition) model. In this model, a central master station periodically acquires information from a number of Remote Terminal Units. A disadvantage of the SCADA is that it creates a centralized solution to distributed system. Different processes in distributed systems can often be modeled as autonomous distributed processes, called agents, with known goals. When specifying requirements imposed on distributed systems, one needs to specify not only requirements upon individual agents but also the requirements imposed on interaction between agents. In order to get better values of performance metrics for MAS, these systems include agents of different types. There are agents with: complete functionality (Fat Agents) and limited functionality (Thin Agent), mobile agents that migrate through a net. Additionally, there is the hierarchical MAS with different agents at different hierarchy levels. An appropriate MAS organization can reduce communicating complexity from quadratic to linear. Multi-agent industrial system for monitoring and control of electrical power distribution is analyzed in the paper. Structure and behavior of the system is based on papers [3], [8], [9], [10]. The system considered in the paper is combined from four M. Klusch et al. (Eds.): CIA 2004, LNAI 3191, pp. 242–256, 2004. © Springer-Verlag Berlin Heidelberg 2004
Performance Analysis of Multiagent Industrial System
243
types of agents running on four different machines. The first one is called Control System Interface Agent (CSI). The CSI is combined from two components: CSI-D and CSI-R. The CSI-D detects occurrences of disturbances and it is responsible for preprocessing the alarm messages, which show how the state of the components has changed over a period. The CSI-R detects and corrects inconsistencies in the snapshot file, which provide a comprehensive picture of the current state of all components in the network and the CSI-R computes the current power flowing. The Black-out Area Identifier agent (BAI) has to identify which elements of the network are initially out of service and uses this information to isolate the region of the fault occurrence. The Alarm Analysis Agent (AAA) is an expert system used to detect and analyze disturbances on the level of breakers and relays. It generates a fault hypothesis and identifies malfunctioning equipment. The Service Restoration Agent (SRA) generates a restoration plan after a breakdown taking into account the damaged equipment. Agents work concurrently and exchange messages. The parallel activation of tasks increases the efficiency of the MAS. This MAS is robust because it has the multiple agents that are able to provide the same overlapping results. Reliability is increased because the MAS can produce the alternative result. When specifying requirements imposed on the system one needs to define constraints imposed on particular agents and on co-operation between the agents. Cooperation between the agents of the multiagent industrial system is expressed by FIPA Interaction Protocol diagram. FIPA [6] (Foundation for Intelligent Physical Agents) supports specification and development of multi-agent oriented software. In literature [4], [5] performance evaluation of the following multi-agent systems (MASs): ZEUS, JADE, Skeleton Agents, ACORN, IBM, Aglets, Concordia, Voyager is presented. When new MAS is designed, then according to performance engineering of software systems [13], performance requirements have to be considered at each phase of life cycle. Hence, performance models are required. Performance evaluation is mainly based on system dynamics. In FIPA, the most extensive models of dynamics are statecharts. Performance statechart (PS) is such an extension of FIPA statechart that contains probability distributions of activity duration times and discrete probability distribution for solving such non-determinism that transitions from the state to different states can occur. In paper [1], performance evaluation of multiagent information retrieval system with the following type of agents: Manager, Bidder, and Searcher using PSs have been studied. In paper [2] performance evaluation of multiagent personalized information system combined from four types of agents: Assistant, Searcher, Co-ordinator, and Learning collecting information about users profiles, has been examined. In the above two papers similarly as in present paper, performance evaluation has been used in tuning of values of agent termination times (maximal times of waiting for messages) in order to optimize the system performance. The main goal of our paper is to analyze the performance of the industrial system for monitoring and control of electrical power distribution with emphasis put on interaction between agents. Performance analysis of the system is done by simulation experiments with system models expressed in PSs. The described MAS is characterized by the following statistical performance metrics: the probability of creation of an
244
et al.
accepted restoration plan pr and the mean alarm reaction time t_mn. These metrics will be used in simulation experiments for tuning of values of agent termination times in order to optimize the values of the metrics. The organization of the paper is as follows. In section 2, analyzed multiagents industrial system is described. In next section, its performance model is discussed. In the section 4, performance parameters and metrics of the examined MAS are defined. In the section 5, results of simulation experiments with the system are given. Then conclusions are presented.
2 Multiagent Industrial System In Fig. 1, a FIPA protocol diagram of the system is shown. A full description of the protocol diagrams is given in the FIPA specification [6].
Fig. 1. The-user-defined interaction protocol diagram, named industrial-net
Performance Analysis of Multiagent Industrial System
245
In Fig. 3 the performance statecharts of the AAA and in Fig. 4 the performance statecharts of the BAI, mapped from this protocol diagram, are shown. In protocol shown in Fig. 1, the CSI as the type of the Fat Agent acts as the application’s front end to the control system computers. The CSI acquires and distributes network data to the other agents. Its task is to interface to the conventional management system application programs, and to monitor the restoration process to detect any deviations. The CSI detects the occurrence of disturbances and preprocesses the alarm messages, which are used by the AAA as the expert system and by the BAI. The CSI also detects and corrects inconsistencies in the snapshot data file of the network, calculates the power flowing through it and makes this information available to the SRA. When an agent sends the message to another agent, it can wait for the response until the time interval named the termination time (TT) has elapsed. The TTs are used in order to bound times of waiting for messages. During the normal working condition, every 20 seconds the CSI sends the inform-ofsnapshot-20s message of snapshots, which provide the comprehensive picture of the current state of the all components in the network to the BAI. The BAI tests how the state of the components has changed over a period. When the changes occur without message of alarm, the BAI sends the inform-of-blackout-area message to the AAA. The content of this message could help constrain the search of the faulty equipment after the faults have occurred in case of significant changes of this information. When the CSI has received the message of warning (the warning message) from the system, which testifies a possibility of faults occurrence, the CSI sends the information of pre disturbance (the inform-of-pre-disturbance message) to the SRA. The SRA initializes the restoration plan to return the network to a steady state and starts the timer for the TT ts1. In a moment, when the system has identified the faults, it sends the information of alarm (the alarm message) to the CSI, which represents ±5 seconds accuracy. In most interesting cases, this information of alarm is incomplete or erroneous but the cooperation between the AAA and the BAI makes the overall system more robust and reliable. The CSI sends the information of alarm (the informof-alarm message) to the AAA and the BAI, and the CSI starts the timer for the TT tc1. The AAA starts to prepare the diagnosis, which include a preliminary set of hypotheses and starts the timer for the TT ta1. During this time, the BAI would have started its skill for modification information about the blackout area, which includes information of the topology of automatically isolated faulty equipment by the network’s protective relays and breakers. The AAA is interested in this information, so it sends the request for the blackout area (the request-for-blackout-area message) to the BAI. The BAI sends information of the blackout area (the inform-of-blackout-area message) to the AAA in following cases: it sends the actual blackout of area in applicable time or sends the last blackout area if it would not make it. At once the BAI starts the timer for the TT tb1. Then the BAI ends collaboration with agents in following cases: it has received the inform-of-cancelled-alarm message from the CSI or the TT tb1 has elapsed. The AAA uses the information from the inform-of-blackout-area message to provide producing the detailed diagnosis with the precise causes of faults because the BAI has given a focused view of the state of the equipment, when it
246
et al.
makes the blackout area from information of alarm. In this case, when the BAI has sent the last blackout area or if it has been too slow, the AAA produces less reliable diagnosis. If the AAA has not received the inform-of-blackout-area message before the TT ta1 has elapsed, it does not finish the producing diagnosis and breaks the cooperation with the BAI and the SRA. Immediately the AAA starts the timer for the TT ta2. Then the AAA ends collaboration with agents in following cases: it has received the inform-of-cancelled-alarm message from the CSI or the TT ta2 has elapsed. In opposite case the AAA has finished its diagnosis and it has sent information of faults (the inform-of-faults message) to the SRA and the CSI. The SRA waits until the AAA has informed it of the element suspected of being faulty by sending the inform-of-faults message and then continues to prepare a restoration plan. Then the SRA sends the restoration plan to the CSI as the inform-of-plan message. If the SRA does not receive the inform-of-faults message before the TT ts1 has elapsed, it does not continue to prepare the plan, starts the timer for the TT ts2 and ends the collaboration with agents in following cases: it has received the informof-cancelled-alarm message from the CSI or the TT ts2 has elapsed. After the CSI has sent the inform-of pre-disturbance message to the SRA, the inform-of alarm message to the AAA and to the BAI and it has started the timer for the TT tc1, it returns to the next task in four cases. The first and second cases are following: the CSI has received the inform-of-faults message or the TT tc1 has elapsed and the CSI immediately has started the timer for the TT tc2. Then it has received the inform-of-plan message before the TT tc2 has elapsed. In these cases the CSI has checked the received restoration plan and has accepted or rejected it – all agents have finished the task with specified plan quality or without success. The third and forth cases are following: the CSI has received the inform-of-faults message or the TT tc1 has elapsed. The CSI has started the timer for the TT tc2 and then the TT tc2 has elapsed. The CSI has sent the inform-of-cancelled-alarm messages to the SRA, BAI in following cases: the CSI has not received the restoration plan and the TT tc2 has elapsed and the CSI has taken the standard restoration plan or the CSI has not received the restoration plan and it has received the cancel-alarm message from the system. These messages generate the trigger events of the transitions (see the Fig. 2), which have occurred before the last TTs have elapsed (ta2, ts2, tb2) – MAS has finished the task without success. Reliability is increased because even if one of the agents breaks down the CSI can produce the standard restoration plan which, although not as good as the one provide by all agents, is useful for the industrial system.
3 Performance Model of Analyzed Multiagent Systems Now we will present the performance model of the system expressed by Performance Statecharts (PSs) [1]. The examined multiagent system contains AND type state with substates, representing the AAA, the BAI, the SRA and the CSI. All agents are located at servers connected by local area network (LAN). In next parts we will usually omit the symbol of the time unit (second). The example of label of the arc of the AAA PS is shown in Fig. 2.
Performance Analysis of Multiagent Industrial System
247
Fig. 2. The example of label a6 of arc of the AAA PS (Fig. 3)
Description of Performance Statecharts of Examined MAS In Figs. 3 and 4, the PSs of the AAA and the BAI are shown. The names of messages in transition labels are shortened in a way that only first letters of the words are taken, adding the addressee symbol, e.g., the i_o_a_a name stands for the inform-of-alarm message (i_o_a) sent to the AAA (_a). All labels of the arcs include the probability distribution defined time delays of opening of the arc op equal to zero and priority of arcs ptr equal to 1 besides two exceptions. In the first case, the uniform distribution over the interval [0, 0.3) models the time delay of opening of the arc p1 (Fig. 4) and in the second case, the uniform distribution over the interval [0, 0.6) models the time delay of opening of arc a6 (Fig. 3). The i_o_b_a_a message, (the inform-of-blackout-area message), which is sent from the BAI (the i_o_b_a_a delayed internal event de from b2) to the AAA does not change the state Idle_a of the PS for the AAA – only the a1 transition is made. The i_o_b_a_a message has a parameter qual_b that models the quality of the recognition of blackout area provided by the BAI. The parameter is now being stored in akt_qual_a variable. After the AAA has received the i_o_a_a message(the inform-ofalarm message) as te from the CSI, it makes the transition a2, starts the timer for the TT ta1with t_a_l as de and transits to the state Prepare_a, where it is starting diagnosis process. Then the AAA makes the transition a3 and immediately it is sending the r_f_b_a_b message (the request-for-blackout-area message) as de to the BAI (the
248
et al.
trigger event of b4 or b5). After receiving the i_o_b_a_a message (the inform-ofblackout-area message) as te from BAI (the delayed internal event de i_o_b_a_a from the b4 or b5), which includes information about approximate location of faults (the blackout area), the AAA makes transition a5 and improves diagnosis process in the state Process_a. Again, the message has the parameter of quality qual_b, which is copied to the variable akt_qual_a.
Fig. 3. The performance model of the AAA
Preparation of diagnosis, contained in the i_o_f_s, i_o_f_c messages, lasts the time expressed by the uniform distribution over the interval [0, 0.6). This random variable models the opening delay time op of the arc a6 and the AAA makes transition a6, during it has sent the i_o_f_s message to the SRA (the inform-of-faults message) as de and the i_o_f_c message to the CSI (the inform-of-faults message) as de and transits to the Idle-a state. Quality of diagnosis is expressed by the value of the variable akt_qual_a (the action of transition a6), which is the product of the previously stored value and the triangle distribution over the interval [0, 1) and the maximum in 1 second. It is assumed that the quality of diagnosis provided by the AAA cannot be greater than the quality of information about approximate location of faults. The reasons of low quality of this information are: the incomplete or erroneous information, unreliable cooperation between the parts of the industrial system. Summing it all up
Performance Analysis of Multiagent Industrial System
249
where qual_b is the quality of information about approximate location of faults (the blackout area), received from the BAI and RE(triangle[0, 1, 1]) is realization of random variable with triangle distribution with mean value equal to 2/3. Therefore, the quality of diagnosis provided by the AAA cannot be greater than the quality of information about approximate location of faults. Additionally, when the AAA is transiting from the state Idle_a to the state Prepare_a, it starts the timer for the TT ta1 with t_a_l as de. If the i_o_b_a_a message has not be received before the TT ta1 has be elapsed, it generates the trigger event t_a_l of the transition a4 and the AAA transits to the state Wait_a starting the timer for the TT ta2 as the delayed event t_a_2. In this state, the alarm expressed by the i_o_a_a message (transition a2) can be cancelled by the i_o_c_a_a message, received from the CSI (the inform-of-cancelled-alarm message). This message generates the trigger event te of transition a8 and the AAA transits to the Idle_a state. If the message does not come before the TT ta2 elapses, the alarm is cancelled anyway. The elapsing of the TT ta2 generates the trigger event t_a_2 of the transition a7 and the AAA transits to the Idle_a state. The BAI works out the approximate location of faults in the Prepare_b state, either as the response to the i_o_s_20_b message received from the CSI (the inform-of snapshot-20s message) as te which makes the transition b1 or to the r_f_b_a_b messages received from the AAA (the request-of-blackout-area message) as te which makes the transition b4 or to the i_o_a_b message received from the CSI (the informof-alarm message) as de which makes the transition b3. The i_o_s_20_b message is the trigger event of the transition b1, where the predicate chng = range (0, 1) <= 0.1 is the guard condition chng of the transition b2 that is equal to true with probability 0.1 and equal to false with probability 0.9. Therefore, the chng indicates possibility of sending the i_o_b_a_a message as de to the AAA with probability 0.1, when the BAI makes the transition b2. When the transition b3 occurs, the BAI transits to the Proc_b state, where it works out the approximate location of faults. It bases on information taken from i_o_s_20_b and i_o_a_b messages. The processing takes the uniformly distributed random variable of time over the interval [0, 0.3) denoted by range (0, 0.3). This random variable models the op delay time of opening the arc p1. The r_f_b_a_b message received from the AAA occurs in two states: the Preapare_b or Proc_b state and the r_f_b_a_b message makes the transition b4 or b5 as te. The quality of the approximation qual_b, sent in the i_o_b_a_a message as de during the transition b4 or b5, depends on time. This is modeled by linear equation (the action of the transition b4 or b5)
where b_rate1 = 0.9, b_rate2 = 0.95, time() is the actual time and ts_b is the time of getting information for estimated the blackout area from the i_o_s_20_b message (the action of the transition b1) or from the i_o_a_b message (te of the transition b3), which has been processed in the state Proc_b (the action of the transition p1). When the transition b4 occurs, the qual_b is calculated with ts_b from b1 or if b5 occurs,
250
et al.
the qual_b is calculated with ts_b from p1. The longer time period from the receiving of the i_o_s_20_b or of the i_o_a_b message, information becomes less accurate, because if the value (time() - ts_b) grows then the value of qual_b decreases in linear way. The value 20 is equal to time distance between two subsequent i_o_s_20_b messages sent by the CSI.
Fig. 4. The performance model of the BAI
When the transition b4 or b5 occurs, the BAI transits to the Wait_b state, starting the timer tb1with t_b_l as de. When the TT tb1 generates the trigger event te t_b_l, the transition b6 occurs or when the BAI receives the i_o_c_a_b message from the CSI (the inform-of-cancelled-alarm message) as te, it makes transition b7. After one of these transitions, the BAI transits to the Prepare_b state. We do not present the PSs for the SRA and the CSI. Only the most important facts are described for these two agents. The SRA prepares the restoration plan and sends it as the inform-of-plan message. The quality of the plan is supposed to be equal to the quality akt_qual_a of the diagnosis received by the SRA in the inform-of-faults message from the AAA, which depends on the value of the quality of recognition of blackout area qual_b received from the BAI by the AAA. The CSI receives this plan and accepts it with the probability equal to the quality akt_qual_a of the plan. The case when the CSI does not receive the plan before the TTs tc1 and tc2 have elapsed or the received restoration plan has not been accepted is counted as a rejection of the plan.
Performance Analysis of Multiagent Industrial System
251
4 Performance Parameters and Metrics of Examined MAS The following performance parameters, described below, are used to calculate the performance metrics in simulation experiments. The basic performance parameters are transmission times of all messages between the agents, expressed by exponential distribution with parameter Therefore, the mean value of random variable of message transmission time is equal to 0.1 second. The reason of value is that the transmission time of LAN is about 100 megabits per second and the average size of the message is about 1 megabyte. The interval between the warning message and the information-of-alarm message is expressed by random variable with uniform distribution over the interval [0, 5), because although these messages relate to the same physical operations, the warning message received by the CSI represents the ±5 seconds accuracy, while the information-of-alarm message received by the BAI and the AAA are precise. Therefore, the mean time of this random variable is equal to 2.5. The time of the diagnosis preparation has been supposed to be expressed by random variable with uniform distribution over the interval [0, 0.6) because of the significant computational complexity. Therefore, the mean value of this random variable is equal to 0.3.
Now the termination times (TTs) will be described (Tab. 1). When the AAA receives the inform-of-alarm message (i_o_a_a), it starts the timer for the TT ta1 and then it sends request-for-blackout-area (r_f_b_a_b). The AAA can wait for informof-blackout-area message (i_o_b_a_a) no more than ta1 = 0.6. When the time is exceeded, the AAA starts the timer for the TT ta2 and waits for the inform-ofcanceled-alarm message (i_o_c_a_a), but no more then ta2 = 0.9. The BAI sending the inform-of-blackout-area message (i_o_b_a_a), starts the timer for the TT tb1 and then waits for the inform-of-canceled-alarm message (i_o_c_a_b), but no more then tb1 = 3. The SRA after receiving the inform-of-pre-disturbance message starts the timer for the TT ts1. The TT starts for waiting for the inform-of-faults message and is equal to ts1 = 6. If the message is not on time, the timer for the TT ts2 is started and the SRA waits for the inform-of-canceled-alarm message, but no more then ts2 = 1. The CSI starts the timer for the TT tc1 when it is sending the inform-of-alarm messages. Then it waits no more then tc1 = 1 for the inform-of-faults or the inform-ofplan messages. If the inform-of-plan message is received, the received plan is checked and accepted or rejected. If the TT tc1 has elapsed or the inform-of-faults message has been received by the CSI then the timer for the TT tc2 is started and the
252
et al.
CSI starts to wait for the inform-of-plan message or passing the time tc2 = 1.3. Only the first case leads to possibly accepting the plan. The described MAS is characterized by the following statistical performance metrics: the probability of creation of an accepted restoration plan pr and the mean alarm reaction time t_mn. These metrics will be used in simulation experiments for tuning of values of agent TTs in order to optimize the values of the metrics. The alarm reaction time is a time of reaction on the inform-of alarm message. The mean alarm reaction time t_mn metric is indicated by the time interval from sending the inform-of-alarm message by the CSI to one of the following events: receiving the plan in the inform-of-plan message by the CSI from the SRA or the TT tc2 has elapsed or the CSI has sent the inform-of-cancelled-alarm message to all agents. The plan would be accepted or rejected in the manner described in previous section or the CSI has not received the inform-of-plan message before the TT tc2 has elapsed. The alarm reaction time is equal to the length of the time interval between the time instant when the CSI has sent the first inform-of-alarm message and the time instant of the moment when the CSI received the restorationplan in the inform-of-plan message from the SRA or the TTs have elapsed or the CSI has sent the inform-of-cancelled-alarm message to all agents:
The mean alarm reaction time t_mn is equal to:
where is the estimate of the random variable x obtained from the sample S. The probability of creation of an accepted restoration plan pr
is equal to the quality of the plan, received by the CSI in the inform-of-plan message from the SRA. It is supposed that this decision lasts the time equal to zero. The quality of the restoration plan is supposed to be equal to the quality of the diagnosis received by the SRA in the inform-of-faults message from the AAA. Quality of the diagnosis provided by the AAA is expressed by the value of the variable akt_qual_a, which is the product of the previously stored value and the triangle distribution over the interval [0, 1) with the maximum in 1. Summing it all up
where qual_b is the quality of information about approximate location of faults, received in the inform-of-blackout-area message from the BAI and RE(triangle(0, 1, 1)) is realization of random variable with triangle distribution with mean value equal to 2/3. Therefore, the quality of diagnosis provided by the AAA cannot be greater than the quality of information about approximate location of faults, received in the inform-of-blackout-area message.
Performance Analysis of Multiagent Industrial System
253
5 Results of Experiments Now we present results of simulation experiments for the probability pr of creation of an accepted restoration plan and the mean alarm reaction time t_mn, described in section 3.2. These experiments can be used for tuning of values of agent TTs in order to optimize performance metrics. First, we analyze cooperation between the AAA and the BAI (Fig. 5). The all TTs have constant values (Tab. 1) besides the TT ta1. The timer for the TT ta1 is started immediately after the AAA has received the inform-of-alarm message. This TT defines the maximal period during that the AAA is waiting for the inform-of–blackoutarea message from the BAI. At Fig. 5 pr and t_mn are changing in very small degree for The request-for-blackout-area message is transmitted from the AAA to the BAI in time with mean value equal to 0.1 because times of transmissions between each pair of agents has been supposed to be expressed by exponential random variable with parameter The BAI is preparing the inform-of–blackout-area message, and transmits it in time with mean value equal to 0.1.
Fig. 5. The probability pr of creation of an accepted restoration plan and the mean alarm reaction time t_mn as a function of termination time ta1
Sum of mean values for the above two transmission times is equal to 0.2. This value is smaller than ta1 = 0.5 but we have to remember that the probability that both transmission times are greater than the mean values is significant. If the value ta1 is decreasing then the pr is decreasing because often it is not sufficient to prepare reliable information about blackout area. When the value ta1 is smaller then the AAA have no sufficient time to prepare the inform-of-faults message. If the SRA does not receive the inform-of-faults message, it does not prepare the plan and the CSI does not receive the plan. In the above case, usually the TTs ta1, ts1, tc1, and tc2 elapse. Therefore, the mean alarm reaction time t_mn is greater for smaller values ta1. At Fig. 6, for pr and t_mn are changing in very small degree. The all TTs have constant values (Tab. 1) besides the TT ts1. The main reason that ts1 is so large when comparing with other TTs is that interval between the warning message and the information-of-alarm message has been supposed to be expressed by random variable with uniform distribution over the interval [0, 5). In this case similar analysis as for Fig. 5 can be carried over, taking into account that the time of the diagnosis prepara-
254
et al.
tion has been supposed to be expressed by random variable with uniform distribution over the interval [0, 0.6).
Fig. 6. The probability pr of creation of an accepted restoration plan and the mean alarm reaction time t_mn as a function of termination time ts1
For Fig. 7 we have different situation when comparing with Figures 5, 6. The all TTs have constant values (Tab. 1) besides the TT tc1. For greater tc1, the CSI is waiting a longer time for the inform-of-faults message. Hence, both pr and t_mn are greater for greater value tc1.
Fig. 7. The probability pr of creation of an accepted restoration plan and the mean alarm reaction time t_mn as a function of termination time tc1
6 Conclusions Performance analysis of multiagent industrial system has been done. Performance models of agents are expressed by performance statecharts. The following aspects: computational activity times, message transmission times, quality of diagnosis, quality of restoration plan, have been expressed in the PSs. The following performance metrics: the probability of creation of an accepted restoration plan pr and the mean alarm reaction time t_mn have been examined by simulation experiments. These
Performance Analysis of Multiagent Industrial System
255
experiments can be used for tuning of values of agent termination times in order to optimize the performance metrics. Tuning of termination times as presented in the paper can be applied to the other MASs, e.g., systems located in wide area network (WAN), information systems [1], [2], real-time control systems. An alternative way to build the statecharts is applying Dooley graphs that are used for representation of agent conversations [11]. Dooley graphs contain similar information as FIPA interaction protocol diagrams. These graphs have been used to build the finite state automata [12] or statecharts [7], [14], that model the agent behavior.
References 1.
2.
3.
4.
5.
6. 7.
8. 9. 10. 11.
12. 13.
Z. Kruczkiewicz, J. Magott, Performance Evaluation of Multiagent Information Retrieval System, Foundations of Computing and Decision Sciences, Vol. 29, No. 1-2 (2004) 7-23 Z. Kruczkiewicz, J. Magott, Performance Evaluation of Multiagent Personalized Information System, in: Proc. of the 7th Int. Conf. on Artificial Intelligence and Soft Computing 2004, Lecture Notes in Computer Science-LNAI, Springer-Verlag (2004) 810-815 F.M.T Brazier, B. Dunin-Keplicz, N. Jennings and J. Treur, Modelling Distributed Industrial Processes in a Multi-Agent Framework, in: O’Hare, G.M.P. and Kirn, S. (eds.), The Intelligent Organisation-The Coordination Perspective, Springer-Verlag (1996) D. Camacho, R. Aler, C. Castro, J.M. Molina, Performance Evaluation of Zeus, Jade and Skeleton Agent Frameworks, IEEE Int. Conf. on Systems, Man, and Cybernetics 2002, SMC 2002, October (2002) Hammamet, Tunisia M. Dikaiakos, M. Kyriakou, G. Samaras, Performance Evaluation of Mobile-agent Middleware: A Hierarchical Approach, in: Proc. of the 5th IEEE Int. Conf. on Mobile Agents, J.P. Picco (ed.), Lecture Notes in Computer Science series, Vol. 2240, Springer, December (2001) 244-259 FIPA system documentation, http://www.fipa.org/specs/ M.N. Huhns, L .M. Stephens, and N. Ivezic, Automating Supply-Chain Management, in: Proc. of the 1th Int. Joint Conf. on Autonomous Agents and MultiAgent Systems (AAMAS), ACM Press, July (2002) 1017-1024 N. R. Jennings, Controlling Cooperative Problem Solving in Industrial Multi-agent Systems Using Joint Intentions, Artificial Intelligence, Vol. 75 (1995) 195-240 N.R. Jennings, J.M. Corera, I. Laresgoiti, Developing Industrial Multi-Agent Systems, in Proc. of the 1st Int. Conf. on Multi-Agent Systems, ICMAS ’95, San Francisco, USA, 423-430 H.J. Mueller. Towards Agent System Engineering, Data and Knowledge Engineering, Vol. 23 (1997) 217-245 H.V.D. Parunak, Visualizing Agent Conversations, Using Enhanced Dooley Graphs for Agent Design and Analysis, in: Proc. of the 2th Int. Conf. on Multi-Agent Systems, ICMAS’96, http://www.erim.org/~vparunak/dooldesn.pdf M.P. Singh, Developing Formal Specifications to Coordinate Heterogeneous Autonomous agents, IEEE Computer Society, Paris (1998) C. U. Smith, Performance Engineering of Software Systems, Addison-Wesley (1990)
256
et al.
14. F. Wan, M.P. Singh, Commitments and Causality for Multiagent Design, in: Proc. of the 2th Int. Joint Conf. on Autonomous Agents and Multiagent Systems, AAMAS 2003, http://www.csc.ncsu.edu/faculty/mpsingh/papers/mas/aamas-03-causality.pdf
The RoleX Environment for Multi-agent Cooperation Giacomo Cabri, Luca Ferrari, and Letizia Leonardi Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia Via Vignolese, 905 – 41100 Modena – ITALY {cabri.giacomo,
ferrari.luca,
leonardi.letizia}@unimo.it
Abstract. In this paper we present the RoleX environment for multi-agent systems. Born to support the management of role-based interactions, Rolex provides different services, in particular to support open and flexible cooperation. To this purpose, RoleX exploits an event-based communication mechanism and adopts SOAP as message encoding. Such features make RoleX well suit dynamic and unpredictable scenarios such as the Internet.
1 Introduction Cooperation in multi-agent application requires an appropriate support for the interaction occurring between agents. BRAIN [10] is a role-based framework for supporting the development of interactions in multi-agent applications. We have based this framework on roles to exploit the related advantages. First, roles enable a separation of concerns between the different issues in developing agent-based applications [8]. Second, they permit the reuse of solutions and experiences; in fact, roles are related to an application scenario, and designers can exploit roles previously defined for similar applications. Therefore, roles can also be seen as a sort of design patterns [20]: a set of related roles along with the definition of the way they interact can be considered as a well-defined cooperation pattern that can be reused in different but similar situations. Inside BRAIN, we have developed an environment, called RoleX, which supports the dynamic assumption of roles by agents [4], through the runtime manipulation of the agent code. In addition, RoleX provides services related to openness and interoperability, and aims at making agents interact in a flexible and interoperable way. To this purpose, we exploit the event-based communication, which well suits dynamic and unpredictable situations and makes the RoleX environment an active entity in interactions. Moreover, the adoption of the SOAP protocol enables agents to interact with a variety of other kinds of entities and in particular information sources. In this paper we report on the design and the implementation of the RoleX environment, explaining the services that it makes available. RoleX takes into account also mobile agents, which grant further flexibility and increase the dynamism of applications. Interested readers can find more information about the adopted model in [10]. This paper is organized as follows. Section 2 sketches an overview of the BRAIN framework. Section 3 explains the design of the RoleX environment, reporting our choices; an application example in the field of e-democracy is exploited to make the M. Klusch et al. (Eds.): CIA 2004, LNAI 3191, pp. 257–270, 2004. © Springer-Verlag Berlin Heidelberg 2004
258
G. Cabri et al.
concepts concrete. Section 4 shows some details about the implementation of RoleX. Section 5 reports some related work and, finally, Section 6 concludes the paper.
2 Overview of the BRAIN Framework The BRAIN framework [10] aims at supporting the development of interactions in multi-agent applications and is composed of (i) a well-defined model for roles, (ii) XRole, an XML-based notation for agent roles, and (iii) possibly several environments which implement the previous model and exploit the XRole notation. A role can be considered as a stereotype of behavior common to different agents in a given situation. Such a behavior is exhibited by agents, but is also expected by other entities, mainly other agents, organizations [31] and environments. It is useful to deal with roles separately from the agents. In our approach a role is modeled as a set of capabilities and an expected behavior, both applied to the agent that plays such role. This model of role leads to a twofold viewpoint of the role: from the application point of view, the role allows a set of capabilities, which can be exploited by agents to carry out their tasks; from the environment point of view, the role imposes a defined behavior to the entities that assumes it. The former point is that a role is a set of capabilities that agents playing a given role can perform. This takes into account the proactiveness feature of agents, since they have to perform actions to carry out their tasks, and so, they must be enabled to do it. The latter point is that an agent playing a given role is expected to exhibit a specific behavior. This accounts for the agent’s reactivity, since they are sensible to what happens in the environment where they live. The “expected behavior” is constituted by the reactions to external stimuli. The notation proposed by BRAIN, called XRole [7], enables the definition of roles by means of XML documents; this grants interoperability and allows different representations tailored on the needs of the different phases of the application development. It is worth noting that each different representation derives from the same information, so the different phases of the development of applications rely on the same information, granting continuity during the entire development. For instance, during the analysis phase, the analysts create XRole documents following the appropriate XML Schema, which guides them in the definition of the role features. These XRole documents can be translated into HTML documents to provide high-level descriptions also for further uses. In the design phase, the same XRole documents can be translated into more detailed HTML documents to suggest functionalities of the involved entities. Finally, at the implementation phase, again the same XRole documents can be exploited to obtain Java classes that implement the role properties.
3 Design of the RoleX Environment RoleX is one of the possible environments implemented to support the BRAIN framework. So, it adopts the BRAIN role model and exploits the XRole notation. In RoleX, capabilities are represented by actions that agents playing such role can perform; the expected behavior is represented by the management of incoming events. In RoleX, an interaction between two agents occurs when one agent performs an action (chosen among the set of capabilities belonging to the role it plays) that is translated into an event that is notified to another agent that exhibits the specific
The RoleX Environment for Multi-agent Cooperation
259
behavior (see Figure 1). This approach allows the environment to be considered as an interacting entity in an uniform way: appropriate actions can be dealt with directly by the environment, which in turn can send appropriate events to agents in order to notify environment-related information. The RoleX environment provides for the translation from actions into events, playing actively over communications and, in the case, applying local policy to interactions. Further motivations of adopting an event-based approach are reported in the following of this section.
Fig. 1. How an interaction occurs
3.1 Role Meaning RoleX exploits roles and concretely uses an approach inspired by the real life: since agents can act on behalf of a real user, their roles must be “played” as users do. This mainly requires two features: dynamism and external visibility. The dynamic role assumption of RoleX allows an agent to assume at runtime a set of capabilities needed to perform its tasks via a role. The agent external visibility of RoleX, coherent with the assumed role, implies that the way other agents see it must be changed accordingly; this allows other agents to recognize the above one as playing the assumed role. Our role approach is more oriented to agents than other role approaches that exploit Object-Oriented paradigm or Aspect Oriented Programming [29, 18]. In those cases, roles are conceived as entities separated from agents and directly used by them. Instead, our approach is centered on roles, which are dealt with in a new way: each role is conceived as a first-class entity, but it becomes a single thing with the agent that has assumed it by extending its code. This way is more similar to the human real life, where people do not simple “have” roles, but “play” them. Developing roles as first class entities allows developers to work in a modular and scalable way. There could be the role developers, on one side, and the agent developers on the other side. The latter exploit roles provided by the formers. In this way there is a real separation of concern without requiring a double effort in development (role developer and agent developer can coincide). Furthermore, in this way the role can be developed in a totally separated way from the agent, reducing the effect on specific application details. In this case, roles must be carefully managed, since they are becoming more like components, and developers must agree to avoid misunderstanding and misuse of roles. The comparison with real life leads also to another consideration: the fact that a person can be recognized also via her role requires a high degree of dynamism; in fact a person assumes/releases roles depending on what she wants to do. The same must happen in the agents’ world: the agents must feel free to assume/release roles in a dynamic way.
260
G. Cabri et al.
3.2 Role Description To grant a high level of abstraction in deciding which role to play, and to cope with dynamic situations, it is important to uncouple roles from their implementation; this allows agents to focus on the semantics of the roles, rather than their code. To this purpose RoleX uses descriptors for roles, actions and events. A descriptor is an entity that describes a role, an action or an event, for example by means of information such as keywords, a contest, an aim, a version, a creation date and any further needed piece of information. An action descriptor describes what a particular action does (i.e. what is its aim) and which information its execution requires. An event descriptor describes the kind and the context of the occurred event. A role descriptor describes what such role does, but not how (i.e., by which operations) it is done. It includes also the descriptors of the corresponding actions and events. For instance, if an agent must assume a speaker role, the programmer could write code that requires not directly a speaker role but a role with a speaker description, for instance by means of appropriate keywords. The agent can further verify the retrieved descriptor to be sure that the role is the right one for its purposes. Descriptors are defined by XML documents written exploiting the XRole notation of BRAIN. Besides relieving programmers of the knowledge of role implementation, the descriptors are useful also to hide to the agent the physical location of the role implementation, to enable role composition, to change role implementation in a transparent way, and to allow the agent programmers to disregard about the work of role programmers and viceversa.
3.3 Events RoleX adopts an event-based approach to enable interactions between agents. Assuming a role gives the possibility of interacting with other agents and in general other entities. Such interactions occur by exchanging appropriate events. Roles are exploited to manage the sending and the receiving of events. In general, events grant a high degree of uncoupling between interacting entities. In fact, events allow the uncoupling among: (i) service identities and (ii) entity identities. The former way of uncoupling works as follows: agents interacting through events are in charge to exchange only events, without needing to know details about related services. For instance, to require a service, an agent A needs only to send the right event to B, without worrying about which method will be actually invoked by B. Even if the agent B undergoes code refactoring, A will be able to request a service to B without needing changes, since it needs only to know the right event to send, which is supposed to not change. This is a very expressive characteristic of events: agents involved in communications need only to know events and the send/receive mechanism, without the need of knowing details about the other entities involved. The latter uncoupling relies on the event system implementation. In the most complete implementation the sender agent can simply put the message in an event queue, without addressing agents in charge of receiving that event. The queue is in charge of notifying the event to all interested agents through a queue manager, which is often called event dispatcher (simply dispatcher in the following) [14]. Please note that, while the service uncoupling is always granted by event-based systems, the entity uncoupling is not. In particular, the latter kind of uncoupling depends on the specific event system implementation, and specifically by the event dispatching.
The RoleX Environment for Multi-agent Cooperation
261
Our approach focuses mainly on the service uncoupling in order to grant scalability in communications.
3.4 An Application Example In this subsection we propose an application example of the use of the RoleX environment. We exploit an application in the field of e-democracy [1], which enables citizens to attend a convention1. During the execution, the user is allowed to listen to a candidate’s speech and to perform her own speech (if she is a candidate). This application works exploiting mobile agents, each one representing and supporting its user and executing in a virtual e-democracy room: such an agent will be called user agent in the following. The user agent can cooperate with other agents and/or with the e-room itself to complete the user’s task(s). In this particular application, the user’s task(s) are strictly tied to the convention, so that they can be for example performing the speech or listening to other speeches. The user is kept informed by its agent, which provides the user with information about carried out task(s). Since our approach is role-based, appropriate roles should exist, in the e-room, to help agents performing their task(s). We have identified three roles: participant, which supports its user in attend the convention, speaker, which supports its user in performing its speech, and chair, which supports the manager of the convention. All these roles provide the corresponding capabilities to agents playing them. For instance, the participant role provides for the capability of accessing the current presentation; the speaker role enables the access to the microphone, the visualization of presentations, and so on; the chair role keeps a list of the speakers and notifies the speaker turns. Figure 2 shows the XML document related to the role descriptor of a participant role expressed by the XRole notation. As shown in that figure, the role provides two operations: listen, which is used to listen to other agents’ speeches, and searchSpeechBySubject, which is used to get credentials of a speaker that has performed a speak with a determined subject. Accordingly to the RoleX design, both the above operations work by mean of events, either outgoing (sendingEvent) or incoming (receivingEvent). As a detailed example of cooperation, let us suppose that a user joins an alreadystarted convention, and wants to know about previous speeches on a particular subject. Its user agent, after assuming the participant role, can ask the chair agent2 which speeches have been performed about the interesting subject. The chair agent replies a list of agents that have the speeches about the indicated subject. This requestresponse is managed by the two roles, participant and chair. The user agent starts the interaction with an action that causes a related event to be delivered to the chair agent, which in turn manage the incoming event by searching for subject in its speech list; then it performs an action that is translated into an event for the user agent, which receives the list of agents. After that, the user agent can contact the agents to have the speeches. Of course, the user agent can ask the current speaker agent information about the current speech.
1 2
Our application enables other e-democracy services, such as voting, which are not reported in this paper, since less interesting with regard to cooperation issues. Here and in the following we say the “X agent” to mean “the agent playing the X role”.
262
G. Cabri et al.
Fig. 2. XML role descriptor of the participant role
Fig. 3. A fragment of the Java code of the participant role
Figure 3 shows a fragment of the Java implementation of the participant role, related to the role descriptor shown in Figure 2. Accordingly to the role description, the first method, listen, is invoked every time a new TalkEvent is delivered to the listening agent. The agent, when assuming the participant role, asks to the chair agent to register it as an agent playing the above role. The chair will inform every speaker in the room, at the time of the speech, of which agents are currently listening, thus the agent playing the speaker role will send events to them. These
The RoleX Environment for Multi-agent Cooperation
263
events are to be instances of the TalkEvent, which contain the speech itself. As shown in the Figure 3, the agent playing the participant role simply prints the speech content on its screen. The second method, searchSpeechBySubject, accordingly to the role descriptor of Figure 2, sends an event of kind SearchBySubjectEvent to the chair agent. To deliver this event it is exploited a particular object, chairChannel, which is a RoleX channel bound to the agent playing the chair role, thus other agents can queue events to the former. The channel is an abstraction over the event delivering system, which, as shown in section 4.3, can be implemented even using XML based systems such as SOAP. Once the chair agent has received the SearchBySubjectEvent event, it will search for all agents with a speech related to the specified subject. When it finds, it sends back an event to the requesting agent with the found agent list. One more time, accordingly to the descriptor of Figure 2, the reply event is a SearchResult, which contains channels that the agent can use to communicate with the found agents. When the reply event (SearchResult) is delivered to the requesting agent, an appropriate role method will be in charge of managing it. In this paper we do not address how an agent chooses its role(s). This is left to the intelligence of the agent and to the way it decides to carry out its task(s). The application scenario can help the agent choosing the role by means of information: the agent can query role descriptor database in order to understand what role is the most suitable for its task. On the other hand, the capability to rightly select the role starting from the role descriptors must belong to the agent itself. There are also situations where the role assumption can be driven by roles themselves. For example, in the above application a participant agent can obtain information about another role (in the same context) that can grant better capabilities to it, and this can be the speaker role. In general, the choice of role(s) depends both on the application scenario and on the initial capabilities of the agent itself.
4 RoleX Implementation The RoleX environment has been implemented in pure Java. This choice has been supported by different motivations: (i) Java is the language used by most of the agent platforms, particularly those for mobile agents; (ii) Java has important features such as network-orientedness, safety, security and portability; (iii) being based on a bytecode, Java allows us to manipulate agent classes in order to add/remove roles. Our aim was not to develop another agent platform from scratch, but instead to make available an environment that can be associated to different agent platforms. To this purpose, most of the code of RoleX is independent of the chosen agent platform, while only three classes must be specialized for the specific platforms. Moreover, we have defined Java interfaces for agents, so that existing agent classes (even of different platforms) can be adapted to our environment by creating a subclass that implements the appropriate interface. Currently, we have mainly exploited RoleX with the IBM Aglets system [19], but we are studying also the association with Jade [3].
264
G. Cabri et al.
4.1 Role Management Since the agents are developed using Java, our implementation enables automatically the translation from the XRole documents representing descriptors to a set of Java classes. In this way, an agent can directly access the descriptors without needing an XML-parser. In particular, there is a Java class for every descriptor type, so the RoleX environment will have one object for each role descriptor, one for each action descriptor and one for each event descriptor. The Java implementation of a role is composed of two parts: a Java interface (role interface) and a Java class (role implementation); the interface provides external visibility (simulating multiple inheritance) while the class provides the effective role behavior. A role assumption means that the RoleX system performs run-time bytecode manipulation, and in particular (i) adds each role class member (both methods and fields) to the agent class, in order to add the set of capabilities of the role and, at the same time, (ii) forces the agent class to implement the role interface, in order to modify its appearance and to allow other agents to recognize it as playing that role. Since the above mechanism must result in the definition of a new class, our approach exploits a special class loader, called RoleLoader, that can change the agent behavior and the external appearance. It is a subclass of SecureClassLoader, which allows us to work in compliance with the Java Security Manager. After the RoleLoader has successfully carried out the role assumption process (i.e., the addition of the members and the interface), it can reload the agent restarting it. The assumption process can be briefly described by Figure 4, where the agent searches a role repository for an appropriate role descriptor, for example by using keywords, and then asks the RoleLoader to reload itself with the chosen role among the retrieved ones. The RoleLoader retrieves the implementation corresponding to the role descriptor and adds it to the agent. If everything goes right, the RoleLoader sends the new agent an event (called reload event) to indicate that the agent has been reloaded. After the reload event, the agent can resume its execution. Releasing a role is similar to the above process, but this time the RoleLoader removes each role member and the role interface, reloading the agent without them.
Fig. 4. The assumption process
The RoleX Environment for Multi-agent Cooperation
265
Our implementation of the RoleLoader is based on the Javassist bytecode manipulation engine [28], even if the simple use of such engine alone is not enough to completely satisfy our goals. In fact, our approach takes into consideration role code reusability and separation of concerns; to these purposes, we take into account not only the classes of the agent and of the role, but also their superclasses, as explained in the following. For this reasons the RoleLoader performs several steps: 1. the RoleLoader calculates the inheritance stack for the role class and the agent class (i.e., it calculates all superclasses of both); 2. for each level of the inheritance stack, the RoleLoader copies all the members from the role implementation to the agent class (see Figure 5); then the loader adds the role interface to the implemented interface list of the agent class; 3. a new agent instance is created from the manipulated class; 4. each field value is copied into the agent class so that it does not loose its current state. Through these steps, even if one agent and the assumed role have been developed separately, they dynamically become a single entity with the correct external visibility. Interested readers can find more details in [4].
Fig. 5. How the member copy works
As readers can see, the assumption process in RoleX is quite complex and involves several activities (inheritance chain computation, bytecode manipulation, etc.), leading to a slower process than other implementations (see for example [9]). From a performance point of view, our tests have demonstrated that the role assumption time is directly dependent on the total bytecode size of the role (see [6]). We are evaluating some caching mechanisms that, combined with a massive use of Java factories, can improve performances.
266
G. Cabri et al.
4.2 Event Dispatching Instead of using a single event dispatcher, which can lead to several problems especially related to reliability and performance, our approach exploits a peer-to-peer mechanism to deliver events. Since we do not rely on a centralized dispatcher, the sender agent is in charge of addressing each receiver agent to which it wants to send an event. The use of a peer-to-peer approach avoids the problem of a single point of failure. In fact, even if the dispatcher is not overloaded, it can crash implying the impossibility for agents to communicate. Even if there are event systems that allow the use of multiple dispatchers, such as Jedi [14], they partially solve the above problem, since each dispatcher can be a single point of failure. Moreover, the use of peer-to-peer solves also the possible bottleneck that each dispatcher represents. While a dispatcher can introduce a delay in event delivering, due to its overload, in our approach delays are due exclusively to the sender agent. Of course, while some agents can be overloaded depending on the number of exchanging events, other agents can be free to communicate as usual, since each communication does not depend on a centralized component. Note that a peer-to-peer approach can also be used to implement solutions where a receiver agent acts as dispatcher/forwarder for other agents. Our approach allows both synchronous and asynchronous dispatching of events; the former is totally in charge of the sender agent, while the latter relies on an environment support. In particular, the environment provides a dispatching thread per agent, created on demand, to queue and deliver asynchronous events. Note that even this approach can be considered peer-to-peer since there is not a centralized dispatcher in charge of serving more than one agent.
4.3 Exploiting SOAP In order to grant a high degree of openness to interactions, our approach adopts the SOAP (Simple Object Access Protocol) protocol, standardized by the W3C [22]. Thanks to its interoperability, SOAP enables any kind of entities to interact inside the RoleX environment, no matter which technologies have been exploited to develop them. In particular, agents can bid information sources that make their services available via a SOAP interface [17, 21]. This approach allows also the collaboration between humans and agents; in fact, humans can view agent events for instance through a Web browser and can interact with agents thanks to programs in charge of translating human commands into SOAP documents. Moreover, the use of an XMLbased protocol, such as SOAP, grants the capability of extending our system to collaboration between agents (and other entities) based on future technologies or with different needs. Our approach exploits the SOAP-RPC capabilities [23] to perform remote method invocation; the agent invocation is translated into a SOAP-RPC call, and delivered to the receiver, where is translated into a call to the Java event-listener interface’s method, for instance called notify, supplying the event as parameter. Such a parameter contains also the information about the sender, so no other parameters are needed. The SOAP specification does not tie the transport layer to a specific protocol, which means that a SOAP document can be sent by HTTP, SMTP or something else [24, 25, 26]. These protocols are useful when the entities involved in the
The RoleX Environment for Multi-agent Cooperation
267
communication are really different, and they are suitable to scenarios like those for ebusiness or enterprise systems, but for the agents’ world they are too heavy, so we exploit a simpler protocol, defined inside RoleX. Moreover, the return value of the notify method is always void, and this further simplifies the communication system. We apply event communications whenever there is no needing of a direct reply. The fact that the return type of the above method is void emphasizes this concept: the caller (i.e., the event sender) does not require a return value, so no request-response [27] mechanism must be implemented. This consideration implies that a simple transmission protocol can be used in SOAP-based agent communications: the sender agent simply writes a character-based representation of the SOAP document to a stream (e.g. a socket). At the other end of the stream, the destination agent reads the chars and translates them from SOAP into Java, without needing to send a reply to the sender.
5 Related Work To our knowledge, there are no environments with the features of RoleX. In this section we report some related work in two main fields: role-based and event-based approaches for agents.
5.1 Role-Based Approaches E. Kendall well describes the importance of modeling roles for agent systems [18], and she exploits the AOP to concretely implement the concept of role in agent applications. Another interesting approach is AALAADIN [15], a meta-model to define models of organizations. It is based on three core concepts: agent, group and role. The ROPE project [2] addresses the collaboration issues and recognizes the importance of defining roles as first-class entities, which can be assumed dynamically by agents. Yu and Schmid [30] exploit roles assigned to agents to manage workflow processes. They traditionally model a role as a collection of rights (activities an agent is permitted on a set of resources) and duties (activities an agent must perform). An interesting issue of this approach is that it aims to cover different phases of the application development, proposing a role-based analysis phase, an agent-oriented design phase, and an agent-oriented implementation phase. TRANS is a multi-agent system that provides for role and group behaviors, and takes into consideration mobile agents. An interesting feature of TRANS is the capability of defining rules on the role assumption by agents, such as priority, exclusivity, compatibility and the distinction between permanent and temporary roles. In our opinion, the above-mentioned approaches lack in allowing openness and interoperability at different levels of abstraction, unlikely from our RoleX environment, which implements the advantages of BRAIN and provides open interaction mechanisms.
5.2 Event-Based Approaches Jedi [14] is a famous event-based system, which differs with regard to the RoleX one for several issues. First of all it redefines the concept of events (a set of string) and
268
G. Cabri et al.
listener, in a quite different way from the usual Java event and listeners, and this leads to an incompatibility between the Jedi event system and the Java one. As second issue it relies on a centralized component, called Event Dispatcher, which is in charge of delivering each event to each entity. Even if it is possible to aggregate multiple Event Dispatchers to produce a distributed system, the centralized nature of each single dispatcher can result in a bottleneck and in a single point of failure. Finally, Jedi allows the use of synchronous transmission only to take back computation results, but it does not consider possible errors (exceptions), leading to a less Java oriented solution. In the proposal of [12], agent messages are stored in a private mailbox, which the agent owner queries periodically. Even if this approach allows agents to easily communicate with other remote agents, since they only need to deliver the message to a private mailbox, it implies that the addressee agent performs continuous receiving operations. This means that queued messages are not delivered until the agent gets them from the mailbox. The JADE framework discarded the use of SOAP [11], preferring an RMI-based protocol [13]. The main motivation is that JADE’s authors do not think that XML can be suitable for mobile agents, particularly when dealing with mobile devices such as PDA or phones. Of course parsing large XML documents can require a lot of time and resources, but using an event driven model, such as the one of our approach, will always produce small documents. Furthermore our approach does not use HTTP, so the SOAP document is not an HTTP-payload, and this implies that there is no additional header to parse. Our approach, exploiting a peer-to-peer architecture results more scalable than the previous ones, especially if the number of transmissions grows up. In addition, it is more flexible since each queued event is delivered to the agent by a thread that runs in the environment. Finally, using SOAP, it is possible to exploit the environment asynchronous dispatching to embed both the XML translation and event delivering in the same layer, leading to more transparency.
6 Conclusions and Future Work This paper has presented the RoleX environment to support the cooperation in multiagent systems. It was developed inside the BRAIN framework starting from a role-based approach, to provide all the advantages of roles in terms of separation of concerns, reusability, and so on; RoleX provides features that take into account also other needs: the adoption of the event-based communication makes RoleX flexible, while the support of SOAP provides a high degree of openness and interoperability also with entities different from agents. With regard to future work we highlight some directions. First, security is an important issue that we are considering in RoleX. We have explored the chance of exploiting JAAS [16], a standard, Java-based architecture to manage authentication in distributed systems; its adoption in RoleX enables a fine-grain control not only over the role assumption, but also over the actions agents can performs [5]. Second, we are testing the RoleX environment with different applications. We have implemented applications in the fields of service management and e-democracy, but the use of our environment must be investigated also in other scenarios, to validate its effectiveness.
The RoleX Environment for Multi-agent Cooperation
269
Finally, the environment must be fine tuned to grant also a good performance, which is fundamental to use RoleX in real applications.
Acknowledgments Work supported by the Italian MIUR and CNR within the project “IS-MANET, Infrastructures for Mobile ad-hoc Networks”, and by the MIUR within the project “Trust and law in the Information Society. Fostering and protecting trust in the market, in the institutions and in the technological infrastructure”.
References 1. Veikko Anttiroiko, “Virtual extension: Building Strong E-Democracy – The Role of Technology in Developing Democracy for the Information Age”, Communications of the ACM, vol.46 No. 9, September 2003 2. M. Becht, T. Gurzki, J. Klarmann, M. Muscholl, “ROPE: Role Oriented Programming Environment for Multiagent Systems”, Proceedings of the Fourth IFCIS Conference on Cooperative Information Systems (CoopIS’99), Edinburgh, Scotland, September 1999. 3. F. Bellifemine, G. Caire, T. Trucco, G. Rimassa, “JADE Programmer’s Guide”, JADE 2.4, 4 September 2001. 4. G. Cabri, L. Ferrari, L. Leonardi, “Manipulation of Java Agent Bytecode to Add Roles”, The International Conference on the Principles and Practice of Programming in Java (PPPJ 2003), Kilkenny City, Ireland, June 2003 5. G. Cabri, L. Ferrari, L. Leonardi, “Embedding JAAS In Agent Roles To Apply Local Security Policies”, The International Conference on the Principles and Practice of Programming in Java (PPPJ 2004), Las Vegas, USA, June 2004 6. G. Cabri, L. Ferrari, L. Leonardi, “Exploiting Run-Time Bytecode Manipulation to Add Roles to Java Agents”, Science of Computer Programming, 2004. 7. G. Cabri, L. Leonardi, F. Zambonelli, “XRole: XML Roles for Agent Interaction”, in Proceedings of the International Symposium “From Agent Theory to Agent Implementation”, at the 16th European Meeting on Cybernetics and Systems Research (EMCSR 2002), Wien, April 2002. 8. G. Cabri, L. Leonardi, F. Zambonelli, “Separation of Concerns in Agent Applications by Roles”, the International Workshop on Aspect Oriented Programming for Distributed Computing Systems (AOPDCS 2002), Wien, July 2002 9. G. Cabri, L. Leonardi, F. Zambonelli, “Implementing Role-based Interactions for Internet Agents”, The 2003 International Symposium on Applications and the Internet (SAINT 2003), Orlando, Florida, USA, January 2003. 10. G. Cabri, L. Leonardi, F. Zambonelli, “BRAIN: a Framework for Flexible Role-based Interactions in Multiagent Systems”, The 2003 Conference on Cooperative Information Systems (CoopIS), Catania, Italy, November 2003 11. G. Caire, N. Lhuillier, G. Rimassa, “A Communication Protocol for Agents on Handheld Devices”, AAMAS Workshop on Ubiquitous Agents on embedded, wearable and mobile devices, Bologna, July 2002. 12. J. Cao, X. Feng, J. Lu, S.K. Das, “Design of Adaptive and Reliable Mobile Agent Communication Protocols”, in Proceedings of the 22nd International Conference on Distributed Computing Systems (ICDCS 02), Vienna, 2-5 July 2002. 13. E. Cortese, F. Quarta, G. Vitaglione, “Scalability and Performance of JADE Message Transport System”, AAMAS Workshop on Agenticies, Bologna, July 2002.
270
G. Cabri et al.
14. G. Cugola, E. Di Nitto, A. Fuggetta, “The JEDI Event-Based Infrastructure and Its Application to the Development of the OPSS WFMS”, IEEE Transactions on Software Engineering, September 2001 (Vol. 27, No. 9), pp.827-850 15. J. Ferber and O. Gutknecht, “AALAADIN: A meta-model for the analysis and design of organizations in multi-agent systems”, in Proceedings of the Third International Conference on Multi-Agent Systems (ICMAS’98), 1998. 16. SUN Microsystems, “Java Authentication and Authorization Service (JAAS)”, available material at http://java.sun.com/products/jaas/ 17. Kai-Shin Lu, Yong-Feng Lin, Chen, J.J.-Y. , “Using mobile agent and SOAP-RPC in an advanced traveler information system”, in Proceedings of Intelligent Transportation Systems, October 2003. 18. E. A. Kendall, “Role Modelling for Agent Systems Analysis, Design and Implementation”, IEEE Concurrency, Vol. 8, No. 2, pp. 34-41, April-June 2000. 19. D. B. Lange, M. Oshima, Programming and Deploying Java™ Mobile Agents with Aglets™, Addison-Wesley, Reading (MA), August 1998. 20. J. Lind, “Patterns in Agent-Oriented Software Engineering”, in Proceedings of the Third International Workshop on Agent Oriented Software Engineering (AOSE), Bologna (I), July 2002. 21. Nakamur, Y., Hada, S., Neyama, R., “Towards the integration of Web services security on enterprise environments”, in Proceedings of 2002 Symposium on Applications and the Internet, Nara, Japan, January 2002. 22. W3C XML Protocol WG, “SOAP Version 1.2 Part 1: Messaging framework”, http://www.w3c.org/TR/2003/REC-222-part1-20030624 23. W3C XML Protocol WG, “SOAP Version 1.2 Part 2: Adjuncts”, http://www.w3c.org/TR/2003/REC-222-part2-20030624 24. W3C XML Protocol WG, “Default HTTP Binding”, http://www.w3c. org/xp/Group/1/10/11/2001-10-11_Framework_HTTP_Binding 25. W3C XML Protocol WG, “SOAP Underlying Protocol Binding Framework”, http://www.w3c.Org/xp/Group/l/10/12/Binding_Framework_Proposal 26. W3C XML Protocol WG, “SOAP v1.2 Email Binding”, http://www.w3c. org/TR/2002/NOTE-222-email-20020626 27. W3C XML Protocol WG, “Transport Message Exchange Pattern: Single-RequestResponse”, http://www.w3c.org/2000/xp/Group/l/10/11/2001-10-11-SRR-Transport_MEP 28. M. Tatsubori, T. Sasaki, S. Chiba, K. Itano, “A Bytecode Translator for Distributed Execution of “Legacy” Java Software”, in Proceedings of ECOOP 2001, LNCS 2072, Springer Verlag, 2001. 29. N. Ubayashi, T. Tamai, “RoleEP: role based evolutionary programming for cooperative mobile agent applications”, Proceedings of the International Symposium on Principles of Software Evolution, 2000. 30. L. Yu, B.F. Schmid, “A conceptual framework for agent-oriented and role-based workflow modelling”, in Proceedings of the 1st International Workshop on Agent-Oriented Information Systems, G. Wagner and E. Yu eds., Heidelberg, June 1999. 31. F. Zambonelli, N. R. Jennings, M. Wooldridge, “Organizational Rules as an Abstraction for the Analysis and Design of Multi-agent Systems”, International Journal of Software Engineering and Knowledge Engineering, Vol. 11, No. 3, pp. 303-328, 2001.
Auction Equilibrium Strategies for Task Allocation in Uncertain Environments David Sarne1, Meirav Hadad2, and Sarit Kraus1,3 1
2
Department of Computer Science, Bar-Ilan University, Ramat-Gan, 52900 Israel Caesarea Rothschild Institute University of Haifa Mount Carmel 31905 Haifa, Israel 3 Institute for Advanced Computer Studies, University of Maryland, College Park, MD 20742
Abstract. In this paper we address a model of self interested information agents competing to perform tasks. The agents are situated in an uncertain environment while different tasks dynamically arrive from a central manager. The agents differ in their capabilities to perform a task under different world states. Previous models concerning cooperative agents aiming for a joint goal are not applicable in such environments, since self interested agents have a motivation to deviate from the joint allocation strategy, in order to increase their own benefits. Given the allocation protocol set by the central manager, a stable solution, is a set of strategies, derived from an equilibrium where no agent can benefit from changing its strategy given the other agents’ strategies. Specifically we focus on a protocol in which, upon arrival of a new task, the central manager starts a reverse auction among the agents, and the agent who bids the lowest cost wins. We introduce the model, formulate its equations and suggest equilibrium strategies for the agents. By identifying specific characteristics of the equilibria, we manage to suggest an efficient algorithm for enhancing the agents’ calculation of the equilibrium strategies. A comparison with the central allocation mechanism, and the effect of environmental settings on the perceived equilibrium are given using several sample environments.
1
Introduction
Distributed task allocation to self-interested agents is an important concept in Multi-Agent System (MAS) environments [10]. Though the case of task allocation to cooperative agents with a joint goal is always preferred over the allocation to self-interested agents, the latter method is significantly important in environments where a central manager does not own the agents or cannot fully control them. In such environments, the central planner, striving to achieve a specific goal, will try to enforce cooperation throughout task allocation protocols. Nevertheless, while both centralized and distributed cooperative allocation mechanisms assume a joint goal for all agents, this is not necessarily the case once self-interested agents are introduced into a model. The latter case may suggest conflict of interests, as each agent strives to maximize its own utility. This might M. Klusch et al. (Eds.): CIA 2004, LNAI 3191, pp. 271–285, 2004. © Springer-Verlag Berlin Heidelberg 2004
272
D. Sarne et al.
result in a deviation of the self interested agents from the centralized proposed mechanism. Thus, having a clear methodology for finding the allocation strategies in equilibrium is a necessary condition for resolving the non-cooperative problem. In this paper we study equilibrium strategies for self-interested agents situated in uncertain environments. We suggest a model in which different types of tasks arrive dynamically according to a given probability (see Figure 1). The tasks are allocated according to a pre-defined protocol set by a central manager. This central manager may be defined as a government, a municipality, a company, etc., operating in a dynamic environment and lacking the required resources to perform the tasks by itself. The protocol defines the rules for selecting a performer of the task and the appropriate payment for this task. A capability for performing a task depends on a specific world state. Each agent has a different set of capabilities, thus the agents differ in their cost for performing a given task, in a specific world state. The goal of the central manager is to maximize his expected utility, defined as a function of the number of tasks being performed and the total payment. Our long-term goal is to supply the central manager with the optimal protocol which maximizes its utility, given specific environmental settings. However, deriving the central manager’s perceived utility when applying a given protocol, requires understanding the agents’ equilibrium strategies when such protocol is being used. In this paper, we demonstrate this methodology by proposing and studying a specific protocol. The protocol suggests that the central manager announces a reverse Vickrey auction upon the arrival of a new task. The agent asking the lowest price is the winner and is paid the price requested by the second lowest bid in the auction.
Fig. 1. The general framework for analysis
Auction Equilibrium Strategies for Task Allocation
273
Given the above protocol, each agent sets its optimal bid for any world state. Winning the current auction will result in an immediate income, but the agent will need to allocate resources in order to perform the task, thus avoiding any additional auctions (possibly associated with better opportunities, e.g. better world states and/or fewer agents to compete with). Therefore the agent’s bidding strategy must consider the tradeoff between an immediate gain from the current auction and the expected loss of future opportunities. The agent’s evaluation of the above two measures is derived from the analysis of the other agents’ strategies in current and future auctions. It is notable that e-commerce domains do not consider the modulation of competitors’ future strategies when setting an agent’s bid (e.g. [4,8]). This is mainly due to the high rate of new agents entering the environment and the difficulty in assessing the new agents capabilities. Nevertheless, in our domain, the number of competing agents is relatively small, and their overall capabilities can be estimated with some probability. Thus an agent’s strategy must consider the long term strategies of the other agents in the environment as part of its analysis. Typical applications in this domain include exploration of remote planets, urban search, and rescue [5]. Consider for example an under-water exploration mission undertaken by a government. Different companies are invited to compete for different tasks (underwater surveys, inspections, mapping, pollution prevention, recovery, etc.) using their own Remotely Operated Vehicles (ROVs). Since the ROVs have been designed and evaluated by different companies, their capabilities to perform a task are dissimilar in different world states. An additional application can be found in an environment where self interested servers, with different configurations and changing loads, are competing for the execution of jobs arriving from an external source, such as universities. Even though each server might have information regarding the other servers’ configuration, these servers capability to perform a given job is a function of their load at that specific time. Though each server can calculate its own capability for the performance of a new job, it can only assess the distribution of capabilities of the other servers for executing the job. In both applications, agents have to decide their strategies promptly, according to their current information of the world sate, and their evaluation of their competing agents’ capabilities. The concept of task allocation in a competitive environment is discussed in several works (e.g., [3,7]). A core application in this domain is the contract net protocol [9]. The main focus of the works cited above is on the commitments and the communication problems that emerge in such an environment. A general architecture and applications are given in [5]. None of these works concern the concept of equilibrium and the modulation of other agents’ future strategies. Several works from the adjacent domain of resource allocation involve equilibrium analysis [11, 1, 2, 12]. However, they do not suggest the full extent of changing capabilities and world states or the modulation of all future strategies of the other agents.
274
D. Sarne et al.
In the following section we present the formalization of the model. The equilibrium analysis is given in section 3. In section 4 we suggest an efficient algorithm for the distributed calculation of the agents’ equilibrium strategies. Section 5 contains a discussion and computational demonstration of the affect environmental settings have on the perceived equilibrium strategies, as well as a comparison to central allocation. Conclusions and future directions for research are given in section 6.
2
Problem Formulation
We consider an environment with a set of self interested agents. We denote an agent by A measure for an agent’s capability handling a given task, is the duration of time required to successfully complete it. The agent’s required time to perform any given task, at time is derived from the world state, Thus, the duration required for agent to perform a task, given a world state at time is attained by the function Due to the complexity of world’s states, and the changing environment, we assume that for each world state the duration is drawn from a probability function defined over the interval The agent’s decision must take into consideration two types of costs. The first reflects the cost of participating in an auction (this represents all the costs associated with preparing for the auction, possible auction fees set by the central manager, calculations and evaluation costs, etc.), denoted by C. The second cost, is the cost of operating the agent per time unit when performing a task (for simplification we assume all agents share the same Considering the servers application outlined above, C may be viewed as the resources a server has to spend in order to evaluate a job characteristics (possibly even performing a small pilot) and determine its capabilities to perform the job. The cost in this example is the cost of operating the server. For each auction, of competitors and a given agent calculates its bid, denoted by The bid is limited by the maximum payment, M, the central manager is willing to pay per task. An agent will leave the environment only upon winning an auction. The dynamic nature of the environment suggests possible entrance of new agents (either former auction winners once they have completed their tasks, or brand new ones). The number of agents entering the environment between two subsequent auctions is associated with a probability function where is the maximum number of new agents entering. We assume as well as are relatively small in comparison to the entrance rate in e-commerce. We assume that all agents are acquainted with the total number of agents, in the environment, at a given time. We also assume that all agents are familiar with the probability function the cost parameters C and the maximum price M and Within a given auction, each agent can evaluate only its own duration for performing this task.
Auction Equilibrium Strategies for Task Allocation
3
275
Equilibrium Analysis
In this section we provide the equilibrium bids’ structure and show that no single agent has an incentive to deviate from it. Notice that the bid set by agent is determined solely by and the current number of agents competing in the auction, Thus the agents’ strategy is stationary, i.e., any agent associated with a duration and competing agents will bid the same as agent associated with and competing agents, where (regardless of the value From this point onward in the paper, we will refer to all durations satisfying as Similarly, we denote the equilibrium bid as Consider a new task arriving at time where agents are situated in the environment. Theorem 1 states that the agents’ equilibrium bids when competing for a given task, weakly decrease in their required duration to perform it (given a specific world state). Theorem 1. For any two agents and having durations spectively, satisfying the following holds:
and
re-
Proof: As both agents, if winning the auction, will return to the environment in the far future (according to the entrance probability function), their expected opportunity loss when winning the current auction is equal. Thus, any bid encapsulating a positive revenue for agent will also suggest a positive revenue for agent which can perform the task with a lower cost. Consider an agent which is about to attend an auction with a total of participating agents. The expected revenue of this agent is denoted by The expected revenue of the agent currently participating in an auction, where its duration for the proposed task is is denoted by The expected revenue is calculated as:
The above equation considers the cost C of participating in the auction and the expected revenues given all the possible world states. The method for calculating is given in the following paragraph. Notice that as the number of competitors an agent has in an auction increases, it is less likely that this agent will win the auction. Thus, we can state the following theorem. Theorem 2. An agent’s expected future utility from a given auction, monotonically decreases in respect to the number of participating agents in this auction. Formally stated: for any Proof: by induction.
276
D. Sarne et al.
In order to extract the agents strategies, we first need to understand the influence of the agents’ different bidding strategies on their expected utility functions. An agent winning an auction, when bidding will be awarded the mean of second bid values, denoted by Otherwise, it will move on to the next auction where its expected revenue will be either (assuming agents in last auction) if one of the other agents won this auction; or if all agents used a bid higher than M. For simplification, in the rest of this paper we will use: to denote
Fig. 2. Agents’ bidding scenario
Figure 2, describes the different scenarios for an agent participating in a given auction. We distinguish between 3 types of bids within the equilibrium: (I)
Using bids of this type, the agent wins the auction with a probability resulting in an expected revenue of Otherwise (with a probability of the agent loses the auction, thus its expected revenue is For agents associated with this type, the bid satisfying:
This bid guarantees their indifference to winning or losing the auction. (II) Here, with a probability of the agent wins the auction, obtaining a reward of M, thus its revenue is Otherwise, the agent’s expected revenue is (III) When using bids of this type the agent will never win the auction. Thus, its expected revenue will be (if all other agents, as well, bid higher than M, with a probability of otherwise if any of the other agents win the current auction, it will be In the rest of this paper we refer to the above types as type(I), type(II) and type(III), respectively. The following theorem suggests several important characteristics of the different equilibrium bid types.
Auction Equilibrium Strategies for Task Allocation
277
Theorem 3. Consider an agent with a duration (a) if holds, then the agent’s equilibrium bid is inevitably according to equilibrium type(I). Otherwise, the agent will bid according to type(II) or type (III). (b) if the agent’s equilibrium bid is M (type (II)), then any other agent with not complying with part (a) of the theorem, will bid M as well. Sketch of Proof: (a) Agents associated with type (I) strategy in equilibrium, gain a better utility by using than by using Thus considering Figure 2, the following must hold:
Manipulating the above equation we obtain:
Notice that as a bid greater than M will never win. Thus substituting with M, we obtain Similarly, we can prove that these agents do not have an incentive to move towards type (III) strategy. (b) As agent is not associated with type (I) strategy our only concern is to prove that this agent’s expected benefit when bidding is greater than the expected benefit when using Agent is associated with type (II) strategy, for which the following must hold:
Manipulating the above equation we obtain:
The above equation will be valid for agent where is also associated with equilibrium strategy of type (II), i.e.,
Thus agent
The above theorem divides the agents into 3 continuous groups as demonstrated in Figure 3. We denote the shortest duration of an agent bidding M, as D. The longest duration, is denoted Utilizing the above theorem, and the new notations, we can now formulate the expressions for the agents’ expected revenues according to the three different types. Type (I): The expected revenue is composed of 3 components: (a) The agent is a sole best bidder (awarded the expected second bid) ; (b) the agent is the best bidder along with other agents with equal bids (awarded its own bid with
278
D. Sarne et al.
Fig. 3. Division into types
a probability equal to the others) ; (c) the agent loses the auction, moving on to the next one. The above is formulated as follows:
where is the probability the agent will win the auction when one or more additional agents have the same duration Type (II): The expected revenue is composed of 2 components: (a) The agent wins the auction with a probability similar to all other agents offering M (awarded M) ; (b) The agent loses the auction, moving on to the next one. The above is formulated as follows:
where agent will win the auction when bidding M.
is the probability the
Type (III): In this case the agent inevitably loses the auction thus the only consideration is the number of agents it will compete with in the next auction (affected by whether or not one of the other agents wins the current auction):
At this point, we have all the necessary equations to calculate the equilibrium bids and the appropriate perceived revenues for each agent. Solving a system of simultaneous equations of types (1-2, 7-9), yields the appropriate strategy parameters. However, in the current structure of the problem, this would be extremely difficult as we need to solve a set of complex equations, where N denotes the number of discrete durations in the interval In the next section we show that for an important applicable variant of the above model, a simple algorithm with a complexity can be used to calculate the equilibrium bids, and thus the agents’ equilibrium revenues.
Auction Equilibrium Strategies for Task Allocation
4
279
Bounded Size Environments
In this section, we focus on bounded size environments, where no new agents enter the environment The number of available agents never increases, thus once an agent is awarded a task, the number of available remaining agents always decreases by one. This scenario is mostly common in disaster environments (where task durations are relatively long and the arrival rate of new tasks is quite high) or when the group of agents is physically isolated as in the application for the exploration of remote planets [5]. Similarly, we can identify such a scenario in the proposed self-interested servers application (see section 1). Consider a scenario in which servers are competing for the execution of night jobs (assuming they have idle resources only during night). A typical execution of such a job lasts several hours, thus preventing the executing server from competing for additional jobs during the night run. The entire application will start over the next night as all servers will be available again to compete for incoming jobs. In the bounded size environment, a situation will eventually occur where one of the agents is left alone. Nevertheless, unlike in the general model where new agents might join this agent in subsequent auctions, here the agent will have no future competition. In this situation the agent will undoubtedly bid M, having no other agents to compete with. This is a unique scenario that can not be found in general cases. However, even in this situation the agent might not be interested in winning any given auction. As no competition is expected in future auctions, it might be more beneficial for it to wait for a better world state, in which its capabilities allow it to complete the task in a shorter duration, and thus with a lower cost. In the absence of the cost of participating in an auction, C, the agent will wait until it reaches a world state in which its capability to perform the task is However, the introduction of cost C requires a cost-effective analysis. The agent’s optimal strategy, when left alone, is stationary, i.e., an agent refusing to bid in an auction with a duration of will always repeat this strategy. Thus the agent will use a reservation value strategy, bidding M in all world states where its duration is smaller or equal to its reservation value. By denoting the reservation value of the agent as we obtain:
This recursive equation is derived from classical search theory ([6], and references therein), in which the searcher, having a fixed cost per search stage and a distribution of benefits from possible opportunities, seeks to maximize its overall utility (opportunity utility minus search cost). The above modification, results in:
280
D. Sarne et al.
The optimal reservation value, is the one where the agent is indifferent to obtaining an immediate revenue M and to continuing the search with an expected future payoff of Formally stated:
Thus Since the analysis given in section 3, for the case of having more than one agent in an auction, remains unchanged, except for replacing with we will not repeat it in this context. Though the modifications of equations (1-9) for the bounded size environment do not take into consideration an increase in the number of agents, the solution process still involves solving a set of complex simultaneous equations. However, using the analysis given for the case where and Theorems (1-3) we suggest an efficient algorithm that the agents can use for calculating their equilibrium bids. For the bounded size environment, we can formulate equation (1) by dividing the expected utility, into:
This way, we can extract suggests.
once we have
as the following algorithm
Auction Equilibrium Strategies for Task Allocation
281
The algorithm follows the rules of distinction between the 3 agent types as suggested in the former section, particularly making use of the characteristics described in Theorem 3. Theorem 4. (a) Algorithm 1 will always terminate in finite time. (b) If an equilibrium exists for the environment1 the array B[1 : K] [1 : N] will store the equilibrium bids after the algorithm execution is completed. (c) The complexity of the algorithm is Proof: (a) The loops 01, and 03-06 are finite. (b) After executing line 02, the equilibrium revenue for the case of a single agent, will be stored in R[1][N+1]. Lines 03-13 are for calculating the equilibrium bids for each scenario of more than one agent in an auction. First, the algorithm isolates the agents that will unavoidably bid less than M. This is done using Equation (2). A temporary (stored in R[k][N+1]) is calculated using Equation (13), based on the bids stored in array B[][]. Then (lines 08-09) the algorithm starts scanning the agents that currently bid more than M, but have the incentive to deviate towards bidding M, given the values of the current and the formerly calculated. The agent characterized with the shortest duration in the group of agents bidding more than M is assessed first, and then the other agents according to their durations. Once there is no additional agent to be added to the group of agents bidding M, a final can be calculated for the case of competing agents. The value of is calculated in the same manner, thus, starting with all values (for can be calculated recursively. (c) The complexity of the algorithm is as it uses two loops bounded by N, for all agents. The computations made at each stage are immediate. In addition to the algorithm being used by each agent for situations where M, and C are fixed, it can also be utilized by the central manager. By using the algorithm, the central manager can efficiently calculate the expected equilibrium strategies for different environments controlling the above parameters. Thus the expected benefit can be derived for each of these environments, and the central manager’s utility can be optimized when the second price auction is used as the allocation protocol.
5
Computational Examples and Discussion
In this section we explore the behavior of the agents’ expected revenues and the central manager’s total expenses for performing tasks in different environmental settings. Our goal is mainly to emphasize and illustrate some of the characteristics of the equilibrium as analytically developed in the previous sections. 1
A scenario where an equilibrium does not exist might occur only in discrete environments and this is very rare. Nevertheless, the suggested algorithm can be extended to handle such a scenario.
282
D. Sarne et al.
Calculations were performed using Algorithm 1. We use an environment where the durations are uniformly distributed in the interval [1,10] with 100 discrete values, and the parameters: M = 100.
Fig. 4. Expected revenue as a function of duration (Di)
Our first goal is to demonstrate how the number of agents competing in an auction, affects each agent’s equilibrium revenue and the cost for the central manager. Figure 4, presents the agents’ expected revenue, as a function of the duration for different numbers of competing agents, As predicted, an agent’s expected revenue decreases in its duration (agents characterized with shorter durations are more likely to win an auction and their cost for performing the task is lower). The curves decrease as the agent bids lower than the maximum price and from a specific transition point they become constant as the agents bid higher than the maximum price. The relatively steep change in the agent’s expected revenue that can be noticed at the transition point is a measure of the interval in which agents set their equilibrium bids to the maximum price (types II). Notice that unlike the agents bidding higher than the maximum allowed bid (all having the same expected revenue, as they will never win the auction), agents setting their bid to the maximum price seldom win the auction. Thus agents of the latter type differ in their expected revenue as their cost for performing the task is different. Next, we demonstrate the affect of C (cost of participating in an auction) and the number of agents, on the expected expenses of the central manager. The affect is illustrated in Figure 5, depicting the average cost per task, for different C and values. Simple intuition suggests that increasing the number of agents and decreasing the cost C will enhance competition. Thus the central manager’s average expenses per task should decrease. Figure 5 demonstrates that the above is true, though the improvement is limited. This is simply because adding more agents extends the average number of auctions an agent needs to participate in, prior to winning a task (see Figure 6, describing the expected number of auctions until all tasks are allocated, for different values of C and At some point, as the number of agents increases, the expected future revenue becomes negative for any agents participating in this type of auction sequence. In the latter case,
Auction Equilibrium Strategies for Task Allocation
Fig. 5. Average cost per task
283
Fig. 6. Accumulated rounds
the protocol is not feasible as the agents initially prefer not to participate in any of the auctions. The same holds for the increase in cost. If the central manager can control C and it will certainly select the combination that will produce the lowest feasible expected cost (in our example, C = 2.2). The behavior presented in Figure 6 can be explained as follows: for small values of C the agents tend to wait for better world states. As C increases, the agents tend to compromise and prefer taking a task even in non-optimal world states, rather than paying C for an additional auction.
Fig. 7. Comparison with cooperative
We also compare the performance of the distributed allocation to the selfinterested agents model with the alternative method where agents are cooperative, and the central manager uses a centralized allocation. For this purpose we consider an allocation method where the central manager allocates each arriving task to the agent with the lowest duration. The expected average expense for a task given available agents, denoted as in this case will be:
284
D. Sarne et al.
Obviously, we can not obtain such a theoretically expected expense in a distributed environment of self-interested agents. However, this presents a reference point for comparison. Figure 7 compares the two methods, when for each number of agents, the optimal C (as derived from Figure 5) was used by the central manager to supply the best average expected cost in the distributed selfinterested agents allocation. The graph suggests that the expected expense is significantly smaller in the central allocation method, however this is mainly a function of the parameters C, and the distribution function. Notice the expenses associated with the central allocation as formulated in Equation (14), give only the “net” cost of agent’s operation, However, if we also take into consideration leasing fees the central manager needs to pay for having full control over the agents, then for some leasing fee values it will be more economic to use the allocation of tasks to self-interested agents.
6
Conclusions
In this paper we have developed a theoretical framework for analyzing the task allocation process for self-interested agents in a dynamically changing environments. The main challenge in these types of environments is to identify the agents’ equilibrium strategies, for any given protocol and specific environmental settings. Typical environments of such domains (e.g., exploration of remote planets, servers competing for executing jobs during idle periods) are characterized by a relatively small number of agents with partial knowledge regarding other agents’ capabilities. Thus each agent attempts to maximize its revenue by taking into consideration both the other agents’ long term strategies and the influence changes in its own strategy will have on the other agents. This imposes a significant computation complexity as large sets of complex simultaneous equations need to be solved in order to derive the equilibrium. We focused on a specific allocation protocol, where the central manager initiates a second price reverse auction for each arriving task. We developed the equilibrium equations for this environment and identified important characteristics of the equilibrium. Based on the analysis, we were able to produce an efficient algorithm for calculating the agents’ equilibrium bids when no new agents appear in the environment. The complexity associated with the proposed algorithm suggests a significant improvement in comparison to the complexity of solving the sets of equilibrium equations. In addition to the usage of the algorithm by the agents, the central planner can now use it to fine tune the parameters of the proposed protocol to maximize its utility. In future work we intend to use the methodology developed in this paper for exploring the equilibrium of the task allocation process for self-interested agents in respect to additional protocols. This will further enhance the central manager’s capabilities to affect its utility by also controlling the type of protocol to be applied.
Auction Equilibrium Strategies for Task Allocation
285
Acknowledgements. This research was supported in part by NSF under grant #IIS-0208608. Preliminary results of this research were published in the proceedings of ECAI 2004. We would like to thank Uri Yechiali for enlightening discussions.
References 1. E. Altman and R. Hassin. Non-threshold equilibrium for customers joining an m/g/1 queue. in Proceedings of 10th International Symposium on Dynamic Game and Applications, July 2002. Saint-Petersburg, Russia. 2. C. Boutilier, M. Goldszmidt, and B. Sabata, ‘Sequential auctions for the allocation of resources with complementarities’, in IJCAI’99, pp. 527–523, (1999). 3. F. Brandt, W. Brauer, and G. Weiss, ‘Task assignment in multiagent systems based on vickrey-type auctioning and leveled commitment contracting’, in CIA ’00, pp. 95–106, (2000). 4. A. Byde, C. Preist, and N. Jennings, ‘Decision procedures for multiple auctions’, in AAMAS’02, (2002). 5. B. Dias and A. Stentz, ‘Traderbots: A market-based approach for resource, role, and task allocation in multirobot coordination’, Technical Report CMU-RI -TR03-19, Robotics Institute, CMU, PA, (2003). 6. J. McMillan and M. Rothschild. Search. In Robert J. Aumann and Amsterdam Sergiu Hart, editors, Handbook of Game Theory with Economic Applications, pages 905–927. 1994. 7. T. Sandholm and V. Lesser, ‘Issues in automated negotiation and electronic commerce: Extending the contract net framework’, in ICMAS’95, pp. 328–335. The MIT Press: Cambridge, MA, USA, (1995). 8. O. Shehory, ‘Optimal bidding in multiple concurrent auctions’, International Journal of Cooperative Information Systems, 11(3-4), 315–327, (2002). 9. R. G. Smith., ‘The contract net protocol: High-level communication and control in a distributed problem solver’, IEEE Transactions on Computers, 29(12), 1104– 1113, (1980). 10. T. Smith, T. Sandholm, and R. Simmons. Constructing and clearing combinatorial exchanges using preference elicitation, 2002. AAAI workshop on Preferences in AI and CP: Symbolic Approaches. 11. W. Walsh and M. Wellman, ‘Efficiency and equilibrium in task allocation economies with hierarchical dependencies’, in IJCAI’99, pp. 520–526, (1999). 12. M. Wellman and W. Walsh, ‘Auction protocols for decentralized scheduling’, Games and Economic Behavior, 35, 271–303, (2001).
Agent’s Multiple Inquiries for Enhancing the Partnership Formation Process* David Sarne1 and Sarit Kraus1,2 1
Department of Computer Science, Bar-Ilan University, Ramat-Gan, 52900 Israel 2 Institute for Advanced Computer Studies, University of Maryland, College Park, MD 20742
Abstract. The concept of sequential two-sided search is widely used in partnerships formation applications in various domains. However, when considering the implementation of the method in Multi-Agent Systems (MAS), one may notice a strong incentive for agents to deviate from the traditional equilibrium sequential search strategy towards an extended search method which combines simultaneous inquiries in each search round. In the current paper we explore such a model, where agents of a specific type can use this kind of simultaneous search technique. Since all agents types strategies take into consideration the other agents’ strategies, the main focus is on the equilibrium analysis. By introducing the agents’ expected utility functions, we manage to present a complete equilibrium based analysis for the new model combining the simultaneous inquiries technique. The specific characteristics of the equilibria, derived from the analysis, allow us to suggest efficient algorithms for calculating each agent’s strategy. As a complementary application for the proposed model, we suggest the buyer-seller two-sided search process in C2C eMarketplace environments. Here, buyer agents utilize the new search technique in order to enforce a new equilibrium which yields a better utility for themselves. The perceived improvement in the agents performance in comparison to the traditional two-sided search method is demonstrated through simulations.
1
Introduction
The concept of two-sided search for forming partnerships among agents can be found in many MAS applications [9]. The key issue for each agent engaged in such search process is to determine the set of agents it is willing to form a partnership with. The number of possible partners the agents seek is application dependent. In this paper we focus on partnerships where each agent is satisfied with only one partner. Typical applications that make use of size-two partnership formation processes include buyer-seller, peer-to-peer media exchange, dual long distance call partnering termination-services [15], dual backup services [14] etc. The main characteristic of these applications is that an agent can gain a utility only if it eventually partners with another agent. However, once a partnership is formed, *
This research was supported in part by NSF under grant #IIS-0208608.
M. Klusch et al. (Eds.): CIA 2004, LNAI 3191, pp. 286–302, 2004. © Springer-Verlag Berlin Heidelberg 2004
Agent’s Multiple Inquiries for Enhancing the Partnership Formation Process
287
adding additional agents as partners does not produce any additional benefit. The search process for such partnerships is considered two-sided as all agents in the environment engage in search. Thus a partnership eventually formed is the result of the combined search activities of the agents forming it. Traditionally, applications where individuals were engaged in dual search activities (e.g. marriage and labor markets [2]), considered pure sequential search where each party samples and evaluates one potential partner at a time. Nevertheless, while considering the migration of such models into MAS environments, one must also take into consideration an important strength of autonomous agents (in comparison to humans) - their ability to handle an enormous amount of information and to maintain interaction with several other agents in parallel [5]. This research is motivated by such strength, i.e., allowing agents to simultaneously interact with several other agents during each search round. We aim to show that the use of the new method derives different equilibrium strategies (in comparison to the pure sequential model) for the agents. The results of the analysis suggests that as the choice of using the method is given to one of the agents types, this type can only improve and never worsen its expected utility. In order to demonstrate the suggested methodology, we use the legacy twosided agents search application - the buyer-seller search in Electronic commerce. More specifically, we use the C2C (Consumer-to-Consumer) segment, where consumers can be found at both ends of the transaction. We consider a C2C marketplace with numerous buyer and seller type agents. Each agent explores the market for opportunities to buy or sell a specific item, equipped with its owner’s personal preferences and requirements. Once a buyer agent and a seller agent become acquainted, they interact, following given conventions defined by ontology and language. If the buyer agent’s preferences and requirements for the product attributes and functionalities are met, then a possible transaction between the two of them can be considered associated with specific terms (including the price) and policies. Dual commitment to the proposed transaction will result in an agreement and an immediate utility for both sides. Otherwise both agents will continue their search, looking for other candidates. Notice that the seller agents in C2C marketplaces usually have a single item (or a limited quantity) they wish to sell on an irregular basis. Therefore, even though the seller agents do not proactively search for buyer agents, they are active in a selective manner in order to maximize their total utility. The utility an agent gains from any given transaction, is a function of many factors. While for simple products (like CDs), it is mostly a matter of price, for more complex products, the purchasing decision generally requires a complex trade-off between a set of preferences. We apply the multi-attribute utility theory (MAUT) [8], for analyzing preferences with multiple attributes in our agentbased trading mechanism [9]. The reason for using such a function is two-folded. First, most C2C users buy and sell assorted items that are often difficult to describe, and are not easily evaluated. Since in most cases it will be a used item, the value for the buyer will be influenced mostly by the specific functionalities (including attributes like color, size, etc.), quality and current condition of the
288
D. Sarne and S. Kraus
product. Second, the transaction that will eventually be made will include many terms and policies (concerning warranties, return policy, payment policy, delivery time and policy, insurance for the delivery, etc.). All these terms have value for both sides and can be critical to their buying/selling decision, regardless of the manner of shopping [5]. Adding reputation and trust factors to the agents’ considerations, and keeping in mind that in many terms and policies buyers and sellers do not have directly competing interests [4], one may conclude that similar potential transactions may suggest different utilities for different buyers and sellers agents. The general framework of our model consists of an environment populated by many agents, where each agent is associated with one of two types. Partnerships are formed between single agents of the two types. Each agent is self-interested and has no a-priori knowledge regarding the utility that can be obtained by partnering with specific agents in the environment. In order to find an appropriate partner, each of the agents interacts with other agents of the opposite type, evaluating the perceived utility from partnerships with these agents. The perceived utility from any interaction is associated with a distribution function (widely common assumption in traditional two-sided search models [2]). In the current context, we limit the possibility of using the simultaneous search for one of the types. Such a scenario is applicable in several environments, as will be discussed in the following sections. The methodology and results presented in this paper can be used as an infrastructure for future research, considering the model where all agents types can use the new technique. An inherent part of such a dual search model is the search “cost”, reflecting the resources required by the agent to perform its search activities. This includes the cost associated with the interaction between agents, locating other agents, analyzing and comparing offers, decision making, etc. Many authors have argued that advances in communication technologies reduce search costs and other market inefficiencies. However the general agreement is that these cannot be ignored completely [1]. These should be considered when computing the total expected utility for the agent, given a specific search strategy. Upon meeting a potential partner agent, at any given stage of the search, the agent needs to decide whether to form a partnership with the agent it has met or to continue its search. If it will attempt to join the current agent and that agent will commit to the partnership as well, then it will immediately gain the expected utility from the partnership; Otherwise, the agent will need to continue searching, bearing additional search costs. In the latter case the agent’s future expected utility will be derived from the benefit future interactions might offer, as well as the encountered agents’ willingness to form a partnership. Therefore, an agent’s decision of whether to join the current possible partner depends on the strategies set by the other agents. In a similar manner their strategies also depend on the decision of the agent. Thus, we are looking for strategies that are in equilibrium. As we will show in this paper, the equilibrium will consist of reservation value based strategies. That is, the agent will set a reservation
Agent’s Multiple Inquiries for Enhancing the Partnership Formation Process
289
value, accepting a partnership yielding a utility greater than or equal to and rejecting all partnerships with agents that yield a utility lower than 1 An important output of our work is the in-depth analysis we suggest for the model, shedding light on unique characteristics of the agents equilibrium policies. Nevertheless, our main contribution is in the integration of the simultaneous search capability into the agent’s search strategy in the two-sided model. This suggests a more efficient search that significantly reduces some of the agent’s fixed-natured search costs and increases its overall performance (in terms of the perceived utility). Throughout the paper we suggest efficient tools for the agent to find the optimal number of simultaneous interactions in a search round. The proposed algorithms, can also be useful for the traditional two-sided pure sequential search model as a specific case. In the next section we address relevant multi-agent and search literature. In section 3 we present the model. An equilibrium analysis and calculation algorithms are given in section 4. We conclude and present directions for future research in section 5.
2
Related Work
The search process for partners, often associated with agent matchmaking concept, has wide evidence in literature [9,17]. In its wider extent it can be seen as part of the multi-agent coalition formation model found in the electronic market [7,10]. While some mechanisms assume that an agent can scan as many agents as needed, others use a central matcher or middle agents [3]. Few have considered the problem of finding matches for cooperative tasks without the help of a predefined organization or a central facilitator [13,14]. However, to the best of our knowledge, a distributed simultaneous search for partners has not been studied. The traditional two-sided search application initially evolved from the area of search theory ([11], and references therein). These models focused on establishing optimal strategies for the searcher, assuming no mutual search activities and were classified as one-sided search. In an effort to understand the effect of dual search activities, the “two-sided” search research followed [16,2]. The transition of these models into MAS environments is non-trivial. While traditional models assume poisson arrival rates for new opportunities, we do see room for agents that control their search intensity and even initiate simultaneous interactions for improving their utility. The use of variable sample sizes was suggested for the one-sided search [12], however, since there is only one searcher in these models this became a simple optimization problem, with no equilibrium concerns. The equilibrium concept is the key issue in the simultaneous two-sided 1
The reservation value of the search strategy is different than a reservation price usually associated with a buyer or a seller that are not involved in a search. While the reservation price denotes an agent’s true evaluation of a specific potential transaction, the reservation value of a search strategy is mainly a lower bound for accepted transactions, derived from the expected utility optimization considerations.
290
D. Sarne and S. Kraus
search, as the agent needs to consider the effect of its strategy both on the other agents’ strategies and on its own performance. This significantly increases the complexity of the problem. Our model also differs in the way search “costs” are modelled. Unlike most traditional search models, where search “costs” are modelled by the discounting of the future flow of gains, we see these costs as an actual explicit resource the agent needs to put into the search. This is mainly because the search in MAS environments will usually last a few days\hours, and will result in an immediate utility. Lastly, notice that while traditional models [2] are more concerned with describing the equilibrium equations, we also require algorithms and methods for deriving the agents policies for different settings and the distributed computation of the equilibrium strategy.
3
The Two-Sided Simultaneous Search Model
Consider an environment populated with numerous agents of two types, where each agent is interested in forming a partnership with an agent of the opposite type. For illustrative purposes, we’ll continue with the model denoting the two types as buyer and seller agents, residing in a C2C marketplace environment, interested in buying or selling various items. Any random interaction between a seller agent and a buyer agent, may yield a transaction for exchanging the item according to well defined specific terms and policies. As suggested in the introduction, the perceived utilities from any suggested transaction between two specific agents, denoted by for the seller agent and for the buyer agent, can be seen as randomly drawn from a population with p.d.f. and c.d.f. for the seller agent and and for the buyer agent We assume that buyer (seller) agents, while ignorant of individual seller (buyer) agents’ offers (preferences) are acquainted with the overall utility distributions (a common assumption in search models, see for example [16]). We consider simultaneous interactions only by agents of a specific type. This suits the electronic marketplace applications, as in current C2C markets sellers are usually approached by buyers, and they do not approach buyers in a proactive manner. Thus, at any stage of its search each buyer agent randomly encounters N seller agents interested in selling an item similar to the one the buyer agent wishes to buy. Out of the set of N potential transactions, the buyer agent will focus on the “best opportunity”, i.e., the one with the highest utility, denoted by This is in comparison to the traditional pure sequential model [2], where each buyer agent is acquainted with only one seller agent in a search stage. Each agent needs to allocate resources to maintain its search. We consider this “cost” per search stage to be composed of a fixed cost and a variable cost. Setting and as the fixed and variable components of the buyer agents’ search cost, respectively, we obtain a total search cost per search stage of The seller agents search sequentially, and thus their search costs can be seen as We assume the agent’s utility from a given transaction, as well as the resources required for maintaining the search, can be measured on a similar scale. Thus the total search utility can be obtained by subtracting the search “costs” from the
Agent’s Multiple Inquiries for Enhancing the Partnership Formation Process
291
perceived utility for any given transaction. A model where different agents of the same type will be using different search structures may also be considered. In this case we will obtain similar sub-types of agents which can be integrated into the appropriate equations along with their distribution in the general population. In the current paper we present the analysis of the case where all agents of a specific type (e.g. buyer agents) share the same cost structure, which is applicable for most markets where the agents are supplied to the users by the market maker. After reviewing and evaluating the potential partnership, defined by the proposed transaction, each agent will make a decision whether to commit to it. A transaction will take effect only if both agents are willing to commit to it. Otherwise both agents will resume their search according to the same cost structure. Since the agents are not limited by a decision horizon or the number of search rounds, and the interaction with other agents does not imply any new information about the market structure, their search strategy is stationary, i.e. an agent will not accept an opportunity it has rejected beforehand, and the value N will remain constant over time. As the agents are seeking to maximize their utility, they will use a reservation value based strategy. Consider an environment where buying agents use N simultaneous interactions over each search round. The reservation values used by the buyer and seller agents will be denoted as and respectively. The expected future utility of the buyer and seller agents, when using these reservation values, will be denoted as and Due to space considerations, from this point onward, we present only the equations associated with the buyer type agents. Unless stated otherwise, similar modifications for seller type agents can be extracted using similar methods. After reviewing the best potential transaction, found over the current search round, each buyer agent has to make a decision whether to reject this opportunity and continue the search or commit to the transaction. Continuing the search will result in an expected future utility of Committing to the potential transaction will result in a utility of if the other agent commits as well, or otherwise it will force the agent to keep searching with an expected future total utility of Thus the buyer agents’ expected utility can be calculated as2:
Here, represents the indicator of the event where a specific buyer agent and its “best” encountered seller agent (in the current search round) found the perceived utility from a transaction between the two of them to be greater or equal to their reservation values 2
Detailed formulation and proofs, as well as the seller agents modifications, can be found at http://www.cs.biu.ac.il/ sarit/Articles/multiSearch.pdf.
292
D. Sarne and S. Kraus
Denoting the c.d.f., p.d.f. and the mean of the maximum utility for the buyer agent in an N-size sample of sellers as and we attain:
The above equation can be used by each agent to calculate its expected utility, when using different reservation value strategies, given the cost search parameters and the strategy used by agents of the opposite type. From this equation we can derive an agent’s reaction to changes in the other agents strategies, towards a complete equilibrium analysis. Notice that equation (2), as well as the rest of the following suggested analysis, is also applicable for the traditional pure sequential two-sided search, simply by using N=1.
4
Equilibrium Strategies
Our goal is to supply the buyer agents with tools for calculating their optimal number of simultaneous interactions, to be used in their search. For this purpose, we first analyze the equilibrium strategies that will be used by each agent, for any given number of simultaneous interactions, N. This is achieved by understanding how an agent’s strategy is affected by changes in the strategy used by agents of the other type. Then, based on the analysis given, we are able to suggest an efficient algorithm to find the optimal N.
4.1
An Agent’s Expected Utility Analysis
Notice that an immediate result from (2) is:
The content of (3) is intuitive: if the reservation value is very large, the chances of obtaining a utility greater than this reservation value, from a given search round, are small. Thus, repeated search rounds must be taken, leading to an overall low utility. If, on the other hand, the reservation value, is very small, almost surely a potential transaction suggesting a better utility can be obtained during the first search round. The following Theorems 1-3, suggests several additional important properties of the agents’ expected utility function, to be used later, for designing the calculation algorithms for the agents’ strategies. Theorem 1. The expected utility function unique maxima satisfying:
is quasi concave, with a
Agent’s Multiple Inquiries for Enhancing the Partnership Formation Process
293
Sketch of Proof: Deriving equation (2) we obtain:
A solution for (5) requires that hence for satisfying
Thus
and
Note that
implies
are quasi concave with a unique maxima.
Equality (4) is very common in models integrating a reservation value. It suggests that the expected utility when using the optimal reservation value equals the optimal reservation value. Intuitively, we can say the agent’s optimal reservation value can be found when it is indifferent between the utility that can be obtained from a transaction and the utility associated with continuing the search. Figure 1, illustrates the agents’ expected utility as a function of the reservation value in two settings. The environment used in this figure contains numerous buyer and seller agents, where each interaction between any buyer and any seller agents produce utilities drawn from a triangular distribution function3, defined over the interval (0,100). Buyer agents are associated with fixed and variable costs coefficients and and seller agents are associated with a search cost (thus when buyer agents use N=1, all agents’ search cost structures are symmetric). In the first setting, all agents use pure sequential search (N = 1). The middle curve describes the expected utility of any of the agents in this scenario as a function of the reservation value used (the horizontal axis). In the second setting, buyer type agents use the new simultaneous search method (N = 4). In this scenario buyer type agents have the incentive to use the new technique since their utility increases for any reservation value when using it (represented by the upper curve). Similarly, the expected utility Fig. 1. Agent’s expected utility function for seller type agents (represented by specific environment the lower curve) always decreases when the buyer agents adopt the method. 3
This can be related to most electronic marketplaces. It reflects a high probability to draw an opportunity producing a low utility, and vice versa.
294
D. Sarne and S. Kraus
The incentive for the buyer agents to use the combined simultaneous search technique is strong. Any single buyer agent will prefer to use more than a single interaction during a search round, if he finds the expected utility to be higher in this manner. Figure 2 demonstrates this phenomena for the uniform distribution function. As the utility Fig. 2. Incentive for simultaneous search varies from 0 to 1. the bottom triangular area represents all plausible and combinations where the agents will consider a pure sequential search (e.g. where the expected utility for the agents in a pure sequential equilibrium strategy is positive). Out of this area, we have isolated (on the left side) all combinations of and (setting where an agent can increase its expected utility by deviating from such a pure sequential strategy (assuming all other agents’ strategies are sequential). We learn from the graph that buyer agents have an incentive to deviate from the traditional pure sequential search strategy for many plausible combinations of and values. Furthermore, the advantage of the new technique is mostly in combinations of small and values (in comparison to the average utility from a partnership), which characterizes most MAS applications. Theorem 2. Given the reservation value that was set by the seller agents, the buyers agents’ optimal reservation value, satisfies:
Sketch of Proof: Deriving the expected utility given in equation (2), setting it to zero, and using integration by parts for calculating we finally obtain equation (7). From Theorem 2 we can conclude that the buyer agents’ optimal reservation value (and thus the total utility for these agents, based on Theorem 1) decreases in and This also has an intuitive explanation - as the search costs increase, the agent becomes less selective, reducing its reservation value. Secondly, we can conclude from Theorem 2 that the buyer agents’ optimal reservation value (and thus the total utility for the agent), given the seller agent’s reservation value, decreases as increases. Similar results can be obtained for the seller. Both equation (4) and (7), and their appropriate modifications for the seller agent, can be used for calculating the optimal reservation values of any agent type in the search, given the reservation values used by the agents of the opposite type. However, for most distribution functions, it is impossible to extract and using direct calculations. Fortunately, the characteristics of the optimal
Agent’s Multiple Inquiries for Enhancing the Partnership Formation Process
295
strategies (given the other agents’ reservation values) as proved in Theorems 1-2 enable us to suggest an efficient algorithm for estimating these values up to any required precision level. The idea is that using equation (2) for calculating the expected utility and comparing the result with we can clearly determine if the current reservation value used is greater or lesser than the optimal value. As long as holds, the reservation value used is smaller than the optimal reservation value and vice versa. Bounding the interval in which the optimal reservation value resides, we can use a binary search for finding a good estimation of the value. Notice that in most cases the distribution functions of and are finite (assuming a person’s utility from a specific exchange is finite). However, we can find a bounding interval even for an infinite distribution function as Theorem 3 below suggests. Theorem 3. The values
and
satisfying
and respectively, can be used as upper and lower bounds for the buyer agents’ optimal reservation value (given the seller agents’ reservation value). Similar bounds can be found for the sellers’ optimal reservation value. Sketch of Proof: For the upper bound, assume reservation value satisfies the above condition. Substituting in (2) will yield: And thus, using theorem 1 we can conclude that is an upper bound for the optimal reservation value. The lower bound is valid simply because the overall utility function is concave (Theorem 1) and equation (4) holds. At this point we have sufficient knowledge to sketch the graph of the buyer agents’ expected utility as a function of the reservation value used, (which reflects similar characteristics to the seller agents’ graph The basic structure of the curve is given in Figure 3. Thus, an efficient algorithm for calculating an agent’s optimal reservation value, up to any precision given the strategy of the opposite type agents and the number of simultane- Fig. 3. Specific characteristics of an agent’s exous interactions used can be pected utility function suggested. This algorithm will later be used as part of the mechanism for extracting the equilibrium reservation values.
296
D. Sarne and S. Kraus
The algorithm will always reach the agent’s optimal reservation value, up to any precision in a finite number of steps. Step 01 gives an immediate result if the optimal strategy is to accept any agent4. Based on theorem 3, the optimal reservation value is bounded in the interval Using theorem 1 we can determine if the optimal reservation value is bigger or smaller (steps 0809) and thus refine our bounding interval (steps 05-06). Notice that for all finite distribution functions the algorithm uses a binary search over a bounded interval. The complexity of the main calculation (step 05) in the loop is determined by the distribution functions. Some functions (e.g. normal distribution) require approximation, while others (exponential, uniform, etc.) only entail a simple direct calculation. A similar algorithm can be suggested for the seller agent, replacing the calculation in step 5 with the appropriate modification for Equation (2). Before completing this section we would like to emphasize that in a given sample there may be several seller agents suggesting utilities that might be greater than the buyer agent’s reservation value. Thus buyer agents can improve their expected utility by considering committing also to the next best seller agents in the sample, upon receiving a rejection from the best seller agent in the sample. In this case, we need to redefine the c.d.f and p.d.f of acceptance and rejection for the buyer agents and the seller agents. Even though we are unable to present our analysis for this specific case, due to lack of space, we do wish to emphasize that the number of optimal simultaneous interactions, N, in this scenario might be different than in the regular model presented earlier. Nevertheless, this variant further improves both buyer and seller agents’ performances. It reduces the overall search costs for the buyer agents, and for the seller agents it increases 4
If the calculation is not immediate, it can be skipped and the algorithm will eventually return the correct reservation value for this case,
Agent’s Multiple Inquiries for Enhancing the Partnership Formation Process
297
the probability of being accepted by the buyer agents, even if these seller agents are not associated with the highest utility in the buyer agents’ sample.
4.2
Finding the Equilibrium Reservation Values
The equilibrium in our model can be described by a set where the buyer agents cannot gain a better utility by changing N and\or and the seller agents cannot gain a better utility by changing Using the analysis given in the former section, we can now combine the reactions of both types of agents to changes in the other agents’ reservation value, towards equilibrium. Notice that an important result from (7), is that an agent’s reservation value decreases as a function of the reservation value used by the agents of the opposite type, e.g. for any specific N we obtain that:
This behavior is illustrated in Figure 4. From (8) we conclude that at least one equilibrium exists (in the extreme case, we obtain an equilibrium where agents of a specific type or of both types accept any agent of the opposite type). In some cases we can be sure that there will be a single equilibrium (for example, for the uniform distribution function). However, theoretically, a general distribution function might produce several Fig. 4. Agents’ reaction curves equilibria with uncertainty regarding the identity of the one that will eventually be used. None of these equilibria dominate the other for both agent types (buyer agents and seller agents). Also notice that if there is more than one equilibrium, then the total number of equilibriums is odd. The research of multiple non-dominating equilibriums in game and agents theory is quite rich [6], and thus we leave this case for future research. Within this context we would prefer to limit the rest of the paper to the scenario where the agent faces a singular equilibrium. An equilibrium reservation value, for any given N, can be calculated by setting one of the agent types’ reservation value to 0, and sequentially calculating the optimal reservation value of the two agent types in turns (using either a direct calculation, or algorithm 1), based on the last reservation value calculated in
298
D. Sarne and S. Kraus
former stage. An illustration of this process is given in Figure 4. Such calculation sequences always converge as each agent increases and decreases its reservation value (as a reaction to the changes in the other agent’s reservation value) in a decreasing rate, in each subsequent stage of the process detailed. Notice that the agent can check the singularity of the equilibrium found, simply by repeating the process while initializing the opposite agent type to zero. If the same equilibrium is reached when starting from both directions, then this is a singular equilibrium. Figure 5 illustrates the changes in the strategies of agents of the two types, for the specific environment detailed in Figure 1. From this figure we can clearly see that the singular equilibrium point is where buyer type agents use and seller type agents use This is in comparison to the (46.5,46.5) equilibrium reservation values, associated with the traditional two sided search model (for N = 1), obtained from the middle curve in figure 1 by calculating Recall that in Theorem 1 we obtained (and similarly for the seller Fig. 5. Equilibrium analysis (N=4) type agents), thus in the former scenario, the buyer type agents increase their revenue at the account of seller type agents. This is always true since the buyer agents become more selective, thus decreasing the probability for seller agents to be accepted in a given encounter (which increases the number of search rounds for seller agents, resulting in increased search costs for them). Now that agents of both types are capable of calculating the equilibrium strategies, given the number of simultaneous interactions, N, we move on to handle the buyer agents problem of setting the optimal value Figure 6, illustrates the equilibrium expected utility for buyer agents, as a function of the sample size N they set, for the sample environment outlined earlier. In this case, the optimal expected utility will be obtained when using N=11. Thus using the simultaneous search method was beneficial for buyer agents. Fig. 6. Extracting best N As suggested earlier, any buyer agent is interested in the sample size that will produce the best equilibrium utility for it. This task requires bounding the
Agent’s Multiple Inquiries for Enhancing the Partnership Formation Process
299
range of possible values for The following theorem suggests such an upper bound (we can use N = 1 as a lower bound for Theorem 4. The upper bound value for
is the solution to the equation:
Sketch of Proof: First, we will prove the following Lemmas 1-3. Lemma 1. (1)
(2)
Sketch of Proof: (1) Simply split every sample of size N+1 into two samples of size N and 1. Taking the maximum of these two samples, the new random variable will yield a better expected utility. (2) Formulating the explicit expression and integrating by parts we obtain an expression which is always negative, for any Lemma 2. For any N satisfying
the seller’s utility decreases in N.
Sketch of Proof: Substituting in the appropriate seller’s modification for (1), and using integration by parts, we find that the derivative of is negative for Lemma 3. For any N which holds: the buyer agents’ utility decreases in N. Sketch of Proof: From Lemma 2, we ascertain that in this case the seller agents will accept any buyer agent, thus Substituting in (1), and using integration by parts, we find that the derivative of is negative for Coming back to the proof of Theorem 4, notice that for any N’ satisfying the inequality of the theorem, all agents’ equilibrium strategy will be to accept any agent of the other type, and their expected utility decrease in N’. Also notice that since is concave (according to Lemma (1)) and is linear, there is always a value N which satisfies and for every must also hold. Once we have bounded the range of possible values for the optimal number of simultaneous interactions to be used by the buyer agents, we can suggest a simple algorithm for finding given the environment characteristics (distribution functions and search cost parameters).
300
D. Sarne and S. Kraus
Notice Algorithm 2 is finite and will always yield as it scans all integers over a bounded interval. Nevertheless, the complexity highly depends on the characteristics of the utilities distribution functions. Before continuing to the conclusions section we would like to report that we have also examined a model where all agents are capable of using the combined simultaneous search. Though it is not used in current markets, we do see room for such model in future C2C marketplaces, where seller agents will use more proactive methods to approach buyer agents. In this case the equilibrium characteristics are highly influenced by the structure of resources both agents types are required to invest during search. Other than the additional complexity derived from a process where agents of both types change both N and the reservation value, simultaneously, this case also requires a mechanism for resolving deadlocks that may occur in these many-to-many communication scenarios.
5
Discussion
In this paper we have presented a thorough analysis of the two-sided search model when agents of a specific type make use of simultaneous search interactions in order to improve their equilibrium revenue. The capability for using such search technique is inherent in the infrastructure of autonomous information agents. Furthermore, as demonstrated in section 4, there is a strong incentive for the agent to use such technique in many different environment settings. We emphasize that the agent’s utility will never decrease when using our proposed mechanism. As the agent can control the number of simultaneous interactions used in each search round, in the worst case scenario, the proposed calculations will indicate that the optimal number of interactions is 1, thus the expected utility will be identical to the case where the traditional pure sequential method is used. In fact, the latter method is actually a specific case of our general model, using a single interaction over each search round. Obviously the optimal number of interactions to be used is highly correlated with the ratio of the fixed and variable costs of the agents’ search. Increasing the number of interactions suggests a complex tradeoff for each agent. On one hand, it can reduce the average cost of evaluating another agent (as the fixed cost is shared). On the other hand, the agent risks having spare interactions over the last sample taken, since the partner eventually selected could have been reached by sampling fewer agents if a single interaction method had been used. As the fixed cost becomes more dominant in the overall cost structure, the agents will find it more beneficial to use more simultaneous interactions. In the absence of any fixed costs the agents will obviously use the traditional pure sequential
Agent’s Multiple Inquiries for Enhancing the Partnership Formation Process
301
search method, and if the variable cost is negligible, the agents will strive to interact with as many other agents as possible in each search round. The nature of MAS applications suggests considerable costs which can be categorized as fixed costs. The most trivial is the agent’s maintenance cost per time unit, when operating in the environment. Other fixed costs include self advertisement, fixed batch processes and possibly costs of reporting results to the user after each search round. Thus the new method is highly applicable and beneficial for MAS environments. We show the special characteristics of the agents’ optimal strategies, and the derived equilibrium. We also proffer efficient tools for calculating the optimal number of simultaneous interactions in each search round. Though we focus on implementing the new search method for agents of a single type, the basic analysis and methodology can be widely used in exploring the dynamics of future models which will also combine the use of proactive simultaneous search by agents of the other type. A first step towards this direction can be found in [15]. We also see great importance in understanding the changes in such models when the agents can negotiate over the division of the overall utility.
References 1. Y. Bakos. Reducing buyer search costs: Implications for electronic marketplaces. Management Science, 42(12):1676–1692, June 1997. 2. K. Burdett and R. Wright. Two-sided search with nontransferable utility. Review of Economic Dynamics, 1:220–245, 1998. 3. K. Decker, K. Sycara, and M. Williamson. Middle-agents for the internet. In Proc. of IJCAI, 1997. 4. P. Faratin, C. Sierra, and N. Jennings. Using similarity criteria to make issue tradeoffs in automated negotiations. Artificial Intelligence, 142(2):205–237, 2002. 5. R. H. Guttman and P. Maes. Agent-mediated integrative negotiation for retail electronic commerce. Lecture Notes in Computer Science, 1571:70–90, 1999. 6. J. C. Harsanyi and R. Selten. General theory of equilibrium selection in games. MIT Press, Cambridge, Mass, 1988. 7. T. Ito, H. Ochi, and T. Shintani. A group-buy protocol based on coalition formation for agent-mediated e-commerce. IJCIS, 3(1):11–20, 2002. 8. R. Keeney and H. Raiffa. Decisions with Multiple Objectives: Preferences and Value Tradeoffs. John Wiley & Sons, New York, 1976. 9. M. Klusch. Agent-mediated trading: Intelligent agents and e-business. J. on Data and Knowledge Engineering, 36(3), 2001. 10. K. Lermann and O. Shehory. Coalition formation for large scale electronic markets. In Proc. of ICMAS’2000, pages 216–222, Boston, 2000. 11. J. McMillan and M. Rothschild. Search. In Robert J. Aumann and Amsterdam Sergiu Hart, editors, Handbook of Game Theory with Economic Applications, pages 905–927. 1994. 12. P. Morgan. Search and optimal sample size. Review of Economic Studies, pages 659–675, 1983. 13. D. Sarne and S. Kraus. The search for coalition formation in costly environments. In Proc. of CIA, pages 117–136, 2003.
302
D. Sarne and S. Kraus
14. D. Sarne and S. Kraus. Time-variant distributed agent matching applications. In Proc. of AAMAS, 2004. To appear. 15. D. Sarne and S. Kraus. Agents’ strategies for the dual parallel search in partnership formation applications. In Proceedings of AMEC2004, to appear. 16. R. Shimer and L. Smith. Assortative matching and search. Econometrica, 68(2):343–370, 2000. 17. K. Sycara, S. Widoff, M. Klusch, and J. Lu. Larks: Dynamic matchmaking among heterogeneous software agents in cyberspace. Autonomous Agents and Multi-Agent Systems, 5:173–203, 2002.
Author Index
Aberer, Karl 62 Amamiya, Makoto 31 Ávila, Braulio Coelho 77 242 Barthès, Jean-Paul 77 Bhargava, Ruchita 1 Busetta, Paolo 47 Cabri, Giacomo 257 Chaib-draa, Brahim 226 D’Amours, Sophie 226 De la Rosa, Josep Lluís 137 Despotovic, Zoran 62 Enembreck, Fabrício 77 Ferrari, Luca 257 Fischer, Felix 107 Giannella, Chris
Lee, Habin 183, Lee, Keonsoo 215 Leonardi, Letizia 257 López, Beatriz 137 Lyons, Gerard J. 123 Madden, Michael G. 123 Magott, Jan 242 Matsuno, Daisuke 31 Mihailescu, Patrik 183 Mine, Tsunenori 31 Montaner, Miquel 137 Moyaux, Thierry 226 Ossowski, Sascha 92 Palau, Jordi 137 Papagelis, Manos 152 Payne, Terry 30 199 Plexousakis, Dimitris 152
1
Hadad, Meirav 271 Ishida, Toru 16 Izumi, Noriaki 167 Kargupta, Hillol 1 Kim, Minkoo 215 Kim, Wonil 215 Kogo, Akihiro 31 Kraus, Sarit 271, 286 Kruczkiewicz, Zofia 242 Kurumatani, Koichi 167
Ridge, Enda 123 Rollo, Milan 199 Rossi, Silvia 47 Rovatsos, Michael 107 Sarne, David 271, 286 Sashima, Akio 167 Serrano, Juan Manuel 92 Shepherdson, John 183 Šišlák, David 199
This page intentionally left blank
Lecture Notes in Artificial Intelligence (LNAI)
Vol. 3249: B. Buchberger, J.A. Campbell (Eds.), Artificial Intelligence and Symbolic Computation. X, 285 pages. 2004. Vol. 3238: S. Biundo, T. Frühwirth, G. Palm (Eds.), KI 2004: Advances in Artificial Intelligence. XI, 467 pages. 2004. Vol. 3229: J.J. Alferes, J. Leite (Eds.), Logics in Artificial Intelligence. XIV, 744 pages. 2004. Vol. 3206: P. Sojka, I. Kopecek, K. Pala (Eds.), Text, Speech and Dialogue. XIII, 667 pages. 2004. Vol. 3202: J.-F. Boulicaut, F. Esposito, F. Giannotti, D. Pedreschi (Eds.), Knowledge Discovery in Databases: PKDD 2004. XIX, 560 pages. 2004.
Vol. 3071: A. Omicini, P. Petta, J. Pitt (Eds.), Engineering Societies in the Agents World. XIII, 409 pages. 2004. Vol. 3070: L. Rutkowski, J. Siekmann, R. Tadeusiewicz, L.A. Zadeh (Eds.), Artificial Intelligence and Soft Computing - ICAISC 2004. XXV, 1208 pages. 2004. Vol. 3068: E. André, L. Dybkjær, W. Minker, P. Heisterkamp (Eds.), Affective Dialogue Systems. XII, 324 pages. 2004. Vol. 3067: M. Dastani, J. Dix, A. El Fallah-Seghrouchni (Eds.), Programming Multi-Agent Systems. X, 221 pages. 2004. Vol. 3066: S. Tsumoto, J. Komorowski, (Eds.), Rough Sets and Current Trends in Computing. XX, 853 pages. 2004.
Vol. 3201: J.-F. Boulicaut, F. Esposito, F. Giannotti, D. Pedreschi (Eds.), Machine Learning: ECML 2004. XVIII, 580 pages. 2004.
Vol. 3065: A. Lomuscio, D. Nute (Eds.), Deontic Logic in Computer Science. X, 275 pages. 2004.
Vol. 3194: R. Camacho, R. King, A. Srinivasan (Eds.), Inductive Logic Programming. XI, 361 pages. 2004.
Vol. 3060: A.Y. Tawfik, S.D. Goodwin (Eds.), Advances in Artificial Intelligence. XIII, 582 pages. 2004.
Vol. 3192: C. Bussler, D. Fensel (Eds.), Artificial Intelligence: Methodology, Systems, and Applications. XIII, 522 pages. 2004.
Vol. 3056: H. Dai, R. Srikant, C. Zhang (Eds.), Advances in Knowledge Discovery and Data Mining. XIX, 713 pages. 2004.
Vol. 3191: M. Klusch, S. Ossowski, V. Kashyap, R. Unland (Eds.), Cooperative Information Agents VIII. XI, 303 pages. 2004.
Vol. 3055: H. Christiansen, M.-S. Hacid, T. Andreasen, H.L. Larsen (Eds.), Flexible Query Answering Systems. X, 500 pages. 2004.
Vol. 3187: G. Lindemann, J. Denzinger, I.J. Timm, R. Unland (Eds.), Multiagent System Technologies. XIII, 341 pages. 2004.
Vol. 3040: R. Conejo, M. Urretavizcaya, J.-L. Pérez-dela-Cruz (Eds.), Current Topics in Artificial Intelligence. XIV, 689 pages. 2004.
Vol. 3176: O. Bousquet, U. von Luxburg, G. Rätsch (Eds.), Advanced Lectures on Machine Learning. IX, 241 pages. 2004.
Vol. 3035: M.A. Wimmer (Ed.), Knowledge Management in Electronic Government. XII, 326 pages. 2004.
Vol. 3159: U. Visser, Intelligent Information Integration for the Semantic Web. XIV, 150 pages. 2004. Vol. 3157: C. Zhang, H. W. Guesgen, W.K. Yeap (Eds.), PRICAI 2004: Trends in Artificial Intelligence. XX, 1023 pages. 2004. Vol. 3155: P. Funk, P. A. González Calero (Eds.), Advances in Case-Based Reasoning. XIII, 822 pages. 2004. Vol. 3139: F. Iida, R. Pfeifer,L. Steels, Y. Kuniyoshi(Eds.), Embodied Artificial Intelligence. IX, 331 pages. 2004. Vol. 3131: V. Torra, Y. Narukawa (Eds.), Modeling Decisions for Artificial Intelligence. XI, 327 pages. 2004. Vol. 3127: K.E. Wolff, H.D.Pfeiffer.H.S.Delugach (Eds.), Conceptual Structures at Work. XI, 403 pages. 2004. Vol. 3123: A. Belz, R. Evans, P. Piwek (Eds.), Natural Language Generation. X, 219 pages. 2004. Vol. 3120: J. Shawe-Taylor, Y. Singer (Eds.), Learning Theory. X, 648 pages. 2004. Vol. 3097: D. Basin, M. Rusinowitch (Eds.), Automated Reasoning. XII, 493 pages. 2004.
Vol. 3034: J. Favela, E. Menasalvas, E. Chávez (Eds.), Advances in Web Intelligence. XIII, 227 pages. 2004. Vol. 3030: P. Giorgini, B. Henderson-Sellers, M. Winikoff (Eds.), Agent-Oriented Information Systems. XIV, 207 pages. 2004. Vol. 3029: B. Orchard, C. Yang, M. Ali (Eds.), Innovations in Applied Artificial Intelligence. XXI, 1272 pages. 2004. Vol. 3025: G.A. Vouros, T. Panayiotopoulos (Eds.), Methods and Applications of Artificial Intelligence. XV, 546 pages. 2004. Vol. 3020: D. Polani, B. Browning, A. Bonarini, K. Yoshida (Eds.), RoboCup 2003: Robot Soccer World Cup VII. XVI, 767 pages. 2004. Vol. 3012: K. Kurumatani, S.-H. Chen, A. Ohuchi (Eds.), Multi-Agnets for Mass User Support. X, 217 pages. 2004. Vol. 3010: K.R. Apt, F. Fages, F. Rossi, P. Szeredi, J. Váncza (Eds.), Recent Advances in Constraints. VIII, 285 pages. 2004. Vol. 2990: J. Leite, A. Omicini, L. Sterling, P. Torroni (Eds.), Declarative Agent Languages and Technologies. XII, 281 pages. 2004.
Vol. 2980: A. Blackwell, K. Marriott, A. Shimojima (Eds.), Diagrammatic Representation and Inference. XV, 448 pages. 2004.
Vol. 2821: A. Günter, R. Kruse, B. Neumann (Eds.), KI 2003: Advances in Artificial Intelligence. XII, 662 pages. 2003.
Vol. 2977: G. Di Marzo Serugendo, A. Karageorgos, O.F. Rana, F. Zambonelli (Eds.), Engineering Self-Organising Systems. X, 299 pages. 2004.
Vol. 2807: V. Matoušek, P. Mautner (Eds.), Text, Speech and Dialogue. XIII, 426 pages. 2003.
Vol. 2972: R. Monroy, G. Arroyo-Figueroa, L.E. Sucar, H. Sossa (Eds.), MICAI 2004: Advances in Artificial Intelligence. XVII, 923 pages. 2004. Vol. 2969: M. Nickles, M. Rovatsos, G. Weiss (Eds.), Agents and Computational Autonomy. X, 275 pages. 2004. Vol. 2961: P. Eklund (Ed.), Concept Lattices. IX, 411 pages. 2004. Vol. 2953: K. Konrad, Model Generation for Natural Language Interpretation and Analysis. XIII, 166 pages. 2004. Vol. 2934: G. Lindemann, D. Moldt, M. Paolucci (Eds.), Regulated Agent-Based Social Systems. X, 301 pages. 2004. Vol. 2930: F. Winkler (Ed.), Automated Deduction in Geometry. VII, 231 pages. 2004. Vol. 2926: L. van Elst, V. Dignum, A. Abecker (Eds.), Agent-Mediated Knowledge Management. XI, 428 pages. 2004. Vol. 2923: V. Lifschitz, I. Niemelä (Eds.), Logic Programming and Nonmonotonic Reasoning. IX, 365 pages. 2004. Vol. 2915: A. Camurri, G. Volpe (Eds.), Gesture-Based Communication in Human-Computer Interaction. XIII, 558 pages. 2004. Vol. 2913: T.M. Pinkston, V.K. Prasanna (Eds.), High Performance Computing - HiPC 2003. XX, 512 pages. 2003. Vol. 2903: T.D. Gedeon, L.C.C. Fung (Eds.), AI 2003: Advances in Artificial Intelligence. XVI, 1075 pages. 2003. Vol. 2902: F.M. Pires, S.P. Abreu (Eds.), Progress in Artificial Intelligence. XV, 504 pages. 2003. Vol. 2892: F. Dau, The Logic System of Concept Graphs with Negation. XI, 213 pages. 2003. Vol. 2891: J. Lee, M. Barley (Eds.), Intelligent Agents and Multi-Agent Systems. X, 215 pages. 2003. Vol. 2882: D. Veit, Matchmaking in Electronic Markets. XV, 180 pages. 2003. Vol. 2871: N. Zhong, S. Tsumoto, E. Suzuki (Eds.), Foundations of Intelligent Systems. XV, 697 pages. 2003. Vol. 2854: J. Hoffmann, Utilizing Problem Structure in Planing. XIII, 251 pages. 2003. Vol. 2843: G. Grieser, Y. Tanaka, A. Yamamoto (Eds.), Discovery Science. XII, 504 pages. 2003.
Vol. 2801: W. Banzhaf, J. Ziegler, T. Christaller, P. Dittrich, J.T. Kim (Eds.), Advances in Artificial Life. XVI, 905 pages. 2003. Vol. 2797: O.R. Zaïane, S.J. Simoff, C. Djeraba (Eds.), Mining Multimedia and Complex Data. XII, 281 pages. 2003. Vol. 2792: T. Rist, R.S. Aylett, D. Ballin, J. Rickel (Eds.), Intelligent Virtual Agents. XV, 364 pages. 2003. Vol. 2782: M. Klusch, A. Omicini, S. Ossowski, H. Laamanen (Eds.), Cooperative Information Agents VII. XI, 345 pages. 2003. Vol. 2780: M. Dojat, E. Keravnou, P. Barahona (Eds.), Artificial Intelligence in Medicine. XIII, 388 pages. 2003. Vol. 2777: B. Schölkopf, M.K. Warmuth (Eds.), Learning Theory and Kernel Machines. XIV, 746 pages. 2003. Vol. 2752: G.A. Kaminka, P.U. Lima, R. Rojas (Eds.), RoboCup 2002: Robot Soccer World Cup VI. XVI, 498 pages. 2003. Vol. 2741: F. Baader (Ed.), Automated Deduction – CADE-19. XII, 503 pages. 2003. Vol. 2705: S. Renals, G. Grefenstette (Eds.), Text- and Speech-Triggered Information Access. VII, 197 pages. 2003. Vol. 2703: O.R. Zaïane, J. Srivastava, M. Spiliopoulou, B. Masand (Eds.), WEBKDD 2002 - MiningWeb Data for Discovering Usage Patterns and Profiles. IX, 181 pages. 2003. Vol. 2700: M.T. Pazienza (Ed.), Extraction in the Web Era. XIII, 163 pages. 2003. Vol. 2699: M.G. Hinchey, J.L. Rash, W.F. Truszkowski, C.A. Rouff, D.F. Gordon-Spears (Eds.), Formal Approaches to Agent-Based Systems. IX, 297 pages. 2002. Vol. 2691: J.P. Müller, M. Pechoucek (Eds.), Multi-Agent Systems and Applications III. XIV, 660 pages. 2003. Vol. 2684: M.V. Butz, O. Sigaud, P. Gérard (Eds.), Anticipatory Behavior in Adaptive Learning Systems. X, 303 pages. 2003. Vol. 2682: R. Meo, P.L. Lanzi, M. Klemettinen (Eds.), Database Support for Data Mining Applications. XII, 325 pages. 2004. Vol. 2671: Y. Xiang, B. Chaib-draa (Eds.), Advances in Artificial Intelligence. XIV, 642 pages. 2003.
Vol. 2842: R. Gavaldá, K.P. Jantke, E. Takimoto (Eds.), Algorithmic Learning Theory. XI, 313 pages. 2003.
Vol. 2663: E. Menasalvas, J. Segovia, P.S. Szczepaniak (Eds.), Advances in Web Intelligence. XII, 350 pages. 2003.
Vol. 2838: D. Gamberger, L. Todorovski, H. Blockeel (Eds.), Knowledge Discovery in Databases: PKDD 2003. XVI, 508 pages. 2003.
Vol. 2661: P.L. Lanzi, W. Stolzmann, S.W. Wilson (Eds.), Learning Classifier Systems. VII, 231 pages. 2003.
Vol. 2837: D. Gamberger, L. Todorovski, H. Blockeel (Eds.), Machine Learning: ECML 2003. XVI, 504 pages. 2003. Vol. 2835: T. Horváth, A. Yamamoto (Eds.), Inductive Logic Programming. X, 401 pages. 2003.
Vol. 2654: U. Schmid, Inductive Synthesis of Functional Programs. XXII, 398 pages. 2003. Vol. 2650: M.-P. Huget (Ed.), Communications in Multiagent Systems. VIII, 323 pages. 2003. Vol. 2645: M.A. Wimmer(Ed.), Knowledge Management in Electronic Government. XI, 320 pages. 2003.