SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
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
Introduction
                                 Algorithms
                                 Application
                                  Conclusion

Motivation

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




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

Motivation

       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
Introduction
                                 Algorithms
                                 Application
                                  Conclusion

Motivation

       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
Introduction
                                 Algorithms
                                 Application
                                  Conclusion

Motivation

       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
Introduction
                                 Algorithms
                                 Application
                                  Conclusion

Motivation

       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
Introduction
                                    Algorithms
                                    Application
                                     Conclusion

Outline




     1    Introduction
     2    Algorithms
     3    Applications
     4    Conclusion




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




Graph (G): a network of vertices (V(G)) and edges (E(G)).
Graph Complement (G ): the graph with the same vertex set
of G but whose edge set consists of the edges not present in G.
Complete Graph: every pair of vertices is connected by an
edge.
A Clique in an undirected graph G=(V,E) is a subset of the
vertex set C ⊆ V ,such that for every two vertices in C, there
exists an edge connecting the two.




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




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




Maximum Clique: A Clique of the largest possible size in a
given graph. The clique number, ω (G ), is the cardinality of
the maximum clique.
Maximal Clique: A Clique that cannot be extended by
including one more adjacent vertex.
Independent Set: a subset of the vertices such that no two
vertices in the subset are connected by an edge of G.
Vertex cover: a subset of the vertices of G which contains at
least one of the two endpoints of each edge.




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




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




Maximum 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
Introduction
                             Algorithms
                             Application
                              Conclusion




Equivalent Problems
    Maximum Independent Set Problem in G




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




Equivalent Problems
    Minimum Vertex Cover Problem in G




      Dam Thanh Phuong, Ngo Manh Tuong     The Maximum Clique Problem
Introduction   Bron Kerbosch Algorithm
                          Algorithms    Backtracking Algorithm
                          Application   Time Complexity
                           Conclusion   Brand-and-Bound




                                NP-hard

A problem is NP-hard if solving it in polynomial time would
make it possible to solve all problems in the class of NP
problems in polynomial time.
All 3 versions of the Maximum Clique problem are known to
be NP-hard for general graphs.




   Dam Thanh Phuong, Ngo Manh Tuong     The Maximum Clique Problem
Introduction   Bron Kerbosch Algorithm
                          Algorithms    Backtracking Algorithm
                          Application   Time Complexity
                           Conclusion   Brand-and-Bound




NP : the class of decision problem which can be solved by a
non-deterministic polynomial algorithm.
P: the class of problems which can be solved by a
deterministic polynomial algorithm.
NP-hard: the class of problems to which every NP problem
reduces.
NP-complete (NPC): the class of problems which are NP-hard
and belong to NP.

   Dam Thanh Phuong, Ngo Manh Tuong     The Maximum Clique Problem
Introduction   Bron Kerbosch Algorithm
                          Algorithms    Backtracking Algorithm
                          Application   Time Complexity
                           Conclusion   Brand-and-Bound




     Method to Solve Maximum Clique Problem

Non polynomial-time algorithms.
Polynomial-time algorithms providing approximate solutions.
Polynomial-time algorithms providing exact solutions to
graphs of special classes.
Two effective algorithms for dealing with NP-complete
Problems: backtracking, branch and bound




   Dam Thanh Phuong, Ngo Manh Tuong     The Maximum Clique Problem
Introduction   Bron Kerbosch Algorithm
                                 Algorithms    Backtracking Algorithm
                                 Application   Time Complexity
                                  Conclusion   Brand-and-Bound

Introduction 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 efficient algorithm which
       uses recursive backtracking to find Cliques is practically
       proven.
       The Bron Kerbosch Algorithm uses the vertex in graph and its
       neighbour with few functions to generate some effective
       results.



          Dam Thanh Phuong, Ngo Manh Tuong     The Maximum Clique Problem
Introduction   Bron Kerbosch Algorithm
                                 Algorithms    Backtracking Algorithm
                                 Application   Time Complexity
                                  Conclusion   Brand-and-Bound

Without 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
Introduction   Bron Kerbosch Algorithm
                                 Algorithms    Backtracking Algorithm
                                 Application   Time Complexity
                                  Conclusion   Brand-and-Bound

With 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
Introduction   Bron Kerbosch Algorithm
                                 Algorithms    Backtracking Algorithm
                                 Application   Time Complexity
                                  Conclusion   Brand-and-Bound

Example




          Dam Thanh Phuong, Ngo Manh Tuong     The Maximum Clique Problem
Introduction   Bron Kerbosch Algorithm
                          Algorithms    Backtracking Algorithm
                          Application   Time Complexity
                           Conclusion   Brand-and-Bound




R = 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 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
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
Introduction   Bron Kerbosch Algorithm
                          Algorithms    Backtracking Algorithm
                          Application   Time Complexity
                           Conclusion   Brand-and-Bound




This backtracking algorithm is a method for finding all the
sub 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 engineering
applications.
This algorithm is a Depth First Search algorithm.
The algorithm for finding k-clique in an undirected graph is a
NP-complete problem.




   Dam Thanh Phuong, Ngo Manh Tuong     The Maximum Clique Problem
Introduction   Bron Kerbosch Algorithm
                                 Algorithms    Backtracking Algorithm
                                 Application   Time Complexity
                                  Conclusion   Brand-and-Bound

Example




          Dam Thanh Phuong, Ngo Manh Tuong     The Maximum Clique Problem
Introduction   Bron Kerbosch Algorithm
                       Algorithms    Backtracking Algorithm
                       Application   Time Complexity
                        Conclusion   Brand-and-Bound




Dam Thanh Phuong, Ngo Manh Tuong     The Maximum Clique Problem
Introduction   Bron Kerbosch Algorithm
                       Algorithms    Backtracking Algorithm
                       Application   Time Complexity
                        Conclusion   Brand-and-Bound




Dam Thanh Phuong, Ngo Manh Tuong     The Maximum Clique Problem
Introduction   Bron Kerbosch Algorithm
                          Algorithms    Backtracking Algorithm
                          Application   Time Complexity
                           Conclusion   Brand-and-Bound




List out all the possibilities in the subgraph and check for each
and every edge.
Check for a subgraph in which every node is connected to
every 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
Introduction   Bron Kerbosch Algorithm
                          Algorithms    Backtracking Algorithm
                          Application   Time Complexity
                           Conclusion   Brand-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 recursive
calls made at each step) is O(3n/3 )
This Backtracking algorithm runs in polynomial time if size of
k 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
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 − I




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




Scheduling
Coding Theory: Hamming and Johnson Graphs
Map Labeling
Computer Vision and Pattern Recognition




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




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
Introduction
                                    Algorithms
                                    Application
                                     Conclusion

References




   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
Introduction
                       Algorithms
                       Application
                        Conclusion




            Thank you for your attention!




Dam Thanh Phuong, Ngo Manh Tuong     The Maximum Clique Problem

Mais conteúdo relacionado

Destaque

Decision Tree - ID3
Decision Tree - ID3Decision Tree - ID3
Decision Tree - ID3
Xueping Peng
 
CLIQUE Automatic subspace clustering of high dimensional data for data mining...
CLIQUE Automatic subspace clustering of high dimensional data for data mining...CLIQUE Automatic subspace clustering of high dimensional data for data mining...
CLIQUE Automatic subspace clustering of high dimensional data for data mining...
Raed Aldahdooh
 
Data mining
Data miningData mining
Data mining
Meysam Asadi
 
Classification of hotels
Classification of hotelsClassification of hotels
Classification of hotels
Shantimani
 

Destaque (11)

Decision Tree - ID3
Decision Tree - ID3Decision Tree - ID3
Decision Tree - ID3
 
CLIQUE Automatic subspace clustering of high dimensional data for data mining...
CLIQUE Automatic subspace clustering of high dimensional data for data mining...CLIQUE Automatic subspace clustering of high dimensional data for data mining...
CLIQUE Automatic subspace clustering of high dimensional data for data mining...
 
Network sampling, community detection
Network sampling, community detectionNetwork sampling, community detection
Network sampling, community detection
 
ID3 ALGORITHM
ID3 ALGORITHMID3 ALGORITHM
ID3 ALGORITHM
 
Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen...
Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen...Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen...
Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen...
 
Data mining
Data miningData mining
Data mining
 
Airborne wind energy system ppt
Airborne wind energy system pptAirborne wind energy system ppt
Airborne wind energy system ppt
 
Clique Relaxation Models in Networks: Theory, Algorithms, and Applications
Clique Relaxation Models in Networks: Theory, Algorithms, and ApplicationsClique Relaxation Models in Networks: Theory, Algorithms, and Applications
Clique Relaxation Models in Networks: Theory, Algorithms, and Applications
 
Classification of hotels
Classification of hotelsClassification of hotels
Classification of hotels
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Semelhante a Baocaoseminar2012

Multi-Layer Perceptrons
Multi-Layer PerceptronsMulti-Layer Perceptrons
Multi-Layer Perceptrons
ESCOM
 
Algorithm chapter 10
Algorithm chapter 10Algorithm chapter 10
Algorithm chapter 10
chidabdu
 
Proving Lower Bounds to answer the P versus NP Question
Proving Lower Bounds to answer the P versus NP QuestionProving Lower Bounds to answer the P versus NP Question
Proving Lower Bounds to answer the P versus NP Question
guest383ed6
 

Semelhante a Baocaoseminar2012 (20)

NP completeness
NP completenessNP completeness
NP completeness
 
How Hard Can a Problem Be ?
How Hard Can a Problem Be ?How Hard Can a Problem Be ?
How Hard Can a Problem Be ?
 
Principle of Maximum Entropy
Principle of Maximum EntropyPrinciple of Maximum Entropy
Principle of Maximum Entropy
 
P, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-HardP, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-Hard
 
Approximation algorithms
Approximation algorithmsApproximation algorithms
Approximation algorithms
 
Particle filter
Particle filterParticle filter
Particle filter
 
NP Complete Problems in Graph Theory
NP Complete Problems in Graph TheoryNP Complete Problems in Graph Theory
NP Complete Problems in Graph Theory
 
Internship
InternshipInternship
Internship
 
2009 CSBB LAB 新生訓練
2009 CSBB LAB 新生訓練2009 CSBB LAB 新生訓練
2009 CSBB LAB 新生訓練
 
Multi-Layer Perceptrons
Multi-Layer PerceptronsMulti-Layer Perceptrons
Multi-Layer Perceptrons
 
Academic paper - Final
Academic paper - FinalAcademic paper - Final
Academic paper - Final
 
Algorithm chapter 10
Algorithm chapter 10Algorithm chapter 10
Algorithm chapter 10
 
An interactive approach for cleaning noisy observations in Bayesian networks ...
An interactive approach for cleaning noisy observations in Bayesian networks ...An interactive approach for cleaning noisy observations in Bayesian networks ...
An interactive approach for cleaning noisy observations in Bayesian networks ...
 
Link Discovery Tutorial Part I: Efficiency
Link Discovery Tutorial Part I: EfficiencyLink Discovery Tutorial Part I: Efficiency
Link Discovery Tutorial Part I: Efficiency
 
-Chapter-11-Non-Linear-Programming ppt.ppt
-Chapter-11-Non-Linear-Programming ppt.ppt-Chapter-11-Non-Linear-Programming ppt.ppt
-Chapter-11-Non-Linear-Programming ppt.ppt
 
53564379-Ant-Colony-Optimization.ppt
53564379-Ant-Colony-Optimization.ppt53564379-Ant-Colony-Optimization.ppt
53564379-Ant-Colony-Optimization.ppt
 
Meetup Luglio - Operations Research.pdf
Meetup Luglio - Operations Research.pdfMeetup Luglio - Operations Research.pdf
Meetup Luglio - Operations Research.pdf
 
[slide] Attentive Modality Hopping Mechanism for Speech Emotion Recognition
[slide] Attentive Modality Hopping Mechanism for Speech Emotion Recognition[slide] Attentive Modality Hopping Mechanism for Speech Emotion Recognition
[slide] Attentive Modality Hopping Mechanism for Speech Emotion Recognition
 
ko_presentation
ko_presentationko_presentation
ko_presentation
 
Proving Lower Bounds to answer the P versus NP Question
Proving Lower Bounds to answer the P versus NP QuestionProving Lower Bounds to answer the P versus NP Question
Proving Lower Bounds to answer the P versus NP Question
 

Mais de tuongnm

Ky2 toan2 k13_2lop_ky2_bang_ghidiemthuongxuyencnttk13d
Ky2 toan2 k13_2lop_ky2_bang_ghidiemthuongxuyencnttk13dKy2 toan2 k13_2lop_ky2_bang_ghidiemthuongxuyencnttk13d
Ky2 toan2 k13_2lop_ky2_bang_ghidiemthuongxuyencnttk13d
tuongnm
 
Ky2 toan2 k13_2lop_ky2_bang_ghidiemthuongxuyencnttk13a
Ky2 toan2 k13_2lop_ky2_bang_ghidiemthuongxuyencnttk13aKy2 toan2 k13_2lop_ky2_bang_ghidiemthuongxuyencnttk13a
Ky2 toan2 k13_2lop_ky2_bang_ghidiemthuongxuyencnttk13a
tuongnm
 
Toancaocap2 cnttk12 g_bangdiemtx
Toancaocap2 cnttk12 g_bangdiemtxToancaocap2 cnttk12 g_bangdiemtx
Toancaocap2 cnttk12 g_bangdiemtx
tuongnm
 
Toancaocap2 cnttk12 c_bangdiemtx
Toancaocap2 cnttk12 c_bangdiemtxToancaocap2 cnttk12 c_bangdiemtx
Toancaocap2 cnttk12 c_bangdiemtx
tuongnm
 
Toancaocap2 cnttk12 b_bangdiemtx
Toancaocap2 cnttk12 b_bangdiemtxToancaocap2 cnttk12 b_bangdiemtx
Toancaocap2 cnttk12 b_bangdiemtx
tuongnm
 
Toancaocap2 cnttk12 a_bangdiemtx
Toancaocap2 cnttk12 a_bangdiemtxToancaocap2 cnttk12 a_bangdiemtx
Toancaocap2 cnttk12 a_bangdiemtx
tuongnm
 
Toancaocap2 cnysk12 bang_diemtx
Toancaocap2 cnysk12 bang_diemtxToancaocap2 cnysk12 bang_diemtx
Toancaocap2 cnysk12 bang_diemtx
tuongnm
 
Lịch dạy Toán cao cấp 2
Lịch dạy Toán cao cấp 2Lịch dạy Toán cao cấp 2
Lịch dạy Toán cao cấp 2
tuongnm
 
Lịchday ky2 n m tuong.26.02
Lịchday ky2 n m tuong.26.02Lịchday ky2 n m tuong.26.02
Lịchday ky2 n m tuong.26.02
tuongnm
 

Mais de tuongnm (20)

Dethamkhao toan kte3_5
Dethamkhao toan kte3_5Dethamkhao toan kte3_5
Dethamkhao toan kte3_5
 
Dapan dethamkhao toan_kte3_5
Dapan dethamkhao toan_kte3_5Dapan dethamkhao toan_kte3_5
Dapan dethamkhao toan_kte3_5
 
Dapan dethamkhao toan_kte1_2
Dapan dethamkhao toan_kte1_2Dapan dethamkhao toan_kte1_2
Dapan dethamkhao toan_kte1_2
 
Dethamkhao toan kte
Dethamkhao toan kteDethamkhao toan kte
Dethamkhao toan kte
 
Bài giảng Toán kinh tế
Bài giảng Toán kinh tếBài giảng Toán kinh tế
Bài giảng Toán kinh tế
 
Bài tập Toán kinh tế
Bài tập Toán kinh tếBài tập Toán kinh tế
Bài tập Toán kinh tế
 
Đề cương Toán kinh tế K16 (2017)
Đề cương Toán kinh tế K16 (2017)Đề cương Toán kinh tế K16 (2017)
Đề cương Toán kinh tế K16 (2017)
 
Ky2 toan2 k13_2lop_ky2_bang_ghidiemthuongxuyencnttk13d
Ky2 toan2 k13_2lop_ky2_bang_ghidiemthuongxuyencnttk13dKy2 toan2 k13_2lop_ky2_bang_ghidiemthuongxuyencnttk13d
Ky2 toan2 k13_2lop_ky2_bang_ghidiemthuongxuyencnttk13d
 
Ky2 toan2 k13_2lop_ky2_bang_ghidiemthuongxuyencnttk13a
Ky2 toan2 k13_2lop_ky2_bang_ghidiemthuongxuyencnttk13aKy2 toan2 k13_2lop_ky2_bang_ghidiemthuongxuyencnttk13a
Ky2 toan2 k13_2lop_ky2_bang_ghidiemthuongxuyencnttk13a
 
Ky2 toan kinhte tmdt
Ky2 toan kinhte tmdtKy2 toan kinhte tmdt
Ky2 toan kinhte tmdt
 
Ky2 toan kinhte htttql
Ky2 toan kinhte htttqlKy2 toan kinhte htttql
Ky2 toan kinhte htttql
 
Toan3 k12 2lop_diem_tx_ky2_n02
Toan3 k12 2lop_diem_tx_ky2_n02Toan3 k12 2lop_diem_tx_ky2_n02
Toan3 k12 2lop_diem_tx_ky2_n02
 
Toan3 k12 2lop_diem_tx_ky2_n01
Toan3 k12 2lop_diem_tx_ky2_n01Toan3 k12 2lop_diem_tx_ky2_n01
Toan3 k12 2lop_diem_tx_ky2_n01
 
Toancaocap2 cnttk12 g_bangdiemtx
Toancaocap2 cnttk12 g_bangdiemtxToancaocap2 cnttk12 g_bangdiemtx
Toancaocap2 cnttk12 g_bangdiemtx
 
Toancaocap2 cnttk12 c_bangdiemtx
Toancaocap2 cnttk12 c_bangdiemtxToancaocap2 cnttk12 c_bangdiemtx
Toancaocap2 cnttk12 c_bangdiemtx
 
Toancaocap2 cnttk12 b_bangdiemtx
Toancaocap2 cnttk12 b_bangdiemtxToancaocap2 cnttk12 b_bangdiemtx
Toancaocap2 cnttk12 b_bangdiemtx
 
Toancaocap2 cnttk12 a_bangdiemtx
Toancaocap2 cnttk12 a_bangdiemtxToancaocap2 cnttk12 a_bangdiemtx
Toancaocap2 cnttk12 a_bangdiemtx
 
Toancaocap2 cnysk12 bang_diemtx
Toancaocap2 cnysk12 bang_diemtxToancaocap2 cnysk12 bang_diemtx
Toancaocap2 cnysk12 bang_diemtx
 
Lịch dạy Toán cao cấp 2
Lịch dạy Toán cao cấp 2Lịch dạy Toán cao cấp 2
Lịch dạy Toán cao cấp 2
 
Lịchday ky2 n m tuong.26.02
Lịchday ky2 n m tuong.26.02Lịchday ky2 n m tuong.26.02
Lịchday ky2 n m tuong.26.02
 

Baocaoseminar2012

  • 1. 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
  • 2. Introduction Algorithms Application Conclusion Motivation How to put as much left-over stuff as possible in a tasty meal before everything will go off? Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
  • 3. Introduction Algorithms Application Conclusion Motivation 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. Introduction Algorithms Application Conclusion Motivation 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. Introduction Algorithms Application Conclusion Motivation 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. Introduction Algorithms Application Conclusion Motivation 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. Introduction Algorithms Application Conclusion Outline 1 Introduction 2 Algorithms 3 Applications 4 Conclusion Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
  • 8. Introduction Algorithms Application Conclusion Graph (G): a network of vertices (V(G)) and edges (E(G)). Graph Complement (G ): the graph with the same vertex set of G but whose edge set consists of the edges not present in G. Complete Graph: every pair of vertices is connected by an edge. A Clique in an undirected graph G=(V,E) is a subset of the vertex set C ⊆ V ,such that for every two vertices in C, there exists an edge connecting the two. Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
  • 9. Introduction Algorithms Application Conclusion Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
  • 10. Introduction Algorithms Application Conclusion Maximum Clique: A Clique of the largest possible size in a given graph. The clique number, ω (G ), is the cardinality of the maximum clique. Maximal Clique: A Clique that cannot be extended by including one more adjacent vertex. Independent Set: a subset of the vertices such that no two vertices in the subset are connected by an edge of G. Vertex cover: a subset of the vertices of G which contains at least one of the two endpoints of each edge. Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
  • 11. Introduction Algorithms Application Conclusion Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
  • 12. Introduction Algorithms Application Conclusion Maximum 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. Introduction Algorithms Application Conclusion Equivalent Problems Maximum Independent Set Problem in G Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
  • 14. Introduction Algorithms Application Conclusion Equivalent Problems Minimum Vertex Cover Problem in G Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
  • 15. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound NP-hard A problem is NP-hard if solving it in polynomial time would make it possible to solve all problems in the class of NP problems in polynomial time. All 3 versions of the Maximum Clique problem are known to be NP-hard for general graphs. Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
  • 16. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound NP : the class of decision problem which can be solved by a non-deterministic polynomial algorithm. P: the class of problems which can be solved by a deterministic polynomial algorithm. NP-hard: the class of problems to which every NP problem reduces. NP-complete (NPC): the class of problems which are NP-hard and belong to NP. Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
  • 17. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound Method to Solve Maximum Clique Problem Non polynomial-time algorithms. Polynomial-time algorithms providing approximate solutions. Polynomial-time algorithms providing exact solutions to graphs of special classes. Two effective algorithms for dealing with NP-complete Problems: backtracking, branch and bound Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
  • 18. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound Introduction 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 efficient algorithm which uses recursive backtracking to find Cliques is practically proven. The Bron Kerbosch Algorithm uses the vertex in graph and its neighbour with few functions to generate some effective results. Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
  • 19. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound Without 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. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound With 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. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound Example Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
  • 22. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound R = 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 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
  • 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. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound This backtracking algorithm is a method for finding all the sub 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 engineering applications. This algorithm is a Depth First Search algorithm. The algorithm for finding k-clique in an undirected graph is a NP-complete problem. Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
  • 25. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound Example Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
  • 26. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
  • 27. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
  • 28. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound List out all the possibilities in the subgraph and check for each and every edge. Check for a subgraph in which every node is connected to every 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. Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-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 recursive calls made at each step) is O(3n/3 ) This Backtracking algorithm runs in polynomial time if size of k 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
  • 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 − I Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
  • 31. Introduction Algorithms Application Conclusion Scheduling Coding Theory: Hamming and Johnson Graphs Map Labeling Computer Vision and Pattern Recognition Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem
  • 32. Introduction Algorithms Application Conclusion 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
  • 33. Introduction Algorithms Application Conclusion References 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. Introduction Algorithms Application Conclusion Thank you for your attention! Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem