Conflict Directed Clause Learning for the Maximum Weighted Clique Problem Emmanuel Hebrard 1 and George Katsirelos 2 1 LAAS-CNRS, Universit´ 2 MIAT, INRA e de Toulouse
The Maximum Weight Clique Problem 5 b d 9 Given a graph G with weight function w 10 3 a e c 3 f 13 1 / 16
The Maximum Weight Clique Problem 5 b d 9 Given a graph G with weight function w 10 3 Find a clique – set of vertices all a e pairwise adjacent – of maximum weight c 3 f 13 1 / 16
The Maximum Weight Clique Problem 5 5 b b d 9 Given a graph G with weight function w 10 3 Find a clique – set of vertices all a e pairwise adjacent – of maximum weight c 3 f f 13 13 1 / 16
The Maximum Weight Clique Problem 5 5 b b d 9 Given a graph G with weight function w 10 3 Find a clique – set of vertices all a e pairwise adjacent – of maximum weight c 3 ⇐ ⇒ Find a set of vertices without f f 13 13 edge (Independent Set – IS ) of maximum weight (on the complement) 1 / 16
The Maximum Weight Clique Problem 5 5 b b d 9 Given a graph G with weight function w 10 3 Find a clique – set of vertices all a e pairwise adjacent – of maximum weight c 3 ⇐ ⇒ Find a set of vertices without f f 13 13 edge (Independent Set – IS ) of maximum weight (on the complement) ⇐ ⇒ Find a set of vertices touching every edge (Vertex Cover – VC ) minimum weight (on the complement) 1 / 16
The Maximum Weight Clique Problem 5 b d d 9 9 Given a graph G with weight function w 10 10 3 3 Find a clique – set of vertices all a a e e pairwise adjacent – of maximum weight c c 3 3 ⇐ ⇒ Find a set of vertices without f 13 edge (Independent Set – IS ) of maximum weight (on the complement) ⇐ ⇒ Find a set of vertices touching every edge (Vertex Cover – VC ) minimum weight (on the complement) 1 / 16
The Maximum Weight Clique Problem 5 b d d 9 9 Given a graph G with weight function w 10 10 3 3 Find a clique – set of vertices all a a e e pairwise adjacent – of maximum weight c c 3 3 ⇐ ⇒ Find a set of vertices without f 13 edge (Independent Set – IS ) of maximum weight (on the complement) ⇐ ⇒ Find a set of vertices touching every edge (Vertex Cover – VC ) Error- minimum weight (on the complement) Subgraph correcting Perfect philogeny isomorphism codes 1 / 16
Branch & Bound (CP) vs SAT Encoding Branch & Bound (CP) SAT Encoding 2 / 16
Branch & Bound (CP) vs SAT Encoding Branch & Bound (CP) SAT Encoding Dedicated upper bound (coloring) Weak upper bound (UP) 2 / 16
Branch & Bound (CP) vs SAT Encoding Branch & Bound (CP) SAT Encoding Dedicated upper bound (coloring) Weak upper bound (UP) Dedicated data structure (bitsets) No data structure 2 / 16
Branch & Bound (CP) vs SAT Encoding Branch & Bound (CP) SAT Encoding Dedicated upper bound (coloring) Weak upper bound (UP) Dedicated data structure (bitsets) No data structure Dedicated strategies (degree, color) VSIDS 2 / 16
Branch & Bound (CP) vs SAT Encoding Branch & Bound (CP) SAT Encoding Dedicated upper bound (coloring) Weak upper bound (UP) Dedicated data structure (bitsets) No data structure Dedicated strategies (degree, color) VSIDS Backtracking Conflict-Driven Clause Learning 2 / 16
Branch & Bound (CP) vs SAT Encoding Branch & Bound (CP) SAT Encoding Dedicated upper bound (coloring) Weak upper bound (UP) Dedicated data structure (bitsets) No data structure Dedicated strategies (degree, color) VSIDS Backtracking Conflict-Driven Clause Learning We want the best of both worlds! 2 / 16
Generalised Nogoods [Katsirelos and Bacchus 05][Ohrimenko, Stuckey and Codish 07] Branch and propagate as a CP solver 3 / 16
Generalised Nogoods [Katsirelos and Bacchus 05][Ohrimenko, Stuckey and Codish 07] Branch and propagate as a CP solver Store every deduction made during propagation as an explanation clause ( p 1 ∧ p 2 ∧ . . . ∧ p k ) = ⇒ c with p i ’s and c literals of the form x { = , � = } v 3 / 16
Generalised Nogoods [Katsirelos and Bacchus 05][Ohrimenko, Stuckey and Codish 07] Branch and propagate as a CP solver Store every deduction made during propagation as an explanation clause ( p 1 ∧ p 2 ∧ . . . ∧ p k ) = ⇒ c with p i ’s and c literals of the form x { = , � = } v When failing, compute a conflict using the explanation graph 3 / 16
Generalised Nogoods [Katsirelos and Bacchus 05][Ohrimenko, Stuckey and Codish 07] Branch and propagate as a CP solver Store every deduction made during propagation as an explanation clause ( p 1 ∧ p 2 ∧ . . . ∧ p k ) = ⇒ c with p i ’s and c literals of the form x { = , � = } v When failing, compute a conflict using the explanation graph A global constraint “ X is an independent set of weight larger than k ” ◮ Compute an upper bound ◮ Prune w.r.t. this upper bound ◮ Need to compute explanations! 3 / 16
Branching 5 9 b d For any vertex v : 10 3 a e c 3 f 13 4 / 16
Branching 5 9 b d For any vertex v : 10 10 3 either v is in VC ( x v = true ) a a e c 3 f 13 4 / 16
Branching 5 9 b d For any vertex v : 10 3 either v is in VC ( x v = true ) a e c 3 f 13 4 / 16
Branching 5 9 b d For any vertex v : 10 10 3 either v is in VC ( x v = true ) a a e c 3 or v is in IS ( x v = false ) f 13 4 / 16
Branching 5 5 9 9 b b d d For any vertex v : 10 10 3 either v is in VC ( x v = true ) a a e c c 3 3 or v is in IS ( x v = false ) f f 13 13 4 / 16
Upper bound Unweighted case: coloring 5 b d 9 10 3 a e c 3 f 13 5 / 16
Upper bound Unweighted case: coloring 5 b d 9 A clique of size k requires k colors 10 3 a e c 3 f 13 5 / 16
Upper bound Unweighted case: coloring 5 b d 9 A clique of size k requires k colors 10 3 The chromatic number χ ( G ) of G is an a e upper bound on its clique number ω ( G ) c 3 f 13 5 / 16
Upper bound Unweighted case: coloring 5 5 b b d d 9 9 A clique of size k requires k colors 10 10 3 3 The chromatic number χ ( G ) of G is an a a e e upper bound on its clique number ω ( G ) c c 3 3 We work on the complement, so f f 13 13 non-neighbors cannot share the same color ⇒ clique cover 5 / 16
Upper bound Unweighted case: clique cover An independent set of size k requires k 5 5 b b d d 9 9 cliques 10 10 3 3 The chromatic number χ ( G ) of the a a e e complement of G is an upper bound on c c G ’s independence number α ( G ) 3 3 f f 13 13 We work on the complement, so non-neighbors cannot share the same color ⇒ clique cover 5 / 16
Upper bound Weighted case: clique multi cover [Babel 94] 5 b d 9 10 3 a e c 3 f 13 6 / 16
Upper bound Weighted case: clique multi cover [Babel 94] 5 b d 9 A vertex of weight w must be covered by w cliques 10 3 a e c 3 f 13 6 / 16
Upper bound Weighted case: clique multi cover [Babel 94] 5 b d 9 A vertex of weight w must be covered by w cliques 10 3 a e c The total number of clique is an upper 3 bound on weight of the heaviest independent set f 13 6 / 16
Upper bound Weighted case: clique multi cover [Babel 94] 5 b d 9 A vertex of weight w must be covered by w cliques 10 3 a e c The total number of clique is an upper 3 bound on weight of the heaviest independent set f 13 Babel’s complexity depends on the number of colors ( | E | k ) 6 / 16
Upper bound Weighted case: clique multi cover [Babel 94] 5 b d 9 A vertex of weight w must be covered by w cliques 10 3 a e c The total number of clique is an upper 3 bound on weight of the heaviest independent set f 13 Babel’s complexity depends on the number of colors ( | E | k ) 6 / 16
Upper bound Weighted case: clique multi cover [Babel 94] 5 b d 9 A vertex of weight w must be covered by w cliques 10 3 a e c The total number of clique is an upper 3 bound on weight of the heaviest independent set f 13 Babel’s complexity depends on the number of colors ( | E | k ) 6 / 16
Upper bound Weighted case: clique multi cover [Babel 94] 5 b d 9 A vertex of weight w must be covered by w cliques 10 3 a e c The total number of clique is an upper 3 bound on weight of the heaviest independent set f 13 Babel’s complexity depends on the number of colors ( | E | k ) 6 / 16
Upper bound Weighted case: clique multi cover [Babel 94] 5 5 b b d d 9 9 A vertex of weight w must be covered by w cliques 10 10 3 3 a a e e c c The total number of clique is an upper 3 3 bound on weight of the heaviest independent set f f 13 13 Babel’s complexity depends on the number of colors ( | E | k ) ◮ method similar to [Tavares 16] ( | V | 3 ) 6 / 16
Upper bound Weighted case: clique multi cover [Babel 94] 5 b d 9 A vertex of weight w must be covered by w cliques 10 3 a e c The total number of clique is an upper 3 bound on weight of the heaviest independent set f 13 Babel’s complexity depends on the number of colors ( | E | k ) 3 + 3 ◮ method similar to [Tavares 16] ( | V | 3 ) 6 / 16
Recommend
More recommend