the maximum clique problem - wordpress.com · the maximum clique problem dam thanh phuong, ngo manh...

34
Introduction Algorithms Application Conclusion The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Upload: others

Post on 21-Mar-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

The Maximum Clique Problem

Dam Thanh Phuong, Ngo Manh Tuong

November, 2012

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 2: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Motivation

How to put as much left-over stuff as possible in a tasty mealbefore everything will go off?

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 3: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Motivation

Find the largest collection of food where everything goestogether! Here, we have the choice:

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 4: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Motivation

Find the largest collection of food where everything goestogether! Here, we have the choice:

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 5: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Motivation

Find the largest collection of food where everything goestogether! Here, we have the choice:

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 6: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Motivation

Find the largest collection of food where everything goestogether! Here, we have the choice:

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 7: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Outline

1 Introduction

2 Algorithms

3 Applications

4 Conclusion

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 8: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Graph (G): a network of vertices (V(G)) and edges (E(G)).

Graph Complement (G ): the graph with the same vertex setof G but whose edge set consists of the edges not present in G.

Complete Graph: every pair of vertices is connected by anedge.

A Clique in an undirected graph G=(V,E) is a subset of thevertex set C ⊆ V ,such that for every two vertices in C, thereexists an edge connecting the two.

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 9: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 10: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Maximum Clique: A Clique of the largest possible size in agiven graph. The clique number, ω (G ), is the cardinality ofthe maximum clique.

Maximal Clique: A Clique that cannot be extended byincluding one more adjacent vertex.

Independent Set: a subset of the vertices such that no twovertices in the subset are connected by an edge of G.

Vertex cover: a subset of the vertices of G which contains atleast one of the two endpoints of each edge.

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 11: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 12: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Maximum Clique Problem

Does there exist an integer k such that G contains an cliqueof cardinality k?

What is the clique in G with maximum cardinality?

What is the clique number of G?

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 13: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Equivalent Problems

Maximum Independent Set Problem in G

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 14: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Equivalent Problems

Minimum Vertex Cover Problem in G

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 15: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Bron Kerbosch AlgorithmBacktracking AlgorithmTime ComplexityBrand-and-Bound

NP-hard

A problem is NP-hard if solving it in polynomial time wouldmake it possible to solve all problems in the class of NPproblems in polynomial time.

All 3 versions of the Maximum Clique problem are known tobe NP-hard for general graphs.

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 16: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Bron Kerbosch AlgorithmBacktracking AlgorithmTime ComplexityBrand-and-Bound

NP : the class of decision problem which can be solved by anon-deterministic polynomial algorithm.

P: the class of problems which can be solved by adeterministic polynomial algorithm.

NP-hard: the class of problems to which every NP problemreduces.

NP-complete (NPC): the class of problems which are NP-hardand belong to NP.

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 17: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Bron Kerbosch AlgorithmBacktracking AlgorithmTime ComplexityBrand-and-Bound

Method to Solve Maximum Clique Problem

Non polynomial-time algorithms.

Polynomial-time algorithms providing approximate solutions.

Polynomial-time algorithms providing exact solutions tographs of special classes.

Two effective algorithms for dealing with NP-completeProblems: backtracking, branch and bound

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 18: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Bron Kerbosch AlgorithmBacktracking AlgorithmTime ComplexityBrand-and-Bound

Introduction Bron Kerbosch Algorithm

The Algorithm was Designed and Published in 1973 by theDutch scientists Joep Kerbosch and Coenradd Bron.

Bron Kerbosch Algorithm is for Finding the Maximal Cliquesin undirected graph.

It is known to be one of the most efficient algorithm whichuses recursive backtracking to find Cliques is practicallyproven.

The Bron Kerbosch Algorithm uses the vertex in graph and itsneighbour with few functions to generate some effectiveresults.

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 19: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Bron Kerbosch AlgorithmBacktracking AlgorithmTime ComplexityBrand-and-Bound

Without Pivoting Strategy

BronKerbosch(R,P,X )if {P = X = ∅}Report R as the Maximal Cliquefor each vertex v in PBronKerbosch(R ∪ {v} ,P ∩ N {v} ,X ∩ N {v})P := P\ {v}X := X ∪ {v}

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 20: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Bron Kerbosch AlgorithmBacktracking AlgorithmTime ComplexityBrand-and-Bound

With Pivoting Strategy

BronKerbosch(R,P,X )if {P = X = ∅}Report R as the Maximal CliqueChoose Pivot Vertex u in P ∪ Xfor each vertex v in PBronKerbosch(R ∪ {v} ,P ∩ N {v} ,X ∩ N {v})P := P\ {v}X := X ∪ {v}

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 21: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Bron Kerbosch AlgorithmBacktracking AlgorithmTime ComplexityBrand-and-Bound

Example

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 22: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Bron Kerbosch AlgorithmBacktracking AlgorithmTime ComplexityBrand-and-Bound

R = X = ∅,P = (1, 2, 3, 4, 5, 6)

Choosing the pivot element u as 4.

4 in P\N(v) = (1, 2, 3, 4, 5, 6) \ (1, 2, 3, 5, 6) = 4 in 4

Finds the values of Rnew ,Pnew ,Xnew

Pnew = P ∩ N (v);Rnew = R ∪ v ;Xnew = X ∩ N (v)

Rnew = 4;Pnew = (1, 2, 3, 5, 6) ;Xnew = ∅BronKerbosch(4,(1,2,3,5,6),∅)BronKerbosch((4,1),(2,3),∅)BronKerbosch((4,1,2),∅,∅)Report (4,1,2) as one of the Maximal Clique

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 23: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Bron Kerbosch AlgorithmBacktracking AlgorithmTime ComplexityBrand-and-Bound

BronKerbosch(4,(1,2,3,5,6),∅)

BronKerbosch((4,3),(1),∅)BronKerbosch((4,3,1),∅,∅)Report (4,3,1) as one of the other Maximal Clique.

BronKerbosch(4,(1,2,3,5,6),∅)BronKerbosch((4,2),(1,5),∅)BronKerbosch((4,2,5),∅,∅)Report (4,2,5) as an other Maximal Clique.

BronKerbosch(4,(1,2,3,5,6),∅)BronKerbosch((4,6),∅,∅)Report (4,6) as the Maximal Clique.

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 24: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Bron Kerbosch AlgorithmBacktracking AlgorithmTime ComplexityBrand-and-Bound

This backtracking algorithm is a method for finding all thesub sets in an undirected graph G.

Given a graph G with V vertices and E edges, G=(V,E)

Let us take an integer variable k.

This algorithm is used in scientific and engineeringapplications.

This algorithm is a Depth First Search algorithm.

The algorithm for finding k-clique in an undirected graph is aNP-complete problem.

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 25: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Bron Kerbosch AlgorithmBacktracking AlgorithmTime ComplexityBrand-and-Bound

Example

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 26: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Bron Kerbosch AlgorithmBacktracking AlgorithmTime ComplexityBrand-and-Bound

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 27: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Bron Kerbosch AlgorithmBacktracking AlgorithmTime ComplexityBrand-and-Bound

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 28: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Bron Kerbosch AlgorithmBacktracking AlgorithmTime ComplexityBrand-and-Bound

List out all the possibilities in the subgraph and check for eachand every edge.

Check for a subgraph in which every node is connected toevery other node.

Check for all possible Cliques in the graphs.

Check the size of clique whether it is equal to k or not.

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 29: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Bron Kerbosch AlgorithmBacktracking AlgorithmTime ComplexityBrand-and-Bound

Any n-vertex graph has at most 3n/3 Maximal Cliques

The worst-case running time of the BronKerbosch algorithm(with a pivot strategy that minimizes the number of recursivecalls made at each step) is O(3n/3)

This Backtracking algorithm runs in polynomial time if size ofk is fixed. If k is varying then it is in exponencial time

Running time of the algorithm is O (nk), where k = O(log n)

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 30: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Bron Kerbosch AlgorithmBacktracking AlgorithmTime ComplexityBrand-and-Bound

f (x) = −n∑

i=1xi → min

xi + xj ≤ 1, ∀ (i , j) ∈ Ex ∈ {0, 1}n

f (x) = xTAx → minx ∈ {0, 1}n, whereA = AG − I

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 31: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Scheduling

Coding Theory: Hamming and Johnson Graphs

Map Labeling

Computer Vision and Pattern Recognition

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 32: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Problem: finding maximum cliques of a graph efficiently

Hard task (in terms of memory and runtime)

Bron-Kerbosch algorithm is one efficient solution

Several applications

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 33: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

References

1. D.-Z. Du and P.M.Pardalos ”Handbook of CombinatorialOptimization”. Kluwer Academic Publishers, 19992. http : //en.wikipedia.org/wiki/Clique - problem.

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

Page 34: The Maximum Clique Problem - WordPress.com · The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012 Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem

IntroductionAlgorithmsApplicationConclusion

Thank you for your attention!

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem