| Literature DB >> 24010024 |
Rafael Rodríguez-Puente1, Manuel S Lazo-Cortés.
Abstract
The use of Geographic Information Systems has increased considerably since the eighties and nineties. As one of their most demanding applications we can mention shortest paths search. Several studies about shortest path search show the feasibility of using graphs for this purpose. Dijkstra's algorithm is one of the classic shortest path search algorithms. This algorithm is not well suited for shortest path search in large graphs. This is the reason why various modifications to Dijkstra's algorithm have been proposed by several authors using heuristics to reduce the run time of shortest path search. One of the most used heuristic algorithms is the A* algorithm, the main goal is to reduce the run time by reducing the search space. This article proposes a modification of Dijkstra's shortest path search algorithm in reduced graphs. It shows that the cost of the path found in this work, is equal to the cost of the path found using Dijkstra's algorithm in the original graph. The results of finding the shortest path, applying the proposed algorithm, Dijkstra's algorithm and A* algorithm, are compared. This comparison shows that, by applying the approach proposed, it is possible to obtain the optimal path in a similar or even in less time than when using heuristic algorithms.Entities:
Keywords: Shortest path search algorithm; Geographic Information Systems; Network analysis; Reduced graphs; Dijkstra’s algorithm
Year: 2013 PMID: 24010024 PMCID: PMC3755817 DOI: 10.1186/2193-1801-2-291
Source DB: PubMed Journal: Springerplus ISSN: 2193-1801
Figure 1Example of partition refinement.
Figure 2Two graph examples: (a) is a graph and (b) is a reduced graph from (a).
Figure 3Rewrite rule example. On the left side is the graph G = ({v}, {}), on the right side is the graph G = ({v1, v2, v3}, {(v1, v2), (v2, v1), (v2, v3)}) and on the bottom is the embedding information ψ.
Temporal and spatial complexity of Dijkstra, A* and MDijkstra algorithms
| Algorithm | Temporal complexity | Temporal complexity (using Heap data structure) | Spatial complexity |
|---|---|---|---|
| Dijkstra | |||
| A* | |||
| MDijkstra |
Time of shortest path search with Dijkstra’s and A* algorithms in two original graphs (,) and time of shortest path search in four reduced graphs with the proposed approach
| Graph | Algorithm | NVa | Time (seconds) | Optimal path |
|---|---|---|---|---|
| Dijkstra | 41810 | 0.6160 | yes | |
| A* (h=0) | 0.4938 | yes | ||
| A* (h=Euclidean distance) | 0.0200 | no | ||
| Algorithm 3 (MDijkstra) | 250 | 0.0036 | yes | |
| Algorithm 3 (MDijkstra) | 1826 | 0.0265 | yes | |
| Dijkstra | 149756 | 3.0249 | yes | |
| A* (h=0) | 2.2108 | yes | ||
| A* (h=Euclidean distance) | 0.1011 | no | ||
| Algorithm 3 (MDijkstra) | 765 | 0.0193 | yes | |
| Algorithm 3 (MDijkstra) | 2617 | 0.0722 | yes |
aNumber of vertices of the graph.
Figure 4Reduced graph example. Vertices 1,2,3 and 4 are reduced vertices, the rest are unreduced ones.