bron kerbosch algorithm - presentation by jun zhai, tianhang qiang and yizhen jia
TRANSCRIPT
![Page 1: Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen Jia](https://reader034.vdocument.in/reader034/viewer/2022042706/5876d5201a28ab1d238b559d/html5/thumbnails/1.jpg)
BRON-KERBOSCH (BK) ALGORITHM FOR MAXIMUM CLIQUE
BY TEAM: WYD
Jun Zhai
Tianhang Qiang
Yizhen JIa
![Page 2: Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen Jia](https://reader034.vdocument.in/reader034/viewer/2022042706/5876d5201a28ab1d238b559d/html5/thumbnails/2.jpg)
PROBLEM DEFINITION
• Clique: 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.
• Maximum Clique: A Clique of the largest possible size in a given graph.
• Maximal Clique: A Clique that cannot be extended by including one more adjacent vertex.
![Page 3: Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen Jia](https://reader034.vdocument.in/reader034/viewer/2022042706/5876d5201a28ab1d238b559d/html5/thumbnails/3.jpg)
WHY IS THIS PROBLEM IMPORTANT?
• Social Network • BioInformation • Computing Chemistry
![Page 4: Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen Jia](https://reader034.vdocument.in/reader034/viewer/2022042706/5876d5201a28ab1d238b559d/html5/thumbnails/4.jpg)
HARDNESS OF PROBLEM
• No algorithm can prove a given clique is maximum in polynomial time.
• CSAT problem can be reduced to maximum clique problem in polynomial time
• NP-HARD problem
![Page 5: Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen Jia](https://reader034.vdocument.in/reader034/viewer/2022042706/5876d5201a28ab1d238b559d/html5/thumbnails/5.jpg)
BronKerbosch1(R, P, X):
if P and X are both empty:
report R as a maximal clique
for each vertex v in P:
BronKerbosch1(R ⋃ {v}, P ⋂ N(v), X ⋂ N(v))
P := P \ {v}
X := X ⋃ {v}
BASIC BK ALGORITHM OUTLINE
R: set of vertices that construct the Maximal Clique P: set of possible vertices may be selected X: set of vertices can not construct Maximal Clique
![Page 6: Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen Jia](https://reader034.vdocument.in/reader034/viewer/2022042706/5876d5201a28ab1d238b559d/html5/thumbnails/6.jpg)
BASIC BK ALGORITHM OUTLINE
![Page 7: Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen Jia](https://reader034.vdocument.in/reader034/viewer/2022042706/5876d5201a28ab1d238b559d/html5/thumbnails/7.jpg)
BASIC BK ALGORITHM OUTLINE
![Page 8: Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen Jia](https://reader034.vdocument.in/reader034/viewer/2022042706/5876d5201a28ab1d238b559d/html5/thumbnails/8.jpg)
BronKerbosch1(R, P, X):
if P and X are both empty:
report R as a maximal clique
choose a pivot vertex u in P ⋃ X
for each vertex v in P \ N(u):
BronKerbosch1(R ⋃ {v}, P ⋂ N(v), X ⋂ N(v))
P := P \ {v}
X := X ⋃ {v}
BK ALGORITHM WITH PIVOT
u: pivot vertex in P N(u): neighbor vertices of u
![Page 9: Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen Jia](https://reader034.vdocument.in/reader034/viewer/2022042706/5876d5201a28ab1d238b559d/html5/thumbnails/9.jpg)
BK ALGORITHM WITH PIVOT
![Page 10: Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen Jia](https://reader034.vdocument.in/reader034/viewer/2022042706/5876d5201a28ab1d238b559d/html5/thumbnails/10.jpg)
TIME COMPLEXITY
• Any n-vertex graph has at most 3n/3 Maximal Cliques.
• The worst-case running time of the Bron-Kerbosch algorithm (with a pivot strategy that minimizes the number of recursive calls made at each step) is O(3n/3)
![Page 11: Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen Jia](https://reader034.vdocument.in/reader034/viewer/2022042706/5876d5201a28ab1d238b559d/html5/thumbnails/11.jpg)
UPPER AND LOWER BOUND
• The upper bound is when the graph had the most maximal cliques. So the upper bound should be c*3n/3.
• The lower bound is when the graph is a maximal clique. So the lower bound should be c.
![Page 12: Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen Jia](https://reader034.vdocument.in/reader034/viewer/2022042706/5876d5201a28ab1d238b559d/html5/thumbnails/12.jpg)
REFERENCES
https://en.wikipedia.org/wiki/Bron%E2%80%93Kerbosch_algorithm
https://tuongphuongtn.files.wordpress.com/2012/11/baocaoseminar2012.pdf
https://snap.stanford.edu/class/cs224w-readings/tomita06cliques.pdf
https://www.youtube.com/watch?v=132XR-RLNoY