Clique Percolation Method (CPM)

55
Eugene Lim CLIQUE PERCOLATION METHOD (CPM)

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 of Clique Percolation Method (CPM)

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!