Available Online at www.ijpret.com 938
INTERNATIONAL JOURNAL OF PURE AND
APPLIED RESEARCH IN ENGINEERING AND
TECHNOLOGY
A PATH FOR HORIZING YOUR INNOVATIVE WORK
A STUDY ON SHORTEST PATH ALGORITHM BASED ON DIJKSTRA’S AND BELLMAN
FORD ALGORITHM
DIPTEE WARHADE, DR. A. S. ALVI
Department Of Computer Science and Engineering, Prof. Ram Meghe Institute of Technology and Research, Amravati (India) Accepted Date: 05/03/2015; Published Date: 01/05/2015
Abstract: The shortest path is an important research topic in graph theory. The shortest path algorithm in the graph theory includes both the one between the particular node pair and the one among all the nodes. Aiming at the shortcomings of traditional algorithm, this paper has proposed an optimization method which has mainly improved the nodes selection of the shortest path and data storage structure and organization. Through comparison and analysis, the improved algorithm has been obtained, which has reduced the storage space, improved the operational efficiency and has a better applicability in the shortest path calculation.
Keywords: Bellman Ford, Dijkstra’s Algorithm
Corresponding Author: MISS. DIPTEE WARHADE
Access Online On:
www.ijpret.com
How to Cite This Article:
Available Online at www.ijpret.com 939 INTRODUCTION
The shortest path is an important research topic in graph theory. The shortest path algorithm in the graph theory includes both the one between the particular node pair and the one among all the nodes [1]. The former can be used to rationalize the transportation decision-making analysis, that Dijkstra algorithm is a classical algorithm for solving such problems, while the latter is for the selection of a reasonable distribution center. A well-known shortest path algorithm is Dijkstra's, also called "label algorithm". We need to solve many shortest path problems [2].
For example, in the process of production, to complete production tasks quickly and with efficacy, we should find the shortest path to complete each production task; in the process of management, to make large gains with minimal cost, we should develop rational plans; in the existing transport network, to transport large quantity of goods with minimal costs, we should arrange for reasonable transport path. All these questions can be summed up as the “shortest path problem” [3].
The Bellman-Ford algorithm uses relaxation to find single source shortest paths on directed graphs. And it is also contain negative edges. The algorithm will also detect if there are any negative weight cycles (such that there is no solution). If talking about distances on a map, there is no any negative distance. The basic structure of bellman-ford algorithm is similar to Dijkstra algorithm. It relaxes all the edges, and does this |V| - 1 time, where |V| is the number of vertices in the graph [2]. The cost of a path is the sum of edge weights in the path [4].
I. Literature Review
A. Description of Algorithm:
Available Online at www.ijpret.com 940 Dijkstra (G,s)
For each vertex v in graph G
{
D[s] = 0
D[v] = ∞
}
Initialize visited vertices S in graph G
S = null
Initialize Queue Q as set of all nodes in graph G
Q = all vertices V
While Q ≠ ∅
{
u=mind (Graph G, distance d)
Visited vertices S = S+u
for each vertex v in neighbor[u]
{
If d[v] > d[u] + w(u,v)
Then d[v] = d[u] + w (u,v)
}
Return d
Available Online at www.ijpret.com 941 1) Why It Doesn’t Work for Negative-Weight Edges
Dijkstra’s algorithm is based on the greedy method. It adds vertices by increasing distance.
If a node with a negative incident edge were to be added late to the cloud, it could mess up distances for vertices already in the cloud.
Bellman–Ford algorithm: It Works even with negative-weight edges must assume directed edges (for otherwise we would have negative-weight cycles).Negative edge weights are found in various applications of graphs, hence the usefulness of this algorithm. If a graph contains a "negative cycle" (i.e. a cycle whose edges sum to a negative value) that is reachable from the source, then there is no cheapest path: any path can be made cheaper by one more walk
around the negative cycle. In such a case, the Bellman–Ford algorithm can detect negative cycles and report their existence.
Initialize graph
Bellman-ford (vertices V, edges E, source vertex srv)
For each v in V
{
If v = srvthan d[v] =0
Else d[v] = infinite
Cost[v] = null
}
Relaxation of edges
For i form 1 to IVI-1
{
For each [u,v] with w in E
{
Available Online at www.ijpret.com 942 {
If d[v]=d[u]+w
Cost[v] =u
}
}
}[4]
Checking negative cycle
For each e(u ,v) with weight winE
{
If d[u]+w,d[v]
{
Print “graph has negative cycle”
}
}[4]
II. Comparisons Between Dijkstra's and Bellman Fords Algorithm
Both of these functions solve the single source shortest path problem. The primary difference in the function of the two algorithms is that Dijkstra's algorithm cannont handle negative edge weights. Bellman-Ford's algorithm can handle some edges with negative weight. It must be remembered, however, that if there is a negative cycle there is no shortest path.
For Single source shortest paths:
Dijkstra Algorithm - No negative weight allowed - O(E+Vlg(V))
Bellman ford Algorithm - Negative weight is allowed. But if a negative cycle is present Bellman ford will detect the -ve cycle - O(VE)
Available Online at www.ijpret.com 943 All pairs shortest paths:
Dijkstra Algorithm - No negative weight allowed - O(VE + V^2lg(V))
Bellman ford Algorithm - O(V^2E)
Matrix chain multiplication method -complexity same as Bellman ford algorithm.
III. Application of Algorithm
1) Application of Bellman Ford’s Algorithm
A distributed variant of the Bellman Ford algorithm is used in distance vector
Routing protocols.
Saving network resource
Routing Information Protocol (RIP)
Two metric routing problem
2) Application of Dijkstra’s Algorithm
Robot path planning.
Logistics Distribution Lines.
Link-state routing protocols.
OSPF(Open Shortest Path First).
IS-IS (Intermediate System to Intermediate System).
IV. Disadvantage of Algorithm
1) Bellman Ford’s Algorithm
Available Online at www.ijpret.com 944 2) Dijkstra’s Algorithm
The major disadvantage of the algorithm is the fact that it does a blind search there by consuming a lot of time waste of necessary resources.
It cannot handle negative edges. This leads to acyclic graphs and most often cannot obtain the right shortest path.
V. Similarity and Dissimilarity of Dijkstra Algorithm and Bellman Ford Algorithm
Bellman Ford and Dijkstra both algorithms are used to find the shortest path of a network where the value of the shortest path may vary according to the situation of the network. We can solve cost and n length problems using this both algorithm. Dijkstra algorithm is faster than bellman ford algorithm. Bellman Ford algorithm is not suggested for larger networks. And in GIS, there are lots of data so we cannot suggest this algorithm. Bellman ford algorithm work in negative weighted graph and also detect negative cycle [4].
VI. CONCLUSIONS
In this paper, after studying these two algorithms we concluded that Dijkstra’s algorithm is faster and better than Bellman Ford algorithm. Thus, Bellman–Ford is usually used only when there are negative edge weights. The small difference in these two algorithms isthat Dijkstra's algorithm cannot handle negative edge weights. Bellman-Ford's algorithm can handle some edges with negative weight. It must be remembered, however, that if there is a negative cycle there is no shortest path.
REFERENCES
1. Jinhao Lu and Chi Dong, Research of Shortest Path Algorithm Based on the Data Structure, 3rd International Conference on Software Engineering and Service Science (ICSESS), 2012 IEEE, 22-24 June 2012, pp. 108 - 110
2. Y. Cao, the shortest path algorithm in data structures, Journal of Yibin University, Vol. 6, 2007, pp.82 -84.
Available Online at www.ijpret.com 945 4. Thippeswamy. K, Hanumanthappa. J, and Dr. Manjaiah D. H., A Study on Contrast and Comparison between Bellman-Ford algorithm and Dijkstra’s algorithm In: National Conference on wireless Networks-09(NCOWN-2010), Dec 2014.