Using Constraint Programming to Solve the Maximum Clique Problem

Size: px
Start display at page:

Download "Using Constraint Programming to Solve the Maximum Clique Problem"

Transcription

1 Using Constraint Programming to Solve the Maximum Clique Problem Jean-Charles Régin ILOG Sophia Antipolis Les Taissounières HB, 1681 route des Dolines, Valbonne, France Abstract. This paper aims to show that Constraint Programming can be an efficient technique to solve a well-known combinatorial optimization problem: the search for a maximum clique in a graph. A clique of a graph G = (X, E) is a subset V of X, such that every two nodes in V are joined by an edge of E. The maximum clique problem consists of finding ω(g) the largest cardinality of a clique. We propose two new upper bounds of ω(g) and a new strategy to guide the search for an optimal solution. The interest of our approach is emphasized by the results we obtain for the DIMACS Benchmarks. Seven instances are solved for the first time and two better lower bounds for problems remaining open are found. Moreover, we show that the CP method we propose gives good results and quickly. Introduction Constraint Programming (CP) involves finding values for problem variables subject to constraints on which combinations are acceptable. One of the main principles of CP is that every constraint is associated with a filtering algorithm (also called a domain reduction algorithm) that removes some values that are inconsistent with the constraint. Then, the consequences of these deletions are studied thanks to a propagation mechanism that calls the filtering algorithms of the constraints until no more modification occurs. CP uses also a systematic search, like a branch-and-bound for instance, but this is not limited to this case, to find solutions. In this paper, we aim to contradict some conventional wisdom of Constraint Programming. It is often considered that CP is not an efficient method to solve pure combinatorial optimization problems. By pure problems, we mean problems in which only one kind of constraint is involved. A clique of a graph G = (X, E) is a subset V of X, such that every two nodes in V are joined by an edge of E. The maximum clique problem consists of finding ω(g) the largest cardinality of a clique. Finding a clique of size k is an NP-Hard problem. This problem is quite important because it appears in a lot of real world problems. Therefore almost all types of algorithms have been

2 used to try to solve it. For more information the reader can consult the survey of Bomze, Budinich, Pardalos and Pelillo [3]. Fahle [7] has proposed to use CP techniques to solve this problem. The results he obtained were encouraging. Notably, he has been able to close some open problems. His model uses two constraints: one based on the degree, we will call it degreect, and one based on the search for an upper bound of the size of a maximum clique, we will call it UBMaxCliqueCt. These two constraints are defined on the set of nodes that are considered at every moment by the algorithm. Then a branch-and-bound algorithm is used to traverse the search space. Fahle s algorithm tries to construct a clique as large as possible, by successively selecting a node and studying the candidate set, that is the set of nodes that can extend the clique currently under construction. After each selection of node, the filtering algorithms associated with the two constraints are triggered until no more modification of the candidate set occurs. The filtering algorithm associated with degreect removes all nodes whose degree is too small to extend the current clique to a clique of size greater than the current objective value. The filtering algorithm associated with UBMaxCliqueCt removes all nodes for which we know that they cannot belong to a clique of size greater than the current objective value. A non obvious bound is searched by computing an upper bound of the number of colors needed to color the subgraph induced by a node and its neighborhood such that two adjacent nodes have different colors. The drawback of this filtering is the time required to compute such a bound, and also its systematic use. That is, a priori, we do not know whether the filtering algorithm will remove some values or not. In this paper we propose to use another upper bound based on matching algorithm. The advantage of our method is that we can easily identify some cases for which the filtering algorithm will remove no value; and so we can avoid to call it. Moreover, Fahle uses a common strategy to select the next node that will extend the current clique under construction. This strategy is based on the degree of the nodes and selects the one with the smallest value. We propose a different approach that can be viewed as an adaptation and a generalization of the Bron & Kerbosh s [4] ideas for enumerating the maximal cliques of a graph. This idea leads to a new filtering algorithm based on the study of the nodes that have already been tried. Our strategy is more complex but tends to find more quickly the cliques with a large size as it is shown by the results we obtain on the well-known DIMACS benchmarks. The paper is organized as follows. First we present, new upper bounds for the maximum clique problem. Then, we introduce some new properties that are based on the ideas of the Bron & Kerbosh s algorithm. The strategy that exploits the previous ideas is detailed. After, we will give some results. Finally, we present some ideas about the definition of a maximum clique constraint and we conclude.

3 1 Preliminaries 1.1 Graph A graph G = (X, E) consists of a node set X and an edge set E, where every edge (u, v) is a pair of distinct nodes. u and v are the endpoints of (u, v). The complementary graph of a graph G = (X, E) is the graph G = (X, F ), where (x, y) is an edge of G if and only if x y and (x, y) is not an edge of G. A path from node v 1 to node v k in G is a list of nodes [v 1,..., v k ] such that (v i, v i+1 ) is an edge for i [1..k 1]. The path contains node v i for i [1..k] and arc (v i, v i+1 ) for i [1..k 1]. The path is a cycle if k > 1 and v 1 = v k. The length of a path p, denoted by length(p), is the number of arc it contains. Γ (x) is the set of neighbors of x, that is the set of nodes y such that (x, y) E. A clique of a graph G = (X, E) is a subset V of X, such that every two nodes in V are joined by an edge of E. The maximum clique problem consist of finding ω(g) the largest cardinality of a clique. Given a node x, ω(g, x) denotes the size of the largest clique containing x. A independent set of a graph G = (X, E) is a subset S of X, such that every two nodes in V are not joined by an edge of E. The maximum independent set problem consist of finding α(g) the largest cardinality of an independent set. A vertex cover of a graph G = (X, E) is a subset V of X, such that every edge of E has an endpoint in V. The minimum vertex cover problem consist of finding ν(g) the smallest cardinality of a vertex cover. A matching of a graph G = (X, E) is a subset M of E, such that no two edges of M have a common node. The maximum matching problem consists of finding µ(g) the largest cardinality of a matching. 1. CP Algorithm for solving maximum clique Let G = (X, E) be a graph. The idea is to start with a clique C =, called the current set, and a candidate set equals to X. Then the algorithm successively selects nodes in the candidate set in order to increase the size of C. When a node x is added to C, all the nodes that are non adjacent to x are removed from the candidate set. The candidate set is also used for bounding. Algorithm 1 is a possible implementation. The algorithm must be called with Current =, Candidate = X and K =, where K is the largest clique found so far. Function filterandpropagate returns false when we can prove that there is no clique whose cardinality is strictly greater than K in the subgraph of G induced by (Current Candidate); otherwise it returns true. This function also aims to remove some values of Candidate that cannot belong to a clique of size strictly greater than K and containing Current. The simplest condition to remove a node y is to check whether Γ (y) Candidate + Current < K Every upper bound for the maximum clique problem is interesting in a CP approach, because we will use it to check whether a node can belong to a clique of a given size.

4 Algorithm 1: Basic Algorithm for searching for a maximum Clique maximumclique(current, Candidate, io K) while Candidate do select x in Candidate and remove it save Candidate add x to Current remove from Candidate the nodes y s.t. y Γ (x) if filterandpropagate(current, Candidate, K) then if Candidate = then K Current // solution else maximumclique(current, Candidate, K) remove x from Current restore Candidate Property 1 Let G = (X, E) be a graph and x a node, and K be a clique of G. If ω(g, x) < K then ω(g) = ω(g {x}). Therefore any upper bound of ω(g, x) can be used to remove some nodes in the candidate set. A simple bound can be Γ (x) Candidate + Current. That is, as proposed by [7], we can remove from the candidate set all the nodes such that Γ (x) Candidate + Current < K. The deletion of a node modifies the neighborhood of its neighbors thus it can change the value of the upper bound of some other nodes, so the process is repeated until no more modifications occurs. Function filterandpropagate given by Algorithm implements this idea. Algorithm : Filtering algorithm and propagation filterandpropagate(current, Candidate, io K) do continue false for each y in Candidate do if Γ (y) Candidate + Current < K then remove y from Candidate if Candidate + Current < K then return false continue true while continue return true Upper bounds for clique If we find better upper bounds for the size of the maximum clique involving a node then we will be able to improve function filterandpropagate and so to remove more values. There are some relations between the maximum clique problem, the maximum independent set, the minimum vertex cover, and the maximum matching:

5 Property Let G = (X, E) be a graph, then ω(g) = α(g) α(g) = X ν(g) ω(g) = X ν(g) proof: A maximum clique corresponds to an independent set in the complementary graph, hence ω(g) = α(g). The subgraph induced by an independent set S does not contain any edge, thus every edge of G has an endpoint in Y = X S, therefore Y is a vertex cover of G. Hence S = X Y and the largest set S is associated with the smallest set Y, so α(g) = X ν(g). Then, ω(g) = X ν(g) follows immediately. Property 3 Let G = (X, E) be a graph, then ν(g) µ(g) and the equality holds if G is bipartite. proof: Let V be any vertex cover of G. All the edges of a matching have no common nodes, thus at least one endpoint of every edge of the matching must be in V in order to cover this edge. Therefore ν(g) µ(g). The proof for the bipartite case can be found in []. From this property and the previous one we immediately deduce the well known property: Property 4 ω(g) X µ(g) This new upper bound could be used, but it has one drawback: G can be nonbipartite, and the algorithm to compute a maximum matching in a non-bipartite graph is complex. Thus we propose to use an original upper bound for ω(g), which is stronger and much more easy to compute. We need, first, to define the duplicated graph of a graph (See Figure 1.) a d b a a c b b e c c d d e e a b c d e G G d projection in G Fig. 1. An example of a duplicated graph of a graph. The bold edges represent the edges of the matchings. The right graph is the projection of the matching of G d in G. G is covered by an edge and a triangle, therefore 1 + nodes are necessary to cover all the edges and ν(g) 3. Definition 1 Let G = (X, E) be a graph. The duplicated graph of G is the bipartite graph G d = (X, Y, F ), such that Y is a copy of the nodes X, c(u) is the

6 node of Y corresponding to the node u in X, and there is an edge (u, c(v)) in F if and only if there is an edge (u, v) in E. Note that if (u, v) E then (v, u) E. Property 5 µ(g d ).µ(g) and there exist graphs G with µ(g d ) >.µ(g) proof:from a matching M of G we can create a set M of edges of G d as follows: for each edge (u, v) in M we add the edges (u, c(v)) and (v, c(u)) to M. M is matching thus it involves. M nodes. By construction of M and by definition of G d, M involves. M nodes of X and. M nodes of Y. Therefore M is matching of size. M and µ(g d ).µ(g). A triangle is an example of graph G with µ(g d ) = 3 and µ(g) = 1, that is µ(g d ) >.µ(g) (See also Figure 1.) We define the projection of a matching of G d in G: Definition Let G = (X, E) be a graph and M be a matching of G d. Let E by the subset of E defined by (u, v) E if and only if either (u, c(v)) or (v, c(u)) belongs to M. The projection of M in G is the subgraph of G induced by the subset E of E. We will denote it by P (M, G). Figure 1 contains an example of projection. We will denote by edges(cc) the edge set of a connected component cc. Property 6 Let G = (X, E) be a graph, M be a matching in G d, P (M, G) be the projection of M in G, and CC be the set of the connected components of P (M, G). Then ν(g) edges(cc) cc CC proof: Consider cc a connected component of P (M, G). M is matching, so no node of P (M, G) can have a degree greater than. Therefore, cc is either an isolated node, or a path, or a cycle. Hence, the number of nodes needed to cover the edges of cc is edges(cc). The connected components are node disjoint therefore the value associated with each component can be sum, and the property holds. From this property we can also deduce a simpler property which is weaker but interesting due to property 5. Property 7 ν(g) µ(gd ) proof: Consider a matching M in G d with M = µ(g d ), P (M, G) the projection of M in G, and cc a connected component of P (M, G). As mentioned in the proof of Property 6, cc is either an isolated node, or a path, or a cycle. Let Medges(cc) be the set of edges (u, c(v)) of M such that (u, v) belongs to cc. If cc is a path containing only one edge then Medges(cc) = and edges(cc) = Medges(cc). In all the other cases edges(cc) = Medges(cc), and so edges(cc) = Medges(cc). Moreover, by definition of the projection of M, for every edge (u, c(v)) of M there exists a connected com- ponent cc containing (u, v), then we have Medges(cc) = edges(cc). cc CC cc CC

7 On the other hand i i thus we have: edges(cc) = Medges(cc) cc CC cc CC And from Property 6 we deduce: ν(g) µ(gd ) cc CC Medges(cc) Finally, from Property we immediately have the property: Property 8 ω(g) X µ(gd ) µ(gd ) We decided to base our filtering algorithm on this property and not on Property 6 because with Property 8 we have a good test to know whether it can be interesting to check it. We just have to check whether X X is lower than the size of the clique currently computed. From our experiments, thanks to this test, only 5% of the matching that are computed are useless 1. We have also implemented Property 6 but the gain is really small in term of eliminated nodes and more time is needed. We would like to stress on this point. CP involves a propagation mechanism, therefore, and especially for pure problems, the comparison of two properties is not simple because we have to take into account the propagation mechanism. Here, we have seen that the use of Property 8 and propagation gives equivalent result to the use of Property 6 with propagation, so we can eliminate the use of the second, if, of course, it required more time to be checked. Moreover, in practice, we can stop the computation of the maximum matching either when the current size of the matching is enough to conclude that we cannot find a clique with a largest size of the better found so far, or when we known that we will not be able to make such a deduction. On the other hand, in practice there is an important difference between Property 4 and Property 8. It seems really worthwhile to improve the upper bound even by a small value, provided that we have an interesting test to avoid some useless computations. Function filterandpropagate can be refined. Algorithm 3 gives its new code. There is no need to explicitly create the subgraph in the function it is sufficient to traverse the nodes of Γ (x) Candidate and the matching can be computed by considering that an edge exists if two nodes are non adjacent. In the algorithm, we also apply this new test for the set Candidate when a node is removed in order to know whether it is useless to continue the search. 3 Introduction of a not set When enumerating all the maximal cliques of a graph, Bron and Kerbosh [4] have proposed to use a new set of nodes: a not set denoted by Not. This set 1 More precisely, only 5% of nodes that satisfies this test (that is mark 1 in Algorithm 3) will not be removed by Algorithm 3 (that is by mark.)

8 Algorithm 3: Filtering algorithm and propagation: a new version filterandpropagate(current, Candidate, io K) do continue false for each y in Candidate do N Γ (y) Candidate if N + Current < K then remove y from Candidate else 1 if N N + Current < K then Let H be the subgraph of G induced by Γ (x) Candidate compute µ(h d ) if N µ(hd ) + Current < K then remove y from Candidate while continue return true if y Candidate then Let H be the subgraph of G induced by Candidate compute µ(h d ) if Candidate µ(hd ) + Current < K then return false; continue true contains the nodes that have already been studied by the algorithm and that are linked to all the nodes of the Current set. We propose to adapt their idea to our case and to generalize it. In order to clearly understand the meaning of the not set we propose to immediately adapt our algorithm (See Algorithm 4.) Function removefromnot(x) removes from Not the element that are not in Γ (x). The idea of Bron and Kerbosh corresponds to the following property: Property 9 If there is a node x in Not such that Candidate Γ (x) then the current branch of the search can be abandoned. proof: all cliques that we can find from the current set and from the candidate set will be a clique by adding x, therefore these cliques cannot be maximal. This property can be refined when searching for the size of a maximum clique. A dominance property can be obtained: Dominance Property 1 If there is a node x in Not such that Candidate Γ (x) 1 then the current branch of the search can be abandoned. proof: We just have to consider the case Candidate Γ (x) = {y}. There are two possible cliques: the cliques that contain y and the cliques that do not contain y. Consider any clique that does not contain y. In this case, this clique could also be found if y is removed from Candidate and therefore Property 9 can be applied. Consider any clique that contains y, then if we replace y by x we also obtain a clique because x is linked

9 Algorithm 4: Solving the maximum Clique problem: introduction of a not set maximumclique(current, Candidate, Not, io K) while Candidate do select x in Candidate and remove it save Candidate save Not add x to Current remove from Candidate the nodes y s.t. y Γ (x) removefromnot(x) if filterandpropagate(current, Candidate, Not, K) then if Candidate = then K Current // solution else maximumclique(current, Candidate, K) restore Not remove x from Current add x to Not restore Candidate to all the nodes except y, and the size of the clique is unchanged. And, this clique has already been found when x has been selected, hence we cannot improved the largest cardinality found so far. This new property leads to a modification of our algorithm. In the Bron and Kerbosh s algorithm a node is removed from Not when the selected node is not linked to it. In our case, we slightly change this property: instead of removing a node x in Not when a selected node y is not linked to it, we can mark x if it is unmarked and remove x if it is already marked. Our property must be changed: Dominance Property If there is a node x in Not such that x is not marked and Candidate Γ (x) 1 then the current branch of the search can be abandoned. If there is a node x in Not such that x is marked and Candidate Γ (x) then the current branch of the search can be abandoned. Function removefromnot has to be accordingly modified. From this property we can define a new filtering algorithm: Unfortunately, the cost of checking this property is high. In practice, it is not worthwhile to use it. We have preferred to use it in a different way. Instead of searching if the current neighborhood of every node of the candidate set is included in the neighborhood of every node in Not, we decided to limit our study to the node of not whose neighborhood contains almost all nodes of candidate. That is, for every node x of Not we compute the number of nodes of candidates that are linked to x. If this number is greater than Candidate we can immediately identify the nodes of the candidate set that must be selected or that must be removed. The strict application of Dominance Property gives better results in terms of backtracks (around 10% less) than the restriction we propose. However, the latter approach is much more easy to implement and more

10 efficient to compute, because we only need to compare the neighborhood of a node of Not with the candidate set and not with neighborhood of every node in the candidate set taken separately. The final version of our algorithm is given by Algorithm 5. Function filteringfromnot uses the notion of mark or removes some nodes. Algorithm 5: Filtering algorithm and propagation taken into account nodes of the not set filterandpropagate(current, Candidate, io K) do do continue false for each y in Candidate do N Γ (y) Candidate if N + Current < K then remove y from Candidate else if N N + Current < K then Let H be the subgraph of G induced by Γ (x) Candidate compute µ(h d ) if N µ(hd ) + Current < K then remove y from Candidate if y Candidate then Let H be the subgraph of G induced by Candidate compute µ(h d ) if Candidate µ(hd ) + Current < K then return false; continue true while continue if continue then continue FilteringFromNot(Not, Candidate) while continue return true 4 A new search strategy As it has been shown by Bron and Kerbosh to enumerate the maximal cliques of a graph, it is interesting to select node such that Property 9 can be applied as soon as possible. This means that when a node is added to Not, we identify first the node x in Not which has the largest number of neighbors in the candidate set. Then, we select for next node, a node y such that y is not linked to x We have used exactly the same idea by considering in Not only the unmarked nodes. The ties have been broken by selecting the node y with the fewest number

11 of neighbors in the candidate set, in order to have more chance to remove quickly y and then to be able to apply successfully Dominance Property. When a node has not been removed, that is when the latest selection is successful; we select the node with the largest number of neighbors in the candidate set. This approach gives a better chance to find quickly cliques whose cardinality is huge. This is important for our approach because our filtering algorithm takes into account the size of the clique found so far. 4.1 Diving technique This technique is often used in conjunction with a MIP approach. It consists of searching whether of solution exists for every value of every variable. Each search for a solution is not complete. In other words, a greedy algorithm is used (that is no backtrack is allowed). Then, the new objective value is the best objective value found so far. The advantages of this approach is triple: its cost is low because the algorithm is polynomial, the minimum of the objective value can be improved, and an objective value can be quickly found whereas a depth first search strategy will need a lot of time to find it. In fact, a systematic search spends a lot of time to proved the local optimality of the current objective value; this proof is abandoned when a better value is found. In our program, this technique is used after 10 minutes of computations. That is, we stop the current search, we apply the diving technique and the initial search continues with the objective value returned by the diving technique, which can be improved or not. 5 Experiments We have used ILOG Solver to implement our algorithm and the well known DIMACS benchmark set for our tests [6]. All our experiments have been made on a Pentium IV mobile at Ghz with 51 Mo of memory. The experiments have been stopped after 4 hours (that is 14,400 s) of computation, except for p hat1000- because we saw after 14,400 s that the problem should be solved. In this case, 16,845 s are needed to close the problem. The results are given in table entitled Dimacs clique benchmarks. All the problems having 400 nodes or less are solved. Notably, for the first time the brock400 series is now solved. Only, johnson3--4, prevent us from solving all the problems having 500 nodes or less. All san series or sanr series are now solved. 7 problems have been closed for the first time: all the brock400 series, p hat500-3, p hat1000- and sanr00 0.9, which is solved in 150 s. Two results are particularly remarkable: p hat300-3 is solved in 40s, instead of 850s; and p hat700- is solved in 55s instead of,086s. Two lower bounds of the remaining open problems MANN a45 (the optimal value is reached) and MANN a81 have been improved.

12 DIMACS CLIQUE BENCHMARKS Wood Östegard Fahle ILOG Solver Name K K #select time K time K #select time K #select time brock , , , brock00 1 1, , brock , , , brock , , , brock fail fail 4 fail 7 60,159,630 11,340.8 brock400 9 fail fail 9 fail 9 36,843,87 7,910.6 brock fail fail 4 fail 31 19,616,188 4,477.3 brock fail fail 5 fail 33 3,457,068 6, brock fail fail 1 fail 1 fail brock800 4 fail fail 0 fail 0 fail brock fail fail 0 fail 0 fail brock fail fail 0 fail 0 fail c-fat c-fat c-fat c-fat c-fat c-fat c-fat , hamming hamming fail fail 3 fail 40 fail hamming hamming hamming hamming , , , johnson , , , johnson fail fail 16 fail 16 fail johnson johnson keller , , , keller5 7 fail fail 5 fail 7 fail keller6 59 fail fail 43 fail 54 fail MANN a MANN a , fail 16 39,351 10, ,58, MANN a fail fail 331 fail 345 fail MANN a fail fail 996 fail 1100 fail p hat , p hat , , , p hat fail fail , , p hat , p hat , , , p hat fail fail 48 fail 50 10,986,56 1,744.7 p hat , , , p hat fail fail ,83, , p hat fail fail 54 fail 6 fail p hat , , , p hat fail fail 44 fail 46 14,735,370 16,845.7 p hat fail fail 50 fail 66 fail p hat fail fail 1 136, ,063, p hat fail fail 5 fail 63 fail p hat fail fail 56 fail 91 fail san , , , san , san , san , , , san , , ,638.6 san fail fail 44 3, , san , , san , fail 40 11, , san ,591, , , san fail fail 13, ,690, san fail fail ,195 7, ,133 1,700 sanr , , , sanr fail fail 41 fail 4 541, sanr , , , sanr fail fail 1 9,759,158 15,95 1,791,798 3, Our program reaches the best lower bounds found so far for 6 problems: p hat700-3, johnson3--4, hamming10-4, keller5 (the optimal value is reached), MANN a45 (the optimal value is reached), and MANN a81. Better lower bounds have been found by [1] for p hat1500- (65), and p hat (94); and by [8] for keller6 (59) and p hat (68). We think that this method is not the good one to solve some problems: keller6, johnson3--4, hamming10-4. For the other open problems, we are more confident.

13 5.1 Comparison with complete methods We compare our approach with 3 other algorithms: [11]: A branch-and-bound approach using fractionnal coloring and lower bound heuristic. [9]: this approach is similar to dynamic programming: solve the problem with one node, then with nodes, and so on until reaching n. Each time the optimal value of the previous computations is used as a minimal value for the new problem. [7]: This is the first CP approach. Fahle proposes to consider two filtering: the first one consists of removing the nodes that have a degree which is too small to improve the current objective value, the second consists of computing an upper bound of the clique involving each vertex taken separately by using a well known heuristic algorithm for graph coloring. The strategy selects the node with the smallest degree. We decided to use a normalization of the time of the other approaches, instead of re-program the algorithm, because we were able to compare the performance of our algorithm on several machines and then to obtain a time ratio that should be fair. Therefore we have used the following time ratio: The times given by Wood are divided by 15 The times given by Östegard are divided by 3 The times given by Fahle are divided by 1.5 We can resume the comparison with other complete method by the following table: Wood Östegard Fahle ILOG Solver number of solved problems number of problems solved in less than 10 min. number of best time number of best lower bound for open problems If we consider all the problems solved by Östegard in less than 10 minutes, then Östegard needs s for solving all these problems, whereas we need only 8.44s Our approach is almost always better than the Fahle s one, only p hat is quickly solved by the Fahle s method. 5. Comparison with heuristic methods Two heuristic methods give very interesting results for solving the maximum clique problem: QUALEX-MS [5] and the method proposed in [10]. For the set of benchmarks we consider, these two methods are able to reach the best bound known so far for 50 problems. In less than 1 minute QUALEX-MS found 48 best bounds. Here are the results we obtain with our approach:

14 Within a limit of 4 hours of computation, our method is able to reach the best bound for 58 problems (and for 5 the optimality is proved). In less than 10 minutes of computation, we are able to find 49 best bounds, whose 44 are proved to be optimal. Within a limit of 1 minute of computation, we can reach 41 best bounds, and prove that 37 are optimal. These results show that our method is competitive in regards to the best heuristic methods, even when the computational time is limited. 5.3 Interest of the diving technique The diving technique is used after 10 minutes of computations. This technique requires most of the time less than 10 s, except for some huge problems where 100 s are needed and for keller6 which needs one and half hour. It improves the current objective value K found so far by the search, for 4 problems: brock400 : the current value is 4, and the diving technique gives 9. From this information the search is speed-up. Without the diving technique we need 9,163 s to solve the problem, whereas with it, we need only 7,910 s. keller6: the current value is 51, and the diving technique gives 54. This result is interesting because after 4 hours of computation the solver is not able to improve 51. Therefore the diving technique in itself gives a better result. This result cannot be improved in 4 hours of computation. p hat1500-3: the current value is 89, and the diving technique gives 91. This value cannot be improved by further computations within the limit of 4 hours. san : the current value is 9. The diving technique gives 100 which is the optimal value. With the diving technique 1,700 s are needed to solve the problem, instead of,900 s. 6 A Maximum clique constraint We can imagine to have a constraint stating the a set of nodes of a graph must be a clique of size greater than a given integer K. For instance, this set of nodes can be represented by a set variable as presented in ILOG Solver. Then, the filtering algorithm associated with this constraint will aim to remove some values of this set variable. The current set will then be defined by the required elements of the set variable. Moreover, then a node will be required all its non-neighboor will be removed from the possible set. In this case Algorithm 3 can be used as a filtering algorithm. Moreover, a Not set could also be used. For instance, it could be given at the definition, and the growing of this set could be managed. We can define a filtering algorithm involving this set by using Property 9. The dominance properties cannot be used because some solutions could be missed.

15 7 Conclusion In this paper we have presented a CP approach to solve a famous combinatorial optimization problem. We have presented new upper bound for the maximum clique problem and adapted and generalized the ideas of Bron and Kerbosh to this problem. The results that we obtain are good: seven problems are closed and lower bounds have been improved for problems remaining open. We have also discussed the possible definition of a maximum clique constraint and its association with a filtering algorithm based on the ones presented in this paper. We hope that our ideas will lead to new improvements of the CP approach. In order, to encourage these improvements we claim that our approach is, currently, one of the best methods to solve the Maximum Clique Problem. References 1. E. Balas and W. Niehaus. Finding large cliques in arbitrary graphs by bipartite matching. In D. Johnson and M. Trick, editors, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, volume 6, pages 9 5. American Mathematical Society, C. Berge. Graphe et Hypergraphes. Dunod, Paris, I. Bomze, M. Budinich, P. Pardalos, and M. Pelillo. The maximum clique problem. Handbook of Combinatorial Optimization, 4, C. Bron and J. Kerbosh. Algorithm 457 : Finding all cliques of an undirected graph. Communications of the ACM, 16(9): , S. Busygin. A new trust region technique for the maximum weight clique problem. Submitted to Special Issue of Discrete Applied Mathematics: Combinatorial Optimization, Dimacs. Dimacs clique benchmark instances. ftp://dimacs.rutgers.edu/pub/challenge/graph/benchmarks/clique, Torsten Fahle. Simple and fast: Improving a branch-and-bound algorithm for maximum clique. In R. Möring and R. Raman, editors, ESA 00, 10th Annual European Symposium, pages , S. Homer and M. Peinado. Experiements with polynomial-time clique approximation algorithms on very large graphs. In D. Johnson and M. Trick, editors, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, volume 6, pages American Mathematical Society, P Östegard. A fast algorithm for the maximum clique problem. Discrete Applied Mathematics, page to appear. 10. P. St-Louis, B. Gendron, and J. Ferland. A penalty-evaporation heuristic in a decomposition method for the maximum clique problem. In Optimization Days, Montreal, Canada, D. Wood. An algorithm for finding maximum clique in a graph. Operations Research Letters, 1:11 17, 1997.

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

REDUCING GRAPH COLORING TO CLIQUE SEARCH

REDUCING GRAPH COLORING TO CLIQUE SEARCH Asia Pacific Journal of Mathematics, Vol. 3, No. 1 (2016), 64-85 ISSN 2357-2205 REDUCING GRAPH COLORING TO CLIQUE SEARCH SÁNDOR SZABÓ AND BOGDÁN ZAVÁLNIJ Institute of Mathematics and Informatics, University

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

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

Lecture 6: Graph Properties

Lecture 6: Graph Properties Lecture 6: Graph Properties Rajat Mittal IIT Kanpur In this section, we will look at some of the combinatorial properties of graphs. Initially we will discuss independent sets. The bulk of the content

More information

Extremal Graph Theory: Turán s Theorem

Extremal Graph Theory: Turán s Theorem Bridgewater State University Virtual Commons - Bridgewater State University Honors Program Theses and Projects Undergraduate Honors Program 5-9-07 Extremal Graph Theory: Turán s Theorem Vincent Vascimini

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

The NP-Completeness of Some Edge-Partition Problems

The NP-Completeness of Some Edge-Partition Problems The NP-Completeness of Some Edge-Partition Problems Ian Holyer y SIAM J. COMPUT, Vol. 10, No. 4, November 1981 (pp. 713-717) c1981 Society for Industrial and Applied Mathematics 0097-5397/81/1004-0006

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

Comparing the Best Maximum Clique Finding Algorithms, Which are Using Heuristic Vertex Colouring

Comparing the Best Maximum Clique Finding Algorithms, Which are Using Heuristic Vertex Colouring Comparing the Best Maximum Clique Finding Algorithms, Which are Using Heuristic Vertex Colouring DENISS KUMLANDER Department of Informatics Tallinn University of Technology Raja St.15, 12617 Tallinn ESTONIA

More information

Solutions for the Exam 6 January 2014

Solutions for the Exam 6 January 2014 Mastermath and LNMB Course: Discrete Optimization Solutions for the Exam 6 January 2014 Utrecht University, Educatorium, 13:30 16:30 The examination lasts 3 hours. Grading will be done before January 20,

More information

The Structure of Bull-Free Perfect Graphs

The Structure of Bull-Free Perfect Graphs The Structure of Bull-Free Perfect Graphs Maria Chudnovsky and Irena Penev Columbia University, New York, NY 10027 USA May 18, 2012 Abstract The bull is a graph consisting of a triangle and two vertex-disjoint

More information

On the Max Coloring Problem

On the Max Coloring Problem On the Max Coloring Problem Leah Epstein Asaf Levin May 22, 2010 Abstract We consider max coloring on hereditary graph classes. The problem is defined as follows. Given a graph G = (V, E) and positive

More information

Dr. Amotz Bar-Noy s Compendium of Algorithms Problems. Problems, Hints, and Solutions

Dr. Amotz Bar-Noy s Compendium of Algorithms Problems. Problems, Hints, and Solutions Dr. Amotz Bar-Noy s Compendium of Algorithms Problems Problems, Hints, and Solutions Chapter 1 Searching and Sorting Problems 1 1.1 Array with One Missing 1.1.1 Problem Let A = A[1],..., A[n] be an array

More information

Abstract. A graph G is perfect if for every induced subgraph H of G, the chromatic number of H is equal to the size of the largest clique of H.

Abstract. A graph G is perfect if for every induced subgraph H of G, the chromatic number of H is equal to the size of the largest clique of H. Abstract We discuss a class of graphs called perfect graphs. After defining them and getting intuition with a few simple examples (and one less simple example), we present a proof of the Weak Perfect Graph

More information

Flexible Coloring. Xiaozhou Li a, Atri Rudra b, Ram Swaminathan a. Abstract

Flexible Coloring. Xiaozhou Li a, Atri Rudra b, Ram Swaminathan a. Abstract Flexible Coloring Xiaozhou Li a, Atri Rudra b, Ram Swaminathan a a firstname.lastname@hp.com, HP Labs, 1501 Page Mill Road, Palo Alto, CA 94304 b atri@buffalo.edu, Computer Sc. & Engg. dept., SUNY Buffalo,

More information

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14 600.363 Introduction to Algorithms / 600.463 Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14 23.1 Introduction We spent last week proving that for certain problems,

More information

The Maximum Clique Problem

The Maximum Clique Problem November, 2012 Motivation How to put as much left-over stuff as possible in a tasty meal before everything will go off? Motivation Find the largest collection of food where everything goes together! Here,

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

Bipartite Roots of Graphs

Bipartite Roots of Graphs Bipartite Roots of Graphs Lap Chi Lau Department of Computer Science University of Toronto Graph H is a root of graph G if there exists a positive integer k such that x and y are adjacent in G if and only

More information

Polynomial-Time Approximation Algorithms

Polynomial-Time Approximation Algorithms 6.854 Advanced Algorithms Lecture 20: 10/27/2006 Lecturer: David Karger Scribes: Matt Doherty, John Nham, Sergiy Sidenko, David Schultz Polynomial-Time Approximation Algorithms NP-hard problems are a vast

More information

COMP260 Spring 2014 Notes: February 4th

COMP260 Spring 2014 Notes: February 4th COMP260 Spring 2014 Notes: February 4th Andrew Winslow In these notes, all graphs are undirected. We consider matching, covering, and packing in bipartite graphs, general graphs, and hypergraphs. We also

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

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18 601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18 22.1 Introduction We spent the last two lectures proving that for certain problems, we can

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

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

Discrete mathematics , Fall Instructor: prof. János Pach

Discrete mathematics , Fall Instructor: prof. János Pach Discrete mathematics 2016-2017, Fall Instructor: prof. János Pach - covered material - Lecture 1. Counting problems To read: [Lov]: 1.2. Sets, 1.3. Number of subsets, 1.5. Sequences, 1.6. Permutations,

More information

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition. 18.433 Combinatorial Optimization Matching Algorithms September 9,14,16 Lecturer: Santosh Vempala Given a graph G = (V, E), a matching M is a set of edges with the property that no two of the edges have

More information

Sparse Hypercube 3-Spanners

Sparse Hypercube 3-Spanners Sparse Hypercube 3-Spanners W. Duckworth and M. Zito Department of Mathematics and Statistics, University of Melbourne, Parkville, Victoria 3052, Australia Department of Computer Science, University of

More information

NP-completeness of generalized multi-skolem sequences

NP-completeness of generalized multi-skolem sequences Discrete Applied Mathematics 155 (2007) 2061 2068 www.elsevier.com/locate/dam NP-completeness of generalized multi-skolem sequences Gustav Nordh 1 Department of Computer and Information Science, Linköpings

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

Approximability Results for the p-center Problem

Approximability Results for the p-center Problem Approximability Results for the p-center Problem Stefan Buettcher Course Project Algorithm Design and Analysis Prof. Timothy Chan University of Waterloo, Spring 2004 The p-center

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

Maximum number of edges in claw-free graphs whose maximum degree and matching number are bounded

Maximum number of edges in claw-free graphs whose maximum degree and matching number are bounded Maximum number of edges in claw-free graphs whose maximum degree and matching number are bounded Cemil Dibek Tınaz Ekim Pinar Heggernes Abstract We determine the maximum number of edges that a claw-free

More information

The NP-completeness of some edge-partitioning. problems

The NP-completeness of some edge-partitioning. problems The NP-completeness of some edge-partitioning problems by Sebastian M. Cioabă A thesis submitted to the Department of Mathematics and Statistics in conformity with the requirements for the degree of Master

More information

2. Lecture notes on non-bipartite matching

2. Lecture notes on non-bipartite matching Massachusetts Institute of Technology 18.433: Combinatorial Optimization Michel X. Goemans February 15th, 013. Lecture notes on non-bipartite matching Given a graph G = (V, E), we are interested in finding

More information

The strong chromatic number of a graph

The strong chromatic number of a graph The strong chromatic number of a graph Noga Alon Abstract It is shown that there is an absolute constant c with the following property: For any two graphs G 1 = (V, E 1 ) and G 2 = (V, E 2 ) on the same

More information

Problem set 2. Problem 1. Problem 2. Problem 3. CS261, Winter Instructor: Ashish Goel.

Problem set 2. Problem 1. Problem 2. Problem 3. CS261, Winter Instructor: Ashish Goel. CS261, Winter 2017. Instructor: Ashish Goel. Problem set 2 Electronic submission to Gradescope due 11:59pm Thursday 2/16. Form a group of 2-3 students that is, submit one homework with all of your names.

More information

Introduction to Graph Theory

Introduction to Graph Theory Introduction to Graph Theory Tandy Warnow January 20, 2017 Graphs Tandy Warnow Graphs A graph G = (V, E) is an object that contains a vertex set V and an edge set E. We also write V (G) to denote the vertex

More information

Minimal dominating sets in graph classes: combinatorial bounds and enumeration

Minimal dominating sets in graph classes: combinatorial bounds and enumeration Minimal dominating sets in graph classes: combinatorial bounds and enumeration Jean-François Couturier 1, Pinar Heggernes 2, Pim van t Hof 2, and Dieter Kratsch 1 1 LITA, Université Paul Verlaine - Metz,

More information

Module 7. Independent sets, coverings. and matchings. Contents

Module 7. Independent sets, coverings. and matchings. Contents Module 7 Independent sets, coverings Contents and matchings 7.1 Introduction.......................... 152 7.2 Independent sets and coverings: basic equations..... 152 7.3 Matchings in bipartite graphs................

More information

CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh HW#3 Due at the beginning of class Thursday 02/26/15

CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh HW#3 Due at the beginning of class Thursday 02/26/15 CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh (rezab@stanford.edu) HW#3 Due at the beginning of class Thursday 02/26/15 1. Consider a model of a nonbipartite undirected graph in which

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

5 MST and Greedy Algorithms

5 MST and Greedy Algorithms 5 MST and Greedy Algorithms One of the traditional and practically motivated problems of discrete optimization asks for a minimal interconnection of a given set of terminals (meaning that every pair will

More information

Module 11. Directed Graphs. Contents

Module 11. Directed Graphs. Contents Module 11 Directed Graphs Contents 11.1 Basic concepts......................... 256 Underlying graph of a digraph................ 257 Out-degrees and in-degrees.................. 258 Isomorphism..........................

More information

Simple and Fast: Improving a Branch-And-Bound Algorithm for Maximum Clique

Simple and Fast: Improving a Branch-And-Bound Algorithm for Maximum Clique Simple and Fast: Improving a Branch-And-Bound Algorithm for Maximum Clique Torsten Fahle University of Paderborn Department of Mathematics and Computer Science Fürstenallee 11, D-33102 Paderborn, Germany

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

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

Approximation of satisfactory bisection problems

Approximation of satisfactory bisection problems Approximation of satisfactory bisection problems Cristina Bazgan a,, Zsolt Tuza b, Daniel Vanderpooten a a LAMSADE, Université Paris-Dauphine, Place du Marechal de Lattre de Tassigny, 75775 Paris Cedex

More information

On Approximating Minimum Vertex Cover for Graphs with Perfect Matching

On Approximating Minimum Vertex Cover for Graphs with Perfect Matching On Approximating Minimum Vertex Cover for Graphs with Perfect Matching Jianer Chen and Iyad A. Kanj Abstract It has been a challenging open problem whether there is a polynomial time approximation algorithm

More information

On ɛ-unit distance graphs

On ɛ-unit distance graphs On ɛ-unit distance graphs Geoffrey Exoo Department of Mathematics and Computer Science Indiana State University Terre Haute, IN 47809 g-exoo@indstate.edu April 9, 003 Abstract We consider a variation on

More information

Paths, Flowers and Vertex Cover

Paths, Flowers and Vertex Cover Paths, Flowers and Vertex Cover Venkatesh Raman M. S. Ramanujan Saket Saurabh Abstract It is well known that in a bipartite (and more generally in a König) graph, the size of the minimum vertex cover is

More information

Graph Coloring via Constraint Programming-based Column Generation

Graph Coloring via Constraint Programming-based Column Generation Graph Coloring via Constraint Programming-based Column Generation Stefano Gualandi Federico Malucelli Dipartimento di Elettronica e Informatica, Politecnico di Milano Viale Ponzio 24/A, 20133, Milan, Italy

More information

An Eternal Domination Problem in Grids

An Eternal Domination Problem in Grids Theory and Applications of Graphs Volume Issue 1 Article 2 2017 An Eternal Domination Problem in Grids William Klostermeyer University of North Florida, klostermeyer@hotmail.com Margaret-Ellen Messinger

More information

A 2k-Kernelization Algorithm for Vertex Cover Based on Crown Decomposition

A 2k-Kernelization Algorithm for Vertex Cover Based on Crown Decomposition A 2k-Kernelization Algorithm for Vertex Cover Based on Crown Decomposition Wenjun Li a, Binhai Zhu b, a Hunan Provincial Key Laboratory of Intelligent Processing of Big Data on Transportation, Changsha

More information

2 The Fractional Chromatic Gap

2 The Fractional Chromatic Gap C 1 11 2 The Fractional Chromatic Gap As previously noted, for any finite graph. This result follows from the strong duality of linear programs. Since there is no such duality result for infinite linear

More information

5 MST and Greedy Algorithms

5 MST and Greedy Algorithms 5 MST and Greedy Algorithms One of the traditional and practically motivated problems of discrete optimization asks for a minimal interconnection of a given set of terminals (meaning that every pair will

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

The Structure and Properties of Clique Graphs of Regular Graphs

The Structure and Properties of Clique Graphs of Regular Graphs The University of Southern Mississippi The Aquila Digital Community Master's Theses 1-014 The Structure and Properties of Clique Graphs of Regular Graphs Jan Burmeister University of Southern Mississippi

More information

Exact Algorithms Lecture 7: FPT Hardness and the ETH

Exact Algorithms Lecture 7: FPT Hardness and the ETH Exact Algorithms Lecture 7: FPT Hardness and the ETH February 12, 2016 Lecturer: Michael Lampis 1 Reminder: FPT algorithms Definition 1. A parameterized problem is a function from (χ, k) {0, 1} N to {0,

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

Maximal Independent Set

Maximal Independent Set Chapter 0 Maximal Independent Set In this chapter we present a highlight of this course, a fast maximal independent set (MIS) algorithm. The algorithm is the first randomized algorithm that we study in

More information

An Introduction to Chromatic Polynomials

An Introduction to Chromatic Polynomials An Introduction to Chromatic Polynomials Julie Zhang May 17, 2018 Abstract This paper will provide an introduction to chromatic polynomials. We will first define chromatic polynomials and related terms,

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

1 The Traveling Salesperson Problem (TSP)

1 The Traveling Salesperson Problem (TSP) CS 598CSC: Approximation Algorithms Lecture date: January 23, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im In the previous lecture, we had a quick overview of several basic aspects of approximation

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

Grundy chromatic number of the complement of bipartite graphs

Grundy chromatic number of the complement of bipartite graphs Grundy chromatic number of the complement of bipartite graphs Manouchehr Zaker Institute for Advanced Studies in Basic Sciences P. O. BOX 45195-159 Zanjan, Iran E-mail: mzaker@iasbs.ac.ir Abstract A Grundy

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

1. Lecture notes on bipartite matching

1. Lecture notes on bipartite matching Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans February 5, 2017 1. Lecture notes on bipartite matching Matching problems are among the fundamental problems in

More information

Paths, Flowers and Vertex Cover

Paths, Flowers and Vertex Cover Paths, Flowers and Vertex Cover Venkatesh Raman, M.S. Ramanujan, and Saket Saurabh Presenting: Hen Sender 1 Introduction 2 Abstract. It is well known that in a bipartite (and more generally in a Konig)

More information

Undirected Forest Constraints

Undirected Forest Constraints Undirected Forest Constraints Nicolas Beldiceanu 1, Irit Katriel 2, and Xavier Lorca 1 1 LINA FRE CNRS 2729, École des Mines de Nantes, FR-44307 Nantes Cedex 3, France. {Nicolas.Beldiceanu,Xavier.Lorca}@emn.fr

More information

1. Suppose you are given a magic black box that somehow answers the following decision problem in polynomial time:

1. Suppose you are given a magic black box that somehow answers the following decision problem in polynomial time: 1. Suppose you are given a magic black box that somehow answers the following decision problem in polynomial time: Input: A CNF formula ϕ with n variables x 1, x 2,..., x n. Output: True if there is an

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

Introduction to Optimization

Introduction to Optimization Introduction to Optimization Greedy Algorithms October 28, 2016 École Centrale Paris, Châtenay-Malabry, France Dimo Brockhoff Inria Saclay Ile-de-France 2 Course Overview Date Fri, 7.10.2016 Fri, 28.10.2016

More information

FINDING THE CHROMATIC NUMBER BY MEANS OF CRITICAL GRAPHS

FINDING THE CHROMATIC NUMBER BY MEANS OF CRITICAL GRAPHS FINDING THE CHROMATIC NUMBER BY MEANS OF CRITICAL GRAPHS Francine HERRMANN LITA, Université de Metz Ile de Saulcy 57045 Metz Cedex France Email : herrmann@lrim.sciences.univ-metz.fr and Alain HERTZ Département

More information

Fast and Simple Algorithms for Weighted Perfect Matching

Fast and Simple Algorithms for Weighted Perfect Matching Fast and Simple Algorithms for Weighted Perfect Matching Mirjam Wattenhofer, Roger Wattenhofer {mirjam.wattenhofer,wattenhofer}@inf.ethz.ch, Department of Computer Science, ETH Zurich, Switzerland Abstract

More information

An Adaptive Multistart Tabu Search Approach to solve the Maximum Clique Problem

An Adaptive Multistart Tabu Search Approach to solve the Maximum Clique Problem Noname manuscript No. (will be inserted by the editor) An Adaptive Multistart Tabu Search Approach to solve the Maximum Clique Problem Qinghua Wu Jin-Kao Hao* Accepted to Journal of Combinatorial Optimization,

More information

Complementary Graph Coloring

Complementary Graph Coloring International Journal of Computer (IJC) ISSN 2307-4523 (Print & Online) Global Society of Scientific Research and Researchers http://ijcjournal.org/ Complementary Graph Coloring Mohamed Al-Ibrahim a*,

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

A Vizing-like theorem for union vertex-distinguishing edge coloring

A Vizing-like theorem for union vertex-distinguishing edge coloring A Vizing-like theorem for union vertex-distinguishing edge coloring Nicolas Bousquet, Antoine Dailly, Éric Duchêne, Hamamache Kheddouci, Aline Parreau Abstract We introduce a variant of the vertex-distinguishing

More information

arxiv: v2 [cs.dm] 3 Dec 2014

arxiv: v2 [cs.dm] 3 Dec 2014 The Student/Project Allocation problem with group projects Aswhin Arulselvan, Ágnes Cseh, and Jannik Matuschke arxiv:4.035v [cs.dm] 3 Dec 04 Department of Management Science, University of Strathclyde,

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

Hardness of Subgraph and Supergraph Problems in c-tournaments

Hardness of Subgraph and Supergraph Problems in c-tournaments Hardness of Subgraph and Supergraph Problems in c-tournaments Kanthi K Sarpatwar 1 and N.S. Narayanaswamy 1 Department of Computer Science and Engineering, IIT madras, Chennai 600036, India kanthik@gmail.com,swamy@cse.iitm.ac.in

More information

Graphs and Discrete Structures

Graphs and Discrete Structures Graphs and Discrete Structures Nicolas Bousquet Louis Esperet Fall 2018 Abstract Brief summary of the first and second course. É 1 Chromatic number, independence number and clique number The chromatic

More information

5. Lecture notes on matroid intersection

5. Lecture notes on matroid intersection Massachusetts Institute of Technology Handout 14 18.433: Combinatorial Optimization April 1st, 2009 Michel X. Goemans 5. Lecture notes on matroid intersection One nice feature about matroids is that a

More information

An upper bound for the chromatic number of line graphs

An upper bound for the chromatic number of line graphs EuroComb 005 DMTCS proc AE, 005, 151 156 An upper bound for the chromatic number of line graphs A D King, B A Reed and A Vetta School of Computer Science, McGill University, 3480 University Ave, Montréal,

More information

Decision Problems. Observation: Many polynomial algorithms. Questions: Can we solve all problems in polynomial time? Answer: No, absolutely not.

Decision Problems. Observation: Many polynomial algorithms. Questions: Can we solve all problems in polynomial time? Answer: No, absolutely not. Decision Problems Observation: Many polynomial algorithms. Questions: Can we solve all problems in polynomial time? Answer: No, absolutely not. Definition: The class of problems that can be solved by polynomial-time

More information

Maximizing edge-ratio is NP-complete

Maximizing edge-ratio is NP-complete Maximizing edge-ratio is NP-complete Steven D Noble, Pierre Hansen and Nenad Mladenović February 7, 01 Abstract Given a graph G and a bipartition of its vertices, the edge-ratio is the minimum for both

More information

ON VERTEX b-critical TREES. Mostafa Blidia, Noureddine Ikhlef Eschouf, and Frédéric Maffray

ON VERTEX b-critical TREES. Mostafa Blidia, Noureddine Ikhlef Eschouf, and Frédéric Maffray Opuscula Math. 33, no. 1 (2013), 19 28 http://dx.doi.org/10.7494/opmath.2013.33.1.19 Opuscula Mathematica ON VERTEX b-critical TREES Mostafa Blidia, Noureddine Ikhlef Eschouf, and Frédéric Maffray Communicated

More information

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

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

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

A General Class of Heuristics for Minimum Weight Perfect Matching and Fast Special Cases with Doubly and Triply Logarithmic Errors 1

A General Class of Heuristics for Minimum Weight Perfect Matching and Fast Special Cases with Doubly and Triply Logarithmic Errors 1 Algorithmica (1997) 18: 544 559 Algorithmica 1997 Springer-Verlag New York Inc. A General Class of Heuristics for Minimum Weight Perfect Matching and Fast Special Cases with Doubly and Triply Logarithmic

More information

5.1 Min-Max Theorem for General Matching

5.1 Min-Max Theorem for General Matching CSC5160: Combinatorial Optimization and Approximation Algorithms Topic: General Matching Date: 4/01/008 Lecturer: Lap Chi Lau Scribe: Jennifer X.M. WU In this lecture, we discuss matchings in general graph.

More information

Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees

Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees Wei Wang joint with Zishen Yang, Xianliang Liu School of Mathematics and Statistics, Xi an Jiaotong University Dec 20, 2016

More information

The 4/5 Upper Bound on the Game Total Domination Number

The 4/5 Upper Bound on the Game Total Domination Number The 4/ Upper Bound on the Game Total Domination Number Michael A. Henning a Sandi Klavžar b,c,d Douglas F. Rall e a Department of Mathematics, University of Johannesburg, South Africa mahenning@uj.ac.za

More information

Results on the min-sum vertex cover problem

Results on the min-sum vertex cover problem Results on the min-sum vertex cover problem Ralucca Gera, 1 Craig Rasmussen, Pantelimon Stănică 1 Naval Postgraduate School Monterey, CA 9393, USA {rgera, ras, pstanica}@npsedu and Steve Horton United

More information

On total domination and support vertices of a tree

On total domination and support vertices of a tree On total domination and support vertices of a tree Ermelinda DeLaViña, Craig E. Larson, Ryan Pepper and Bill Waller University of Houston-Downtown, Houston, Texas 7700 delavinae@uhd.edu, pepperr@uhd.edu,

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