Routing in Small-World Networks
description
Transcript of Routing in Small-World Networks
![Page 1: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/1.jpg)
Routingin
Small-World Networks
BE Software Engineering Final Year ProjectNovember 2010
![Page 2: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/2.jpg)
People involved
• Student• Amir Hoshang Kioumars
• Student of BE Software Engineering
• Supervisor• Associate Professor Stephen Marsland
![Page 3: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/3.jpg)
Aim and objectives Aim
Study routing in small-world networks
Objectives/Expected project outputs Collect a set of comparison metrics on SRA’s Improve/develop a new routing algorithm
![Page 4: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/4.jpg)
Tasks decomposition• Make and simulate the small-world networks
• Study selected SRA’s
• Collect a set of comparison metrics between selected SRA’s
• Develop a new routing algorithm or make improvement on the existing SRA’s
• Test any finding(s) against existing algorithms
![Page 5: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/5.jpg)
What is the routing The term routing refers to the process of selecting
paths in a network for sending network traffic or data.
It is performed for many kinds of networks such as the telephone, transportation and the Internet.
![Page 6: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/6.jpg)
Routing algorithms• Design goals • Optimality• Simplicity/low overhead• Robustness/stability• Rapid convergence • Flexibility
• Improvement impacts• Speed• Reliability• Time/cost • Quality of services
![Page 7: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/7.jpg)
What is the Small-World Network• The small-world network is a type of mathematical graph in
which most nodes are not neighbours but are in contact with each other through a small number of hops or steps
• experiment comprised several studies conducted by Stanley Milgram (1933-1984), examining the average path length for social networks of people in the United States
• Example• The Internet
![Page 8: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/8.jpg)
Standard routing algorithms• Several algorithms • Dijkstra• Bellman-Ford• Best-first search• Breadth-first search• Depth-first search• Kleinberg• …
• Algorithm selections• Dijkstra (Dutch computer scientist Edsger Dijkstra, 1956-1959)• Kleinberg (Jon Kleinberg , 1999)
![Page 9: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/9.jpg)
Dijkstra's algorithm
Reference: Wikipedia - http://en.wikipedia.org/wiki/Dijkstra’s_algorithm
![Page 10: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/10.jpg)
Dijkstra's algorithm Advantages
Exhaustive search (check all paths) Always return the optimal path
Disadvantages Time consuming Need a large space to store a big graph
for 3000 nodes, the algorithm needs about 4*3000*3000 = 36000000 bytes (36 MB memory), and if the number is 6000, it needs about 144 MB memory.
![Page 11: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/11.jpg)
Greedy algorithm & Kleinberg Greedy algorithm
Follows the problem solving of making the locally optimal choice at each stage with the hope of finding the global optimum.
Kleinberg’s suggest a simple greedy algorithm When is the current node, choose the next
intermediate node which is closest to the target Do the iteration until reach to destination
![Page 12: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/12.jpg)
Development and exposition of work Select a programming language and a suitable IDE (compiler) Select the standard routing algorithms (SRA’s) and develope them (Dijkstra and Kleinberg) Simulate small-world networks and run both SRA’s on them
Select metrics items for SRA’s Weight Number of hops Time
Select testing criteria - graphs 40, 50, 100, 200, 300, 500, 700, 850 and 1000 number of nodes 3, 5, 10 and 15 neighbours rewiring probabilities 0, 0.5 and 1 twenty iterations - used averaged results
Software/Hardware Multi-threading Java programming Four Intel® Quad core computer with 2.83 Ghz CPU and 4Gb of Ram
![Page 13: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/13.jpg)
Comparison results Optimal path Minimum number of hops Time taken Consistency of results
![Page 14: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/14.jpg)
Path weight
![Page 15: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/15.jpg)
Visited hops
![Page 16: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/16.jpg)
Delivery time
![Page 17: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/17.jpg)
Improving the Kleinberg’s greedy algorithm Using Kleinberg’s greedy
Consider special cases
1. Whether source and target are connected directly
2. Source and target are connected with an intermediate node
3. Neighbours of source and target have a common node(s)
4. If none of the above cases were true, it run the Kleinberg’s greedy algorithm for one-step and go to step 1
![Page 18: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/18.jpg)
Case 1: Direct link between source ‘s’ and target ‘t’
![Page 19: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/19.jpg)
Case 2: Source ‘s’ and target ‘t’ have common node(s)
![Page 20: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/20.jpg)
Case 3: There is a link between neighbours of source ‘s’ and the neighbours of target ‘t’
![Page 21: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/21.jpg)
Case 4: None of above cases. Find the intermediate node source ‘s’, closest to target ‘t’ and do the above steps again in next iteration
![Page 22: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/22.jpg)
New Comparison results
• given small-world network, the improved Kleinberg’s greedy algorithm returns the path with fewer number of hops compared to the Kleinberg’s greedy algorithm.
• Because in each iteration the algorithm is checking special cases; it performs over a longer time compared to the Kleinberg’s greedy algorithm.
• improving the Kleinberg’s greedy algorithm compare to Dijkstra’s alg
• minimum number of hops• shorter time
• By increasing the number of nodes and the rewiring probability, the chance of finding a match among four special cases within the graph becomes higher.
![Page 23: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/23.jpg)
Path weight
![Page 24: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/24.jpg)
Visited hops
![Page 25: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/25.jpg)
Delivery time
![Page 26: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/26.jpg)
Conclusions Greedy algorithms are easy to invent and implement.
Greedy algorithms mostly (but not always) fail to find the globally optimal solution, because they usually do not operate exhaustively on all the data.
They can make commitments to certain choices too early which prevent them from finding the best overall solution later
Greedy algorithms usually progress in a top-down fashion, making one greedy choice after another, reducing each problem to a smaller one.
It is also impossible to find a set of optimal solutions with a greedy algorithm. The Kleinberg’s greedy algorithm is focused on visiting a minimum number of hops in a shorter time. It does not guarantee to return the optimal path at the same time.
improved Kleinberg’s greedy algorithm tried to reduce the number of visited nodes by checking special cases in each
iteration
it checks the special cases, the time of finding such a path is increased
Finding an optimal path is proportional to the cost associated with it
Finding an appropriate algorithm for a network depends on usage of that network
![Page 27: Routing in Small-World Networks](https://reader034.fdocument.pub/reader034/viewer/2022051020/56815ed7550346895dcd7246/html5/thumbnails/27.jpg)
Thank you very much for your attention