clique percolation method (cpm)

55
Eugene Lim CLIQUE PERCOLATION METHOD (CPM)

Upload: orien

Post on 24-Feb-2016

120 views

Category:

Documents


2 download

DESCRIPTION

Clique Percolation Method (CPM). Eugene Lim. Contents. What is CPM? Algorithm Analysis Conclusion. What is CPM?. Method to find overlapping communities Based on concept: internal edges of community likely to form cliques Intercommunity edges unlikely to form cliques. Clique. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Clique Percolation Method (CPM)

Eugene Lim

CLIQUE PERCOLATION

METHOD(CPM)

Page 2: Clique Percolation Method (CPM)

What is CPM?

Algorithm

Analysis

Conclusion

CONTENTS

Page 3: Clique Percolation Method (CPM)

Method to find overlapping communities

Based on concept:

internal edges of community likely to form cliques

Intercommunity edges unlikely to form cliques

WHAT IS CPM?

Page 4: Clique Percolation Method (CPM)

Clique: Complete graph

k-clique: Complete graph with k vertices

CLIQUE

Page 5: Clique Percolation Method (CPM)

Clique: Complete graph

k-clique: Complete graph with k vertices

CLIQUE

3-clique

Page 6: Clique Percolation Method (CPM)

Clique: Complete graph

k-clique: Complete graph with k vertices

CLIQUE

4-clique

Page 7: Clique Percolation Method (CPM)

Clique: Complete graph

k-clique: Complete graph with k vertices

CLIQUE

5-clique

Page 8: Clique Percolation Method (CPM)

K-CLIQUE COMMUNITIES

Adjacent k-cliques

Two k-cliques are adjacent when they share k-1 nodes

Page 9: Clique Percolation Method (CPM)

K-CLIQUE COMMUNITIES

Adjacent k-cliques

Two k-cliques are adjacent when they share k-1 nodes

k = 3

Page 10: Clique Percolation Method (CPM)

K-CLIQUE COMMUNITIES

Adjacent k-cliques

Two k-cliques are adjacent when they share k-1 nodes

k = 3

Clique 1

Page 11: Clique Percolation Method (CPM)

Adjacent k-cliques

Two k-cliques are adjacent when they share k-1 nodes

K-CLIQUE COMMUNITIES

k = 3Clique 2

Page 12: Clique Percolation Method (CPM)

Adjacent k-cliques

Two k-cliques are adjacent when they share k-1 nodes

K-CLIQUE COMMUNITIES

k = 3Clique 3

Page 13: Clique Percolation Method (CPM)

Adjacent k-cliques

Two k-cliques are adjacent when they share k-1 nodes

K-CLIQUE COMMUNITIES

k = 3

Clique 1

Clique 2

Page 14: Clique Percolation Method (CPM)

Adjacent k-cliques

Two k-cliques are adjacent when they share k-1 nodes

K-CLIQUE COMMUNITIES

k = 3Clique 3Clique 2

Page 15: Clique Percolation Method (CPM)

K-CLIQUE COMMUNITIES

k-clique community

Union of all k-cliques that can be reached from each other

through a series of adjacent k-cliques

Page 16: Clique Percolation Method (CPM)

K-CLIQUE COMMUNITIES

k-clique community

Union of all k-cliques that can be reached from each other

through a series of adjacent k-cliques

k = 3

Clique 1

Clique 2

Page 17: Clique Percolation Method (CPM)

K-CLIQUE COMMUNITIES

k-clique community

Union of all k-cliques that can be reached from each other

through a series of adjacent k-cliques

k = 3

Community 1

Page 18: Clique Percolation Method (CPM)

K-CLIQUE COMMUNITIES

k-clique community

Union of all k-cliques that can be reached from each other

through a series of adjacent k-cliques

k = 3

Community 1 Clique 3

Page 19: Clique Percolation Method (CPM)

K-CLIQUE COMMUNITIES

k-clique community

Union of all k-cliques that can be reached from each other

through a series of adjacent k-cliques

k = 3

Community 1 Community 2

Page 20: Clique Percolation Method (CPM)

Locate maximal cliques

Convert from cliques to k-clique communities

ALGORITHM

Page 21: Clique Percolation Method (CPM)

Largest possible clique size can be determined from

degrees of vertices

Starting from this size, find all cliques, then reduce

size by 1 and repeat

LOCATE MAXIMAL CLIQUES

Page 22: Clique Percolation Method (CPM)

Finding all cliques: brute-force

1. Set A initially contains vertex v, Set B contains neighbours

of v

2. Transfer one vertex w from B to A

3. Remove vertices that are not neighbours of w from B

4. Repeat until A reaches desired size

5. If fail, step back and try other possibilities

LOCATE MAXIMAL CLIQUES

Page 23: Clique Percolation Method (CPM)

Locate maximal cliques

Convert from cliques to k-clique communities

ALGORITHM

Page 24: Clique Percolation Method (CPM)

CLIQUES TO K-CLIQUE COMMUNITIES

Page 25: Clique Percolation Method (CPM)

CLIQUES TO K-CLIQUE COMMUNITIES

Clique 1: 5-clique

Page 26: Clique Percolation Method (CPM)

CLIQUES TO K-CLIQUE COMMUNITIES

Page 27: Clique Percolation Method (CPM)

CLIQUES TO K-CLIQUE COMMUNITIES

Clique 2: 4-clique

Page 28: Clique Percolation Method (CPM)

CLIQUES TO K-CLIQUE COMMUNITIES

Page 29: Clique Percolation Method (CPM)

CLIQUES TO K-CLIQUE COMMUNITIES

Clique 3: 4-clique

Page 30: Clique Percolation Method (CPM)

CLIQUES TO K-CLIQUE COMMUNITIES

Page 31: Clique Percolation Method (CPM)

CLIQUES TO K-CLIQUE COMMUNITIES

Clique 4: 4-clique

Page 32: Clique Percolation Method (CPM)

CLIQUES TO K-CLIQUE COMMUNITIES

Page 33: Clique Percolation Method (CPM)

CLIQUES TO K-CLIQUE COMMUNITIES

Clique 5: 3-clique

Page 34: Clique Percolation Method (CPM)

CLIQUES TO K-CLIQUE COMMUNITIES

Page 35: Clique Percolation Method (CPM)

CLIQUES TO K-CLIQUE COMMUNITIES

Clique 6: 3-clique

Page 36: Clique Percolation Method (CPM)

1 2 3 4 5 6

1 5

2 4

3 4

4 4

5 3

6 3

CLIQUES TO K-CLIQUE COMMUNITIES

Page 37: Clique Percolation Method (CPM)

1 2 3 4 5 6

1 5 3 1 3 1 2

2 3 4 1 1 1 2

3 1 1 4 2 1 2

4 3 1 2 4 0 1

5 1 1 1 0 3 2

6 2 2 2 1 2 3

CLIQUES TO K-CLIQUE COMMUNITIES

Page 38: Clique Percolation Method (CPM)

CLIQUES TO K-CLIQUE COMMUNITIES

Clique 1: 5-clique

Page 39: Clique Percolation Method (CPM)

CLIQUES TO K-CLIQUE COMMUNITIES

Clique 2: 4-clique

Page 40: Clique Percolation Method (CPM)

1 2 3 4 5 6

1 5 3 1 3 1 2

2 3 4 1 1 1 2

3 1 1 4 2 1 2

4 3 1 2 4 0 1

5 1 1 1 0 3 2

6 2 2 2 1 2 3

CLIQUES TO K-CLIQUE COMMUNITIES

Page 41: Clique Percolation Method (CPM)

1 2 3 4 5 6

1 5 3 1 3 1 2

2 3 4 1 1 1 2

3 1 1 4 2 1 2

4 3 1 2 4 0 1

5 1 1 1 0 3 2

6 2 2 2 1 2 3

CLIQUES TO K-CLIQUE COMMUNITIES

k=4

Page 42: Clique Percolation Method (CPM)

1 2 3 4 5 6

1 5 3 1 3 1 2

2 3 4 1 1 1 2

3 1 1 4 2 1 2

4 3 1 2 4 0 1

5 1 1 1 0 3 2

6 2 2 2 1 2 3

CLIQUES TO K-CLIQUE COMMUNITIES

k=4

Page 43: Clique Percolation Method (CPM)

1 2 3 4 5 6

1 5 3 1 3 1 2

2 3 4 1 1 1 2

3 1 1 4 2 1 2

4 3 1 2 4 0 1

5 1 1 1 0 0 2

6 2 2 2 1 2 0

CLIQUES TO K-CLIQUE COMMUNITIES

k=4

Delete if less than k

Page 44: Clique Percolation Method (CPM)

1 2 3 4 5 6

1 5 3 1 3 1 2

2 3 4 1 1 1 2

3 1 1 4 2 1 2

4 3 1 2 4 0 1

5 1 1 1 0 0 2

6 2 2 2 1 2 0

CLIQUES TO K-CLIQUE COMMUNITIES

k=4

Page 45: Clique Percolation Method (CPM)

1 2 3 4 5 6

1 5 3 1 3 1 2

2 3 4 1 1 1 2

3 1 1 4 2 1 2

4 3 1 2 4 0 1

5 1 1 1 0 0 2

6 2 2 2 1 2 0

CLIQUES TO K-CLIQUE COMMUNITIES

k=4

Page 46: Clique Percolation Method (CPM)

1 2 3 4 5 6

1 5 3 0 3 0 0

2 3 4 0 0 0 0

3 0 0 4 0 0 0

4 3 0 0 4 0 0

5 0 0 0 0 0 0

6 0 0 0 0 0 0

CLIQUES TO K-CLIQUE COMMUNITIES

k=4

Delete i f less than k-1

Page 47: Clique Percolation Method (CPM)

1 2 3 4 5 6

1 5 3 0 3 0 0

2 3 4 0 0 0 0

3 0 0 4 0 0 0

4 3 0 0 4 0 0

5 0 0 0 0 0 0

6 0 0 0 0 0 0

CLIQUES TO K-CLIQUE COMMUNITIES

k=4

Page 48: Clique Percolation Method (CPM)

1 2 3 4 5 6

1 1 1 0 1 0 0

2 1 1 0 0 0 0

3 0 0 1 0 0 0

4 1 0 0 1 0 0

5 0 0 0 0 0 0

6 0 0 0 0 0 0

CLIQUES TO K-CLIQUE COMMUNITIES

k=4

Change all non-zeros to 1

Page 49: Clique Percolation Method (CPM)

1 2 3 4 5 6

1 1 1 0 1 0 0

2 1 1 0 0 0 0

3 0 0 1 0 0 0

4 1 0 0 1 0 0

5 0 0 0 0 0 0

6 0 0 0 0 0 0

CLIQUES TO K-CLIQUE COMMUNITIES

k=4

Clique-clique overlap matrix

Page 50: Clique Percolation Method (CPM)

CLIQUES TO K-CLIQUE COMMUNITIES

k=4

Community 1

Page 51: Clique Percolation Method (CPM)

CLIQUES TO K-CLIQUE COMMUNITIES

k=4

Community 2

Page 52: Clique Percolation Method (CPM)

Believed to be non-polynomial

No closed formula can be given

However, claimed to be efficient on real systems

ANALYSIS

Page 53: Clique Percolation Method (CPM)

Widely used algorithm for detecting overlapping

communities

However:

Fail to give meaningful covers for graph with few cliques

With too many cliques, might give a trivial community

structure

Left out vertices?

Subgraphs containing many cliques == community?

What value of k to choose to give a meaningful structure?

CONCLUSION

Page 54: Clique Percolation Method (CPM)

Palla et al. – Uncovering the overlapping community

structure of complex networks in nature and society

Santo Fortunato - Community detection in graphs

REFERENCES

Page 55: Clique Percolation Method (CPM)

Thank you!