optimized graph search using multi-level graph clustering

29
Department of Information Technology Indian Institute of Information Technology and Management Gwalior IC3’09 - 18 th August, 2009 Department of Information Technology Indian Institute of Information Technology and Management Gwalior Optimized Graph Search Optimized Graph Search Using Multi-Level Using Multi-Level Graph Clustering Graph Clustering Rahul Kala, Department of Information Technology Indian Institute of Information Technology and Management Gwalior http://students.iiitm.ac.in/~ipg_200545/ [email protected], [email protected] Kala, Rahul, Shukla, Anupam & Tiwari, Ritu (2009) Optimized Graph Search using Multi Level Graph Clustering, Proceedings of the Springer International Conference on Contemporary Computing, IC3'09, pp 103-114, Noida, India

Upload: kathleen-mann

Post on 31-Dec-2015

48 views

Category:

Documents


2 download

DESCRIPTION

Optimized Graph Search Using Multi-Level Graph Clustering. Rahul Kala, Department of Information Technology Indian Institute of Information Technology and Management Gwalior http://students.iiitm.ac.in/~ipg_200545/ [email protected], [email protected]. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior

Optimized Graph Search Optimized Graph Search Using Multi-Level Graph Using Multi-Level Graph Clustering Clustering

Rahul Kala,

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior

http://students.iiitm.ac.in/~ipg_200545/

[email protected],

[email protected]

Kala, Rahul, Shukla, Anupam & Tiwari, Ritu (2009) Optimized Graph Search using Multi Level Graph Clustering, Proceedings of the Springer International Conference on Contemporary Computing, IC3'09, pp 103-114, Noida, India

Page 2: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Bread

th F

irst S

earch

Depth First S

earch

Iterative Deepening Search

A* Algorithm

Heuristic Search Algorithm

Graph Searching Algorithms

Multi Neuron Heuristic Search

Page 3: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

The Basic IdeaThe Basic Idea

Page 4: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Multi Level Graph Multi Level Graph Clustering - IClustering - I

Page 5: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Multi Level Graph Multi Level Graph Clustering - IIClustering - II

Page 6: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Multi Level Graph Multi Level Graph Clustering - IIIClustering - III

Page 7: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Multi Level Graph Clustering Multi Level Graph Clustering - IV- IV

Page 8: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Multi Level Graph Multi Level Graph Clustering - VClustering - V

Page 9: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Clustering AlgorithmClustering Algorithm g ← original graph

for i = 1 to A g ← makeCluster(g)

Is there change in g

NoNo

YesYes

break

Add g to graphs

Page 10: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Making ClustersMaking Clusters

1 2

3 4

5

78

6

9 5

10

Page 11: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Making Clusters AlgorithmMaking Clusters AlgorithmMake Clusters()

Step1: While more clusters are possible

Step2: c ← getNextCluster()

Step3: for each vertex v in c

Step4: Delete v from graph and delete all edges from/to it

Step5: Add a new unique vertex v2

Step6: Add edges from/to v2 that were deleted from the graph

Step7: Add information of cluster v2 to set of clusters in the particular level

Page 12: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Star VertexStar Vertex

Star Vertex

Page 13: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Selecting Nodes of ClusterSelecting Nodes of ClustergetNextCluster()

Step1: Find the vertex v in graph with maximum edges

Step2: If the maximum edges are less than α then return null

Step3: c ← all vertices that are at a maximum distance of 2 units away from v

Step4: Sort c in order of decreasing number of edges of vertices

Step5: Select any 3 vertices v1, v2, v3 in c such that all 3 vertices are connected to β common vertices

Step6: c2 ← all vertices in c that are connected to v1 and v2 and v3

Step7: Add all vertices in c to c2 that are connected to at least 4 vertices already present in c2

Step8: Return c2

Page 14: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior

Graph SearchGraph Search

Page 15: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Point SearchPoint SearchSource

Goal

Source

Goal

Source

Goal

Source and Goal

Page 16: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Point AlgorithmPoint Algorithm

Level ← 0

While there are graphs in current level

Is source member of any cluster of this

level

Source ← Cluster number where it was

found

Is goal member of any cluster of

this level

Goal ← Cluster number where it

was found

Add source, destination to point

set

Level ← Level + 1

YesYes

YesYes

NoNo

NoNo

Page 17: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Search AlgorithmSearch AlgorithmSource

Goal

Source

Goal

Source

Goal

Source and Goal

Page 18: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Search AlgorithmSearch AlgorithmSearch()

Step1: Solution ← null

Step2: For each (source, destination) in point set

Step3: Solution2 ← start + all vertices in solution + destination

Step4: If any vertex in solution2 is a cluster of the higher level

Step5: Replace that vertex with the star vertex of that cluster

Step6: Solution ← null

Step7: For all adjacent vertices (v1,v2) in Solution2, taken in order

Step8: Solution ← Solution + bfs(current level graph,v1,v2) – v2

Step9: Solution ← Solution + destination

Page 19: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Adding and Modifying Adding and Modifying NodesNodes

Page 20: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

ApplicatioApplicationsns

Page 21: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Analogy in Social Analogy in Social NetworkingNetworking

Page 22: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

ComparisonsComparisons

Page 23: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

ResultsResults

Page 24: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior

ConclusioConclusionsns

Page 25: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Future ScopeFuture ScopeValidation against actual dataWeighted GraphsClustering CriterionTradeoff between loss of result

quality with timeType of graphs

Page 26: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

More interesting More interesting algorithms at:algorithms at:

Page 27: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

ReferencesReferences1. Anders Karl-Heinrich, ‘A Hierarchical Graph-Clustering Approach to find

Groups of Objects’, In ICA Commission on Map Generalization, 5th Workshop on Progress in Automated Map Generalization (2003)

2. Arcaute Esteban, Chen Ning, Kumar Ravi, Liben-Nowell David, Mahdian Mohammad, Nazerzadeh Hamid, Xu Ying, ‘Deterministic Decentralized Search in Random Graphs’, Proceedings of the 5th Workshop on Algorithms and Models for the Web-Graph, (2007)

3. Brandes Ulrik, Gaertler Marco, Wagner Dorothea, ‘Experiments on Graph Clustering Algorithms’, In Proceedings of the 11th Annual European Symposium on Algorithms. Lecture Notes in Computer Science, vol. 2832. 568--579 (2003)

4. Craswell Nick, Szummer Martin, ‘Random Walks on the Click Graph’, SIGIR Conf Research and Development in Information Retrieval, 239—246 (2007)

5. Goldberg Andrew V., Harrelson Chris, ‘Computing the Shortest Path: A* Search Meets Graph Theory’, In Proceedings of SODA, 156—165 (2005)

6. Gunter Simon, Bunke Horst, ‘Validation indices for graph clustering’, Pattern Recognition Letters 24, 1107--1113 (2003)

7. He Hao, Wang Haixun, Yang Jun, Yu Philip S,’ BLINKS: Ranked Keyword Searches on Graphs’, in the ACM International Conference on Management of Data (SIGMOD), Beijing, China.(2007)

Page 28: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

8. Hlaoui Adel, Wang Shengrui, ‘A Graph Clustering Algorithm with Applications to Content-Based Image Retrieval’, Proceedings of the Second International Conference on Machine Learning and Cybernetics, Xi’an, (2003)

9. Kacholia Varun, Pandit Shashank, Chakrabarti Soumen, Sudarshan S., Desai Rushi, Karambelkar Hrishikesh, ‘Bidirectional Expansion For Keyword Search on Graph Databases’ ACM Proceedings of the 31st international conference on Very large data bases Trondheim, Norway (2005)

10. Najork Marc, Wiener Janet L., ‘Breadth-First Search Crawling Yields High-Quality Pages’, ACM Proceedings of the 10th international conference on World Wide Web Hong Kong, (2001)

11. Rattigan Matthew J, Maier Marc, Jensen David, ‘Graph Clustering with Network Structure Indices’, ACM Proceedings of the 24th international conference on Machine learning Corvalis, Oregon, (2007)

12. Tadikonda Satish K., Sonka Milan, Collins Steve M, ‘Efficient Coronary Border Detection Using Heuristic Graph Searching’ ieeexplore

13. Wang Yonggu, Li Xiaojuan, ‘Social Network Analysis of Interaction in Online Learning Communities’ ICALT 2007. Seventh IEEE International Conference on Advanced Learning Technologies, (2007)

14. Yushi Jing, Shumeet Baluja, ‘PageRank for Product Image Search’, WWW 2008 / Refereed Track: Rich Media, (2008)

15. Zhou Rong, Hansen Eric A, ‘Sparse-Memory Graph Search’, 18th International Joint Conference on Artificial Intelligence, Acapulco, Mexico (2003)

Page 29: Optimized Graph Search Using Multi-Level Graph Clustering

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August, 2009

Department of Information Technology

Indian Institute of Information Technology and Management Gwalior

Thank YouThank You