• 제목/요약/키워드: 점대점 최단경로 탐색

검색결과 4건 처리시간 0.016초

최소신장트리를 이용한 무방향 그래프의 점대점 최단경로 탐색 알고리즘 (A Point-to-Point Shortest Path Search Algorithm in an Undirected Graph Using Minimum Spanning Tree)

  • 이상운
    • 한국컴퓨터정보학회논문지
    • /
    • 제19권7호
    • /
    • pp.103-111
    • /
    • 2014
  • 본 논문은 실시간 GPS 항법시스템에서 최단경로 탐색에 일반적으로 적용되고 있는 Dijkstra 알고리즘을 양방향 통행로(무방향그래프)로만 구성된 도로에 적용하고 문제점을 개선한 알고리즘을 제안하였다. Dijkstra 알고리즘은 방향 그래프에서 출발 노드부터 시작하여 그래프의 모든 노드에 대한 최단경로를 결정하기 때문에 알고리즘 수행에 많은 메모리가 요구되어 실시간으로 정보를 제공하지 못할 수도 있다. 이러한 문제점을 해결하고자, 본 논문에서는 무방향 그래프에 적합하도록 출발과 목적지 정점을 제외한 경로 정점들에 대해 최단경로를 설정하고, 출발 정점부터 시작하여 정점 유출 간선들에 대해 최단경로 설정 간선들과 일치하는 간선들을 모두 선택하는 방식으로 한 번에 다수의 정점들을 탐색하는 방법을 택하였다. 9개의 다양한 무방향 그래프에 제안된 알고리즘을 적용한 결과 모두 최단경로를 탐색하는데 성공하였다. 또한, 수행 속도 측면에서 Dijkstra 알고리즘보다 약 60%를 단축시키는 효과를 얻었으며, 알고리즘 수행에 필요한 메모리도 월등히 적게 요구되었다.

방향그래프의 점대점 최단경로 탐색 알고리즘 (A Point-to-Point Shortest Path Search Algorithm for Digraph)

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

주행시간 기반 실시간 점대점 최단경로 탐색 알고리즘 (A Real-time Point-to-Point Shortest Path Search Algorithm Based on Traveling Time)

  • 이상운
    • 한국인터넷방송통신학회논문지
    • /
    • 제12권4호
    • /
    • pp.131-140
    • /
    • 2012
  • 네비게이션의 최단 경로 탐색 알고리즘은 일반적으로 Dijkstra 알고리즘에 기반을 두고 있으며, 가중치로 단지 길이 (거리) 만을 고려하고 있다. 거리 기반의 Dijkstra 알고리즘은 출발 노드부터 시작하여 그래프의 모든 노드에 대한 최단 경로를 결정하기 때문에 일반적으로 노드의 수 - 1회를 수행해야 하며, 알고리즘 수행에 많은 메모리가 요구된다. 또한, 거리에만 기반하기 때문에 전방에 차량사고로 인해 병목현상이 발생하였을 때 우회도로를 탐색하는 기능이 없어 항상 동일한 경로만을 탐색한다. 이러한 문제점을 해결하고자, 본 논문은 도로 등급 (고속도로, 국도, 지방도 등)을 고려하지 않고, 속도 기준 (원활, 지체 서행, 정체, 사고 통제 등)도 적용하지 않으며, 단지 도로별 주행시간 (주행속도 ${\times}$ 거리)을 고려한다. 이는 사고, 지체, 공사 등으로 인해 동일한 거리의 도로도 다른 시간이 소요되는 현실성을 반영하여 우회도로를 탐색할 수 있는 장점이 있다. 제안된 알고리즘은 특정 도로에서 사고가 발생하였다고 가정한 경우에도 도로의 통행속도를 실시간으로 반영함으로서 돌발지점을 우회하여 목적지 까지 최단시간 내에 도달 할 수 있음을 증명하였다.

레벨 노드 선택 기반 점대점 최단경로 알고리즘 (A Point-to-Point Shortest Path Algorithm Based on Level Node Selection)

  • 이상운
    • 한국인터넷방송통신학회논문지
    • /
    • 제12권1호
    • /
    • pp.133-140
    • /
    • 2012
  • 본 논문은 실시간 GPS 항법시스템에서 최단경로 탐색에 일반적으로 적용되고 있는 Dijkstra 알고리즘의 수행 복잡도 $O(n^2)$을 선형인 O(n)으로 단축시킬 수 있는 알고리즘을 제안하였다. Dijkstra 알고리즘은 출발 노드부터 시작하여 모든 노드를 방문하여 최소 경로 길이를 계산한다. 따라서 "노드 수 -1"회를 수행하야 하기 때문에 복잡한 도로로 구성된 도시에서 실시간으로 최단경로 정보를 제공할 수 없는 경우도 발생한다. 제안된 알고리즘은 먼저, 그래프를 트리로, 출발 노드를 근 노드로 치환하여 트리의 각 레벨에 해당하는 외부근방 (Out-Neighbourhood) 노드 집합을 구성하고, 외부근방간과 외부근방 내부의 최소 경로 길이를 계산하는 방법을 적용하였다. 제안된 알고리즘을 양방향과 일방통행로로 구성된 복잡한 2개 그래프에 대해 알고리즘을 적용한 결과 Dijkstra 알고리즘과 동일하게 모든 노드의 최소 경로 길이를 얻는데 성공하였다. 또한, 알고리즘 수행속도를 "노드 수 -1"회에서 "레벨 수 -1"회로 약 4배 정도 단축시키는 효과를 얻었다. 제안된 알고리즘을 GPS 실시간 시스템에 적용하여 러시아워나 차량 사고로 인한 병목현상이 발생하였을 때, 최단 경로 우회 도로 정보를 실시간으로 제공할 수 있다면 운전자의 만족도를 크기 향상시킬 수 있을 것이다.