Indexing of 3d models based on graph of surfacic regions We present a search engine dedicated to 3D object databases. The originality of the method is to represent models by adjacency graphs of surfacic regions. After segmentation of the 3D surface of a model, regions are described by various shape descriptors. The similarity between graphs is computed by kernels on graphs computed from kernels on walks. These kernel functions take into account both the similarity between regions and their spatial relationship. The search engine performs interactive research in a database from a query object, by using semi-supervised classification. The system is applied to a database of 3D high resolution artwork models. We show that a graph representation outperforms a global description of the objects, when using the same descriptors. 3D shape modeling and digitizing have received more and more attention for a decade, leading to an increasing amount Permission to make digital or hard copies of all or part 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 bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. of 3D model warehouses, either in domain-specific or wideusage contexts. These 3D model databases require new tools for indexing, classifying, and retrieving the objects, in order to provide the final user an easy access to the models.. Content-based document retrieval has been a very active research field for a few years, and concerns textual documents, images, videos, and more recently 3D models. Content-based document retrieval systems are usually composed of two steps: (i) an off-line step which performs the document indexing by computing descriptors and features gathered in a signature; (ii) an on-line step, in which the user performs a search in the database with a search engine working on the signatures. By means of signature comparison, the system ranks the database documents according to their similarity to a query given as input. A feedback loop based on user interaction refines the results.. In this paper, we focus on 3D model indexing and retrieval and present our interactive search engine RETIN-3D. The first interactive 3D model search engines appear on the web around [2001] [2002] . The Princeton 3D Model Search Engine, associated to the widely used Princeton Shape Benchmark (PSB), allows the user to perform text queries, 2D sketch queries, and to compare 3D models through some 3D shape descriptors [7] . The 3D Search Tool from the University of Thessaloniki is based on the 3D generalized Radon transform and make comparisons within a 2,000 model database [5] ; the results are only based on geometric comparisons, without learning, leading to some mis-classifications of the database. Another promising scheme has been proposed recently in [12] , it is based on Fourier series computed on closed curves representing the 3D model and seems robust to noise. The European Network of Excellence Aim@Shape presents a geometric search engine which provides contentbased retrieval with different matching methods (global or local, etc.). The SHREC 3D Shape Retrieval Contests allowed the comparison of 3D shape descriptors and 3D retrieval methods thanks to databases associated with groundtruthes [22] . Ohbuchi et al. [15] proposed a retrieval system based on multiresolution global features, which retrieves object categories from a single example. Interested readers will find detailed surveys of 3D indexing and retrieval methods in [2, 21] .. We present here a 3D indexing and retrieval search engine dedicated to 3D artwork model databases. Our aim is to provide user friendly tools for classification content-based indexing, retrieval and visualization. These tools are firstly dedicated to historians and archeologists, who will be able to find, display and compare artworks in a few clicks, but also to museum visitors, who could have the opportunity to ask a database in front of a statue and thus obtain a lot of additional information.. We propose to use local shape descriptors computed on regions of the surface. We first segment the surface into its main (and if possible semantic) parts, using the local curvature and watershed cuts. Shape descriptors are then computed for each region of the surface partition. The problem of object classification is now reduced to a problem of inexact graph matching. We propose to use kernels on graphs computed from kernels on walks to compute the similarity between these graphs.. We extended our search engine RETIN [17] , already used for image and video retrieval, to a new search engine dedicated to 3D objects, called RETIN-3D. Our query consists in a 3D model, and the search engine retrieves from the database a category of models similar in a certain way to the query. The user leads the search toward the category, by annotating some objects as relevant or irrelevant for his search.. In this paper 3D models are represented by adjacency graphs of surfacic regions. The major contribution is the use of graph kernels to perform object classification and retrieval. We show that graph representation outperforms global description of the objects. The method is applied to a database of archeological objects which were digitized with a high resolution (between 30,000 and 300,000 vertices per model); the database is called EROS-3D and provided by the French Museum Center for Research and Restoration (C2RMF, Le Louvre, Paris). This databas contains about 750 models of greek vases, terracota gallo-roman figurines, moulds, fragments, etc. We focus on a particular application for historians concerning two model categories, representing Mother-Divinity and Venus.. In section 2, the models are represented by a valued graph of regions obtained by segmentation of the surface. In section 3, we address the database classification by mean of valued graph matching. In section 4, experiments compare global description and local descriptions associated with spatial relationships through adjacency graph of regions. We have shown that a representation of artwork objects by a graph of surfacic regions is a better solution than a global representation. This representation by graph of regions can be obtained by a segmentation of the mean curvature map and simple region features. To compare graphs of regions, we used kernel functions which take into account both the similarity between regions and their adjacency. Our search engine, associated with a user-friendly interface allows the retrieval or the classification of an artwork database into various categories. Other kernel functions, coding more precisely the relative positions (such as above or left to) could be added to the kernel on edges. Another application of the representation by graph is the matching of a fragment with a complete model.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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


An ROBDD-Based Combinatorial Method for the Evaluation of Yield of Defect-Tolerant Systems-on-Chip Abstract-In this paper, we develop a combinatorial method for the evaluation of the functional yield of defect-tolerant systems-onchip (SoC). The method assumes that random manufacturing defects are produced according to a model in which defects cause the failure of given components of the system following a distribution common to all defects. The distribution of the number of defects is arbitrary. The yield is obtained by conditioning on the number of defects that result in the failure of some component and performing recursive computations over a reduced ordered binary decision diagram (ROBDD) representation of the fault-tree function of the system. The method has excellent error control. Numerical experiments seem to indicate that the method is efficient and, with some exceptions, allows the analysis with affordable computational resources of systems with very large numbers of components.Index Terms-Combinatorial method, defect-tolerant systems-on-chip (SoC), manufacturing defects, reduced ordered binary decision diagram (ROBDD), yield. In this paper, we have developed a new combinatorial method for the evaluation of the functional yield of defect-tolerant SoCs. The inputs of the method are the distribution of the number of random manufacturing defects in the area occupied by the system, which can be provided by the manufacturer of the SoC, and, for each component making up the system, the probability that a given defect causes the failure of the component, which can be estimated from data of the manufacturing process and the layout of the components using existing tools. The method requires the construction of an ROBDD representation of the fault-tree function of the system and provides rigorous error control. Our experiments seem to indicate that, with some exceptions, the method allows the analysis with affordable computational resources of defect-tolerant SoCs with very large numbers of components for a wide range of values of the expected number of defects and the error requirement. All results were obtained on a workstation equipped with four Dual-Core AMD Opteron processor chips at 2.2 GHz and 32 GB of main memory, using only one core and limiting memory consumption to 4 GB. To build the ROBDD representations, we used the CUDD package [25] , which constructs ROBDDs with complement 0-edges. The order of the variables was chosen prior to building the ROBDDs using the heuristic weight described in [32] for the MESH and ESEN ) benchmarks, and the heuristic H4 described in [33] for the FAT-TREE benchmarks. We start by showing that the benchmarks cover a wide range of design scenarios and that the proposed method can be applied to very complex SoCs for a wide range of values of the expected number of defects . Fig. 4 plots the functional yield of the benchmarks as a function of . We can note that the benchmarks cover a wide range of dependencies of the functional yield with respect to . Fig. 5 gives the CPU times consumed by the method with an error requirement as a function of . As it can be seen, the method is able to compute the functional yield with a tight error requirement for very complex systems for as large as 200 in reasonable CPU times, the only exception being the FAT-TREE (4,3) benchmark which has only a moderate number of components (112). Attempt to apply the method to a FAT-TREE benchmark with a larger number of components resulted in the failure of the method due to excessive memory consumption. A behavior even worse than that of the FAT-TREE example is possible since the size of the ROBDD is in the worst case exponential with the number of variables of the represented function [34] . Table II analyzes the computational cost of the method in more detail. We give the size (number of nodes) of the ROBDD representation of the fault-tree function, the memory consumption, the total CPU time (tot), and the CPU time of the bottom-up processing of the ROBDD (proc). In all cases the computational cost both in terms of memory and CPU time is moderate. In addition, the CPU time of the bottom-up processing of the

O O B I O O O O B O O O O O O O O O B I O O O O O O B 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 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 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 B I I B I B I I I I I B O O O O O O O O B I O O O O O O B 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 B 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Symmetric composition of musical concerns Aspect-oriented programming (AOP) describes a range of techniques that enable the separation, organisation and composition of various programming concerns that cannot be adequately encapsulated using the principal decomposition mechanisms available to modern programming languages.Naturally, most AOP-related research is focussed on its application to the development of computer software. However, we believe that it is worthwhile considering whether AOP and cognate techniques might be usefully adapted as a means for an end-user to organise, represent and compose information in computer systems that support application domains in which scattering and tangling are present.Music is notoriously rich in deeply tangled relationships. Moreover, there is no universally accepted representation of music that simultaneously represents all dimensions of interest to the composer.In this paper we describe Aspect Oriented Music Representation, an approach to the organisation, representation and composition of musical materials based on MDSOC. Our approach extends MDSOC by adding a dynamic hyperspace and by allowing users to write detailed composition expressions using an extensible set of compositors. We introduce the concept of composition history, enabling symmetric composition to be related to joinpoints, demonstrating a way to combine symmetric and asymmetric aspect approaches. Aspect-Oriented Programming (AOP) [27] and cognate techniques [1, 31, 38] aim, in various ways, to assist in managing the organisation and composition of software components that appear at multiple, possibly unrelated, loci within the structure of a software system. Such elements are said to crosscut the system's structure. Approaches to AOP vary. Some approaches, such as Composition Filters [1] and Adaptive Programming [30] , support the separation and composition of specific concern types. Other approaches, such as Hyper/J [50] , AspectJ [51] , and Caesar [33] are of more general-purpose nature. Two key approaches to general-purpose AOP are symmetric and asymmetric [19] . In general, symmetric AOP, such as Multi-Dimensional Separation of Concerns (MDSOC) [38] , which is the main subject of this paper, is concerned with the identification and encapsulation of discrete software units that together represent the implementation of a particular concern. Symmetric approaches enable such units to be composed together to form complete software systems. In contrast, Asymmetric AOP implementations, such as AspectJ [51] and derivative dynamic aspects systems such as AspectS [25] , largely consider the augmentation of a base program, through the application of encapsulated crosscutting concerns at specified points in a program's static structure, or dynamic execution graph.. Scattered through the AOSD literature are claims that the same ideas could be applied more widely than just to object-orientation [14] , and indeed more widely than software concerns [38] . To the best of our knowledge, the present programme of work, alluded to in [21] [22] [23] and detailed here, is the first to apply ideas systematically from AOP to music representation and composition. An experiment in music notation and composition that appears to be very loosely inspired by AOP is mentioned in passing in [4] .. In a similar way to software, problems of crosscutting appear to exist, at various levels, in music [21] [22] [23] . It is common experience that music is not simply a stream of random notes. Rather, when listening to music, we rely, to a great extent, upon the perception of repetition and variation of musical material [34] . Therefore, in composing a piece of music, composers tend to utilise a finite set of musical resources that are variously combined and transformed to achieve a balance between novelty and repetition and form a coherent musical whole [3, 28, [43] [44] [45] . The processes of musical composition can be usefully seen to involve the multidimensional scattering and tangling of musical ideas and transformational and combinatorial processes. At a level of abstraction, the perceived "musical surface" can be viewed as the result of the composer's tacit weaving together of a "tangled web" [11, 35] of musical structures and dimensions.. Music, as typically conceived of and represented, is multidimensional in that it contains multiple types of information, some of which are presented simultaneously. There are a number of musical dimensions, such as the principal perceptual dimensions of pitch, rhythm, loudness and timbre [32] , which are inherent in music. Other dimensions may overlay these dimensions; harmony for example is a higher-level organisation of pitch. Additionally, musical information may be transformed or filtered to produce new, but related material. Transformation therefore presents another dimension. A music composer is also concerned with the ways in which musical structures are combined to form new structures. Moreover, structures across various simultaneously presented dimensions of musical concern may form polyarchies (overlapping hierarchies) of arbitrary depth [28] .. Since the pioneering experiments of the 1950's [24] , researchers and practitioners from diverse scientific and artistic communities have explored the application of computers to a varied range of musical activities. Composers have used and developed musicbased programming language extensions to assist in the processes of musical composition [15, 37, 41] . The approach of each system influences its underlying musical ontology and the design of its musical representation. While computer systems generally demand a formal and precise representation of the data upon which they operate, the lack of consensus on what music is and how it is structured contributes to a "challenging" array of representational problems [10] . These problems are further complicated by the multidimensional nature of musical information and the requirement to represent task related viewpoints of musical data across the tangle of relationships that exist between various musical elements and dimensions.. While the composition of software systems, and musical works are clearly different, we suggest, that there are strong similarities between the kinds of crosscutting that occur in software structure, and those that occur in the structuring of musical materials. We believe, therefore, that it is worthwhile investigating ways in which Aspect Oriented techniques may be usefully adapted and applied to the computational representation of music for the purposes of musical composition.. Our approach involves developing new computer mediated tools to allow composers to deal more flexibly with cross-cutting musical concerns. Our approach starts with the application of AOSD ideas directly to musical materials and processes rather than their conventional application to software units such as methods and fields. This ultimately leads to musical tools in which, motivated by the same reasons as AOSD, musical materials are organised differently from existing musical applications and are embodied within software that deals explicitly with the separation and composition of concerns in the application domain. Moreover, the end-user of such applications interacts through the exposed "aspect-oriented" model.. In this paper, we describe a computational representation of music that facilitates the organisation of discrete musical ideas and their composition into higher-level units. In the first section we outline our general representation of musical information, and describe some of the ways in which new musical information may be obtained through the composition of a finite set of musical elements. In the second section we describe a domain-specific approach to the symmetric organisation of this musical representation, inspired by the work of Ossher et al [38] . The contributions of this paper are in applying aspect-oriented concepts to the concerns of an application domain, and exposing AOP to the end-user. We also suggest composition history as a way in which symmetric and asymmetric approaches may be usefully combined. Since the inception of AOSD, there have been largely unsupported claims that the same ideas could be applied more generally than to object-orientation [14] , and more widely than to software development [38] . To the best of our knowledge, the present programme of work is the first to investigate this claim in detail, using music representation and composition as a vehicle. A key step in our approach is to apply AOSD ideas directly to musical materials and processes rather than their conventional application to software units such as methods and fields.. Our approach enables the composition of multiple musical dimensions into higher-level composites, and for these composites to be themselves made available for further composition through the manipulation of a dynamic hyperspace. Composition expressions permit the definition of abstract orderings between the units being composed and enable the use of multiple weaving strategies within a given composition. The use of hyperslices and name matching abstracts the composition expression from the particular units being composed, while preserving structural relationships with respect to the hyperslice. Moreover, the weaving processes themselves are abstracted and extensible.. While this paper has described only the symmetric composition of musical information, we assert that both symmetric and asymmetric approaches are required for a full musical representation. We have proposed the use of a history of symmetric composition, which is made available for query at asymmetric-style joinpoints, as way to link both approaches Thus, given the demanding multidimensional, temporally sequenced, polyarchic nature of music and music representation, applying MDSOC to music representation problems has demanded extensions of MDSOC. These extensions may be to some degree more generally applicable, and exportable back to MDSOC in its original domain. In summary, our approach extends MDSOC by adding a dynamic hyperspace and allowing users to write detailed composition expressions using an extensible set of compositors. In addition we introduced the concept of composition history, enabling symmetric composition to be related to joinpoints, demonstrating a way to combine symmetric and asymmetric aspect approaches at a high level of granularity. There are many approaches to, and implementations of, AOP [1, 19, 25, 27, 30, 31, 33, 38, 50, 51] and, as noted in [42] , different types of crosscutting concern may be better handled by one approach over another. Our work, as reported in this paper considers the static composition of units from components representing different concerns, and as such, our primary influence is MDSOC [38] . However, rather than applying the ideas to classes, methods and attributes, we have applied them to domain concepts; musical materials, musical processes and transformations and domain-specific forms of weaving. Thus, at the detailed level, our work borrows ideas from the music representation literature [2, 10, 46 ].. Approaches to musical representation are diverse. Some approaches, such as [13, 15, 29] support the separation of concerns for specific domains of musical interest, such as harmony, or stylistic concerns. However our research considers more general musical applications. The CHARM representation [46] abstracts musical events from structure, enabling various structures to be superimposed over a single set of events. However, CHARM considers an event as a composite of musical dimensions, such as pitch and rhythm. The composition expressions that we have described are related to those of Music Structures [2] ; a declarative representation that aims to model temporal and hierarchical musical relationships. However, Music Structures lacks a systematic repository for organising discrete musical elements. Consequently, there is a tight coupling between the composition specification and particular musical element instances.. We have suggested music composition tools could benefit greatly from both symmetric and asymmetric approaches, This requirement for multiple AOP approaches in software is supported by the Concern Manipulation Environment (CME) [18] [19] [20] .. Finally, our work is in the spirit of Universal Composition [16] , with each composed unit being built up of units that are stated only once, and whose composition is parameterised through a composition specification.

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 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 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 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 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 B I 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 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 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


Forensic memory analysis: From stack and code to execution history Forensics memory analysis has recently gained great attention in cyber forensics community. However, most of the proposals have focused on the extraction of important kernel data structures such as executive objects from the memory. In this paper, we propose a formal approach to analyze the stack memory of process threads to discover a partial execution history of the process. Our approach uses a process logic to model the extracted properties from the stack and then verify these properties against models generated from the program assembly code. The main focus of the paper is on Windows thread stack analysis though the same idea is applicable to other operating systems. In this paper, we presented a new forensic analysis technique by analyzing the thread stacks. The information that is retrieved using this technique can reveal what has been done by the thread. A great deal of information can be acquired by correlating this information with the source code or the assembly code using different static code analysis approaches. Moreover, the stack trace and stack residue retrieved by our approach could be considered as a log from system activities and could be correlated with other sources such as network logs, operating system logs, etc. It is important to notice that due to the fact that each possible execution path is generated before it is verified, our approach is susceptible to infinite loops. However, the loop detection techniques could be applied to reduce the effect of infinite loops. d i g i t a l i n v e s t i g a t i o n 4 S ( 2 0 0 7 ) S 1 1 4 ÀS 1 2 5 In spite of the limited research result available on forensic analysis, there are some important proposals that we detail hereafter. The state of the art on cyber forensic analysis could be categorized as follows: baseline analysis, root cause analysis, common vulnerability analysis, timeline analysis, semantic integrity check analysis and memory analysis. Baseline analysis, proposed in Monroe and Bailey (2003) , uses an automated tool that checks for the differences between a baseline of the safe state of the system and the state during the incident. An approach to post-incident root cause analysis of digital incidents through the separation of the information systems into different security domains and modeling the transactions between these domains is proposed in Stephenson (2003) .. The common vulnerability analysis (Tenable Network Security), involves searching through a database of common vulnerabilities and investigating the case according to the related past and known vulnerabilities. The timeline analysis approach (Hosmer, 1998) consists of analyzing logs, and scheduling information to develop a timeline of the events that led to the incident. The semantic integrity checking approach (Stallard and Levitt, 2003) uses a decision engine that is endowed with a tree to detect semantic incongruities. The decision tree reflects pre-determined invariant relationships between redundant digital objects. Gladyshev and Patel (2004) propose a formalization of digital evidence and event reconstruction based on finite state machines. Other research on formalized forensic analysis includes the formalization of event time binding in digital investigation (Gladyshev and Patel, 2005; Leigland and Krings, 2004) , which proposes an approach to constructing formalized forensic procedures. The absence of a satisfactory and general methodology for forensic log analysis has resulted in ad hoc analysis techniques such as log analysis (Peikari and Chuvakin, 2004 ) and operating system-specific analysis (Kruse and Heiser, 2002) .. The DFRWS memory forensics challenge (DFRWS, 2005 ) is considered as one of the initiatives for the research on memory analysis. The challenge led to the development of two memory analysis tools: Memparser (Betz, 2005) and Kntlist (Garner) each capable of traversing the link list of process structures kept by the operating system to extract information about a running process. Burdach presents an approach to retrieve process and file information from the memory of Unix operating system by following the unbroken links between data structures in the memory. The work in Walters and Petroni presents an extensible framework (FATKit), which provides the analyst with the ability to automatically derive digital object definitions from C source code and extract the underlying objects from memory. Walters and Petroni (2007) present an approach for extracting in-memory cryptographic keying material from disk encryption applications. Schuster (2006) proposes an approach to define signatures for executive object structures in the memory and recover the hidden and lost structures by scanning the memory looking for predefined signatures. However, defining a signature that uniquely identifies most of the data structures is not achievable except for a small set of kernel structures. B. Carrier and J. Grand in Kornblum (2007) discuss a strategy for robust address translation by incorporating invalid pages and paging file to improve the completeness of the analysis.. In this paper, instead of relying on the signatures of the structures, we try to determine some of the actions that a process has performed during its course of execution and by correlating these actions with each other and the process source code we will be able to extract a partial execution history of the process.

O O O O B 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 B 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 O O O O O 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 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 O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


On the Optimal Robot Routing Problem in Wireless Sensor Networks Abstract-Given a set of sparsely distributed sensors in the euclidean plane, a mobile robot is required to visit all sensors to download the data and finally return to its base. The effective range of each sensor is specified by a disk, and the robot must at least reach the boundary to start communication. The primary goal of optimization in this scenario is to minimize the traveling distance by the robot. This problem can be regarded as a special case of the Traveling Salesman Problem with Neighborhoods (TSPN), which is known to be NP-hard. In this paper, we present a novel TSPN algorithm for this class of TSPN, which can yield significantly improved results compared to the latest approximation algorithm. I N a wireless sensor network [1] , where sensors are geographically distant from each other, it may not be practical to require sensors to directly coordinate with each other to form a communication network due to the energy restriction. One possible solution is to employ a mobile robot, which can travel to all sensors, to download the data and finally return to its base station (starting position). In order to communicate with each sensor, the robot must be physically within its effective range, which is specified by a disk. The diameter of the disk is determined by the current battery level of the sensor and is likely to be different among sensors. The optimal robot routing problem in this scenario is to design a route, along which the robot can collect the data from all sensors, whereas the overall traveling distance is minimized.. In its generic form, this robot routing problem can be regarded as a special case of the Traveling Salesman Problem with Neighborhoods (TSPN) [2] , where the neighborhoods are disjoint disks (the starting position is represented by a disk with zero diameter). In TSPN, a salesman needs to deliver products to a group of clients living in different places. Instead of waiting at home, each client is willing to meet the salesman within a certain region near his/her house. The objective of optimization is to find the shortest trip, along which the salesman can meet all clients and come back to the starting position. It is easy to see that TSPN is a generalization of traveling salesman problem (TSP) [12] , which is known to be NP-hard [14] .. Depending on the properties and the connectivity of the regions, a number of approximation algorithms have been proposed. Arkin and Hassin [2] present the first approximation algorithms for a number of special cases, including parallel unit segments, translates of a convex region, translates of a connected region, and parallel segments, where the ratio between the longest and the shortest is bounded by a constant. These algorithms can find a valid tour in polynomial time, and its quality is guaranteed to be within a constant factor of the optimal tour. The general idea is to carefully pick up some representative points for each of the regions and then apply an external TSP algorithm on this set of points. For the general situations, Mata and Mitchell [13] and Gudmundsson and Levcopoulos [8] present some O ðlog nÞ-approximation algorithms (n is the number of regions). Dumitrescu and Mitchell [5] give an O ð1Þ-approximation algorithm for arbitrary connected regions with comparable diameters and a Polynomial-Time Approximation Scheme (PTAS) for disjoint unit disk regions. For disjoint convex regions with possibly varying sizes, de Berg et al. [4] give a constant factor algorithm with an approximation factor of 12; 000 3 ( ¼ 4 for disks). Recently, Elbassioni et al. [6] give a considerably improved ð9:1 þ 1Þ-approximation algorithm, which is closely related to the robot routing problem.. One of the major issues of these approximation algorithms is that despite their polynomial runtime, they are often based on some deterministic procedures and, consequently, there is an inherent lack of global optimization ability. In the meantime, it has been proven that approximating euclidean TSPN within ð2 À "Þ is NP-hard [15] . Also, the performance of these algorithms has only been characterized theoretically in terms of the approximation factors, which are often quite large. In real-world situations, simply knowing such a loose bound is obviously of little practical value.. In this paper, a novel TSPN algorithm is proposed for solving this robot routing problem, which is significantly different from existing algorithms. The major character of this new TSPN algorithm is that the permutation of sensors (order of sequence to be visited) is obtained by an external TSP algorithm in the first place. Next, the task of finding the set of representative points is formulated as a continuous optimization problem. The advantage is that given the permutation of sensors (disks), the quality of each set of representative points can be precisely evaluated, and advanced global optimization techniques, instead of the simple deterministic procedures used in approximation algorithms, can be applied to search for the optimal solutions.. The remaining parts of this paper are structured as follows: Section 2 gives a formal specification of the robot routing problem. The details of the proposed algorithm framework and the approximation algorithm to be used in comparative studies are presented in Section 3, along with some analysis on how the complexity of the search space can be reduced. An empirical investigation into the structure of the problems is conducted in Section 4. Three case studies on the TSPN algorithms are presented in Section 5, with a head-to-head comparison against the approximation algorithm. The applicability of the new TSPN algorithm in situations where the robot is assumed to be traveling on the Manhattan plane is discussed in Section 6. This paper is concluded in Section 7 with a list of important directions for future work. There are two major conclusions that can be drawn from the above case studies. First, the proposed EA approach is effective in searching for TSPN solutions. The comparative results of Algorithm A and the EA approach in the three case studies are summarized in Table 1 . Although there is no theoretical proof of its effectiveness, these results can still serve as a solid empirical justification on the soundness of the new TSPN algorithm.. Second, the three EAs used in the case studies are suitable for solving the continuous optimization problem in TSPN. The performance difference among them was also small, especially when compared to the performance of Algorithm A. In general, due to the "big valley" structure of the optimization problems, EAs with good local search capability are likely to perform well. Although the convergence speed of EDA mvg was relatively slow, only the most basic version of EDA mvg was used, and its efficiency can be potentially increased [17] .. Note that only the static version of the routing problem is considered in this paper. In more realistic situations, where the effective ranges of sensors can change in time, it would be preferable to have EAs capable of tracking the optimal solution continuously instead of restarting from the scratch whenever changes happen [10] . This paper investigated a special class of TSPN as the highlevel representation of the robot routing problem in wireless sensor networks. In view of the strengths and weaknesses of existing approximation algorithms, a novel EA-based TSPN algorithm was proposed, which can produce significantly improved performance.. There are two major features of the proposed TSPN algorithm that contribute to its success. First, each TSPN instance is decomposed into a combinatorial problem to be solved by an external TSP algorithm and a continuous optimization problem to be solved by the EA. By doing so, the overall difficulty of the original TSPN can be dramatically reduced, and many existing EAs can be applied. Second, with the help of the technique for search space reduction, the structural complexity of the continuous optimization problem can be significantly reduced. In fact, the landscapes to be searched are likely to present a "big valley" structure, which is not particularly challenging for optimization, and a variety of EAs can all be expected to produce very good results.. Although neither Algorithm A nor the EA-based TSPN algorithm can guarantee optimality, their chances in finding the optimal solutions are fundamentally different. For Algorithm A, in order to find the optimal solution of a TSPN instance, the set of hitting points selected must be optimal. Otherwise, the external TSP algorithm stands no chance in producing the optimal tour. However, since Algorithm A employs a simple greedy procedure to select the hitting points, they are very unlikely to be optimal. By contrast, in the EA-based TSPN algorithm, the permutation of sensors found by the external TSP algorithm is more likely to be identical to the permutation in the optimal TSPN tour. Consequently, the EA has much better chance of producing the optimal TSPN tours.. In addition to the analysis and experimental results presented in this paper, some preliminary sampling studies have also been conducted on various random TSPN instances. The initial results confirmed the existence of a clear positive correlation between the lengths of TSP tours and TSPN tours. Furthermore, it is often the case that the optimal TSP tour and the optimal TSPN tour share exactly the same permutation of sensors, which is a strong empirical justification on the reliability and soundness of the EA-based TSPN algorithm.. It should be mentioned that Algorithm A is not restricted to TSPN with disjoint disks and instead can be applied to other types of TSPN, as long as the neighborhoods are fat objects. In the meantime, the EA-based TSPN algorithm is also potentially applicable to TSPN with other shapes of neighborhoods. It is an interesting direction for future work to conduct more experimental studies to compare their performance on other types of TSPN. Another important direction for future work is to consider the situation where the effective ranges of sensors can vary with time. Finally, it would also be interesting to extend our current techniques to the next dimension, where sensors are deployed in 3D spaces (for example, different depths below the sea surface).. Maria Orlowska received the PhD degree from the Institute of Applied Mathematics, Technical University of Warsaw, in 1981. Since 1990, she has held a tenured position as a professor of information systems in the School of Information Technology and Electrical Engineering, University of Queensland, and is currently the head of its data and knowledge engineering research division. Her research interests include database system, data mining, workflow technology, e-business collaboration, business process modeling and verification, high-performance systems, transaction processing, distributed/integrated databases, and information retrieval. She is a fellow of the Australian Academy of Science. She is a recipient of the Polish Ministry of Education Best Thesis Award in computer science.. Shazia Sadiq received the master's degree in computer science from the Asian Institute of Technology, Bangkok, Thailand, and the PhD degree in information systems from the University of Queensland. She is currently a senior lecturer in the School of Information Technology and Electrical Engineering, University of Queensland, Australia. Her research interests include innovative solutions for business process management that span several technology areas, including workflow systems, service-oriented computing, messaging technologies, and deployment of large-scale distributed devices. She has contributed to the knowledge on dynamic workflows, formal modeling of business processes, integration technologies, and data management for intensively distributed environments such as RFID deployments and sensor networks.. . For more information on this or any other computing topic, please visit our Digital Library at www.computer.org/publications/dlib.

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 O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Introducing Preferences in Planning as Satisfiability Planning as Satisfiability is one of the most well-known and effective techniques for classical planning: satplan has been the winning system in the deterministic track for optimal planners in the 4th International Planning Competition (IPC) and a cowinner in the 5th IPC. Given a planning problem Π and a makespan n, the approach based on satisfiability (a.k.a. SAT-based) simply works by (i) constructing a SAT formula Π n and (ii) checking Π n for satisfiability: if there is a model for Π n then we have found a plan, otherwise n is increased. The approach guarantees that the makespan is optimal, i.e. minimum. In this article we extend the Planning as Satisfiability approach in order to handle preferences and satplan in order to solve problems with simple preferences. This allows, e.g. to take into consideration 'plan quality' issues other than makespan, like number of actions and 'soft' goals. The basic idea is to explore the search space of possible plans in accordance with the given partially ordered preferences. We first prove that, at fixed makespan, our approach returns an 'optimal' plan, if any. Then, considering both classical planning problems and problems coming from IPC-5, we show that satplan extended in order to deal with preferences: (i) returns optimal plans that are often of considerable better quality, i.e. with fewer actions or with a better plan metric on soft goals, than satplan; and (ii) is overall competitive, in terms of plan quality, with sgplan, the winning system in the 'SimplePreferences' category of the IPC-5. Notably, such results are often obtained without sacrificing efficiency. Planning as Satisfiability [42] is one of the most well-known and effective techniques for classical planning: satplan [43, 44] is a planner based on propositional satisfiability (SAT) and, considering the track for optimal propositional planner, it has been the winning system in the 4th International Planning Competition (IPC) 1 [38] and a co-winner in the IPC-5 2 [30] (together with another planner based on SAT, MaxPlan [14, 16, 61] ). Given a planning problem Π, the basic idea of Planning as Satisfiability (a.k.a. SAT-based) is to convert the problem of determining the existence of a plan for Π with a fixed makespan n into a SAT formula Π n such that there is a one-to-one correspondence between the plans of Π with makespan n and the interpretations satisfying Π n . The SAT-based approach thus works by: (i) constructing a SAT formula Π n ; and (ii) checking Π n for satisfiability: if there is a model for Π n then we have found a plan, otherwise n is increased. The approach guarantees that the makespan is optimal, i.e. minimum. Of course, for satplan effectiveness, it is crucial the availability of very effective SAT solvers, like minisat [24] . minisat is based on the Davis-Logemann-Loveland procedure (dll) [17] like most of the state-of-the-art SAT checkers, and won the SAT competition in In this article we extend the Planning as Satisfiability approach in order to handle both qualitative (in which the relative importance among preferences is described by, e.g. a partial order) and quantitative (using a reward-based approach) preferences, and satplan in order to solve problems with simple preferences. Qualitative and quantitative approaches both received attention in planning, each having its pros and cons, as commented in, e.g. section 2.3 of [30] . By 'simple' we mean that the structure of the partial order is restricted to particular, e.g. linear, cases: despite this limitation, which nonetheless only holds at implementation level, we will see that simple preferences allow to express and solve important optimization problems.. The basic idea of our algorithm, extending the results first presented in the CSP setting in [8] (in the context of CP-net [7] ) and then in [13, 33] in the SAT setting, is to explore the search space of possible plans in accordance with the preferences expressed as a partial order, i.e. to force the splitting of the SAT solver in order to follow the given partial order on preferences. Qualitative preferences are naturally handled in this way, while quantitative preferences need an encoding of the objective function to be minimized/maximized. This allows, e.g. to take into consideration 'plan quality' issues other than makespan, like number of actions and plan metrics defined on 'soft' goals. We implemented this approach by modifying satplan, and we call satplan(P) the resulting system.. We first prove that, at fixed makespan, our approach returns an 'optimal' plan, i.e. such that there is no a 'better' plan under the expressed preferences, if any. Then, we show that satplan(P):. (1) returns optimal plans that are often of considerable better quality, i.e. with fewer actions or with a better plan metric defined on soft goals, than satplan; and (2) is overall competitive, in terms of plan quality, with sgplan when considering benchmarks from IPC-5 related to optimization on goals violation: even if satplan(P) and sgplan solve a different problem, i.e. bounded versus unbounded, they are still both targeted for optimization. This is a remarkable result given that sgplan is the clear winner in the 'SimplePreferences' category, which includes 'soft' goals, at the IPC-5.. About the performance, we show that satplan(P) is often as effective as satplan, in terms of CPU time, on the problems we consider where the number of preferences involved is not very high, i.e. that on these problems introducing simple preferences in satplan does not affect its performances. Indeed, if we consider planning problems where the number of preferences is very high compared to the total number of variables in the problem, e.g. the issue of determining minimal length plans (corresponding to problems with thousands of preferences), the performance of satplan(P) is comparable to those of satplan in many cases, but can be significantly worse. Even if for the problems with 'few'preferences this is not surprising, by correlating the good behaviour of satplan(P) to the relative low number (in the order of tens) of preferences, this is instead quite surprising when we consider problems with 'many' preferences, e.g. the problem of determining minimal length plans, where any action variable corresponds to a preference: in such case it is common to have problems with several thousands of preferences, and it is well known that limiting the splitting of the SAT solver can cause an exponential degradation of its performances [41] . When the number of preferences is not high, only few (initial) branches are imposed. However, satplan(P) can be much slower than satplan when considering problems with a high ratio of number of preferences (e.g. action variables) to the total number of variables.. Our analysis is conducted considering both qualitative and quantitative preferences, different encodings of the objective function in the case of quantitative preferences, most of the propositional planning domains from the first 5 IPCs and some domains from the 'SimplePreferences' category of the IPC-5. About soft goals, we have considered different types of benchmarks. First, we have adapted the original STRIPS [26] planning instances in order to consider all goals as being 'soft'. But, besides the fact that in the instances so far mentioned goals are precisely soft, i.e. they can be satisfied, or not, without affecting plan validity, such instances are not fully satisfactory because goals are nonconflicting, i.e. all soft goals can be (eventually) satisfied at the same time. Then, given that the case in which not all goals can be satisfied (often called over-subscription planning [52, 57] ) is practically very important, we have considered some domains from the 'SimplePreferences' category of the IPC-5: given that on such domains some ADL [49] constructs are used in order to express quantitative preferences on soft goals, we rely on a compilation into a STRIPS problem. The compilation is similar to the ones used in [5, 27] and is detailed in the experimental part. For such benchmarks, we have considered both the weighted and the unweighted (making all weights associated to goals violation to be uniform) related versions. Summing up, in this article. • We extend (i) the Planning as Satisfiability approach in order to deal with both qualitative and quantitative preferences; and (ii) satplan in order to handle simple preferences.. • We prove that, at fixed makespan, our approach returns an 'optimal' plan, if any.. • We then show that satplan(P) often returns plans of considerably better quality than satplan.. Moreover, satplan(P) is overall competitive with the state-of-the-art system sgplan when considering plan quality issues related to non-conflicting and conflicting soft goals with uniform weights.. • We show that the performance of satplan(P) are comparable to those of satplan (when given the same problems without preferences) even when there is a high number of preferences, and that high deviations can only appear when the ratio between the number of preferences to the total number of variables is relatively high.. Moreover, as a side effect of our analysis, in the case of quantitative preferences we show that the encoding based on [60] leads to better performances than the one based on [3] , at least in our setting. Remarkably, this fact does not agree with the good results of [3] presented in [3, 12] . The article is structured as follows. We first introduce some basic notation and terminology (Section 2), then we introduce preferences and the concept of 'optimal' plan (Section 3) and show how it is possible to incorporate them in planning as satisfiability (Section 4). The implementation and experimental analysis is presented in Section 5. We end the article with the related work in Section 6 and some final remarks in Section 7. We have seen that in the deterministic part of the IPC-5, satplan was the winner together with another SAT-based planner, i.e. MaxPlan [14, 16, 61] . The question is whether the new features we have proposed can be simply integrated into MaxPlan. MaxPlan works by first estimating an upper bound n for the optimal makespan, and then (i) generating a SAT formula Π n for the fixed makespan n, and (ii) checking Π n for satisfiability, by using a modified version of minisat. The algorithm stops if Π n is unsatisfiable (and in this case n+1 is the optimal makespan), otherwise n is decreased. Given this, it should be relatively easy to integrate the proposed features of satplan into MaxPlan.. Considering the SAT literature, the problem of finding an optimal solution for Π n in the presence of a quantitative constraint can be formulated as a Pseudo-Boolean optimization problem. minisat+ [25] has been the most effective solver in the 2005 Pseudo-Boolean evaluation 11 [46] , and among the best in the 2006 and 2007 evaluations. 12 It is based on a reduction to SAT. In [33] , the authors consider the problem of optimally solving SAT problems with preferences on literals, show how this can be done by modifying dll along the same lines used in this article and show that the resulting system is competitive with minisat+ on MAXSAT and MINONE problems. Our work extends [33] , and differs from it both theoretically and experimentally. From a theoretical point of view, we provide a simpler and more general treatment of preferences: for us, a preference is a formula and not just a literal. Formulas allow, e.g. to model conditional preferences like 'If my jacket and pants have different color then I prefer to wear a white shirt' [7] . From an experimental point of view, here we focus on planning problems generated by satplan, and also analyse the impact on the performance of the planner depending on the number of preferences. We show that when there are a few preferences, the performances of satplan are not affected, which in turn implies that the same holds for the performance of the underlying SAT solver.. Considering the literature on preferences in planning, some recent papers on planning with preferences particularly related to our work are [6, 8, 12, 51, 53] . In the first paper, the authors define a simple language for expressing temporally extended preferences and implement a forward search planner, called PPlan. For each plan length n ≥ 0, PPlan is guaranteed to be n-optimal, where this intuitively means that there is no better plan of sequential length ≤n. The basic language for expressing preferences (called 'basic desire formulas (BDFs)') is based on Linear Temporal Logic (LTL). BDFs are then ranked according to a total order to form 'atomic preference formulas' that can then be combined to form 'general and aggregated preference formulas'. It is well known how to compile LTL with a bounded makespan into propositional logic and thus in the language of Π n . It seems thus plausible that BDFs can be expressed as preferences in our setting, and we believe that the same holds for the preference formulas. In [8] , the authors show how to extend gp-csp [20] in order to find plans in planning problems with preferences expressed as a TCP-net [9, 10] . In the Boolean case, TCP-net can be expressed as Boolean formulas. Though these two works are not based on satisfiability, the problem they consider is the same we deal with: find an optimal plan w.r.t. the given preferences among the plans with makespan n. However, these approaches and ours can be easily extended in order to work without a bounded horizon, by simply using an iterative deepening approach, i.e. by successively incrementing n, each time using the previously found solutions to bound the search space, up to a point in which we are guaranteed to have an optimal solution, independently from the bound n. This is the approach followed in [12] , where the problem considered is to extend the planning as satisfiability approach in order to find plans with optimal sequential length. Interestingly, the authors use a Boolean formula to encode the function representing the sequential length of the plan. In their approach, for a given n, the search for an optimal solution is done by iteratively calling the SAT solver, each time posing a constraint imposing a smaller value for the objective function (using [3] ): when the SAT formula becomes unsatisfiable, n is set to n+1 and the process is iterated looking for a better plan than the one so far discovered. For a fixed n, the problem considered in [12] is exactly the same we deal with in Section 5: finding a 'minimum' plan for Π n using a quantitative approach. The fundamental difference between our approach and [12] is that we look for an optimal solution by imposing an ordering on the heuristic of the dll solver, while they iteratively call the SAT solver as a black box. The disadvantage of their approach is that, e.g. the clauses learned during a call are not reused by the following calls for the same n. Our approach can also deal with qualitative preferences. In [51] , the authors present an algorithm very similar to the one we have presented in this article, and that thus first appeared in [34] . The algorithm is used to solve 'optimal planning' problems, which can be easily captured by our framework. In addition, the authors provide theoretical results related to the framework presented, in particular to the complexity of 'optimal planning'. Finally, very recently, in [53] the authors have extended PDDL3 with Hierarchical Task Network (HTN) [32] preference constructs. The related system, HTNPlan-P, which is based on the HTN planner SHOP2 [48] , shows good results on IPC-5 benchmarks.. In the IPC-5, there were different planners able to compete in the 'SimplePreferences' category, which include metrics on goals violation, that use different approaches. We already presented sgplan [39] . In more details, sgplan ver. 5 extends ver. 4 for PDDL2.2 in order to deal with the new constructs of PDDL3. Its basic idea is to partition a problem into subproblems, one for each (soft) goal (considered as hard), solve the subproblems individually by a modified version of an existing planner i.e. Metric-FF [37] and then resolve inconsistencies across subproblems. Other planners include Yochan PS [4, 5] and mips-xxl [22] . Yochan PS is a heuristic planner based on relaxed graph to obtain a heuristic estimation. Given that in PDDL3 benchmarks the impact of preferences violation on the plan metrics is linear (i.e. a metric is the sum of weighted preference expressions), preferences can be reduced to additive action costs: thus, Yochan PS reduces a PDDL3 problem into a PSP (Partial Satisfaction Planning) problem, by compiling the conditional effects into multiple action instances [27] and then uses the Sapa PS PSP planner [21] to solve it. It explicitly selects a subset of preferences to achieve, which can be costly in the presence of many preferences. In our work, we have used a compilation technique from non-STRIPS to STRIPS problems inspired by the Yochan PS 's approach. mips-xxl, on the other hand, uses a very different approach based on buchi automata and it is able to plan with (quantitative) Temporally Extended Preferences (TEP) expressed with LTL formulas. It iteratively invokes (a modified version of) the Metric-FF planner [37] , forcing plans to have decreasing metric. In our analysis, we have used sgplan because the results of the IPC-5 clearly demonstrate its superior performance.. We have seen that the last planner is able to deal with TEP. Another important approach is the one presented in [1, 2] , where the authors propose a method for compiling planning problems with TEP into problems containing only final-state preferences and a metric function, and exploit a variety of heuristic functions for the last. They also identify conditions under which a plan is optimal: thus, differently to our approach, they are not guaranteed to return always an optimal plan. Moreover, they look for such a plan using an incremental algorithm similar in spirit to the one used in Yochan PS . Their resulting system, HPlan-P, is shown to have good performances, even if not as good as sgplan. In the specific case of planning as satisfiability, in [47] the authors generalize classical planning to deal with planning with Temporal Extended Goals (TEG), expressed as formulas in LTL, by means of a reduction for planning with LTL goals (without the next-time operator) into SAT.. Considering the approaches based on logic programming, two of the main works are those in [6, 54] , which can deal with qualitative TEP. They are based on the PP preference language, which can express different types of preferences, e.g. over states, actions and trajectories. The concept of preferred plans is defined similarly to our article. In [54] , the authors use a compilation into a logic program to be solved under the answer set semantics (ASP) [28, 29] by using an ASP solver. The work in [6] further extends the PP language with quantification, conditional constructs and aggregators. The related systems are known to be less efficient than other planners mainly because they do not use suited methods, e.g. heuristics, to guide search towards the achievement of preferences. In the same area, the work in [18] presents a framework where preferences can be compiled into logic programs (to be again solved by an ASP solver). Different preference strategies are presented, which include other approaches captured by the framework, e.g. the one presented in [11] .

O B O B O B B O B 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 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 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 B O B O O 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 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 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 B O B 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 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 B 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 B 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 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 B 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 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 O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 B 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 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 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 B 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 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 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 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 B O B 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 O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 B O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 O O B O B 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 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 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 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 B 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 B 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B 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 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 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 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


A Variational Bayesian Framework for Clustering with Multiple Graphs Abstract-Mining patterns in graphs has become an important issue in real applications, such as bioinformatics and web mining. We address a graph clustering problem where a cluster is a set of densely connected nodes, under a practical setting that 1) the input is multiple graphs which share a set of nodes but have different edges and 2) a true cluster cannot be found in all given graphs. For this problem, we propose a probabilistic generative model and a robust learning scheme based on variational Bayesian estimation. A key feature of our probabilistic framework is that not only nodes but also given graphs can be clustered at the same time, allowing our model to capture clusters found in only part of all given graphs. We empirically evaluated the effectiveness of the proposed framework on not only a variety of synthetic graphs but also real gene networks, demonstrating that our proposed approach can improve the clustering performance of competing methods in both synthetic and real data. M INING patterns in graphs or networks has become an important issue in a variety of applications, such as biology, chemistry, social sciences, web, and text mining. In this paper, we address a graph clustering problem, i.e., nodes being clustered over a graph, where an edge between two nodes indicates a similarity between the two nodes [1] , [2] . Here a cluster is a set of nodes, which are densely connected with each other in one graph. Our setting for this problem is that we have multiple graphs which share the same set of nodes but have different edges from each other, meaning that clusters can be different between each pair of given graphs. We then focus on a localized cluster, which is commonly found in 1 to M À 1 graphs among given M graphs but not in all M graphs. Figs. 1a, 1b, and 1c show three graphs which share the same nodes but have different edges from each other. Each of these three graphs has an example of localized clusters. For example, the upper left part in Fig. 1a has nodes (colored green) tightly connected with each other which form a cluster. This cluster appears in only Fig. 1a but not in both Figs. 1b and 1c, meaning that it can be a localized cluster. Similarly, red nodes form a localized cluster in Fig. 1b and blue nodes are a localized cluster in Fig. 1c . Note that each of the three localized clusters cannot be found in Figs. 1a, 1b, and 1c.. We emphasize that our problem setting can be found in real applications. For example, in molecular biology, gene similarity can be represented in a variety of manners, such as coexpression, sequence similarity, and protein-protein interaction [3] . They can be networks which share the same set of nodes (or genes), where each network is generated by a different experimental measurement over genes. Clustering genes is useful in many practical issues, such as gene annotation. It is now recognized that clusters become more consistent if they are generated with a larger number of networks [4] . This is because experiments in molecular biology are rather unstable, possibly causing unreliable results because of measurement errors. For example, a true cluster might be hidden by noise, resulting in that a cluster cannot be necessarily captured by all measurements, naturally bringing the concept of localized clusters [5] . Fig. 1d shows a graph which has all edges of Figs. 1a, 1b, and 1c. We call this graph an integrated graph in which the weight of an edge is the sum over all weights of the corresponding edges in given graphs. A baseline method of the graph clustering problem with multiple graphs would be to first generate an integrated graph from multiple graphs and then run a graph clustering algorithm, such as spectral clustering [6] over the integrated graph. However, summing weights over graphs means dealing with given graphs equally, resulting in that localized clusters may be lost in the integrated graph. For example, in Fig. 1 , localized clusters in Figs. 1a, 1b, and 1c can no longer be found in Fig. 1d . Thus, we need a sophisticated clustering method which can capture and keep localized clusters from multiple graphs.. Our approach for this issue is based on a generative model and a robust parameter estimation algorithm. If only a single graph is given, our problem becomes a standard setting of graph clustering, for which we can consider a simple probabilistic model, which we call Probabilistic Model for a Single Graph (PMSG), with multinomial distributions for generating edges. This model is equivalent to several existing probabilistic models in the framework of statistical machine learning. For our problem setting, we extend PMSG to a model, which we call Probabilistic Model for Multiple Graphs (PMMG), in which a multinomial distribution over graphs is added, allowing to consider localized clusters. Our robust parameter learning algorithm of PMMG, based upon variational Bayesian (VB) learning, estimates the distribution of each parameter [7] , [8] . We emphasize that to the best of our knowledge, there have been no approaches from statistical machine learning for our problem of clustering with multiple graphs containing localized clusters. The variational Bayesian learning is a standard learning process in the current literature of probabilistic/statistical model learning and is more robust against noise than point estimation methods such as the Expectation-Maximization (EM) algorithm, resulting in that overfitting the given data can be avoided more easily [7] , [8] , [9] .. We empirically evaluated our method, comparing with other approaches. Our experiments started with synthetic graphs, revealing two important findings: First, the performance of PMMG was improved by using a larger number of graphs for all cases, being pronounced more when containing localized clusters more. Second, PMMG significantly outperformed other competing graph clustering methods for all cases in our experiments. This performance advantage was further clearly confirmed by the experiment of using real gene networks. Finally, we analyzed clustering results on real gene networks and verified that the performance advantage of PMMG was achieved by the consideration on localized clusters. This paper is organized as follows: In Section 2, we review related work on graph clustering, with a particular emphasis upon graph clustering by probabilistic models. In Section 3, we describe the proposed generative model and an efficient parameter estimation algorithm based on variational Bayesian learning, being followed by the explanation on related probabilistic models and the time and space complexities of the proposed learning algorithm, comparing with those of related probabilistic models. In Section 4, we extensively evaluated the performance of the proposed approach by using both synthetic and real data sets, comparing with other competing methods, mainly described in Section 2. Finally, we review the advantage of the proposed method once again in Section 5. We have proposed a probabilistic model-based approach, PMMG, for clustering with multiple graphs. The emphasis of our approach is placed upon localized clusters, which are not found in all given graphs and well accepted in real applications. The complexity analysis of PMMG and related probabilistic models shows that the space and time complexities of PMMG are kept the same as those of the most efficient probabilistic models including PMSG. Experimental results showed that PMMG clearly outperformed competing graph clustering approaches in both synthetic and real data, showing the effectiveness of PMMG for the problem of graph clustering with multiple graphs. Furthermore, the results from real genomic data of using five gene networks showed that PMMG captured localized clusters, which were uniquely found in the network on sequence similarity.. Frequent pattern mining is the most major approach in knowledge discovery and data mining [25] , and there already exist efficient methods for mining from graphs, e.g., [26] . Frequent patterns (subgraphs) do not have to appear in all given graphs, and instead they need to appear a larger number of times than the user-specified value, called support. Frequent patterns can be localized patterns, meaning that our problem shares some concept with frequent pattern mining over graphs. However, a clear difference between these two is that we focus on "clusters" but not patterns. In fact, clusters are more flexible and concise than frequent patterns, which are rigid but usually redundant. This point indicates that our approach based on statistical machine learning would be a right direction to solve our issue of clustering under multiple graphs with localized clusters.. Motoki Shiga received the BE, ME, and PhD degrees in information science from Gifu University in 2001, 2003, and 2006, respectively. He has been working on data mining, machine learning, and their applications to bioinformatics.. Hiroshi Mamitsuka received the BS degree in biophysics and biochemistry, ME degree in information engineering, and the PhD degree in information sciences all from the University of Tokyo in 1988, 1991, and 1999, respectively. He has been working in machine learning, data mining, and bioinformatics. His current research interests are in mining from graphs and networks in biology and chemistry. He is a member of the IEEE and the IEEE Computer Society. In general the input of graph clustering is one graph only. Graph clustering methods, such as probabilistic models (including PMSG) [10] , [11] and spectral clustering [6] , can be applied to our problem after generating an integrated graph from given multiple graphs. In the literature of graph clustering by probabilistic models, PMSG is equivalent in model structure (and complexity) to those in [12] , while the most typical probabilistic model in graph clustering is stochastic block model (SBM) [13] . SBM can be trained by many approaches, including an EM algorithm [14] and Bayesian estimation by Gibbs sampling [14] . There are two recent extensions of SBM: mixed-membership SBM [15] and constrained SBM [11] , which we call mixed Membership Stochastic Block Model (MSBM) and Constrained Stochastic Block Model (CSBM), respectively. Their proposed training algorithms are both based on variational Bayesian learning, and then we will explain the model structures of MSBM and CSBM in Section 3.4 and their time and space complexities in Section 3.5.. To the best of our knowledge, there are no probabilisticmodel-based methods for graph clustering over multiple graphs. However, Sinkkonen et al. treated a similar situation, in which multiple node sets are given and there can be edges both between and within node sets [16] . In our problem setting, however, their model has to be equivalent to the integrated graph approach in which an integrated graph is first generated from given graphs and then PMSG (or [12] ) is applied. In other words, under our setting, [16] will have the same result as that of PMSG.. On the other hand, an extension of graph cut in spectral clustering for multiple graphs exists [17] . This was also used as a competing method in our experiments, and we call this approach MSC, standing for Multiple graphs in Spectral Clustering. The aim of MSC is to find consensus clusters over multiple graphs in terms of multiview learning by using the degree of each node over graphs.

O O O O O 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 B 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 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 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 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 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 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 B 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 B O O O O O O B O O O B O O O O O O O O O O B O O O O O B O O O O B 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 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 O O O O O O B I 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 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 B I I 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 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 B I I O O O O B O O B 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 O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O B I 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 B I O O O O O 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 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 B O O B O O O O O O O O B I 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 B O O O O O O O O O O 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 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 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 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 B I I O O O O O O O O O O B O O B 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 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 B 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 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 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 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 B 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 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 B 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 B O O B 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