Top Banner
BRON-KERBOSCH (BK) ALGORITHM FOR MAXIMUM CLIQUE BY TEAM: WYD Jun Zhai Tianhang Qiang Yizhen JIa
12

Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen Jia

Jan 12, 2017

Download

Education

Amrinder Arora
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen Jia

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

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

WHY IS THIS PROBLEM IMPORTANT?

•  Social Network • BioInformation • Computing Chemistry

Page 4: Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen Jia

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

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

BASIC BK ALGORITHM OUTLINE

Page 7: Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen Jia

BASIC BK ALGORITHM OUTLINE

Page 8: Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen Jia

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

BK ALGORITHM WITH PIVOT

Page 10: Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen Jia

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

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

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