Decomposition Techniques for Subgraph Matching
📝 Abstract
In the constraint programming framework, state-of-the-art static and dynamic decomposition techniques are hard to apply to problems with complete initial constraint graphs. For such problems, we propose a hybrid approach of these techniques in the presence of global constraints. In particular, we solve the subgraph isomorphism problem. Further we design specific heuristics for this hard problem, exploiting its special structure to achieve decomposition. The underlying idea is to precompute a static heuristic on a subset of its constraint network, to follow this static ordering until a first problem decomposition is available, and to switch afterwards to a fully propagated, dynamically decomposing search. Experimental results show that, for sparse graphs, our decomposition method solves more instances than dedicated, state-of-the-art matching algorithms or standard constraint programming approaches.
💡 Analysis
In the constraint programming framework, state-of-the-art static and dynamic decomposition techniques are hard to apply to problems with complete initial constraint graphs. For such problems, we propose a hybrid approach of these techniques in the presence of global constraints. In particular, we solve the subgraph isomorphism problem. Further we design specific heuristics for this hard problem, exploiting its special structure to achieve decomposition. The underlying idea is to precompute a static heuristic on a subset of its constraint network, to follow this static ordering until a first problem decomposition is available, and to switch afterwards to a fully propagated, dynamically decomposing search. Experimental results show that, for sparse graphs, our decomposition method solves more instances than dedicated, state-of-the-art matching algorithms or standard constraint programming approaches.
📄 Content
arXiv:0805.1030v1 [cs.CC] 7 May 2008 Decomposition Techniques for Subgraph Matching St´ephane Zampelli1, Martin Mann2, Yves Deville1, Rolf Backofen2 (1) Universit´e catholique de Louvain, Department of Computing Science and Engineering, 2, Place Sainte-Barbe 1348 Louvain-la-Neuve (Belgium) {stephane.zampelli,yves.deville}@uclouvain.be (2) Albert-Ludwigs-University Freiburg, Bioinformatics Group, Institute of Computer Science, Georges-Koehler-Allee 106, D-79110 Freiburg (Germany) {mmann,backofen}@informatik.uni-freiburg.de Abstract. In the constraint programming framework, state-of-the-art static and dynamic decomposition techniques are hard to apply to prob- lems with complete initial constraint graphs. For such problems, we pro- pose a hybrid approach of these techniques in the presence of global constraints. In particular, we solve the subgraph isomorphism problem. Further we design specific heuristics for this hard problem, exploiting its special structure to achieve decomposition. The underlying idea is to pre- compute a static heuristic on a subset of its constraint network, to follow this static ordering until a first problem decomposition is available, and to switch afterwards to a fully propagated, dynamically decomposing search. Experimental results show that, for sparse graphs, our decom- position method solves more instances than dedicated, state-of-the-art matching algorithms or standard constraint programming approaches. 1 Introduction Graph pattern matching is a central application in many fields [1] and can be suc- cessfully modeled using constraint programming [12,17,19]. Here, we stress how to apply decomposition techniques to solve the Subgraph Isomorphism Problem (SIP) in order to outperform the dedicated state-of-the-art algorithm. Decomposition techniques are an instantiation of the divide and conquer paradigm to overcome redundant work for independent partial problems. A con- straint problem (CSP) can be associated with its constraint network, which represents the active constraints together with their relationship. During search, the constraint network looses structure as variables are instantiated and con- straints entailed by domain propagation. The constraint network can possibly consist of two or more independent components, leading to redundant work due to the repeated computation and combination of the corresponding independent partial solutions. The key to solve this is decomposition that consists of two steps. The first step detects the possible problem decompositions, by examin- ing the underlying constraint network for independent components. The second step exploits these independent components by solving the corresponding par- tial CSPs independently, and combines their solutions without redundant work. Decomposition can occur at any node of the search tree, i.e. at the root node or dynamically during search. In constraint programming, decomposition tech- niques have been studied through the concept of AND/OR search [15]. AND/OR search is sensitive to problem decomposition, introducing search subtree com- bining AND nodes as an extension to classical OR search nodes. The size of the minimal AND/OR search tree is exponential in the tree width while the size of the minimal OR search tree is exponential in the path width, and is never worse than the size of the OR tree search. The check for decomposition is usually done in one of two ways. Either, only the initial constraint network is statically analysized, resulting in a so called pseudo-tree. This structure encodes both, the static search heuristic and the information when a subproblem is decomposable [5]. Another possibility is to consider the dynamic changes of the constraint network by analyzing it at each node during the search [3]. Such a dynamic approach is better suited if a strong constraint propagation (e.g. by AC) is present but obviously to the cost of ad- ditional computations. A major problem of decomposition techniques are their problem specificity. Without good heuristics, decomposition may occure seldom or very late such that the computational overhead for checking etc. is too high for an efficient application. Nevertheless, some approaches have been shown to be more general by applying dedicated algorithms, e.g. graph separators or cycle cutset condi- tioning [10,15,16]. However, those (usually static) algorithms fail to compute good heuristics on problems with global constraints, which have an initially complete constraint graph. Indeed, such algorithms presuppose a sparse constraint graph. In the sub- graph isomorphism problem (SIP), for example, the initial constraint graph is complete due to the presence of a global alldiff-constraint. This prevents cycle cutset and graph separator algorithms to be applied. A further drawback of a static analysis is the non-predictable decomposability of the constraint network achieved by constraint entailment through propagation. To exploit this, a dy- namic analysis of th
This content is AI-processed based on ArXiv data.