Download - Baocaoseminar2012
IntroductionAlgorithmsApplicationConclusion
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
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
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
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
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
IntroductionAlgorithmsApplicationConclusion
Outline
1 Introduction
2 Algorithms
3 Applications
4 Conclusion
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
IntroductionAlgorithmsApplicationConclusion
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
IntroductionAlgorithmsApplicationConclusion
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
IntroductionAlgorithmsApplicationConclusion
Equivalent Problems
Maximum Independent Set Problem in G
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
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
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
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
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
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
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
IntroductionAlgorithmsApplicationConclusion
Bron Kerbosch AlgorithmBacktracking AlgorithmTime ComplexityBrand-and-Bound
Example
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
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
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
IntroductionAlgorithmsApplicationConclusion
Bron Kerbosch AlgorithmBacktracking AlgorithmTime ComplexityBrand-and-Bound
Example
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
IntroductionAlgorithmsApplicationConclusion
Bron Kerbosch AlgorithmBacktracking AlgorithmTime ComplexityBrand-and-Bound
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
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
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
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
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
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
IntroductionAlgorithmsApplicationConclusion
Thank you for your attention!
Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem