DOI QR코드

DOI QR Code

방향그래프의 점대점 최단경로 탐색 알고리즘

A Point-to-Point Shortest Path Search Algorithm for Digraph

  • 이상운 (강릉대학교 컴퓨터정보공학부 멀티미디어정보공학)
  • 발행 : 2007.12.25

초록

본 논문은 실시간 GPS 항법시스템에서 최단 경로를 탐색하는데 일반적으로 적용되고 있는 Dijkstra 알고리즘의 문제점을 개선한 알고리즘을 제안하였다. Dijkstra 알고리즘은 출발 노드부터 시작하여 그래프의 모든 노드에 대한 최단 경로를 결정하기 때문에 일반적으로 노드의 수 - 1회를 수행해야 하며, 알고리즘 수행에 많은 메모리가 요구된다. 따라서 Dijkstra 알고리즘은 복잡한 도시의 도로에서 목적지 까지 최단 경로를 탐색하여 실시간으로 정보를 제공하지 못할 수도 있다. 이러한 문제점을 해결하고자, 본 논문에서는 먼저 출발과 목적지 노드를 제외한 경로 노드들의 최단 경로 (유입과 유출 최소 가중치 호 선택)를 결정하고, 출발 노드부터 시작하여 노드 유출 호들에 대해 경로 노드의 최단 경로와 일치하는 호들을 모두 선택하는 방식으로 한번에 다수의 노드들을 탐색하는 방법을 택하였다. 14개의 다양한 방향 그래프에 제안된 알고리즘을 적용한 결과 모두 최단 경로를 탐색하는데 성공하였다. 또한, 수행 속도 측면에서 Dijkstra 알고리즘보다 2배에서 3배 정도 빠른 결과를 얻었으며, 알고리즘 수행에 필요한 메모리도 적게 요구되었다.

This paper suggests an algorithm that improves the disadvantages of the Dijkstra algorithm that is commonly used in GPS navigation system, searching for the shortest path. Dijkstra algorithm, first of all, requires much memory for the performance of the algorithm. It has to carry out number of node minus 1, since it determines the shortest path from all the nodes in the graph, starting from the first node. Therefore, Dijkstra algorithm might not be able to provide the information on every second, searching for the shortest path between the roads of the congested city and the destination. In order to solve these problems, this paper chooses a method of searching a number of nodes at once by means of choosing the shortest path of all the path nodes (select of minimum weight arc in-degree and out-degree), excluding the departure and destination nodes, and of choosing all the arcs that coincide with the shortest path of the path nodes, from all the node outgoing arcs starting from the departure node. On applying the suggested algorithm to 14 various digraphs, we succeeded to search the shortest path. In addition, the result was obtained at the speed of 2 to 3 times faster than that of Dijkstra algorithm, and the memory required was less than that of Dijkstra algorithm.

키워드

참고문헌

  1. M. Abboud, L. Mariya, A. Jaoude, and Z. Kerbage, 'Real Time GPS Navigation System,' 3rd FEA Student Conference, Department of Electrical and Computer Engineering, American University of Beirut, 2004
  2. T. H. Cormen, C. E. Leserson, R. L. Rivest, and C. Stein, 'Introduction to Algorithms,' 2nd Edition, MIT Press and McGraw-Hill, 2001
  3. E. W. Dijkstra, 'A Note on Two Problems in Connection with Graphs,' Numerische Mathematik, Vol. 1, pp. 269-271, 1959 https://doi.org/10.1007/BF01386390
  4. Wikipedia, 'Dijkstra's Algorithm,' http://en.wikipedia.org/wiki/Dijkstra_algorithm, Wikimedia Foundation Inc., 2007
  5. J. Misra, 'A Walk Over the Shortest Path: Dijkstra's Algorithm Viewed as Fixed-Point Computation,' Department of Computer Science, University of Texas at Austin, USA, 2000
  6. Y. T. Lim and H. M. Kim, 'A Shortest Path Algorithm for Real Road Network Based on Path Overlap,' Department of Civil Engineering, Institute of Transportation Studies, University of California, Irvine, USA, http://www.its.uci.edu/hyunmyuk/library/ (2005) 20EAST(k-path).pdf, 2005
  7. F. B. Zhan, 'Three Fatest Shortest Path Algorithms on Real Road Networks: Data Structures and Procedures,' Journal of Geographic Informaton and Decision Analysis, Vol. 1, No.1, pp. 69-82, 1997
  8. R. C. Prim, 'Shortest Connection Networks and Some Generalisations,' Bell System Technical Journal, Vol. 36, pp. 1389-1401, 1957 https://doi.org/10.1002/j.1538-7305.1957.tb01515.x
  9. M. Llewellyn, 'COP 3503: Computer Science II Introduction to Graphs,' http://www.cs.ucf.edu/ courses/cop3503/ summer04, 2004
  10. O. Boruvka, 'O Jistem Problemu Minimalnim,' Prace Mor. Prrodved. Spol. V Brne (Acta Societ. Natur. Moravicae), Vol. III, No.3, pp. 37-58, 1926
  11. J. Nesetril, E. Milkova, and H. Nesetrilova, 'Otakar Boruvka on Minimum Spanning Tree Problem (Translation of the both 1926 Papers, Comments, History),' DMATH: Discrete Mathematics, Vol. 233, 2001
  12. WWL. Chen, 'Discrete Mathematics,' Department of Mathematics, Division of ICS, Macquarie University, Australia, http://www.maths.mq.edu.au/~wchen/lndmfolder/lndm.html, 2003
  13. K. Ikeda, 'Mathematical Programming,' Dept. Information Science and Intelligent Systems, The University of Tokushima, http://www-b2.is.tokushima-u.ac.jp/~ikeda/suuri/maxflow/MaxflowApp. shtml. 2005
  14. R. Wenger, 'CIS 780: Analysis of Algorithms,' http://www.cse.ohio-state.edu/~wenger/cis780/shortest_path.pdf, 2004
  15. S. Boyd, 'Applications of Combinational Optimization: Optimal Paths and Trees,' http://www.site.uottawa.ca/~sylvia/csi5166web/5166tespg26to61.pdf, School of Information Technology and Engineering (SITE), University of Ottawa, Canada, 2005
  16. J. B. Orlin, 'Network Optimization: Dijkstra's Algorithm for the Shortest Path Problem,' http://www.mit.edu/~jorlin/15.082/Lectures/05Dijkstra.ppt, MIT, 2003
  17. R. Coleman, 'CS 221: Data Structures,' Computer Science, University of Alabama in Huntsville, 2002
  18. D. Walker, 'COS 226: Algorithms and Data Structures,' Department of Computer Science, Princeton University, http://www.cs.princeton.edu/ courses/ archi ve/fall04/ cos226/lectures/ shortest-path.pdf, 2004
  19. K. S. Lee, 'Shortest Path Algorithm' http://www.geocities.com/lekinsengl/