Searching for a maximum common induced subgraph by decomposing the compatibility graph

Size: px
Start display at page:

Download "Searching for a maximum common induced subgraph by decomposing the compatibility graph"

Transcription

1 Searching for a maximum common induced subgraph by decomposing the compatibility graph M. Minot and S. N. Ndiaye Université de Lyon - LIRIS Université Lyon 1, LIRIS, UMR5205, F France {mael.minot,samba-ndojh.ndiaye}@univ-lyon1.fr Abstract. A maximum common induced subgraph measures the similarity between objects represented by graphs. Finding one is an NP-hard problem. We describe a decomposition method based on the compatibility graph that produces independent subproblems. We also present triangulation and 2-triangulation techniques that aim to achieve a good trade-off between the quality of the decomposition and the runtime needed to fulfill this decomposition. The experiments show that this method obtains very good results on difficult instances. Keywords: Maximum common induced subgraph Compatibility graph Constraint satisfaction problem Decomposition Triangulation 2-triangulation. 1 Introduction Searching for a maximum common subgraph is a very challenging NP-hard problem due to a massive combinatorial explosion. It has many applications in chemoinformatics, bioinformatics, image processing, where it measures the similarity of objects represented by graphs. Many variants have been defined: maximum common induced subgraph, maximum common partial subgraph, maximum common connected subgraph... In this paper, we focus on the maximum common induced subgraph (MCIS) problem. There are two main approaches to solve this problem. The branch and bound technique incrementally builds all possible common subgraphs ([1,2,3]). A subgraph construction is stopped as soon as it is proved that it cannot be extended consistently to become larger than the best solution found so far. The second approach is based upon a reformulation of the problem into a compatibility graph. A clique in this graph represents a common subgraph, and a maximum clique is a maximum common subgraph. It is thus possible to simply rely on solving the maximum clique problem in the compatibility graph ([4,5]... ) to find a maximum common subgraph. Recently, [2,3] designed constraint programming (CP) models for the MCIS problem. Moreover, they used constraint propagation techniques to improve the branch and bound approach. [2] obtained good experimental results and showed the efficiency of constraint programming to solve this problem. However, it remains challenging to solve efficiently most difficult instances. [6,7,8] proposed different techniques to accomplish the search of a maximum clique in parallel. Many decomposition-based methods have

2 been introduced within constraint programming to derive benefit of the problem structure to enhance the solving process ([9,10,11]... ). These methods often involve using a tree-decomposition of the constraint graph. Unfortunately, the constraint programming model described in [2] contains a global constraint that renders tree-decompositionbased methods useless since it induces an unique subproblem equal to the initial one. [12] proposed a decomposition method based on the micro-structure of a constraint satisfaction problem. It creates totally independent subproblems that can be solved in parallel without any interactions between the different threads, unlike those generated in [6,7,8]. Solving the subproblems in parallel using such a method often guarantees a better theoretical complexity bound than standard methods. We propose here two techniques improving this method w.r.t. the size of the subproblems and we show experimentally that they outperform the approach described in [2] on hard instances. The next section of this paper presents the MCIS problem with more details, as well as the CP model defined in [2]. Section 3 describes the decomposition method introduced by [12], while section 4 gives an adaptation and several improvements of this decomposition method for the MCIS problem. We finally present our experiments in section 5 before concluding. 2 Background 2.1 Maximum common induced subgraph Definition 1 An undirected graph G is defined by a finite set of nodes N G and a set E G N G N G of edges. Each edge is an undirected couple of nodes. In a directed graph, E G is a set of arcs, which are directed couples of nodes. Definition 2 Let G and G be graphs. G is isomorphic to G if there exists a bijective function f : N G N G which preserves edges, i.e., (u, v) N G N G, (u, v) E G (f(u),f(v)) E G. Definition 3 G is an induced subgraph of G if N G N G and E G = E G (N G N G ). We say that G is the subgraph of G induced by the subset of nodes N G. In other words, G is obtained from G by removing all nodes of G which are not in N G and keeping only edges whose extremities are both in N G. Definition 4 A common subgraph of two graphs G and G is a graph which is isomorphic to subgraphs of G and G. In this article, we restrict ourselves to the Maximum Common Induced Subgraph problem, but the results can be easily extend to the maximum common partial subgraph problem as shown in [2]. Definition 5 A Maximum Common Induced Subgraph (MCIS) is a common induced subgraph which has a maximum number of nodes.

3 Definition 6 A clique is a subgraph whose nodes are all linked pairwise. It is thus a complete subgraph, in which no edges can be added. A clique is maximal if it is not included in any other clique, and it is maximum if it is the largest clique of a given graph, with respect to the number of nodes. Figure 1 displays an example of MCIS and of maximum cliques a h b c f e g d Fig. 1. The coloured nodes of these graphs depict a Maximum Common Induced Subgraph. A bijection can be defined as follows: a 6, b 4, c 5, d 2, e 3, f 1. Also, note that {3, 4, 6} and {a, b, e} are maximum cliques in their respective graphs. [1] uses a branch and bound technique to compute an MCIS. This method builds incrementally a common induced subgraph by matching two nodes of the two graphs at each step. Matching two nodes means that they will correspond to the same node in the common subgraph. In this matching approach, we must prevent different nodes of a graph from being matched to the same node of the other graph, while also making sure every edge is preserved. Moreover, an upper bound of the final size of the current subgraph is maintained. As soon as this bound becomes lower than the size of the largest subgraph computed so far, the current subgraph extension is stopped. Another approach is based on a reformulation of the problem into a maximum clique problem in a compatibility graph [4,5,13]. Definition 7 A compatibility graph for the MCIS problem between two graphs G and G is a graph G C whose set of nodes is N GC = N G N G and there is an edge between two nodes if they are compatible. Let (u, u ) and (v, v ) be two nodes of G C (i.e. {u, v} N G and {u,v } N G ). (u, u ) and (v, v ) are compatible if matching u with u and v with v does not make two different nodes of a graph matched to the same node of the other graph and if it preserves edges (i.e. {u, v} E G {u,v } E G ). As illustrated in figure 2, a clique in G C depicts a matching of nodes in G and G that corresponds to a common induced subgraph. Therefore, a maximum clique of G C is an MCIS of G and G. It follows that any method able to find a maximum clique in a graph can be used to solve the MCIS problem. 2.2 CP model for solving MCIS problem [2] proposed a method for solving MCIS with constraint programming outperforming significantly the standard branch and bound of [1].

4 a b c 1 2 a 1 a 2 a 3 c 1 c 2 c 3 3 b 1 b 2 b 3 Fig. 2. A compatibility graph. For example, since a and c are not linked by any edge while 1 and 3 are, the associations a 1 and c 3 are not compatible. The standard approach for solving CSP is based on the backtracking technique, which builds a search tree whose nodes correspond to all possible partial assignments. It integrates constraint propagation techniques to remove inconsistent values and detect branches that cannot possibly contain a solution. The CSP formalism has been generalized to optimization problems, with soft CSPs ([14,15]). In this case, a solution must satisfy all hard constraints and optimize a given objective function, which is a combination of soft constraints. The standard solving approach is based on the branch and bound technique, as well as on constraint propagation. It explores all possible assignments in a similar way that backtracking technique does. However, the branch and bound technique maintains a bound corresponding to the quality of the current assignment w.r.t. the objective function. As soon as the quality of the solutions allowed by a branch is below this bound, this branch is pruned. [2] suggests a soft CSP model for the MCIS problem for two graphs G and G. Variables: X = {x u u N G } {x, cost} Domains: D(x )={ }, D(cost) ={0,..., N G } and u N G,D(x u )= N G { } Hard constraints: {u, v} N G,C arc (x u,x v ) (x u = ) (x v = ) ((u, v) E G (x u,x v ) E G ) Soft constraint: softalldiff (X, cost) Each node of G is associated with a variable, while each node of G corresponds to a value in the domain of each variable. Every domain also contains an additional value ( bottom ). If a variable is assigned this value, it means that the corresponding node of G is matched with no node of G, therefore not being included in the current common induced subgraph. The special variable x is necessarily assigned the unique value of its domains:. It ensures that other variables will be assigned values different from whenever possible. The variable cost is constrained to be equal to the number of variables that should change their value in order to satisfy the hard alldiff constraint (the one stating that different nodes of G cannot be matched to the same node of G ). The set of hard constraints ensure that edges of the constructed common subgraph are preserved. The soft constraint minimizes the value of cost. A solution is an assignment of all the variables of X which satisfies all hard constraints, and which minimizes the value of cost. [2] evaluates experimentally different constraint propagation techniques. The combination MAC+Bound generally obtains very good results. Maintaining Arc

5 Consistency [16] is used to propagate C arc constraints. Bound is a weaker version of Generalized Arc Consistency for softalldiff (GAC(softAllDiff ) [17]). GAC(softAllDiff ) computes the maximum number of variables that can be assigned distinct values at each node of the search tree, while Bound simply checks whether it is possible to assign distinct values to more variables than the best solution found so far. 3 TR k -decomposition [18] introduced a decomposition method to solve a CSP instance by splitting up its variables domains to obtain several independent subproblems. This method relies on the micro-structure graph of the CSP that is to be solved. Each node is associated to an assignment that can be defined as a couple (variable, value). There is an edge between two nodes if the corresponding assignments are compatible, i.e. if every constraint of the problem is satisfied when the two variables are simultaneously assigned those values. Thereby, two nodes using the same variable in their (variable, value) couple can never be compatible, since a variable can only be assigned a single value of its domain at a time. Let n be the number of variables in the CSP instance. [18] proved that a solution of the problem corresponds to an n-clique in the micro-structure and that, conversely, an n-clique in the micro-structure gives a solution of the problem. Since finding an n- clique in a graph is an NP-complete problem, [18,12] use particular classes of graphs that are known to have only a limited, polynomial number of maximal cliques. In order to benefit from these properties, the micro-structure has to be altered by adding edges, with the purpose of turning this graph into a member of the chosen class of graph. Those additional edges, called fill edges, add erroneous compatibilities, according to the compatibility graph s definition. Therefore, an n-clique in this new graph is not necessarily a solution. [18,12] compute all maximal cliques of the modified micro-structure. Each maximal clique gives a new subproblem with the same variables and constraints than the initial problem. In these subproblems, however, each variable s domain is restricted to its values that can be found in the maximal clique. [18,12] prove that every solution of the initial problem can still be found in one of the subproblems. Since domain sizes can be significantly reduced but cannot possibly be broadened, each subproblem is easier to solve than the initial problem. In addition to this, one must not fail to notice that these subproblems are fully independent, a characteristic that allows an almost effortless parallel implementation for the resolution phase. 3.1 Triangulation [18] considers the class of triangulated graphs to decompose domains. They were defined in several equivalent, yet very different ways. Definition 8 A graph G = (N, E) is triangulated if and only if every cycle whose length is 4 or more has a chord. A chord, in a cycle C, is an edge whose extremities are two non-consecutive nodes of C.

6 Definition 9 ([19]) A graph is triangulated if and only if it admits a simplicial order on its nodes. An order is simplicial if, for each node, its neighbours that have a higher rank induce a complete subgraph (see figure 3 for an example) Fig. 3. This graph is triangulated: every cycle having a length strictly above 3 has a chord. The order suggested by the numbers on each node is a simplicial order. For example, the node 4 has the nodes 5 and 6 as ulterior neighbours, and the subgraph induced by {5, 6} is complete. The process by which a given graph is turned into a triangulated graph only by adding edges is called triangulation. To triangulate a graph, one can simply ensure the existence of a simplicial order by following a given order and saturating (turning into a clique by adding every possible edge) the ulterior neighbourhoods, i.e. neighbours with a higher rank in the order. Such an order can also be constructed dynamically. A triangulated graph has at most N maximal cliques, and the specific structure of the graph makes them easier to find than in most non-triangulated graphs ([19]). TR 1 -decomposition builds the micro-structure of the problem, triangulates it, computes the maximal cliques of the triangulated micro-structure and solves separately the subproblems induced by those cliques triangulation In [20], triangulated graphs were generalized into CSG k graphs. These graphs are defined inductively in the following way: Definition 10 CSG 0 graphs are complete graphs, and, for all strictly positive k, CSG k graphs are the graphs that admit an order such that ulterior neighbourhoods induce CSG k 1 graphs. Such an order is called a k-simplicial order. According to this definition, triangulated graphs are exactly the class of CSG 1 graphs. We will focus here on CSG 2 graphs, also called 2-triangulated graphs. Several major differences between triangulated and 2-triangulated graphs are worth pointing out. Firstly, since each subgraph induced by an ulterior neighbourhood may use its own simplicial order, there are far more possible 2-triangulations for a given graph than there are triangulations. Simplicial orders found in subgraphs have no relation whatsoever with the 2-simplicial order used on the whole graph. Secondly, since triangulating a subgraph can create cycles, triangulating an ulterior subgraph can undo a previously performed triangulation. Whereas a triangulation is guaranteed to be successful simply by following an order once and making it simplicial, most 2-triangulation algorithms need to re-examine nodes to detect and repair undone triangulations.

7 Few methods have been investigated to 2-triangulate a given graph. In [12], a Maximum Cardinality Search ([21]) has been used to compute an order. This order is made 2-simplicial, imitating the triangulation method that turns a given order into a simplicial order. To repair undone subgraph triangulations, the authors simply scan the order anew until no further correction is required. Another, quite different method was described in [22]. The algorithm depicted in this article, called Deuxtriang, provided an innovative way to 2-triangulate a graph, as it does not make explicit use of triangulations. However, it suffers from a severe lack of efficiency w.r.t. the number of fill edges: this number is often greater than in regular triangulations, despite the fact that most 2-triangulations are expected to need less edges additions. Just like triangulated graphs, 2-triangulated graphs have a limited number of maximal cliques, proven to be bounded by N + E ([20]). Moreover, since 2-triangulations generally require less fill edges than a triangulation on the same given graph, these maximal cliques are very likely to be smaller. TR 2 -decomposition solves a CSP instance in the same way TR 1 -decomposition does, but the micro-structure is 2-triangulated rather than triangulated. 4 TR k -decomposition for the MCIS problem We propose to use the TR k -decomposition method combined with the CP model defined in [2] to solve the MCIS problem. While TR k -decomposition was initially defined for CSP instances, the CP model of [2] is a soft CSP. For this reason, we do not directly use the micro-structure of the soft CSP instance, we rely instead on the compatibility graph described in section 2. With this reformulation of the MCIS problem, one must find a maximum clique in the compatibility graph. Since this task is an NP-hard problem, we triangulate or 2-triangulate this graph as in the aforementioned TR k -decomposition method. Then, we compute all the maximal cliques of this new graph, thus generating subproblems. Each subproblem solved gives its own common induced subgraph, and the largest common subgraph found among all subproblems is the best solution to the MCIS problem. Subproblems are solved separately using, for each of them, the CP model of [2]. Every subproblem has the same variables and constraints than the initial problem. Each variable s domain (except for x and cost, whose domains remain unchanged) is restricted to its values that appear in the maximal clique of the compatibility graph corresponding to the examined subproblem. Moreover, we still add the value to each domain. 4.1 TR 1 -decomposition for the MCIS problem TR 1 -decomposition first performs a triangulation on the compatibility graph, then extracts the maximal cliques and solves separately all the subproblems that these cliques define, keeping the best solution found. Since the subproblems can be solved in parallel, the size of the largest search space amongst the subproblems is an appropriate indicator to assess the quality of a given decomposition. In the context of the compatibility graph, that means that it is more

8 profitable to scatter the fill edges rather than creating just a few huge cliques among lots of significantly smaller ones. Formally speaking, small treewidths tend to lead to better decompositions for this problem. Minimizing the treewidth while triangulating a graph is an NP-hard problem. It can be safely assumed, though, that adding fewer fill edges will generally allow the decomposition to have a lower treewidth as well. This criterion is at the heart of our algorithmic choices regarding triangulation and 2-triangulation. We used the simple yet very efficient heuristic known as Minfill ([23]) to dynamically construct a simplicial order. Minfill creates an order node by node, choosing, at each step, the node that has the smallest deficiency. The term deficiency refers to the number of fill edges that we will have to add if we choose the considered node. Basically, Minfill is a greedy algorithm aiming to add a small number of fill edges. 4.2 TR 2 -decomposition for the MCIS problem An objective of the present work is to come up with an ideal compromise between the time necessary for the decomposition and the quality of this decomposition. Assuming that a small subgraph will need less fill edges to be triangulated, we use the heuristic called M indeg. As its name implies, it constructs a 2-simplicial order by selecting at each step the node having the fewer unordered neighbours, hence the smallest ulterior degree. We also use the same heuristic for the triangulation of the subgraphs. The ulterior degree of a node is easy to compute and can be updated incrementally, leading to a significant reduction of the time needed for the 2-triangulation procedure. Regarding the problem of broken subgraph triangulations that arises during 2-triangulations, we used an array of flags one for each node that are raised whenever a fill edge appears in the ulterior neighbourhood of the corresponding node or when this node gets an extra ulterior neighbour because of a fill edge. We basically assume that such an addition may have broken the subgraph triangulation and that we cannot afford to leave it unchecked. As soon as this subgraph is considered again, the flag gets lowered. This allows to check on only a few nodes rather than processing all of them. The verification step ends when no raised flag remains. The construction of subgraphs tends to add a substantial and unnecessary computation cost to the algorithm, especially when it has to be repeated as often as during a 2-triangulation. An effective workaround is to permanently update matrices designed to provide information as to whether a given node is an ulterior neighbour of another node. Such matrices can also hold degree information to provide further help during the triangulations or the construction of the 2-simplicial order. Our method hence uses two matrices, each holding N 2 values: ult_neighbour[x][y] =T rue y is an ulterior neighbour of x deg_in_ult_nbhood[x][y] =Degree of y while only considering the ulterior neighbours of x deg_in_ult_nbhood[z][z] =Ulterior degree of z in G Once properly initialized, these matrices are rather easy to keep up to date.

9 Algorithm 1 performs a 2-triangulation of a given graph and uses Algorithm 2 to incrementally update the structures described above. Algorithm 1 initializes structures f lags, ult_neighbour and deg_in_ult_nbhood (lines 1-3) before the ordering phase (lines 4-13). Unordered nodes have the invalid rank N +1. Thus, any unordered node is seen as a potential ulterior neighbour of other nodes. The ranking phase chooses at each step, with the Mindeg heuristic, a node to be ranked and triangulates the ulterior subgraph of this node. These triangulations also use the Mindeg heuristic. The order is constructed from beginning to end: the first chosen node earns the first place, and so on. Each time an edge is added, Algorithm 2 is called to update f lags, ult_neighbour and deg_in_ult_nbhood. Some minor and simple updates may also be needed whenever a node is ordered, as its yet unordered neighbours are losing a potential ulterior neighbour. The correction phase (lines 14-29) triangulates any ulterior subgraph that appears not to be triangulated and stops when no further correction is needed. To quickly check the state of a subgraph, the algorithm computes an MCS order (Maximum Cardinality Search, see [21]). Such an order is simplicial if and only if the subgraph is triangulated. The incremental structures are updated by the process outlined in Algorithm 2. The ulterior neighbourhood of a node v can be altered in two ways: If an edge has two ulterior neighbours of v as its extremities (line 10), at least one of those extremities (depending on their respective ranks) will experience a change of degree in the ulterior neighbourhood of v. Furthermore, such a fill edge might create cycles in this neighbourhood. v s flag is raised as to ensure the validity of the final 2-triangulation (line 11). If an edge has v itself as one on its extremities, and if the other extremity has a higher rank than v, v gains an extra ulterior neighbour (see the increments at lines 4 and 8). Such a change obviously prevents us to be sure that v s ulterior neighbourhood is still triangulated, hence the flag raises at lines 2 and 6. Each combination of a common anterior neighbour with a fill edge s extremities form a triangle in which each edge must be checked for degrees updates, hence the loop ranging from lines 12 to 23. This loop ensures that new ulterior neighbours have their values in deg_in_ult_nbhood correctly initialized or updated. Please note that the equality case (line 20) can only happen if both extremities of a fill edge are still unordered. In such circumstances, each extremity gains a potential ulterior neighbour. Figure 4 shows an example of subgraph triangulation and explains the major aspects of incremental updating. 4.3 Reduction of the number of subproblems Dropping subproblems The simplest way to reduce the number of subproblems is to leave unsolved any subproblem that obviously do not contain any better solution than the ones we already found. Many subproblems feature domains containing nothing but the value. A variable having such a restrained domain has no choice but to be assigned this special value. It basically is a node with no matching opportunities in the

10 Algorithm 1: 2-triangulation algorithm with incremental subgraph handling Data: Graph G =(N, E) Result: 2-triangulated graph G =(N, E ), with E E 1 Initialize ult_neighbour and deg_in_ult_nbhood 2 foreach node v in N do 3 flags[v] T rue 4 foreach rank n from 1 to N do 5 v argmin (deg_in_ult_nbhood[u][u]) u N and u unranked 6 if the subgraph induced by the unordered neighbours of v is not triangulated according to Maximum Cardinality Search then 7 Triangulate this subgraph with the Mindeg heuristic 8 foreach fill edge {x, y} we just added during the triangulation do 9 Update (G, x, y, flags, deg_in_ult_nbhood, ult_neighbour) 10 Attribute the rank n to v 11 flags[v] F alse 12 foreach unordered neighbour w of v do 13 Decrement deg_in_ult_nbhood[w][w] 14 allchecked F alse 15 while allchecked = F alse do 16 foreach rank n from 1 to N do 17 v node occupying the rank n 18 if flags[v] =T rue then 19 if the subgraph induced by the unordered neighbours of v is not triangulated according to Maximum Cardinality Search then 20 Triangulate this subgraph with the Mindeg heuristic 21 foreach fill edge {x, y} we just added during the triangulation do 22 Update (G, x, y, flags, deg_in_ult_nbhood, ult_neighbour) 23 flags[v] F alse 24 if no fill edges have been added then 25 allchecked T rue 26 foreach node x in N do 27 if flags[x] =T rue then 28 allchecked F alse 29 Exit this loop considered subproblem. If the number of variables that would necessarily be assigned with is too large to allow any improvement of the quality of the current best solution, the subproblem is ignored. For example, a subproblem having only three variables that can use other values than cannot possibly contain a solution of more than three nodes. Fast heuristic algorithms are run on the initial MCIS problem to compute a good first solution before decomposing the problem. This increases significantly the number of subproblems that can be ignored.

11 Algorithm 2: Incremental structures updating procedure Data: Graph G =(N, E), fill edge (x, y), ult_neighbour, deg_in_ult_nbhood, flags Result: ult_neighbour, deg_in_ult_nbhood, flags 1 if rank(x) rank(y) then 2 flags[y] T rue 3 ult_neighbour[y][x] T rue 4 Increment deg_in_ult_nbhood[y][y] 5 if rank(x) rank(y) then 6 flags[x] T rue 7 ult_neighbour[x][y] T rue 8 Increment deg_in_ult_nbhood[x][x] 9 foreach node z in N do 10 if x and y are both ulterior neighbours of z then 11 flags[z] T rue 12 foreach pair {a, b} {x, y, z}, c being the unused element of {x, y, z} do 13 switch according to a comparison of rank(a) and rank(b) do 14 case rank(a) < rank(b) 15 Increment deg_in_ult_nbhood[c][a] 16 break 17 case rank(a) > rank(b) 18 Increment deg_in_ult_nbhood[c][b] 19 break 20 case rank(a) =rank(b) 21 Increment deg_in_ult_nbhood[c][a] 22 Increment deg_in_ult_nbhood[c][b] 23 break Merging subproblems A lot of subproblems have large intersections, meaning that we might solve similar parts several times. In order to reduce redundancies as well as the number of subproblems, some subproblems may be merged. Formally speaking, two subproblems can be replaced by a new subproblem by computing the union of the allowed values. Please note that any solution will still be present in the resulting subproblem. To prevent subproblems from growing back to the size of the initial problem, we can set a limit, for example on the size of the resulting search space. This is especially important when it comes to TR 2 -decomposition, as we wish to keep the benefit of the fact that the subproblems are then likely to be smaller than those that one can obtain with TR 1 -decomposition. Such a limit may prevent further combinations when they become less profitable. Detecting cases of inclusion Merging subproblems can induce inclusion of resulting subproblems. An inclusion of subproblems simply means that all the values that are allowed in a given subproblem are also allowed within another, possibly bigger subproblem. In such a case, the smaller subproblem can be merely dropped. This process

12 d a e b c d a #1 b c #2 a #1 b c Fig. 4. A subgraph being triangulated. At the beginning of the process, no nodes are ordered yet. Since every node has the same ulterior degree of 2, the first one is chosen arbitrarily. e is thus given the first rank. As its neighbours, a and c, do not induce a clique yet, the triangulation algorithm adds the edge {a, c}. According to Algorithm 2 (see lines 1-8), this fill edge turns a and c, who are both unordered, into each other s ulterior neighbour. The only node that has both a and c as ulterior neighbours is e itself. The algorithm therefore applies lines to each edge of the triangle formed by a, c and e. The fill edge itself, {a, c}, has to be checked because it may alter a s or c s degree in the subgraph induced by e s ulterior neighbourhood. The edge {a, e} must be examined because a entered the ulterior neighbourhood of c, and this has two consequences: we must make sure the value deg_in_ult_nbhood[c][a] is accurately initialized, and we must increment deg_in_ult_nbhood[c][v] for any node v that already was in c s ulterior neighbourhood and that has a as neighbour, since the fill edge then gives v an extra neighbour in the subgraph induced by c s neighbourhood. The edge {c, e} must be examined as the last edge of the triangle for the same reasons. When d gets ordered, the same process is repeated in the triangles {a, b, d} and {a, b, c}. can be seen as a particular way of merging in which the resulting subproblem is the same as one of the two merged subproblems. However, opportunities for such absorptions appear to be rather uncommon. 4.4 Complexity The complexity of each stage of the decomposition is expressed according to the number of nodes in the compatibility graph. This number will be denoted by N. It is important to note that N is equal to the product of the number of nodes of the two initial graphs. The TR 1 -decomposition process as implemented here makes use of Minfill to triangulate the compatibility graph. Its time complexity is in O(N 3 ). On the other hand, TR 2 -decomposition relies on Mindeg on two levels (nodes choices and subgraphs triangulations), for an overall time complexity of O(N 5 ). However, the worst case involves O(N 2 ) correction passes, while experiments demonstrated an average number of correction passes edging around 2. The matrices of incremental subgraph handling must be updated whenever a node becomes ordered or when a fill edge is added. Each occurrence of this updating process needs an O(N) time to be completed. Since O(N 2 ) edges may be added each time a node is surveyed, the entirety of the updates may take a time up to O(N 3 ). When it comes to complexity, one of the major advantages of a TR k -decomposition is that successfully dividing each domain size by α would in turn divide the size of the search space by α n. Solving the initial problem has a complexity of O(d n ), where d is the size of the largest domain amongst the variables and n the number of variables. With the decomposed version, the complexity turns out to be of O(nb_pbs max_cpxt), where nb_pbs

13 corresponds to the number of subproblems that must be solved after reduction, and max_cpxt is the complexity of the resolution of the largest subproblem. This latter complexity is of O(d n ), by the same rules that apply to the undecomposed problem, d being the size of the largest domain in the subproblems. However, d tends to be a lot lower than d thanks to the decomposition. 5 Experiments Our algorithms were fully developed in C. The programs were executed with an Intel R Xeon R CPU E GHz processor, with KB of cache memory and 4 GB of RAM. The instances are taken from the benchmark presented in [24] and were used in their labeled and directed versions. The number of different labels equals 33% of the number of nodes in each graph. We take these labels into account like it is done in [2], by ensuring matched nodes have the same label. By similar rules, edges between pairs of matched nodes must also have the same label. Each domain is therefore reduced to values associated to nodes having the exact same label than the node associated to the variable. Table 1 gives an overview of the major specificities of the instances we used. Table 1. A summary of the instances used in our experiments. 41 out of them are composed of graphs having a number of nodes ranging from 10 to 60 while the 76 others comprise graphs having 70 nodes or more, with a maximum of 100. Each line depicts a different type of graph: bvg are bounded valence graphs, rand are random graphs, and m2d, m3d and m4d are meshes with two, three and four dimensions respectively. The columns correspond to different proportions represented by the maximum common subgraph w.r.t. the compared graphs. For example, an mcs10 instance with 50 nodes in each graph will hold a maximum common subgraph of 5 nodes (10% of 50). mcs10 mcs30 mcs50 mcs70 mcs90 bvg rand m2d m3d m4d Quality of the decomposition Our experiments aimed to obtain a decomposition in which the largest subproblem is still far easier to solve than the initial problem, while trying to keep the number of subproblems acceptable. Table 2 shows a summary of our results regarding these particular aspects of the problem. TR 2 (Mindeg) adds about a thousand edges less than TR 1 (Minfill), thus leading to a larger reduction of the search space. This better reduction comes with a price, though: TR 2 appears to be far more costly than TR 1, with an average runtime of nine seconds while Minfill s is of about half a second. However, it is important to note that the MCIS problem is very difficult and that TR 2 s cost can be very small compared to the time needed to solve hard instances.

14 Table 2. Avg. div. space gives, for each method, the average of the value S/s, where S is the size of the search space of the initial problem and s is the size of the largest search space that can be found among the generated subproblems. Avg. time gives the average time needed for the (2-)triangulation process. Avg. edges is the average number of fill edges, while Avg. pbs is the average number of subproblems that are left after the initial combinations, absorptions, and deletion of subproblems. Method Avg. div. space Avg. time (s) Avg. edges Avg. pbs TR 1 -decomp. (Minfill) TR 2 -decomp. (Mindeg) Efficiency of the resolution The obvious core problem is to make the overall resolution process faster. Since the subproblems are independent, we solved them in parallel using eight cores, which seems to be a reasonable number. Each subproblem is assigned to the least busy core. We compare TR 1 (Minfill) and TR 2 (Mindeg) to the method MAC+Bound defined in [2] knowing we use this method to solve each subproblem. A time limit of four hours was set. The results obtained on easy instances are shown in figure 5, while those regarding harder instances can be found in figure 6. Quite unexpectedly, TR 1 -decomposition obtains very good results on many easy instances, on which it outperforms MAC+Bound. It appears that, on theses instances, the size of the subproblems is small enough for the algorithm to ignore most sometimes all of them. Even though TR 2 -decomposition obtains a better decomposition, its runtime is too large to be advantageous on these simpler instances. On the other hand, with harder instances, the quality of the decomposition becomes crucial and allows TR 2 -decomposition to outperform other methods. TR 1 -decomposition remains very efficient on such instances and obtains better results than MAC+Bound. Several instances are only solved by decomposition-based methods within the time limit of four hours. 6 Conclusion This work demonstrated that TR k -decomposition is a suitable resolution method for the MCIS problem. TR 1 -decomposition performs well even on a significant number of easy instances and gains renewed usefulness on more difficult instances. TR 2 -decomposition, on the other hand, is a costly process, and should be used solely on the most difficult instances. On those particular instances, the time needed for the decomposition appears to become gainful thanks to a significantly shortened resolution phase. In the near future, several points shall be the subject of further investigations. It is planned to add rules to breaks ties while constructing a simplicial or 2-simplicial order. Ties occur very frequently while comparing such things as degrees of deficiencies. Such strategies are known to be able, in some very similar cases as ours, to drastically affect the quality of the results ([25]). However, our attempts at directing tie breaking towards small search spaces in the resulting subproblems have proven either too costly in terms of computation, either far too unpredictable regarding the quality of the results.

15 60 MAC+Bound[2] TR 1 (Minfill) TR 2 (Mindeg) Solved instances Time (seconds) Fig. 5. Number of solved easy instances according to time. An instance is deemed easy if the normal method, without decomposition, successfully solves it in strictly less than ten seconds. 40 MAC+Bound[2] TR 1 (Minfill) TR 2 (Mindeg) Solved instances Time (seconds) 4h Fig. 6. Number of solved hard instances according to time. An instance is deemed hard if the normal method, without decomposition, fails at solving it in strictly less than ten seconds. Several new elements ought to be added to the resolution process, especially to take into account the specificities of the MCIS problem. For instance, symmetries are often present in the compared graphs, and their detection might improve the resolution time significantly ([3]). Nevertheless, the most important point is still undoubtedly to find the best compromise between the time needed to decompose the compatibility graph and the quality of the resulting decomposition.

16 References 1. James J McGregor. Backtrack search algorithms and the maximal common subgraph problem. Software: Practice and Experience, 12(1):23 34, Samba Ndojh Ndiaye and Christine Solnon. Cp models for maximum common subgraph problems. In Principles and Practice of Constraint Programming CP 2011, pages Springer, Philippe Vismara. Programmation par contraintes pour les problemes de plus grand sousgraphe commun. In JFPC 11: Journées Francophones de Programmation par Contraintes, pages , Egon Balas and Chang Sung Yu. Finding a maximum clique in an arbitrary graph. SIAM Journal on Computing, 15(4): , Paul J Durand, Rohit Pasari, Johnnie W Baker, and Chun-che Tsai. An efficient algorithm for similarity analysis of molecules. Internet Journal of Chemistry, 2(17):1 16, Ciaran McCreesh and Patrick Prosser. The shape of the search tree for the maximum clique problem, and the implications for parallel branch and bound. arxiv preprint arxiv: , Matjaz Depolli, Janez Konc, Kati Rozman, Roman Trobec, and Dusanka Janezic. Exact parallel maximum clique algorithm for general and protein graphs. Journal of chemical information and modeling, 53(9): , Ciaran McCreesh and Patrick Prosser. Multi-threading a state-of-the-art maximum clique algorithm. Algorithms, 6(4): , Philippe Jégou and Cyril Terrioux. Hybrid backtracking bounded by tree-decomposition of constraint networks. Artificial Intelligence, 146(1):43 75, Adnan Darwiche. Recursive conditioning. Artificial Intelligence, 126(1):5 41, Rina Dechter and Robert Mateescu. And/or search spaces for graphical models. Artificial intelligence, 171(2):73 106, Assef Chmeiss, Philippe Jégou, and Lamia Keddar. On a generalization of triangulated graphs for domains decomposition of CSPs. In IJCAI, pages Citeseer, J W Raymond, E J Gardiner, and P Willett. Rascal: calculation of graph similarity using maximum common edge subgraphs. The Computer Journal, 45(6): , T. Schiex, H. Fargier, and G. Verfaillie. Valued constraint satisfaction problems: hard and easy problems. In Proceedings of the 14th International Joint Conference on Artificial Intelligence, pages , T. Schiex. Arc consistency for soft constraints. In Principles and Practice of Constraint Programming CP 2000, pages , D. Sabin and E. Freuder. Contradicting conventional wisdom in constraint satisfaction. In Proceedings of the eleventh ECAI, pages , T. Petit, J.-C. Régin, and C. Bessière. Specific filtering algorithms for over-constrained problems. In CP 01, LNCS 2239, pages Springer, Philippe Jégou. Decomposition of domains based on the micro-structure of finite constraintsatisfaction problems. In AAAI, volume 93, pages , Delbert R Fulkerson, Oliver A Gross, et al. Incidence matrices and interval graphs. Pacific J. Math, 15(3): , Assef Chmeiss and Philippe Jégou. A generalization of chordal graphs and the maximum clique problem. Information Processing Letters, 62(2):61 66, Robert E Tarjan. Decomposition by clique separators. Discrete mathematics, 55(2): , Samba Ndojh Ndiaye. 2-triangulation de micro-structure pour la résolution de CSP. In MajecSTIC 2005: Manifestation des Jeunes Chercheurs francophones dans les domaines des STIC, pages , 2005.

17 23. Uffe Kjaerulff. Triangulation of graphs - algorithms giving small total state space. Technical report, Judex R.R. Aalborg., Denmark, Donatello Conte, Pasquale Foggia, and Mario Vento. Challenging complexity of maximum common subgraph detection algorithms: A performance analysis of three algorithms on a wide database of graphs. J. Graph Algorithms Appl., 11(1):99 143, Alan George and Joseph WH Liu. The evolution of the minimum degree ordering algorithm. Siam review, 31(1):1 19, 1989.

A Comparison of Decomposition Methods for the Maximum Common Subgraph Problem

A Comparison of Decomposition Methods for the Maximum Common Subgraph Problem A Comparison of Decomposition Methods for the Maximum Common Subgraph Problem Maël MINOT LIRIS UMR 5205 CNRS Université de Lyon INSA de Lyon, France mael.minot@liris.cnrs.fr Samba Ndojh NDIAYE LIRIS UMR

More information

CP Models for Maximum Common Subgraph Problems

CP Models for Maximum Common Subgraph Problems CP Models for Maximum Common Subgraph Problems Samba Ndojh Ndiaye and Christine Solnon Université de Lyon, CNRS Université Lyon 1, LIRIS, UMR5205, F-69622, France Abstract. The distance between two graphs

More information

A generic framework for solving CSPs integrating decomposition methods

A generic framework for solving CSPs integrating decomposition methods A generic framework for solving CSPs integrating decomposition methods L. Blet 1,3, S. N. Ndiaye 1,2, and C. Solnon 1,3 1 Université de Lyon - LIRIS 2 Université Lyon 1, LIRIS, UMR5205, F-69622 France

More information

An Extension of Complexity Bounds and Dynamic Heuristics for Tree-Decompositions of CSP

An Extension of Complexity Bounds and Dynamic Heuristics for Tree-Decompositions of CSP An Extension of Complexity Bounds and Dynamic Heuristics for Tree-Decompositions of CSP Philippe Jégou, Samba Ndojh Ndiaye, and Cyril Terrioux LSIS - UMR CNRS 6168 Université Paul Cézanne (Aix-Marseille

More information

On the Space-Time Trade-off in Solving Constraint Satisfaction Problems*

On the Space-Time Trade-off in Solving Constraint Satisfaction Problems* Appeared in Proc of the 14th Int l Joint Conf on Artificial Intelligence, 558-56, 1995 On the Space-Time Trade-off in Solving Constraint Satisfaction Problems* Roberto J Bayardo Jr and Daniel P Miranker

More information

Dynamic heuristics for branch and bound search on tree-decomposition of Weighted CSPs

Dynamic heuristics for branch and bound search on tree-decomposition of Weighted CSPs Dynamic heuristics for branch and bound search on tree-decomposition of Weighted CSPs Philippe Jégou, Samba Ndojh Ndiaye, and Cyril Terrioux LSIS - UMR CNRS 6168 Université Paul Cézanne (Aix-Marseille

More information

Complexity Results on Graphs with Few Cliques

Complexity Results on Graphs with Few Cliques Discrete Mathematics and Theoretical Computer Science DMTCS vol. 9, 2007, 127 136 Complexity Results on Graphs with Few Cliques Bill Rosgen 1 and Lorna Stewart 2 1 Institute for Quantum Computing and School

More information

Maximum Clique Problem. Team Bushido bit.ly/parallel-computing-fall-2014

Maximum Clique Problem. Team Bushido bit.ly/parallel-computing-fall-2014 Maximum Clique Problem Team Bushido bit.ly/parallel-computing-fall-2014 Agenda Problem summary Research Paper 1 Research Paper 2 Research Paper 3 Software Design Demo of Sequential Program Summary Of the

More information

Constraint Solving by Composition

Constraint Solving by Composition Constraint Solving by Composition Student: Zhijun Zhang Supervisor: Susan L. Epstein The Graduate Center of the City University of New York, Computer Science Department 365 Fifth Avenue, New York, NY 10016-4309,

More information

A CSP Search Algorithm with Reduced Branching Factor

A CSP Search Algorithm with Reduced Branching Factor A CSP Search Algorithm with Reduced Branching Factor Igor Razgon and Amnon Meisels Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva, 84-105, Israel {irazgon,am}@cs.bgu.ac.il

More information

An Effective Upperbound on Treewidth Using Partial Fill-in of Separators

An Effective Upperbound on Treewidth Using Partial Fill-in of Separators An Effective Upperbound on Treewidth Using Partial Fill-in of Separators Boi Faltings Martin Charles Golumbic June 28, 2009 Abstract Partitioning a graph using graph separators, and particularly clique

More information

A Performance Analysis on Maximal Common Subgraph Algorithms

A Performance Analysis on Maximal Common Subgraph Algorithms A Performance Analysis on Maximal Common Subgraph Algorithms Ruud Welling University of Twente P.O. Box 217, 7500AE Enschede The Netherlands r.h.a.welling@student.utwente.nl ABSTRACT Graphs can be used

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Technical Report UU-CS-2008-042 December 2008 Department of Information and Computing Sciences Utrecht

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Abstract We present two parameterized algorithms for the Minimum Fill-In problem, also known as Chordal

More information

Conflict based Backjumping for Constraints Optimization Problems

Conflict based Backjumping for Constraints Optimization Problems Conflict based Backjumping for Constraints Optimization Problems Roie Zivan and Amnon Meisels {zivanr,am}@cs.bgu.ac.il Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva, 84-105,

More information

On 2-Subcolourings of Chordal Graphs

On 2-Subcolourings of Chordal Graphs On 2-Subcolourings of Chordal Graphs Juraj Stacho School of Computing Science, Simon Fraser University 8888 University Drive, Burnaby, B.C., Canada V5A 1S6 jstacho@cs.sfu.ca Abstract. A 2-subcolouring

More information

Using CP and ILP with tree decomposition to solve the sum colouring problem

Using CP and ILP with tree decomposition to solve the sum colouring problem Using CP and ILP with tree decomposition to solve the sum colouring problem Maël Minot, Samba Ndojh Ndiaye, Christine Solnon To cite this version: Maël Minot, Samba Ndojh Ndiaye, Christine Solnon. Using

More information

Chordal Graphs: Theory and Algorithms

Chordal Graphs: Theory and Algorithms Chordal Graphs: Theory and Algorithms 1 Chordal graphs Chordal graph : Every cycle of four or more vertices has a chord in it, i.e. there is an edge between two non consecutive vertices of the cycle. Also

More information

Unifying and extending hybrid tractable classes of CSPs

Unifying and extending hybrid tractable classes of CSPs Journal of Experimental & Theoretical Artificial Intelligence Vol. 00, No. 00, Month-Month 200x, 1 16 Unifying and extending hybrid tractable classes of CSPs Wady Naanaa Faculty of sciences, University

More information

A strong local consistency for constraint satisfaction

A strong local consistency for constraint satisfaction A strong local consistency for constraint satisfaction Romuald Debruyne Ecole des Mines de Nantes 4, rue Alfred Kastler, La Chantrerie 4437 Nantes cedex 3 - France Email: debruyne@lirmm.fr Abstract Filtering

More information

A Decomposition for Chordal graphs and Applications

A Decomposition for Chordal graphs and Applications A Decomposition for Chordal graphs and Applications Michel Habib Joint work with Vincent Limouzy and Juraj Stacho Pretty Structure, Existencial Polytime Jack Edmonds Birthday, 7-9 april 2009 Schedule Chordal

More information

Treewidth and graph minors

Treewidth and graph minors Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under

More information

Path Consistency on Triangulated Constraint Graphs*

Path Consistency on Triangulated Constraint Graphs* Path Consistency on Triangulated Constraint Graphs* Christian Bliek ILOG 1681 Route des Dolines 06560 Valbonne, France bliekqilog.fr Djamila Sam-Haroud Artificial Intelligence Laboratory Swiss Federal

More information

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems Some Applications of Graph Bandwidth to Constraint Satisfaction Problems Ramin Zabih Computer Science Department Stanford University Stanford, California 94305 Abstract Bandwidth is a fundamental concept

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Search and Lookahead Bernhard Nebel, Julien Hué, and Stefan Wölfl Albert-Ludwigs-Universität Freiburg June 4/6, 2012 Nebel, Hué and Wölfl (Universität Freiburg) Constraint

More information

Propagate the Right Thing: How Preferences Can Speed-Up Constraint Solving

Propagate the Right Thing: How Preferences Can Speed-Up Constraint Solving Propagate the Right Thing: How Preferences Can Speed-Up Constraint Solving Christian Bessiere Anais Fabre* LIRMM-CNRS (UMR 5506) 161, rue Ada F-34392 Montpellier Cedex 5 (bessiere,fabre}@lirmm.fr Ulrich

More information

Chordal deletion is fixed-parameter tractable

Chordal deletion is fixed-parameter tractable Chordal deletion is fixed-parameter tractable Dániel Marx Institut für Informatik, Humboldt-Universität zu Berlin, Unter den Linden 6, 10099 Berlin, Germany. dmarx@informatik.hu-berlin.de Abstract. It

More information

Using Constraint Programming to Solve the Maximum Clique Problem

Using Constraint Programming to Solve the Maximum Clique Problem Using Constraint Programming to Solve the Maximum Clique Problem Jean-Charles Régin ILOG Sophia Antipolis Les Taissounières HB, 1681 route des Dolines, 06560 Valbonne, France regin@ilog.fr Abstract. This

More information

Connecting face hitting sets in planar graphs

Connecting face hitting sets in planar graphs Connecting face hitting sets in planar graphs Pascal Schweitzer and Patrick Schweitzer Max-Planck-Institute for Computer Science Campus E1 4, D-66123 Saarbrücken, Germany pascal@mpi-inf.mpg.de University

More information

Map Edit Distance vs Graph Edit Distance for Matching Images

Map Edit Distance vs Graph Edit Distance for Matching Images Map Edit Distance vs Graph Edit Distance for Matching Images Camille Combier 1,2, Guillaume Damiand 3,2, and Christine Solnon 3,2 1 Université Lyon 1, LIRIS, UMR 5205 CNRS, 69622 Villeurbanne, France 2

More information

On the Space-Time Trade-off in Solving Constraint Satisfaction Problems*

On the Space-Time Trade-off in Solving Constraint Satisfaction Problems* On the Space-Time Trade-off in Solving Constraint Satisfaction Problems* Roberto J. Bayardo Jr. and Daniel P. Miranker Department of Computer Sciences and Applied Research Laboratories The University of

More information

Constraint Satisfaction Problems. Chapter 6

Constraint Satisfaction Problems. Chapter 6 Constraint Satisfaction Problems Chapter 6 Constraint Satisfaction Problems A constraint satisfaction problem consists of three components, X, D, and C: X is a set of variables, {X 1,..., X n }. D is a

More information

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings On the Relationships between Zero Forcing Numbers and Certain Graph Coverings Fatemeh Alinaghipour Taklimi, Shaun Fallat 1,, Karen Meagher 2 Department of Mathematics and Statistics, University of Regina,

More information

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely

More information

Arc Consistency for Dynamic CSPs

Arc Consistency for Dynamic CSPs Arc Consistency for Dynamic CSPs Malek Mouhoub mouhoubm@cs.uregina.ca Department of Computer Science, University of Regina 3737 Waskana Parkway, Regina SK, Canada, S4S 0A2 ABSTRACT Constraint Satisfaction

More information

Minimal Dominating Sets in Graphs: Enumeration, Combinatorial Bounds and Graph Classes

Minimal Dominating Sets in Graphs: Enumeration, Combinatorial Bounds and Graph Classes Minimal Dominating Sets in Graphs: Enumeration, Combinatorial Bounds and Graph Classes J.-F. Couturier 1 P. Heggernes 2 D. Kratsch 1 P. van t Hof 2 1 LITA Université de Lorraine F-57045 Metz France 2 University

More information

Semi-Independent Partitioning: A Method for Bounding the Solution to COP s

Semi-Independent Partitioning: A Method for Bounding the Solution to COP s Semi-Independent Partitioning: A Method for Bounding the Solution to COP s David Larkin University of California, Irvine Abstract. In this paper we introduce a new method for bounding the solution to constraint

More information

Discrete Optimization. Lecture Notes 2

Discrete Optimization. Lecture Notes 2 Discrete Optimization. Lecture Notes 2 Disjunctive Constraints Defining variables and formulating linear constraints can be straightforward or more sophisticated, depending on the problem structure. The

More information

Framework for Design of Dynamic Programming Algorithms

Framework for Design of Dynamic Programming Algorithms CSE 441T/541T Advanced Algorithms September 22, 2010 Framework for Design of Dynamic Programming Algorithms Dynamic programming algorithms for combinatorial optimization generalize the strategy we studied

More information

Characterization of Super Strongly Perfect Graphs in Chordal and Strongly Chordal Graphs

Characterization of Super Strongly Perfect Graphs in Chordal and Strongly Chordal Graphs ISSN 0975-3303 Mapana J Sci, 11, 4(2012), 121-131 https://doi.org/10.12725/mjs.23.10 Characterization of Super Strongly Perfect Graphs in Chordal and Strongly Chordal Graphs R Mary Jeya Jothi * and A Amutha

More information

Exponential time algorithms for the minimum dominating set problem on some graph classes

Exponential time algorithms for the minimum dominating set problem on some graph classes Exponential time algorithms for the minimum dominating set problem on some graph classes Serge Gaspers University of Bergen Department of Informatics N-500 Bergen, Norway. gaspers@ii.uib.no Dieter Kratsch

More information

Contracting Chordal Graphs and Bipartite Graphs to Paths and Trees

Contracting Chordal Graphs and Bipartite Graphs to Paths and Trees Contracting Chordal Graphs and Bipartite Graphs to Paths and Trees Pinar Heggernes Pim van t Hof Benjamin Léveque Christophe Paul Abstract We study the following two graph modification problems: given

More information

VALCSP solver : a combination of Multi-Level Dynamic Variable Ordering with Constraint Weighting

VALCSP solver : a combination of Multi-Level Dynamic Variable Ordering with Constraint Weighting VALCS solver : a combination of Multi-Level Dynamic Variable Ordering with Constraint Weighting Assef Chmeiss, Lakdar Saïs, Vincent Krawczyk CRIL - University of Artois - IUT de Lens Rue Jean Souvraz -

More information

Some Remarks on the Geodetic Number of a Graph

Some Remarks on the Geodetic Number of a Graph Some Remarks on the Geodetic Number of a Graph Mitre C. Dourado 1, Fábio Protti 2, Dieter Rautenbach 3, and Jayme L. Szwarcfiter 4 1 ICE, Universidade Federal Rural do Rio de Janeiro and NCE - UFRJ, Brazil,

More information

These notes present some properties of chordal graphs, a set of undirected graphs that are important for undirected graphical models.

These notes present some properties of chordal graphs, a set of undirected graphs that are important for undirected graphical models. Undirected Graphical Models: Chordal Graphs, Decomposable Graphs, Junction Trees, and Factorizations Peter Bartlett. October 2003. These notes present some properties of chordal graphs, a set of undirected

More information

9 About Intersection Graphs

9 About Intersection Graphs 9 About Intersection Graphs Since this lecture we focus on selected detailed topics in Graph theory that are close to your teacher s heart... The first selected topic is that of intersection graphs, i.e.

More information

Chordal graphs MPRI

Chordal graphs MPRI Chordal graphs MPRI 2017 2018 Michel Habib habib@irif.fr http://www.irif.fr/~habib Sophie Germain, septembre 2017 Schedule Chordal graphs Representation of chordal graphs LBFS and chordal graphs More structural

More information

Honour Thy Neighbour Clique Maintenance in Dynamic Graphs

Honour Thy Neighbour Clique Maintenance in Dynamic Graphs Honour Thy Neighbour Clique Maintenance in Dynamic Graphs Thorsten J. Ottosen Department of Computer Science, Aalborg University, Denmark nesotto@cs.aau.dk Jiří Vomlel Institute of Information Theory and

More information

Vertex 3-colorability of claw-free graphs

Vertex 3-colorability of claw-free graphs Algorithmic Operations Research Vol.2 (27) 5 2 Vertex 3-colorability of claw-free graphs Marcin Kamiński a Vadim Lozin a a RUTCOR - Rutgers University Center for Operations Research, 64 Bartholomew Road,

More information

Greedy Algorithms CHAPTER 16

Greedy Algorithms CHAPTER 16 CHAPTER 16 Greedy Algorithms In dynamic programming, the optimal solution is described in a recursive manner, and then is computed ``bottom up''. Dynamic programming is a powerful technique, but it often

More information

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

On Covering a Graph Optimally with Induced Subgraphs

On Covering a Graph Optimally with Induced Subgraphs On Covering a Graph Optimally with Induced Subgraphs Shripad Thite April 1, 006 Abstract We consider the problem of covering a graph with a given number of induced subgraphs so that the maximum number

More information

A Parameterized Local Consistency for Redundant Modeling in Weighted CSPs

A Parameterized Local Consistency for Redundant Modeling in Weighted CSPs A Parameterized Local Consistency for Redundant Modeling in Weighted CSPs Y.C. Law, J.H.M. Lee, and M.H.C. Woo Department of Computer Science and Engineering The Chinese University of Hong Kong, Shatin,

More information

Introduction III. Graphs. Motivations I. Introduction IV

Introduction III. Graphs. Motivations I. Introduction IV Introduction I Graphs Computer Science & Engineering 235: Discrete Mathematics Christopher M. Bourke cbourke@cse.unl.edu Graph theory was introduced in the 18th century by Leonhard Euler via the Königsberg

More information

Crossword Puzzles as a Constraint Problem

Crossword Puzzles as a Constraint Problem Crossword Puzzles as a Constraint Problem Anbulagan and Adi Botea NICTA and Australian National University, Canberra, Australia {anbulagan,adi.botea}@nicta.com.au Abstract. We present new results in crossword

More information

PLANAR GRAPH BIPARTIZATION IN LINEAR TIME

PLANAR GRAPH BIPARTIZATION IN LINEAR TIME PLANAR GRAPH BIPARTIZATION IN LINEAR TIME SAMUEL FIORINI, NADIA HARDY, BRUCE REED, AND ADRIAN VETTA Abstract. For each constant k, we present a linear time algorithm that, given a planar graph G, either

More information

Decomposable Constraints

Decomposable Constraints Decomposable Constraints Ian Gent 1, Kostas Stergiou 2, and Toby Walsh 3 1 University of St Andrews, St Andrews, Scotland. ipg@dcs.st-and.ac.uk 2 University of Strathclyde, Glasgow, Scotland. ks@cs.strath.ac.uk

More information

A NEW TEST FOR INTERVAL GRAPHS. Wen-Lian Hsu 1

A NEW TEST FOR INTERVAL GRAPHS. Wen-Lian Hsu 1 A NEW TEST FOR INTERVAL GRAPHS Wen-Lian Hsu 1 Institute of Information Science, Academia Sinica Taipei, Taiwan, Republic of China hsu@iis.sinica.edu.tw Abstract An interval graph is the intersection graph

More information

Lecture 11: May 1, 2000

Lecture 11: May 1, 2000 / EE596 Pat. Recog. II: Introduction to Graphical Models Spring 2000 Lecturer: Jeff Bilmes Lecture 11: May 1, 2000 University of Washington Dept. of Electrical Engineering Scribe: David Palmer 11.1 Graph

More information

Experimental comparison of BTD and intelligent backtracking: Towards an automatic per-instance algorithm selector

Experimental comparison of BTD and intelligent backtracking: Towards an automatic per-instance algorithm selector Experimental comparison of BTD and intelligent backtracking: Towards an automatic per-instance algorithm selector L. Blet 1,3, S. N. Ndiaye 1,2, and C. Solnon 1,3 1 Université de Lyon - LIRIS 2 Université

More information

Last course. Last course. Michel Habib 28 octobre 2016

Last course. Last course. Michel Habib  28 octobre 2016 Last course Michel Habib habib@irif.fr http://www.irif.fr/~habib 28 octobre 2016 Schedule Introduction More structural insights on chordal graphs Properties of reduced clique graphs Exercises Interval

More information

arxiv: v1 [cs.ds] 8 Jan 2019

arxiv: v1 [cs.ds] 8 Jan 2019 Subset Feedback Vertex Set in Chordal and Split Graphs Geevarghese Philip 1, Varun Rajan 2, Saket Saurabh 3,4, and Prafullkumar Tale 5 arxiv:1901.02209v1 [cs.ds] 8 Jan 2019 1 Chennai Mathematical Institute,

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Computational problems. Lecture 2: Combinatorial search and optimisation problems. Computational problems. Examples. Example

Computational problems. Lecture 2: Combinatorial search and optimisation problems. Computational problems. Examples. Example Lecture 2: Combinatorial search and optimisation problems Different types of computational problems Examples of computational problems Relationships between problems Computational properties of different

More information

DESIGN AND ANALYSIS OF ALGORITHMS. Unit 1 Chapter 4 ITERATIVE ALGORITHM DESIGN ISSUES

DESIGN AND ANALYSIS OF ALGORITHMS. Unit 1 Chapter 4 ITERATIVE ALGORITHM DESIGN ISSUES DESIGN AND ANALYSIS OF ALGORITHMS Unit 1 Chapter 4 ITERATIVE ALGORITHM DESIGN ISSUES http://milanvachhani.blogspot.in USE OF LOOPS As we break down algorithm into sub-algorithms, sooner or later we shall

More information

Fast algorithms for max independent set

Fast algorithms for max independent set Fast algorithms for max independent set N. Bourgeois 1 B. Escoffier 1 V. Th. Paschos 1 J.M.M. van Rooij 2 1 LAMSADE, CNRS and Université Paris-Dauphine, France {bourgeois,escoffier,paschos}@lamsade.dauphine.fr

More information

Interaction Between Input and Output-Sensitive

Interaction Between Input and Output-Sensitive Interaction Between Input and Output-Sensitive Really? Mamadou M. Kanté Université Blaise Pascal - LIMOS, CNRS Enumeration Algorithms Using Structure, Lorentz Institute, August 26 th, 2015 1 Introduction

More information

A Fast Arc Consistency Algorithm for n-ary Constraints

A Fast Arc Consistency Algorithm for n-ary Constraints A Fast Arc Consistency Algorithm for n-ary Constraints Olivier Lhomme 1 and Jean-Charles Régin 2 1 ILOG, 1681, route des Dolines, 06560 Valbonne, FRANCE 2 Computing and Information Science, Cornell University,

More information

Reduced branching-factor algorithms for constraint satisfaction problems

Reduced branching-factor algorithms for constraint satisfaction problems Reduced branching-factor algorithms for constraint satisfaction problems Igor Razgon and Amnon Meisels Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva, 84-105, Israel {irazgon,am}@cs.bgu.ac.il

More information

Consistency and Set Intersection

Consistency and Set Intersection Consistency and Set Intersection Yuanlin Zhang and Roland H.C. Yap National University of Singapore 3 Science Drive 2, Singapore {zhangyl,ryap}@comp.nus.edu.sg Abstract We propose a new framework to study

More information

Conflict Graphs for Combinatorial Optimization Problems

Conflict Graphs for Combinatorial Optimization Problems Conflict Graphs for Combinatorial Optimization Problems Ulrich Pferschy joint work with Andreas Darmann and Joachim Schauer University of Graz, Austria Introduction Combinatorial Optimization Problem CO

More information

Overview. H. R. Alvarez A., Ph. D.

Overview. H. R. Alvarez A., Ph. D. Network Modeling Overview Networks arise in numerous settings: transportation, electrical, and communication networks, for example. Network representations also are widely used for problems in such diverse

More information

Graph Crossing Number and Isomorphism SPUR Final Paper, Summer 2012

Graph Crossing Number and Isomorphism SPUR Final Paper, Summer 2012 Graph Crossing Number and Isomorphism SPUR Final Paper, Summer 2012 Mark Velednitsky Mentor Adam Bouland Problem suggested by Adam Bouland, Jacob Fox MIT Abstract The polynomial-time tractability of graph

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

Coloring edges and vertices of graphs without short or long cycles

Coloring edges and vertices of graphs without short or long cycles Coloring edges and vertices of graphs without short or long cycles Marcin Kamiński and Vadim Lozin Abstract Vertex and edge colorability are two graph problems that are NPhard in general. We show that

More information

Example: Bioinformatics. Soft Constraint Processing. From Optimal CSP to Soft CSP. Overview. From Optimal CSP to Soft CSP.

Example: Bioinformatics. Soft Constraint Processing. From Optimal CSP to Soft CSP. Overview. From Optimal CSP to Soft CSP. Example: Bioinformatics Soft Constraint Processing 16.412J/6.834J Cognitive Robotics Martin Sachenbacher (Using material from Thomas Schiex) RNA is single-strand molecule, composed of A,U,G,C Function

More information

Small Survey on Perfect Graphs

Small Survey on Perfect Graphs Small Survey on Perfect Graphs Michele Alberti ENS Lyon December 8, 2010 Abstract This is a small survey on the exciting world of Perfect Graphs. We will see when a graph is perfect and which are families

More information

Module 4. Constraint satisfaction problems. Version 2 CSE IIT, Kharagpur

Module 4. Constraint satisfaction problems. Version 2 CSE IIT, Kharagpur Module 4 Constraint satisfaction problems Lesson 10 Constraint satisfaction problems - II 4.5 Variable and Value Ordering A search algorithm for constraint satisfaction requires the order in which variables

More information

Chapter 3 Trees. Theorem A graph T is a tree if, and only if, every two distinct vertices of T are joined by a unique path.

Chapter 3 Trees. Theorem A graph T is a tree if, and only if, every two distinct vertices of T are joined by a unique path. Chapter 3 Trees Section 3. Fundamental Properties of Trees Suppose your city is planning to construct a rapid rail system. They want to construct the most economical system possible that will meet the

More information

Dominating Set on Bipartite Graphs

Dominating Set on Bipartite Graphs Dominating Set on Bipartite Graphs Mathieu Liedloff Abstract Finding a dominating set of minimum cardinality is an NP-hard graph problem, even when the graph is bipartite. In this paper we are interested

More information

A more efficient algorithm for perfect sorting by reversals

A more efficient algorithm for perfect sorting by reversals A more efficient algorithm for perfect sorting by reversals Sèverine Bérard 1,2, Cedric Chauve 3,4, and Christophe Paul 5 1 Département de Mathématiques et d Informatique Appliquée, INRA, Toulouse, France.

More information

COLORING EDGES AND VERTICES OF GRAPHS WITHOUT SHORT OR LONG CYCLES

COLORING EDGES AND VERTICES OF GRAPHS WITHOUT SHORT OR LONG CYCLES Volume 2, Number 1, Pages 61 66 ISSN 1715-0868 COLORING EDGES AND VERTICES OF GRAPHS WITHOUT SHORT OR LONG CYCLES MARCIN KAMIŃSKI AND VADIM LOZIN Abstract. Vertex and edge colorability are two graph problems

More information

Variable and Value Elimination in Binary Constraint Satisfaction via Forbidden Patterns

Variable and Value Elimination in Binary Constraint Satisfaction via Forbidden Patterns Variable and Value Elimination in Binary Constraint Satisfaction via Forbidden Patterns David A. Cohen a, Martin C. Cooper b,, Guillaume Escamocher c, Stanislav Živný d a Dept. of Computer Science, Royal

More information

Leveraging Set Relations in Exact Set Similarity Join

Leveraging Set Relations in Exact Set Similarity Join Leveraging Set Relations in Exact Set Similarity Join Xubo Wang, Lu Qin, Xuemin Lin, Ying Zhang, and Lijun Chang University of New South Wales, Australia University of Technology Sydney, Australia {xwang,lxue,ljchang}@cse.unsw.edu.au,

More information

Validating Plans with Durative Actions via Integrating Boolean and Numerical Constraints

Validating Plans with Durative Actions via Integrating Boolean and Numerical Constraints Validating Plans with Durative Actions via Integrating Boolean and Numerical Constraints Roman Barták Charles University in Prague, Faculty of Mathematics and Physics Institute for Theoretical Computer

More information

Unit 1 Chapter 4 ITERATIVE ALGORITHM DESIGN ISSUES

Unit 1 Chapter 4 ITERATIVE ALGORITHM DESIGN ISSUES DESIGN AND ANALYSIS OF ALGORITHMS Unit 1 Chapter 4 ITERATIVE ALGORITHM DESIGN ISSUES http://milanvachhani.blogspot.in USE OF LOOPS As we break down algorithm into sub-algorithms, sooner or later we shall

More information

A Reduction of Conway s Thrackle Conjecture

A Reduction of Conway s Thrackle Conjecture A Reduction of Conway s Thrackle Conjecture Wei Li, Karen Daniels, and Konstantin Rybnikov Department of Computer Science and Department of Mathematical Sciences University of Massachusetts, Lowell 01854

More information

Acyclic Network. Tree Based Clustering. Tree Decomposition Methods

Acyclic Network. Tree Based Clustering. Tree Decomposition Methods Summary s Join Tree Importance of s Solving Topological structure defines key features for a wide class of problems CSP: Inference in acyclic network is extremely efficient (polynomial) Idea: remove cycles

More information

Parameterized graph separation problems

Parameterized graph separation problems Parameterized graph separation problems Dániel Marx Department of Computer Science and Information Theory, Budapest University of Technology and Economics Budapest, H-1521, Hungary, dmarx@cs.bme.hu Abstract.

More information

A step towards the Bermond-Thomassen conjecture about disjoint cycles in digraphs

A step towards the Bermond-Thomassen conjecture about disjoint cycles in digraphs A step towards the Bermond-Thomassen conjecture about disjoint cycles in digraphs Nicolas Lichiardopol Attila Pór Jean-Sébastien Sereni Abstract In 1981, Bermond and Thomassen conjectured that every digraph

More information

Ch9: Exact Inference: Variable Elimination. Shimi Salant, Barak Sternberg

Ch9: Exact Inference: Variable Elimination. Shimi Salant, Barak Sternberg Ch9: Exact Inference: Variable Elimination Shimi Salant Barak Sternberg Part 1 Reminder introduction (1/3) We saw two ways to represent (finite discrete) distributions via graphical data structures: Bayesian

More information

Inconsistency and Redundancy Do Not Imply Irrelevance

Inconsistency and Redundancy Do Not Imply Irrelevance From: AAAI Technical Report FS-94-02. Compilation copyright 1994, AAAI (www.aaai.org). All rights reserved. Inconsistency and Redundancy Do Not Imply Irrelevance Eugene C. Freuder Paul D. Hubbe Daniel

More information

Subdivided graphs have linear Ramsey numbers

Subdivided graphs have linear Ramsey numbers Subdivided graphs have linear Ramsey numbers Noga Alon Bellcore, Morristown, NJ 07960, USA and Department of Mathematics Raymond and Beverly Sackler Faculty of Exact Sciences Tel Aviv University, Tel Aviv,

More information

Towards a Memory-Efficient Knapsack DP Algorithm

Towards a Memory-Efficient Knapsack DP Algorithm Towards a Memory-Efficient Knapsack DP Algorithm Sanjay Rajopadhye The 0/1 knapsack problem (0/1KP) is a classic problem that arises in computer science. The Wikipedia entry http://en.wikipedia.org/wiki/knapsack_problem

More information

Utilizing Device Behavior in Structure-Based Diagnosis

Utilizing Device Behavior in Structure-Based Diagnosis Utilizing Device Behavior in Structure-Based Diagnosis Adnan Darwiche Cognitive Systems Laboratory Department of Computer Science University of California Los Angeles, CA 90024 darwiche @cs. ucla. edu

More information

PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS

PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS PAUL BALISTER Abstract It has been shown [Balister, 2001] that if n is odd and m 1,, m t are integers with m i 3 and t i=1 m i = E(K n) then K n can be decomposed

More information

Conflict Directed Backjumping for Max-CSPs

Conflict Directed Backjumping for Max-CSPs Conflict Directed Backjumping for Max-CSPs Roie Zivan and Amnon Meisels, Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva, 84-105, Israel Abstract Max-CSPs are Constraint

More information

Optimal and Suboptimal Singleton Arc Consistency Algorithms

Optimal and Suboptimal Singleton Arc Consistency Algorithms Optimal and Suboptimal Singleton Arc Consistency Algorithms Christian Bessiere LIRMM (CNRS / University of Montpellier) 161 rue Ada, Montpellier, France bessiere@lirmm.fr Romuald Debruyne École des Mines

More information

Generating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model

Generating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model 356 Int'l Conf. Par. and Dist. Proc. Tech. and Appl. PDPTA'16 Generating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model Hirofumi Suzuki, Sun Hao, and Shin-ichi Minato Graduate

More information

Solving Subgraph Isomorphism Problems with Constraint Programming

Solving Subgraph Isomorphism Problems with Constraint Programming Noname manuscript No. (will be inserted by the editor) Solving Subgraph Isomorphism Problems with Constraint Programming Stéphane Zampelli Yves Deville Christine Solnon Received: date / Accepted: date

More information