You are on page 1of 29

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/
rahulkalaiiitm@yahoo.co.in,
rkala@students.iiitm.ac.in
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
Department of Information Technology
Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August,
Mu
l ti N
h
r c eur
a on
S e Heur
t i st i
r s c Se
Fi ar c
t h Iterative Deepening Search
d
r ea Graph Searching
B Algorithms
r c h
A* e a
t S
Al i r s
go F
ri t th
hm ep
D
Heuristic Search Algorithm
Department of Information Technology
Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August,
The Basic Idea

Department of Information Technology


Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August,
Multi Level Graph
Clustering - I

Department of Information Technology


Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August,
Multi Level Graph
Clustering - II

Department of Information Technology


Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August,
Multi Level Graph
Clustering - III

Department of Information Technology


Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August,
Multi Level Graph Clustering
- IV

Department of Information Technology


Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August,
Multi Level Graph
Clustering - V

Department of Information Technology


Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August,
Clustering Algorithm
g ← original graph

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

Is there
Add g to graphs change in g
Yes

No

break

Department of Information Technology


Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August,
Making Clusters
1 2 5
6

3 4
7
8

9 5

10

Department of Information Technology


Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August,
Making Clusters Algorithm
Make 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

Department of Information Technology


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

Star Vertex

Department of Information Technology


Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August,
Selecting Nodes of Cluster
getNextCluster()
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

Department of Information Technology


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

Department of Information Technology


Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August,
Point Search
Source Source
Goal

Goal
Goal
Source
Source
and
Goal

Department of Information Technology


Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August,
Point Algorithm
Level ← 0

While there are Yes Source ← Cluster


Is source
graphs in current member of number where it
level any cluster was found
of this level

No

Is goal Yes Goal ← Cluster


member of number where
any cluster it was found
of this level

No

Level ← Level + 1 Add source,


destination to
point set

Department of Information Technology


Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August,
Search Algorithm
Source Source
Goal

Goal
Goal
Source
Source
and
Goal

Department of Information Technology


Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August,
Search Algorithm
Search()
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

Department of Information Technology


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

Department of Information Technology


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

Department of Information Technology


Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August,
Analogy in Social
Networking

Department of Information Technology


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

Department of Information Technology


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

Department of Information Technology


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

Department of Information Technology


Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August,
Future Scope
Validation against actual data
Weighted Graphs
Clustering Criterion
Tradeoff between loss of result
quality with time
Type of graphs

Department of Information Technology


Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August,
More interesting
algorithms at:

Department of Information Technology


Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August,
References
1. 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)

Department of Information Technology


Indian Institute of Information Technology and Management Gwalior IC3’09 - 18th August,
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)

Department of Information Technology


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

Department of Information Technology


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