Exchange Model and Exchange Object Concepts for Implementation of National BIM Standards The industry foundation class ͑IFC͒ standard building model schema is a necessary but not sufficient condition for achieving full interoperability between building information modeling ͑BIM͒ tools. Unless each information exchange within construction project workflows has its specific contents and level of detail defined, the breadth and flexibility of the IFC schema leaves room for errors. The national BIM standard approach for resolving the ambiguities of information exchange is based on "use cases," which precisely define the data required in each information exchange between disciplines in engineering workflows. In this paper, we define specific procedures for developing information delivery manuals ͑IDM͒, which capture the use cases and the precise information to be exchanged. We also identify some of the data semantics we found problematic that require workflow specification. We further propose details of the information capture that allow the IDM to serve as a specification for later implementation and testing. The procedures are illustrated using examples from an IDM specification developed for the domain of architectural precast concrete. The problems of interoperability between engineering software systems have existed since the introduction of computer-aided design ͑CAD͒ in the 1970s ͑Pratt 1993͒. File-based data exchange methods such as DXF, IGES, and SAT were developed to exchange geometric entities between one CAD system and another. Most CAD systems have similar geometric entities: points, lines, arcs, planar surfaces, curved surfaces, primitive solids, and so on. The task in writing a geometry translator was to find the corresponding geometric entity in the exchange file format and export the CAD system entities to it. If importing, the corresponding task involved reading the entities from the file format and loading them into the CAD application's native file format. These file formats worked adequately when the objectives were limited to geometry. However, as CAD systems became more sophisticated and evolved into parametric and object-based modeling, the limitations of existing file-based methods became apparent. Parametric modeling involves rules and constraints that define how shapes are to be generated or modified in various conditions; CAD systems became object-based and included attributes and relations between objects as well as geometry ͑Light and Gossard 1982͒. There was no standard way of representing these aspects with existing geometry exchange standards.. These more complex interoperability issues first arose in manufacturing in the late 1980s and led to the development of product model exchange technologies in ISO-STEP ͑Standard for the Exchange of Product model data͒, which is formally called the ISO 10303 Standard. ISO-STEP provided the EXPRESS language ͑ISO 1994͒ for data modeling, common libraries of reusable structures, and methods for developing a variety of exchange capabilities based on specialized data schemas ͑Schenck and Wilson 1994; Eastman 1999͒. This technology has enabled the development of object-based data schemas ͑Fowler 1996; ISO 1998͒ in more than 20 different areas of manufacturing and electronics ͑Eastman 1999͒.. The same issues have become critical in the architecture, engineering, and construction ͑AEC͒ industries with the widespread adoption of Building Information Modeling ͑BIM͒ in the early 2000s ͑Eastman et al. 2008͒ . The cost of inadequate interoperability for the AEC industries in the United States has been estimated at over $15 billion ͑Gallaher et al. 2004͒ . While parametric modeling of buildings has existed for as long as it existed in manufacturing, efforts to develop a building product model exchange schema based on ISO-STEP technology only began in the mid-1990s and is ongoing. This effort is the industry foundation classes ͑IFCs͒ ͑IAI 2007͒, promoted by BuildingSMART ͑previously called the International Alliance for Interoperability͒ ͑Young 2005͒.. The manufacturing industries made significant investments in customizing and tailoring parametric modeling tools for their products ͑Duvall and Bartholomew 2007͒. They rely on long-term working relationships between organizations, developing semicustom exchange protocols using ISO-STEP as a foundation. Such practices are not practical in building construction, which relies on open partnering of small businesses ͑in sharp contrast to the automobile and aerospace industries͒ on projects that commonly extend for periods of three years or less. An exchange capability using open standards is generally recognized to be an industry need ͑Tolman 1999͒.. The IFC model provides a range of means to define building objects, processes and other information in a publicly available data schema. It was conceived as a framework model, addressing the broad scope of building design, engineering, construction, and operation ͑Björk 1995͒. It provides an extensive set of generic building object types ͑beam, column, wall, slab, etc.͒ with associated attributes and other properties. It offers numerous shape definition methods and means to depict relations between objects. The intended role of IFC is to depict all information associated with a building, from feasibility and design, through construction and then operation and to support exchanges of this range of information ͑IAI 2007͒. While the intentions of the IFC were laudable, it has been available for a decade but has not yet had a significant impact on the broad problems of interoperability in AEC.. In contrast, another building model data schema, the CIMsteel Integration Standard ͑CIS/2͒, provides capabilities specifically tailored to the domain associated with fabrication of steel structures in buildings ͑Crowley and Watson 2000͒. CIS/2 has enjoyed the strong support of the AISC and has become widely deployed in steel fabrication ͑Eastman et al. 2005͒ and supporting interfaces with 15 applications. In retrospect, the purpose and application of CIS/2 was very different from IFC. CIS/2 has limited scope of engineering knowledge, restricted geometry, material properties, and processes ͑Crowley and Watson 1997͒. In practice, the set of applications that deal with steel analysis and fabrication allowed intuitive identification of a few primary workflows and developed specific exchanges for the workflows between the relevant applications. The primary exchanges were: ͑1͒ design to fabrication; ͑2͒ design to analysis; ͑3͒ fabrication to analysis; and ͑4͒ fabrication to production. These workflows are broadly supported, implemented in steel fabrication and related applications, and used today in daily production.. The results of the IFC, on the other hand, have been difficult to implement and utilize because the use cases in which exchanges are to be made have not yet been clearly defined. For a building model framework schema such as IFC, lack of definition of specific task-oriented exchange content leads to implementation of translators that may be technically correct, but generate incomplete and incompatible data exchanges for specific tasks, because of lack of coordination regarding what specific information is to be included in the IFC view.. A proposed solution to these problems is to define the workflows used in practice, the specific information exchanges they require, and define appropriate model views for the exchanges. This is the focus of the national BIM standard ͑NBIMS͒, administered by BuildingSMART within the National Institute of Building Sciences ͑NIBS͒ ͑2007͒. In the NBIMS approach, groups of people that are expert in some domain of AEC specify "use cases" in what are called information delivery manuals ͑IDMs͒ ͑Hietanen 2006a͒ for their domain, after which information experts prepare implementation-oriented model view definitions ͑MVDs͒ ͑Hietanen 2006b͒ to provide the information specifications needed to enable software developers to write appropriate export and import translators. Use cases are detailed descriptions of the context and content of information exchanges between users and/or software tools.. The recommended process for generating a NBIMS specification and implementation is described in NBIMS, Vol. 1, Section 5 ͑NIBS 2008͒. A general outline of the process is shown in Fig. 1 . The first phase ͑program͒ focuses on domain expert input and the second phase ͑design͒ deals with IFC MVD. This paper presents an early attempt to apply this generic approach, using the domain of architectural precast facades as a test bed. At the time of writing, no completed content volumes of the NBIMS had been published and the applicability of the generic process was thus untested. The research described here required learning and testing through design, application, implementation, and most important, developing further detail for the various steps involved in development of an IDM. The paper offers detailed guidelines for the development of BIM standards following the generic NBIMS approach. The work builds upon earlier efforts to assess the issues involved in interoperability dealing with architectural precast ͑Sacks et Y.-S Jeong, et al. 2009͒ . The IFC standard building model schema provides a basis for achieving full interoperability between BIM tools. But unless the specific contents and details are defined for each use case for construction project workflows, the breadth and flexibility of the IFC schema leaves room for software vendors to program translators that do not result in effective exchanges. The NBIMS attempts to resolve the ambiguities of information exchange by defining use cases with precise workflow specifications.. The basic approach calls for the development of functional specifications or exchange requirements defined by end users in an IDM. These are then mapped to MVDs by IT experts. As a result of our early experience in carrying out the IDM development, and anticipating the later MVD specification, we have added additional levels of specificity to the IDM object-level exchange definitions. This has been driven by the need to validate later steps, at the MVD and translator implementation stages. The basis for such validation comes from the original user need and intended use. If these are not captured initially, they will either be dealt with in ad hoc fashion later, or require iterated reviews by end-users throughout the MVD definition. Instead, we have developed methods to capture detailed level information requirements from end users at the IDM phase of specification, so that all later stages may refer to the specifications for guidance.. We have presented examples of the documentation, addressing the domain of architectural precast concrete. Tables define each use case within the processes; other tables define the information exchanges required for the use cases. The writers have developed more detailed objectives for defining the IDM documentation for workflow use cases. We believe this detailed level of specification will allow precise implementations for complex objects that are reliable and foolproof that would not be reliably achieved otherwise.. The expected eventual outcome of the architectural precast use case study and implementation will be a MVD that fully addresses the information exchange needs between four primary actors: architect, precast contractor, general contractor, and structural engineer, who deal with architectural precast issues. Other actors, such as rebar and mesh fabricators, concrete mix plants, and precast erection firms, may be addressed in later use case efforts. These use cases, specified in the IDMs, will allow specification of a set of MVDs that are expected to define complete and robust data exchange requirements that can be implemented by software vendors whose BIM tools support the representation of architectural precast products. Our goal is to anticipate issues of MVD specification early in the IDM so that iterated referral back to users is minimized. With validation and certification testing, the exchange implementation of software vendors should be reliable "out of the box" without the need for testing and debugging, allowing reduced exchange cycles and leaner practices to emerge.. The expectation that there will be many different use casespossibly several hundred-has raised concerns. On the user side, it means that the intention of each use case is easily understood, within the context of the whole set. The expectation is that IFC export and import would involve a submenu allowing user selection from among the supported use cases for that BIM tool. The NIBS, overseeing the NBIMS effort, has plans to publicly document all use cases.. For companies that develop BIM software tools, the existence of many functionally distinct use cases leads to the potential need for possibly hundreds of distinct translators. This seems unnecessary. At the least, it is expected that the EOs used in the process described here will overlap with one another at the implementation level and can be supported by a single set of IFC entities. Possibly, EOs, as defined here, will provide libraries facilitating translator implementation. In the longer term, it is expected that IFC translator implementations will become "tunable," allowing export and import of targeted entities only. At least one imple-JOURNAL OF COMPUTING IN CIVIL ENGINEERING © ASCE / JANUARY/FEBRUARY 2010 / 33 mentation of IFC export has this capability already. This targeting may have table driven setups, which would tie in directly to use case specifications.. In the end, robust and correct use case definitions do not guarantee success for building information exchanges, unless the model instances are defined by users in the manner expected by the object-based translation scheme. The quality of translation will depend greatly on the naturalness of the methods required to construct a translatable building model and whether the requirements for one use case are consistent, at the building model level, with others used in the same project. These issues become apparent when the BIM application's user guides are examined for compatibility. These are second order issues that domain interest groups will have to address.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Retrieval based interactive cartoon synthesis via unsupervised bi-distance metric learning Cartoons play important roles in many areas, but it requires a lot of labor to produce new cartoon clips. In this paper, we propose a gesture recognition method for cartoon character images with two applications, namely content-based cartoon image retrieval and cartoon clip synthesis. We first define Edge Features (EF) and Motion Direction Features (MDF) for cartoon character images. The features are classified into two different groups, namely intra-features and inter-features. An Unsupervised Bi-Distance Metric Learning (UBDML) algorithm is proposed to recognize the gestures of cartoon character images. Different from the previous research efforts on distance metric learning, UBDML learns the optimal distance metric from the heterogeneous distance metrics derived from intra-features and inter-features. Content-based cartoon character image retrieval and cartoon clip synthesis can be carried out based on the distance metric learned by UBDML. Experiments show that the cartoon character image retrieval has a high precision and that the cartoon clip synthesis can be carried out efficiently. Cartoons play important roles in many areas, e.g., entertainment, education, advertisement, and they have attracted much research attention in the field of multimedia [1] [2] [3] [4] in recent years. Key-frames drawing, painting and in-betweening require a lot of human labor. Some researchers have designed computer-assisted systems [7] [8] to produce new cartoon clips. However a lot of human labor is still required. These systems are designed for cartoonists and are thus too complicated for non-professional users who may want to produce cartoon clips themselves, either for fun or other purposes. For example, a teacher may want to use some cartoon clips to make a lesson more interesting.. Some systems have been proposed to synthesize new multimedia data by reusing existing resources. For example, a system is proposed in [25] to synthesize new video from an analyzed video clip, by reordering the original video frames. In [26] , researchers have successfully reused motion data to synthesize new 3D motions. These works motivate us to develop a system which synthesizes new cartoon clips by reusing existing cartoon data. Different from the existing computer-assisted systems [7] [8] which just help cartoonists to draw new cartoon character images, this application is useful for both cartoonists and non-professional users, in that it is not necessary to draw new cartoon character images. In this paper, cartoon image is short for cartoon character image.. Currently, there are two well-known cartoon reuse systems [5] [6] . In [5] , the user has to specify the first and the last cartoon images of the new cartoon clip and the synthesis result is fixed by this specification. The users can not control the synthesis result. If the user is not satisfied with the result, he/she can not change it. Moreover, the system in [5] can not synthesize a complete cartoon because it is unclear how to combine the cartoon characters and the background image in [5] . In [6] , cartoon resources are reused at the cartoon clip level. Several existing cartoon clips are connected to produce a new long clip but the order of cartoon frames within an existing clip can not be changed. Also, the synthesis result in [6] is fixed once the initial clips are chosen and the user can not control the results either. In this paper, we propose a retrieval based cartoon reuse system to synthesize new cartoons.. When an animator makes a cartoon, a sketch is painted before colorization. Consequently, it is easy to detect the edges of cartoon images to extract them from cartoon videos and construct a cartoon image database [6] . The user can then reuse a cartoon image in the database to produce a new cartoon frame. A database image which is similar to the one in current frame is retrieved and then used to produce a new cartoon frame. The system can also generate new cartoon clips, in an interactive way, by synthesizing the database cartoon images and the background image. The user only needs to provide the initial frame and specify the moving path of the cartoon character. The system then retrieves some database cartoon images similar to the one in the current frame as candidates to synthesize the next frame. The user selects one of these candidates. The retrieved cartoon images must have similar gestures to the one in the current frame. Otherwise, the movement of cartoon character from frame to frame will be irregular. The key issue of content based cartoon image retrieval and cartoon synthesis is cartoon gesture recognition, i.e. how to evaluate the gesture similarities among cartoon images. However, although gait and gesture recognition have attracted much research attention [9] [10], very few research efforts have focused on gesture recognition of cartoon images.. To recognize cartoon image gestures, it is important to choose carefully the features of cartoon images. In [5] , a cartoon reuse system is proposed which uses edge features to estimate the gesture similarities of cartoon images. More recently, some researchers suggest that a single type of feature is not sufficient. Instead of using edge features only, multiple features are adopted to estimate the gesture similarities among cartoon images [6] . However, a major disadvantage of [6] is that the different types of feature are utilized in the same way.. In many practical applications, features can be classified into two groups. The first group of features, referred to as intra-features, is useful for measuring the similarity between data from the same class. Specifically, in the field of cartoon gesture recognition, the edge features of cartoon images are more effective for measuring the gesture similarities. As can be seen in Figure 2 , cartoon images tend to have similar gestures, if their contours are similar. The second group of features, referred to as inter-features, is useful to judge the dissimilarity among the data from different classes. In cartoon gesture recognition, the motion direction feature can be regarded as inter-feature. As shown in Figure 3 , we observe that the gestures are totally different, even if the cartoon character moves along an identical direction. Meanwhile, we can not use two cartoon images whose motion directions are significantly different to synthesize successive cartoon frames. For example, if the first cartoon image in Figure 4 is in the current frame and we use the third cartoon image in the figure to synthesize the next frame, the cartoon clip will not be smooth. Thus, if the motion directions of two cartoon images are very different, they are regarded as different gestures in our application. The intra-features and the inter-features are different from each other and should be utilized in different ways.. Another important issue for cartoon gesture recognition is the distance metric used to evaluate the gesture similarities of cartoon images. Good distance metrics over the input space are essential in many applications. Since it is difficult to specify the optimal metrics by hand, distance metric learning has attracted a lot of research attention over the past few years. It has been shown that that a learned distance metric can yield substantial improvements over the Euclidean distance in many tasks. Some of the distance metric learning algorithms are based on the class labels of the input data [11] [12] . However, in many cases, class labels are not easily obtained. Instead, the information specified by the human supervisor in distance metric learning is usually in the form of pairwise constraints. The pairwise constraints, also known as sideinformation, fall into two groups, which are must-link constraints indicating the given pairs are semantically similar and cannot-link constraints indicating the given pairs are semantically dissimilar. A distance metric is learnt from the side-information by keeping all the data points with must-link constraints close, while separating all the data points with cannot-link constraints [13] [14]. To this end, Linear Discriminate Analysis (LDA) can be interpreted as supervised distance metric learning [19] . Manifold learning methods [31] [33] , such as ISOMAP [17] and LLE [18] , learn an underlying low-dimensional manifold to preserve the geometric relationships between the data points. They can be regarded as unsupervised distance metric learning [16] . Recently, some semi-supervised subspace learning algorithms, such as DLA [32] and ARSDA/T [34] , have been proposed. While supervised learning algorithms only focus on label information and unsupervised learning algorithms only learns from data distribution, semi-supervised learning algorithms make use of both label information and data distribution [32] [34] . Similarly, they can be regarded as semi-supervised distance metric learning algorithms.. The existing supervised or unsupervised distance metric learning algorithms directly concatenate different features into a lengthy vector. However, they are not suitable for our applications which include intra-features and inter-features because they utilize different features without distinguishing. To deal with the heterogeneous features of cartoon images effectively, we propose an unsupervised distance metric learning algorithm, referred to as Unsupervised Bi-Distance-Metric Learning (UBDML) algorithm to learn an optimal distance metric from the heterogeneous distance metrics. Based on the observation that intra-features are effective in evaluating similarities among the data while interfeatures are only effective in evaluating dissimilarity, the pseudo side-information of must-link constraints and cannot-link constraints can be obtained without supervision. With this information, it is possible to learn a Mahalanobis distance metric by which the similarities among cartoon images can be precisely calculated. It is worth mentioning that intra-features and interfeatures can be found in many other applications to which the UBDML can be applied. The system framework is shown in Figure 1 . The rest of this paper is organized as follows. In section 2, we introduce the intra-features and inter-features of cartoon images. The UBDML algorithm is detailed in section 3. In section 4, we give the approaches of cartoon image retrieval and automatic cartoon synthesis. Experiment results are reported in section 5 and we summarize the conclusions in section 6. To relieve the tedious task of producing cartoon clips, some systems were proposed to help the cartoonists draw new cartoon images. However, although these systems help a lot, cartoon creation still needs much human labour, and the systems are too complicated for non-professional users. In this paper, we propose two applications for cartoon resource reusing, which are content based cartoon image retrieval and cartoon clip synthesis. The two applications can help both cartoonists and non-professional users to synthesize new cartoon clips by reusing existing cartoon resources.. The key issue of the two applications is cartoon gesture recognition, i.e. the evaluation of gesture similarities among cartoon images. To this end, we extract the EF and MDF features from cartoon images which are classified as the intra-features and inter-features. The distance metrics of intra-feature and interfeature are distinct. Traditional distance metric learning can not perform well in cartoon gesture recognition since they treat such heterogeneous features in the same way. In this paper, an UBDML algorithm is proposed to learn an optimal distance metric from the two types of features. The main idea of UBDML is to utilize the different types of features appropriately, which makes our work intrinsically different from the previous studies on unsupervised distance metric learning algorithms. The experiments demonstrate that UBDML outperforms the traditional distance metric learning methods in our applications.. Intra-features and inter-features also exist in other applications. Although UBDML is proposed for cartoon gesture recognition in this paper, it can be applied in many other applications in which the intra-features and inter-features are properly designed.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I I O O O O O O O O O O O O O O O O O O B I O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


MAD trees and distance-hereditary graphs For a graph G with weight function w on the vertices, the total distance of G is the sum over all unordered pairs of vertices x and y of w(x)w(y) times the distance between x and y. A MAD tree of G is a spanning tree with minimum total distance. We develop a linear-time algorithm to find a MAD tree of a distancehereditary graph; that is, those graphs where distances are preserved in every connected induced subgraph. The problem of finding a minimum-cost spanning tree is one of the classic algorithmic questions in graph theory. In several other instances the problem of finding the best spanning tree has been studied; for example, spanning trees with minimum diameter, minimum radius, minimum number of leaves or minimum average distance. We consider here the latter problem in a restricted class of graphs.. In this paper all our graphs will be simple. By a weighted graph, we mean a graph together with a function which assigns a positive integral weight to each vertex. Given a weighted graph G with weight function w, the total distance of G and w is d(G, w) := {x,y}⊂V (G) w(x)w(y)d G (x, y), where V (G) is the vertex set of G and d G (x, y) is the distance between x and y in G. If there is no ambiguity, we omit the argument w and write just d(G). The average distance of G and w is the total distance divided by N 2 where N is the sum x∈V (G) w(x) of all weights.. The rationale behind these definitions is from a facility location problem. If the weight indicates how many facilities are located at a particular vertex, then the average distance is the expected distance between two randomly chosen facilities. Also, in attempting an algorithm for unweighted graphs where parts of the graph are contracted, this idea of weighted graphs and total distance arises naturally.. The distance of a vertex v is. The distance of a vertex gives the total distance from all facilities to that vertex. If there is no ambiguity we will write just σ(v).. A MAD tree of a graph is defined as a spanning tree with minimum average distance or, equivalently, with minimum total distance. In general, finding a MAD tree is NP-hard [15] . Entringer, Kleitman and Székely [11] showed that there is a spanning tree whose average distance is less than twice the average distance of the original, and that such a tree can be found in polynomial time. In [16] , Wu, Lancia, Bafna, Chao, Ravi and Tang developed a polynomial-time approximation scheme to approximate a MAD tree. A discussion of further results on MAD trees is given in [10] . In [8] , it is shown that a MAD tree of an outerplanar graph can be found in polynomial time.. In this paper we develop an efficient algorithm to find a MAD tree of a (weighted) distance-hereditary graph. A graph is called distance-hereditary if it preserves distances in every connected induced subgraph. Distance-hereditary graphs were introduced by Howorka [14] and are studied in [1, 9] et al.. First we discuss some structural properties of MAD trees. Then we present a polynomial-time algorithm for MAD trees in this class of graphs. Finally, we use the fact that distance-hereditary graphs are exactly those graphs that can be split decomposed into stars and cliques to obtain a linear-time algorithm to determine a MAD tree. Since the MAD-tree problem is NP-complete for general graphs, the question for which graph classes polynomial algorithms exist arises naturally. Possible candidates are strongly chordal graphs and graphs of bounded clique width (the latter graph class contains the distance-hereditary graphs as well as the outerplanar graphs). The general approach of Courcelle, Makowsky, and Rotics [3] is not applicable for the case of MAD trees (the natural formulation does not match the definition scheme as stated in [3] ). An interesting generalization of the MAD-tree problem is stated in [12] : Given a connected graph G and a subset of the vertex set, the set of sources, find a tree that minimizes the distances from any source to any other vertex.

O O O B I O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B I O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O B I O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Bayesian Learning of Noisy Markov Decision Processes We consider the inverse reinforcement learning problem, that is, the problem of learning from, and then predicting or mimicking a controller based on state/action data. We propose a statistical model for such data, derived from the structure of a Markov decision process. Adopting a Bayesian approach to inference, we show how latent variables of the model can be estimated, and how predictions about actions can be made, in a unified framework. A new Markov chain Monte Carlo (MCMC) sampler is devised for simulation from the posterior distribution. This step includes a parameter expansion step, which is shown to be essential for good convergence properties of the MCMC sampler. As an illustration, the method is applied to learning a human controller. Our approach to inferential computation, based on an MCMC scheme, is well suited to the situation in which one is presented with a batch of state/action data. In some situations, it may be that data actually arrive gradually over time, in which case one is faced with the computational task of approximating a sequence of posterior distributions, defined as the data become available. Sequential Monte Carlo methods [Chopin 2002; Del Moral et al. 2006 ] are amenable to this kind of sequential inference computations and a possible extension of the work presented here is to develop such methods for the class of models we consider.. integration. For any z ∈ R + × R and integrable functions h 1 , h 2 : R q → R, g : N (0, 1), and T N [a,b] (m, s 2 ) stands for the N (m, s 2 ) distribution truncated to the interval [a, b] .. Several efficient algorithms exists for sampling from a truncated Gaussian distribution, see Chopin [2011] . We focus on the marginal of W(1). We derive an efficient independent Metropolis-Hastings step for W(1) based on a N (m, s 2 ) proposal distribution. The acceptance rate reads: 1 ∧ p u (w (1))N (w(1); m, s 2 ) p u (w(1))N (w (1); m, s 2 ). where w(1) and w (1) denote, respectively, the current value and the proposed value W (1) ∼ N (m, s 2 ). The main issue is to derive a method for calculating a good Gaussian approximation N (m, s 2 ) of p (w(1) ). The Gaussian approximation N (m, s 2 ) is obtained iteratively. At each iteration, we use the following crude approximation: the function Φ(x) is replaced by constant one for x > 0, and by function N (x; 0, 1) for x < 0. The latter approximation is justified by the fact that, for x → -∞, xΦ(x)/N (x; 0, 1) → -1 quickly.. At first iteration, set (m, s 2 ) = (mu(1), 1). Then, repeat the following steps: select the factor i with largest μ(i) and multiply the current Gaussian approximation N (x; m 0 , s 2 0 ) by either the density N (x; μ(i), 1) if μ(i) > m 0 , or by 1 otherwise. Discard factor i and repeat this procedure until all M -1 factors have been accounted for. Set (m, s 2 ) to be the mean and variance of this resulting proposal.. To refine this proposal, perform several Newton-Raphson iterations for finding the mode and the curvature of the mode of log p(w(1)) by using (m, s 2 ) as the starting values. All these operations take very little time, and leads to an acceptance rate close to one in most cases. This program is available upon request. The problem of fitting a statistical model to observed actions has received significant attention in a variety of disciplines. These include Optimal Control [Rust 1988 ], Economics [Aguirregabiria and Mira 2002; Geweke and Keane 2000; Geweke et al. 1994; Gotz and McCall 1980; Hotz and Miller 1993; Imai et al. 2009; Rust 1987; Wolpin 1984] , and Machine Learning [Abbeel and Ng 2004; Ng and Russell 2000] . Across these cases there is some variety in the estimation aims and the assumed mechanisms which generate observed actions. We focus on the case in which it is assumed that the observations arise from an underlying Markov Decision Process (a N. Chopin was partially supported by the ANR grant ANS-008-BLAN-0218 BigMC of the French Ministry of Research. Authors' addresses: S. S. Singh, Department of Engineering, University of Cambridge, 325 Baker Building, Trumpington Street, Cambridge, CB2 1PZ; email: sss40@cam.ac.uk; N. Chopin, CREST-ENSAE, France; email: Nicolas.Chopin@ensae.fr; N. Whiteley, University of Bristol, School of Mathematics, University Walk, Bristol BS8 1TW, UK; email: nick.whiteley@bristol.ac.uk. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies show this notice on the first page or initial screen of a display along with the full citation. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this work in other works requires prior specific permission and/or a fee. Permissions may be requested from Publications Dept., ACM, Inc., 2 Penn Plaza, Suite 701, New York, NY 10121-0701 USA, fax +1 (212) 869-0481, or permissions@acm.org. full model specification is given in the next section). In this case, given the current state X of the system, the controller chooses an action A and receives an instantaneous reward specified by the function r,. where (X, A) is the state-action pair. The state then evolves according to a Markov kernel p (·|X, A) , the controller chooses the next action, receives a reward and so on. The controller chooses its actions to maximize the average reward it will accrue over an infinite horizon. However, the controller may take suboptimal decisions from time to time. This is captured by a " noisy" Markov Decision Process (MDP) model.. A generic approach to automating a task is to model it as a control problem, see Chapter 8 of Bertsekas and Tsitsiklis [1996] , and also Bertsekas [2005 Bertsekas [ , 2007 , which involves specifying a reward function and other elements of the model, and then solving for the optimal controller. Putting aside the difficulties associated with the last step, specifying the reward function is non-trivial and often achieved in practice by a heuristic process of trial and error, that is, by observing the system under the computed optimal controller and then adjusting the reward function to avoid observed undesired behavior. After this adjustment, the optimal controller is re-computed and this process is repeated until satisfaction.. An alternative, often simpler approach is to obtain a sample path which is characteristic of desired behavior, for example, by a human controller, and then estimate the control policy generating this sample path: this is known as the inverse reinforcement learning problem [Abbeel and Ng 2004; Ng and Russell 2000] . Learning to mimic a controller has many potential applications in applied fields such as robotics and artificial intelligence [Coates et al. 2009 ]; biology, for example, the study of animal learning [Schmajuk and Zanutto 1997; Watkins 1987] , economics [Rust 1987] , and other fields.. Our aim is to develop a purely statistical, and computationally tractable, solution to this problem of mimicking behavior based on a statistical model for the controller's actions, and the Bayesian approach. This is advantageous because it gives us a unified and principled framework for the following tasks: (a) to properly model uncertainty (i.e., the human controller may make mistakes); (b) to estimate jointly the control policy and the model parameters, (c) to predict future actions.. In a parametric approach to estimation, the reward function and other elements of the model are assumed to be specific functional forms of a parameter vector θ [Aguirregabiria and Mira 2002; Gotz and McCall 1980; Hotz and Miller 1993; Imai et al. 2009; Rust 1987 Rust , 1988 Wolpin 1984] . The best parametric estimate may then be computed, for example, by maximizing the likelihood of the observed data with respect to θ. From a computational perspective, we shall see that this approach is cumbersome for a noisy MDP model because the likelihood of an observed action given observed states is an intractable integral. We avoid this difficulty by targeting the control policy directly; as we shall see, a specific quantity called the optimal value function. This gives an additional justification to the Bayesian approach in this context, as the data augmentation principle [Tanner and Wong 1987] makes it possible to estimate the model without computing the difficult integral mentioned.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O


An improved algorithm for computing the volume of the union of cubes Let C be a set of n axis-aligned cubes in R 3 , and let U(C) denote the union of C. We present an algorithm that computes the volume of U(C) in time O(n polylog(n)). The previously best known algorithm takes O(n 4/3 log 2 n) time. Let C be a set of n axis-aligned cubes in R 3 , and let U(C) denote the union of C. Computing the volume of U(C) efficiently is related to the well-known Klee's measure problem. In 1977 Victor Klee [13] had presented an O(n log n) time algorithm for computing the union of n intervals in R 1 and had asked whether his algorithm was optimal. An Ω(n log n) lower bound was proved by Fredmen and Weide [11] . Bentley [4] studied the two-dimensional version of Klee's measure problem. When extended to computing the volume of the union of n d-dimensional axis-aligned boxes, the running time of Bentley's algorithm is O(n d−1 log n). Later, van Leeuwen and Wood [12] improved the running time to O(n 2 ) for d = 3. The problem lay dormant for a while until Overmars and Yap presented an algorithm with O(n d/2 log n) running time [15] . Recently, Chan [7] slightly improved the running time of their algorithm to n d/2 2 O(log * n) ; see also [8, 9] for some other related results. The lower bounds proved in [7, 16] suggest that improving the running time to O(n d/2−ε ), for any constant ε > 0, might be hard. See [1] for a brief history of the problem. Boissonnat et al. [5] proved that the combinatorial complexity of n axis-aligned cubes in R d is Θ(n d/2 ), and it is Θ(n d/2 ) if all the cubes have the same size. Note that this bound is considerably better than the Θ(n d ) worst-case bound on the union of n axis-aligned boxes in R d . This suggests that it might be easier to compute the volume of the union of n cubes. Indeed, the volume of the union of n axis-aligned unit cubes in R 3 can be computed in O(n log n) time, by computing their union explicitly (which has linear complexity), but this will not lead to an efficient algorithm for cubes of different sizes. Agarwal et al. [2] presented an O(n 4/3 log 2 n) algorithm for computing the volume of the union of n axis-aligned cubes in R 3 , by exploiting the special structure of cubes. Recently Bringmann [6] extended the result to higher dimensions and proposed an O(n (d+2)/3 ) algorithm for computing the volume of the union of n hypercubes in R d . In this paper we significantly improve the result in [2] . THEOREM 1.1. The volume of the union of a set of n axisaligned cubes in R 3 can be computed in time O(n log 4 n).. Although there are some similarities between the new algorithm and [2] , several new ideas and data structures are needed to improve the running time. The algorithm asserted in Theorem 1.1 is presented in the following four sections. Section 2 gives a highlevel description of the algorithm, and describes a data structure for maintaining the area of the union of a set of squares in R 2 under certain assumptions on the sequence of updates. Section 3 describes the update procedure for the data structure, Section 4 presents auxiliary procedures needed by our algorithm in Section 3, and Section 5 presents secondary data structures needed in Section 4.

O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Studying the impact of negotiation environments on negotiation teams' performance In this article we study the impact of the negotiation environment on the performance of several intra-team strategies (team dynamics) for agent-based negotiation teams that negotiate with an opponent. An agent-based negotiation team is a group of agents that joins together as a party because they share common interests in the negotiation at hand. It is experimentally shown how negotiation environment conditions like the deadline of both parties, the concession speed of the opponent, similarity among team members, and team size affect performance metrics like the minimum utility of team members, the average utility of team members, and the number of negotiation rounds. Our goal is identifying which intra-team strategies work better in different environmental conditions in order to provide useful knowledge for team members to select appropriate intra-team strategies according to environmental conditions. Agreement technologies [26, 37] conform an emergent research area among scholars in artificial intelligence and autonomous agent systems. Autonomous software agents act reactively and proactively with the objective of maximizing their human users' goals. Nevertheless, as systems tend to be more complex, so do agents' goals, and agents cannot achieve their goals without the cooperation of other agents. Given the open nature of many multi-agent systems, conflict may be inherent among agents. Hence, distributed mechanisms that allow agents to solve conflict and cooperate are a necessity. Agreement technologies have been actively researched bearing in mind the aforementioned necessity.. Automated negotiation [22, 18, 25] is one of the core topics in agreement technologies. Basically, agents in conflict engage in an automatic offer exchange process which gradually leads towards a final solution, or agreement, that solves conflict and makes cooperation among agents possible. The most common use. • The common goal of the team A is negotiating a successful deal with the opponent op. Thus, in this case we assume an implicit representation of the teams' goal.. • It is assumed that information is private, even among team members. Therefore, agents do not know other agents' utility functions, strategies, reservation utilities, or deadlines. On top of that, we also assume agents with bounded computational resources. Thus, we take a heuristic approach which seeks near optimal results while being computationally tractable.. • It is assumed that the team A and the opponent op communicate following an alternating bilateral protocol [30] . One of the two parties acts as the initiator, and it is entitled to propose the first offer. The other party receives the offer and can respond with two different actions: accept the offer (successful negotiation), or propose a counteroffer. If a counteroffer is proposed, the initiator party receives the offer and it can either accept the counteroffer or propose another offer, starting a new negotiation round. Depending on the intra-team strategy, one of the team members or a team mediator is responsible of the communications with the opponent. In this setting, the fact that one of the parties is a team remains unknown to the other party.. • Additionally, it is also assumed that the negotiation is time-bounded, and each party has a private deadline T A (team deadline), T op (opponent deadline). When its deadline is achieved, the party leaves the negotiation and it is considered a failed negotiation. In the case of T A , it is considered a joint deadline for all of the team members, who have agreed upon this deadline prior to the negotiation at hand.. • The mediator, if present, is never a perfect mediator that aggregates the utility functions of all the team members. This assumption is taken due to the fact that, depending on the application, some team members may not be completely trustable and may attempt to exaggerate/change their preferences to manipulate the negotiation process. This mischievous behavior is easily carried out when aggregating utility functions.. • The negotiation domain is comprised of n real attributes whose domains can be scaled to [0, 1] . Thus, the possible number of offers is [0, 1] n . In this domain, a complete offer is represented as X = {x 1 , x 2 , . . . , x n }, where x i is a specific instantiation of attribute i. Additionally, we use the notation X t i→j to denote that offer X was sent at round t from party i to party j.. • Every agent i (team member or opponent) has its preferences represented by means of linear additive utility functions in the form:. where X is a complete offer, x j , is the value given to the j-th attribute, V i,j (.) is the valuation function for attribute j used by agent i to normalize the attribute value to [0, 1] , and w i,j is the weight/importance given by agent i to attribute j in the negotiation process. Several observations should be made regarding these utility functions: (i) weights are normalized so that n j=1 w i,j = 1; (ii) attributes are assumed to be independent from each other. Thus, the valuation of one of the attributes does not alter the others attributes' valuation; (iii) it is assumed that valuation functions are either monotonically increasing or monotonically decreasing. Moreover, we assume that team members share the same type of monotonic function (i.e., increasing or decreasing) for each V i,j (.). As for the opponent, it is assumed that the monotonic function for V i,j (.) is the opposite type to that of team members. It is reasonable to assume this model for valuation functions in e-commerce scenarios. Buyers usually share the same type of valuation function for attributes such as the price (monotonically decreasing), product quality (monotonically increasing), and the dispatch time (monotonically decreasing), whereas sellers usually use the opposite type of monotonic functions (monotonically increasing for price, monotonically decreasing for product quality, and monotonically increasing for dispatch time); (iv) attribute weights w i,j are different for team members. This way, we are able to represent the fact that some team members may be more interested in some attributes whereas other team members may be more interested in other attributes (e.g., some team members prefer price over quality, while others give a higher priority to the product quality). Obviously, the weights of the opponent's utility function may be different from those of team members; (v) since team members share the same type of monotonic function, if one of the team members increases its utility by increasing/decreasing one of the attribute values, the other team members will stay at the same utility level or they will also increase their utility. Thus, there is potential for cooperation among team members.. • The opponent has a reservation utility RU op . Any offer whose utility is lower than RU op will be rejected. Each team member a i has a private reservation utility RU ai . This individual reservation utility is not shared among teammates. Therefore, a team member a i will reject any offer whose value is under RU ai . In this setting, reservation utilities represent the individual utility of each agent if the negotiation process fails. For the experiments, the reservation utilities are drawn from uniform distributions RU op = U [0, 0.25] and RU ai = U [0, 0.25]. An agent-based negotiation team is a group of two or more interdependent agents that join together as a single negotiation party because they share some common interests in the negotiation at hand. Intra-team strategies govern which decisions are taken by the negotiation team, and how and when these decisions are taken. The goal of this article is studying how environmental conditions affect the performance of different intra-team strategies for a team negotiating with an opponent. We studied how the deadline of both parties, the concession speed of the opponent, similarity among team members' preferences and team size affect the performance of Representative (RE) intra-team strategy, Similarity Simple Voting (SSV) intra-team strategy, Similarity Borda Voting (SBV) intra-team strategy and Full Unanimity Mediated (FUM) intra-team strategy in terms of the minimum utility of team members, the average utility of team members and the number of negotiation rounds. The results suggest that depending on the environmental conditions and the team performance metric, team members should select different intra-team strategies, which confirms our initial hypothesis in this article. Next, we summarize some of the most important results found in this paper:. • Generally, when the concession speed is the same for the different intrateam strategies, RE takes less numbers of negotiation rounds than SSV, which takes less number of rounds than SBV, which takes less number of rounds than FUM. The exception for this rule is when team members are very similar and the opponent uses boulware or very boulware strategies, which makes FUM usually faster than SBV.. • FUM tends to clearly outperform the rest of intra-team strategies studied in utility terms (minimum and average utility of team members) when the deadline of both parties is long and the opponent uses either boulware of very boulware concession strategies. When the opponent uses conceder or very conceder strategies, different intra-team strategies tie in terms of the minimum and average utility of team members depending on the rest of environmental conditions.. • When the team deadline is way shorter than the opponent's deadline, all of the intra-team strategies are negatively affected in the results obtained in the minimum and average utility of team members. Additionally, if team members are very similar, RE becomes one of the best choices for the average utility of team members since it is capable of ending more negotiations successfully where other intra-team strategies fail. If team members are very dissimilar, FUM and SBV tend to work better in terms of utility (minimum and average). However, if the opponent uses boulware or very boulware concession strategies every intra-team strategy performs equally bad and team members are encouraged to look for other negotiation alternatives.. • In situations where the team's maximum deadline is longer than the opponent's deadline, the team should not play intra-team strategies with the maximum deadline but intra-team strategies with the same type of deadline than the opponent or a slightly longer type of deadline. Otherwise, the team performance in utility terms is not maximized due to more negotiations ending in failure.. • As the number of team members increases, the performance in utility terms of all of the intra-team strategies is negatively affected. However, in general, all of the intra-team strategies studied are equally affected by the increment in the number of team members. Thus, team size did not have an effect on the intra-team strategy that should be selected by team members to maximize the minimum or the average utility of team members.. The field of negotiation teams is novel in the area of multi-agent systems. Therefore, there is much work to be done in order to advance the state-of-theart. Current works in agent-based negotiation teams [34, 35, 33, 32] have focused on negotiation processes where the team has a strong potential for cooperation since team members share the same type of monotonic valuation function for negotiation issues. However, it is possible to assume that in some negotiation scenarios there is more conflict among team members since valuation functions may be of a different type of monotonic function among team members, or the valuation function itself is not predictable in the negotiation domain (e.g., colors, brands, etc.). Our current future work involves designing intra-team strategies that are able to tackle negotiation domains where attribute's valuation functions may be unpredictable. RE, SSV and SBV are able to handle such types of domains by definition. However, FUM, which is the strategy capable of guaranteeing unanimity regarding team decisions, is not capable of handling domains where attributes are unpredictable (due to the max/min aggregation operator). Hence, our future works consists in proposing an intra-team strategy capable of guaranteeing unanimity for negotiation domains where attributes may not be predictable.. On the other hand, since the results of this present article have shown that environmental conditions do affect the performance of intra-team strategies, we plan to propose a mechanism that allows team members to infer the most probable state of the negotiation environment, and according to that information, advise the use of an appropriate intra-team strategy.. Finally, in our current work we assume that team members have the same knowledge about the negotiation domain and they have the same skills. It may be interesting to study scenarios where team members have different knowledge and skills. Multi-agent systems have gained a growing interest as the infrastructure necessary for the next generation of distributed systems. Due to the inherent conflict among agents, techniques that allow agents to solve their conflicts and cooperate are needed. This need is what has given birth to a group of technologies which have recently been referred to as agreement technologies [26, 37] . Trust and reputation [31, 40, 41] , norms [7, 5] , agent organizations [15, 9, 38] , argumentation [29, 28] and automated negotiation [18, 36] are part of the core that makes up this new family of technologies.. Even though agreement technologies are a novel topic in the community of agent research, some of its core technologies like automated negotiation have been studied by scholars for a few years. In definition, automated negotiation is a process carried out between two or more parties in order to reach an agreement by means of exchange of proposals. Two different research trends can be distinguished in automated negotiation models. The first type of model aims to calculate the optimum strategy given certain information about the opponent and the negotiation environment [16, 6, 12] . The second type of model encloses heuristics that do not calculate the optimum strategy but obtain results that aim to be as close to the optimum as possible [10, 19, 11, 23] . These models assume imperfect knowledge about the opponent and the environment, and aim to be computationally tractable while obtaining good results. This present work can be classified into the latter type of models.. In multi-agent systems, most of the research has concentrated on bilateral models where each party is a single individual. The present article studies bilateral negotiations where at least one of the parties is a negotiation team, composed by more than a single individual. It should be noted that the problem of finding an agreement for a negotiation team is inherently complex since it not only requires finding an agreement with the other party but it also entails reaching some type of unanimity within the team. Even though communications with the opponent party may be similar to classical bilateral models, negotiation teams may require an additional level of negotiation that involves team members. Thus, classical bilateral models cannot be applied directly if a certain level of unanimity regarding team decisions is necessary . As far as we know, our previous work [34, 35, 33, 32] is the only work that focuses on negotiation teams.. In [34] we introduced the topic of negotiation teams in agent research from a descriptive perspective. We analyzed the different phases necessary for an agentbased negotiation team to face such negotiations with success. Apart from the phases that we identified, we also described the current technologies that may be appropriate for the development of such phases. Later, we introduced our first experimental study [35] comparing intra-team strategies in different negotiation environments. That paper should be considered the preliminary basis for our current analysis. We have introduced changes in the intra-team strategies, and our current study applies a more fine-grained analysis of the negotiation environment and its possible scenarios. Additionally, we also studied the properties of the Full Unanimity Mediated intra-team strategy in [33] . However, a thorough analysis of how environmental conditions affect team performance was not carried out. Finally, we should also highlight our work regarding the study of cultural factors in negotiation teams [32] . The setting is different to the current article. We attempted to propose a computational model for explaining how human cultural factors affect team dynamics in negotiation teams composed by humans. In this present article we do not consider humans but automated agents. Therefore, human factors are not relevant to the present study.. Apart from agent-based negotiation teams, bilateral negotiation is perhaps the most similar topic to our current research. Hence, we describe some of the most important bilateral models that assume imperfect knowledge. Faratin et al. [10] propose a bilateral negotiation model for service negotiation where agents apply and mix different concession tactics (i.e., time-dependent, imitative and resource-dependent).. In their work, they analyze the impact of the model's parameters and determine which configurations work better in different scenarios by means of experiments. Our proposed work also assumes the use of time-dependent concession tactics for the calculation of agents' aspirations at each negotiation round. Additionally, we also take an experimental approach to validate the impact of our model's parameters. Later, the authors proposed a bilateral negotiation model [11] whose main novelty was the use of trade-offs to improve agreements between two parties. A trade-off consists of reducing the utility obtained from some negotiation issues with the goal of obtaining the same exact utility from other negotiation issues. The rationale behind trade-offs is to make the offer more likable for the opponent while maintaining the same level of satisfaction for the proposing agent. For that purpose, the authors propose a fuzzy similarity heuristic that proposes the most similar offer to the last offer received from the opponent. Some of our intra-team strategies like Similarity Simple Voting and Similarity Borda Voting also employ similarity heuristics to attempt to satisfy team members' preferences and the opponent's preferences.. Jonker and Treur propose the Agent-Based Market Place (ABMP) model [19] where agents, engage in bilateral negotiations. ABMP is a negotiation model where proposed bids are concessions to previous bids. The amount of concession is regulated by the concession factor (i.e., reservation utility), the negotiation speed, the acceptable utility gap (maximal difference between the target utility and the utility of an offer that is acceptable), and the impatience factor (which governs the probability of the agent leaving the negotiation process).. Lai et al. [23] propose a decentralized bilateral negotiation model where agents are allowed to propose up to k different offers at each negotiation round. Offers are proposed from the current iso-utility curve according to a similarity mechanism that selects the most similar offer to the last offer received from the opponent. The selected similarity heuristic is the Euclidean distance since it is general and does not require domain-specific knowledge and information regarding the opponent's utility function. Results showed that the strategy is capable of reaching agreements that are very close to the Pareto Frontier. Sanchez-Anguix et al. [36] proposed an enhancement for this strategy in environments where computational resources are very limited and utility functions are complex. It relies on genetic algorithms to sample offers that are interesting for the agent itself and creates new offers during the negotiation process that are interesting for both parties. Results showed that the model is capable of obtaining statistically equivalent results to similar models that had the full iso-utility curve sampled, while being computationally more tractable. As commented above, some of our intra-team strategies use similarity heuristics to satisfy team members' preferences and the opponent's preferences.. Another topic that resembles team negotiations are multi-party negotiations. Several works have been proposed in the literature along this line [8, 21, 13] . For instance, Ehtamo et al. [8] propose a mediated multi-party negotiation protocol which looks for joint gains in an iterated way. The algorithm starts from a tentative agreement and moves in a direction according to what the agents prefer regarding some offers' comparison. Results showed that the algorithm converges quickly to Pareto optimal points. Klein et al. [21] propose a mediated negotiation model which can be extended to multiple parties. Their main goal is to provide solutions for negotiation processes that use complex utility functions to model agents' preferences. The negotiation attributes are not independent. Therefore, preference spaces cannot be explored as easily as in the linear case. Later, Ito et al. [13] proposed different types of utility functions (cube and cone constraints) and multiparty negotiation models for such utility functions. The main difference between our work and multi-party negotiations lies in the nature of the conflict and how protocols are devised. Even though each team member could be viewed as a participant in a multi-party negotiation with the opponent, it is natural to think that team members' preferences are more similar (e.g., a team of buyers, a group of friends, etc.) and they trust other teammates more than the opponent (i.e., they may share more information). Furthermore, multi-party negotiation models may be unfair for agents that are alien to the team if the number of team members exceeds the num-ber of other participants. In that case, multi-party models may be inclined to move the negotiation towards agreements that maximize the preferences of most participants (i.e., team members).. Multi-agent teamwork is also a close research area. Agent teams have been proposed for a variety of tasks such as Robocup [39] , rescue tasks [20] , and transportation tasks [17] . However, as far as we know, there is no published work that considers teams of agents negotiating with an opponent. Most works in agent teamwork consider fully cooperative agents that work to maximize shared goals. The team negotiation setting is different since, even though team members share a common interest related to the negotiation, there may be competition among team members to maximize one's own preferences.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Index support for rule activation Integrated rule and database systems are quickly moving from the research laboratory into commercial systems. However, the current generation of prototypes are designed to work with small rule sets involving limited inferencing. The problem of supporting large complex rule programs within database management systems still presents significant challenges. The basis for many of these challenges is providing support for rule activation. Rule activation is defined as the process of determining which rules are satisfied and what data satisfies them. In this paper we present performance results for the DATEX database rule system and its novel indexing technique for supporting rule activation. Our approach assumes that both the rule program and the database must be optimized synergistically.However, as an experimental result we have determined that DATEX requires very few changes to a standard DBMS environment, and we argue that these changes are reasonable for the problems being solved. Based on the performance of DATEX we believe we have demonstrated a satisfactory solution to the rule activation problem for complex rule programs operating within a database system. The integration of rule and database systems, sometimes referred to as an active database, is an important step forward for both expert systems and database management systems (DBMSS). Several experimental systems have been developed (Hanson [1991] , McCarthy and Dayal [1989] , Sellis, Lin, and Raschid [1989] , Stonebraker, Rowe, and Hiroharna [1990] , Widom, Cochrane, and Lindsay [199 l]) . It has been argued that to achieve rule and database consistency, the only viable approach is to incorporate the rules and the rule activation mechanism into the DBMS (StonebraJcer [1992] ). For alerters, triggers, and simple rule systems this is already being accomplished. In fact, several commercial DBMSS already provide a rule capability (INGRES [1990] , Sybase [1990] ). However, the computational and storage demands of alerters and triggers are trivial. compared to those imposed by medium to large scale expert systems operating within a DBMS. Perhaps this is also why so few of the database rule language projects deal with the hard problem of supporting a general rule program environment, one where a large number of complex rules fire in a cyclic fashion for hundreds or thousands of cycles (or perhaps indefinitely).. Stonebraker has referred to these as "hard expert systems" and suggests that, due to the enormous demands of these systems, they will likely remain outside the DBMS for the foreseeable future. Our work is directed precisely toward supporting these complex rule programs inside a tightly integrated database rule environment. The system is caIIed DA~X.. A critical salient feature of hard rule systems, overlooked by many, is that they are not dynamic. They usually involve an investment of several man-years for initial development. The cost and dumtion of problems solved by hard expert systems are commensurate with this high development COSLwhich implies a recurring problem with indefinite life cycle costs (Kerschberg [1987] , Kerschberg [1988] ). We agree, even assert, that DBMS supprt of hard rule systems will require some explicit built-in mechanisms and will have a permanent effect on the DBMS. The cost and duration of the problems solved leads users of these systems to provide significant resources to achieve a solution. Techniques which require additional or non-standard DBMS support are warranted and should be investigated. Moreover, these systems present an unprecedented opportunity for database optimization techniques, especially multiple query optimization. We believe DATEX demonstrates that the resources and functionality necessary to support hard problems are quite reasonable and demonstrate the feasibility of incorporating these programs into a DBMS, Since performance is the ltilting factor for these hard systems, we have not been overly concerned with the semantics or syntax of the rule language. Instead, we have developed an evolutionary sequence of rule compilers, activation methods, and execution environments. Lessons from each system were derived through the analysis of a suite of scalable benchmark programs, representative of expert systems. While the semantics of the rule language can certainly affect performance, many of the issues are orthogonal, especially if one assumes a fairly powerful and expressive language.. The key aspects of DATEX rule activation are specialized irrdices, derived from a compile-time analysis of the rule program, and law matching. The rule activation problem has been defined as determining which rules to activate and when to activate them. This problem must be addressed whenever a record is added or modified. Rule activation is assumed to include both the identification of which rules to attempt to satisfy, and tinding the database records that actually satisfy those rules, i.e., the rule's irrstarttiaIions. For hard expert systems we assume that rules may allow an arbitrarily complex join to be specified by the condition elements. (Forgy [1982] ) and TREAT (Miranker [1990] ) discrimination net-works are not appropriate for large scale expert systems due to their excessive space and time requirements, and that they are consistently outperformed in both time and space by LEAPS, our lazy matching technique , Miranker, BranL ofaso, and Gadbois [1990] , Brant, Grose, Lofaso, and Miranker [1991] ). The fundamental weakness of state-saving discrimination networks like Rete and TREAT is that they do not scale well to solve large, data-intensive problems. The space required by their saved state information, and the time to process it, tends to grow as a polynomial of the size of the base relations (h-ant Grose, Lofaso, and ). LEAPS avoids much of the work and storage done in Rete and TREAT by using reentrant update sensitive, data streams in rule activation as opposed to eagerly expanding a rule's entire search space during rule activation. In doing so, LEAPS is inherently a marking scheme.. Marking hm been used effectively to provide high performance in other database rule systems (Stonebraker., Rowe, and Hirohama [1990] ) and is intrinsic to the lazy matching technique and DATEX. Marking provides an extremely efficient way to identify the satisfied rules corresponding to a database update and is usually implemented by bit encoding at the base relation record level. In DA~X however, indirect markers of several varieties are used. First an index is built on the join attributes of the rule's conditions, and markers are kept with the index records to identify which database records satisfy the constants in the conditions. This is most appropriate for rule systems that change infrequently. We call this afiltering indez. Second, an ordered set of tuple identifiers is kept to indicate the database records that need to be processed for rule activation. The ordering is based on a given search heuristic. And, third, an ordered set of search vectors, composed of cursors, is kept for each non-empty data stream. These keep the current entry point for each partially expanded search space corresponding to a rule activation data stream.. In evaluating the efficiency of DKI'EX we believe that the usual database cost metrics, storage space and disk accesses, continue to be the correct measures. These metrics have been used to guide our design and experiments. We first present an architectural overview of DATEX in section 2, followed by a description of, and a rationale for, the index used in rule activation. Section 4 presents the performance Esults and compares them to main-memory implementations.. Section 5 summarizes our contributions and describes current and future directions. Figure 1 shows the DATEX architecture. While the current rule language of DATEX is 0PS5 (Forgy [1981] ), an SQL derived Rule Object Code Augmented DB Schema t t I Genesis DBMS I FIGURE 1. DATEX Architecture language with object-otiented extensions has been specified and is being implemented in the next version. In order to facilitate this change, the role language compiler is designed to create and operate on an intermediate form that is language independent. Thus, multiple rule language front-ends can be easily accommodated. The current underlying DBMS is Genesis, an extensible database system that provides a high degree of flexibility in a rapid prototyping environment (Batory et al. [1988] ). It was originally thought that the rule activation techniques used in DA~X would require extensive hooks and modifications to the DBMS. However, it turns out that few extensions are needed to the standard relational DBMS in order to provide support for DAXEX. In fact, a standam-i SQL interface is sufficient for correct behavior and the version now in development is based on Oracle. We note that the use of parallel query processing and lightweight-process cmnmunication will most likely be needed in the objective DAI13X system. This is being explored in conjunction with the work repn-ted on in this paper. The DATEX system demonstrates that solving hard expert system problems in tight integration with DBMSS is not far out of reach. The critical aspects of a solution embodied in DATEX include an effective, in both time and space, marking scheme for nde activation and a specialized indexing method derived from a compile time analysis of the source rule program. We claim that acceptable performance from such an active database system is attainable only if the database contains explicit support for the inference engine. We further claim that in light of the scope of problems solved by expert systems, that we have reduced the cost of such support to an acceptable level.. Although the solutions described herein demonstrate that an active database inference engine can approach the execution speed of a main-memory expert-system shell, it is clear that additional speed is required for large databases and that the use of large-scale parallel computers may be a necessary part of an active database system. 6

O B O O B O O O B B O O O O O B B O O B O O O B O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O B O O B O B O O O O B O O O B O O O O B O O O O B O O B O O O O B O O O O O B O O O O B O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O B I O O O O O B B O O O O O O B O O O O O O O O B O B I I O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O B O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O B B O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O B O O O O O B O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O B O O O O B O O O O B I O O O O O B O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O