Upcoming SlideShare
×

# Baocaoseminar2012

1,809 views

Published on

1 Like
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

Views
Total views
1,809
On SlideShare
0
From Embeds
0
Number of Embeds
1,155
Actions
Shares
0
39
0
Likes
1
Embeds 0
No embeds

No notes for slide

### Baocaoseminar2012

1. 1. Introduction Algorithms Application Conclusion The Maximum Clique Problem Dam Thanh Phuong, Ngo Manh Tuong November, 2012Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
2. 2. Introduction Algorithms Application ConclusionMotivation How to put as much left-over stuﬀ as possible in a tasty meal before everything will go oﬀ? Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
3. 3. Introduction Algorithms Application ConclusionMotivation Find the largest collection of food where everything goes together! Here, we have the choice: Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
4. 4. Introduction Algorithms Application ConclusionMotivation Find the largest collection of food where everything goes together! Here, we have the choice: Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
5. 5. Introduction Algorithms Application ConclusionMotivation Find the largest collection of food where everything goes together! Here, we have the choice: Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
6. 6. Introduction Algorithms Application ConclusionMotivation Find the largest collection of food where everything goes together! Here, we have the choice: Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
7. 7. Introduction Algorithms Application ConclusionOutline 1 Introduction 2 Algorithms 3 Applications 4 Conclusion Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
8. 8. Introduction Algorithms Application ConclusionGraph (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
9. 9. Introduction Algorithms Application ConclusionDam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
10. 10. Introduction Algorithms Application ConclusionMaximum 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
11. 11. Introduction Algorithms Application ConclusionDam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
12. 12. Introduction Algorithms Application ConclusionMaximum Clique Problem Does there exist an integer k such that G contains an clique of 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
13. 13. Introduction Algorithms Application ConclusionEquivalent Problems Maximum Independent Set Problem in G Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
14. 14. Introduction Algorithms Application ConclusionEquivalent Problems Minimum Vertex Cover Problem in G Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
15. 15. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound NP-hardA 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
16. 16. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-BoundNP : 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
17. 17. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound Method to Solve Maximum Clique ProblemNon polynomial-time algorithms.Polynomial-time algorithms providing approximate solutions.Polynomial-time algorithms providing exact solutions tographs of special classes.Two eﬀective algorithms for dealing with NP-completeProblems: backtracking, branch and bound Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
18. 18. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-BoundIntroduction Bron Kerbosch Algorithm The Algorithm was Designed and Published in 1973 by the Dutch scientists Joep Kerbosch and Coenradd Bron. Bron Kerbosch Algorithm is for Finding the Maximal Cliques in undirected graph. It is known to be one of the most eﬃcient algorithm which uses recursive backtracking to ﬁnd Cliques is practically proven. The Bron Kerbosch Algorithm uses the vertex in graph and its neighbour with few functions to generate some eﬀective results. Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
19. 19. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-BoundWithout Pivoting Strategy BronKerbosch(R, P, X ) if {P = X = ∅} Report R as the Maximal Clique for each vertex v in P BronKerbosch(R ∪ {v } , P ∩ N {v } , X ∩ N {v }) P := P {v } X := X ∪ {v } Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
20. 20. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-BoundWith Pivoting Strategy BronKerbosch(R, P, X ) if {P = X = ∅} Report R as the Maximal Clique Choose Pivot Vertex u in P ∪ X for each vertex v in P BronKerbosch(R ∪ {v } , P ∩ N {v } , X ∩ N {v }) P := P {v } X := X ∪ {v } Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
21. 21. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-BoundExample Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
22. 22. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-BoundR = X = ∅, P = (1, 2, 3, 4, 5, 6)Choosing the pivot element u as 4.4 in PN(v ) = (1, 2, 3, 4, 5, 6) (1, 2, 3, 5, 6) = 4 in 4Finds the values of Rnew , Pnew , XnewPnew = 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
23. 23. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-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
24. 24. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-BoundThis backtracking algorithm is a method for ﬁnding 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 scientiﬁc and engineeringapplications.This algorithm is a Depth First Search algorithm.The algorithm for ﬁnding k-clique in an undirected graph is aNP-complete problem. Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
25. 25. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-BoundExample Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
26. 26. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-BoundDam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
27. 27. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-BoundDam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
28. 28. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-BoundList 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
29. 29. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-BoundAny n-vertex graph has at most 3n/3 Maximal CliquesThe 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 ﬁxed. If k is varying then it is in exponencial timeRunning time of the algorithm is O (nk), where k = O(log n) Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
30. 30. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound n f (x) = − xi → min i=1 xi + xj ≤ 1, ∀ (i, j) ∈ E x ∈ {0, 1}n f (x) = x T Ax → min x ∈ {0, 1}n , whereA = AG − IDam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
31. 31. Introduction Algorithms Application ConclusionSchedulingCoding Theory: Hamming and Johnson GraphsMap LabelingComputer Vision and Pattern Recognition Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
32. 32. Introduction Algorithms Application ConclusionProblem: ﬁnding maximum cliques of a graph eﬃcientlyHard task (in terms of memory and runtime)Bron-Kerbosch algorithm is one eﬃcient solutionSeveral applications Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
33. 33. Introduction Algorithms Application ConclusionReferences 1. D.-Z. Du and P.M.Pardalos ”Handbook of Combinatorial Optimization”. Kluwer Academic Publishers, 1999 2. http : //en.wikipedia.org/wiki/Clique - problem. Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
34. 34. Introduction Algorithms Application Conclusion Thank you for your attention!Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem