초록
Dijkstar 알고리즘에 기초하는 최단경로 탐색 알고리즘의 탐색속도 향상에 관한 많은 연구들이 지속되어 왔다. 그 대표적인 알고리즘이 $A^*$ 알고리즘이다. 빠른 탐색속도는 $A^*$ 알고리즘의 장점이지만, 복잡하고 불규칙한 가로 네트워크에서 실제의 최단경로 탐색이 실패할 확률이 높다. 탐색실패란 목적노드를 탐색하지 못한 경우와 최단경로가 아닌 경로를 구축하는 것을 의미한다. 본 연구는 $A^*$ 알고리즘의 최단경로 탐색 성공확률을 높이기 위한 방법으로 일차적으로 출발노드와 목적노드 간 연결 관계를 정리하고, 목적노드에서 출발노드까지 정리된 경로에 따라 $A^*$ 알고리즘을 역으로 적용한 것이다. 이 방법은 네트워크 및 경로 부하량 특성에 따라 실제의 최단경로가 아닌 경로를 최단경로로 구축하는 경우가 발생할 수는 있으나, 경로구축의 완전한 실패는 발생시키지 않는다. 이 방법을 실제 복잡한 네트워크에 적용하여 유효성을 검증한 결과, 통상적인 $A^*$ 알고리즘의 적용보다 탐색 소요시간은 약간 증가하나, 정확성은 상당히 높아지는 것으로 분석되었다.
The studies on the shortest path algorithms based on Dijkstra algorithm has been done continuously to decrease the time for searching. $A^*$ algorithm is the most represented one. Although fast searching speed is the major point of $A^*$ algorithm, there are high rates of failing in search of the shortest path, because of complex and irregular networks. The failure of the search means that it either did not find the target node, or found the shortest path, witch is not true. This study proposed $A^*$ algorithm applying method that can reduce searching failure rates, preferentially organizing the relations between the starting node and the targeting node, and appling it in reverse according to the organized path. This proposed method may not build exactly the shortest path, but the entire failure in search of th path would not occur. Following the developed algorithm tested in a real complex networks, it revealed that this algorithm increases the amount of time than the usual $A^*$ algorithm, but the accuracy rates of the shortest paths built is very high.