bron kerbosch algorithm - presentation by jun zhai, tianhang qiang and yizhen jia

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

Upload: amrinder-arora

Post on 12-Jan-2017

1.189 views

Category:

Education


3 download

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