모든 정점 쌍 최단 경로를 가속화하는 새로운 알고리즘
초록
이 논문은 비음수 가중치의 방향 그래프에서, 최단 경로에 실제로 사용되는 간선 수 $m^$와 임의의 단일 출발점 최단 경로 알고리즘 $\psi$의 실행 시간을 이용해 전체 정점 쌍 최단 경로(APSP)를 $\mathcal{O}(m^ n + m \log n + n,T_\psi(m^,n))$ 시간에 해결한다. 또한 Johnson 재가중치와 위상 정렬을 결합해 가중치가 임의이지만 사이클이 없는 그래프(DAG)에서는 $\mathcal{O}(m^ n + m \log n)$ 시간 복잡도를 달성한다. 마지막으로 최단 경로 정렬 문제와 SSSP 복잡도 사이의 연관성을 제시한다.
상세 분석
본 논문은 기존의 “n 번 SSSP 알고리즘을 단순히 반복한다”는 접근법이 $\mathcal{O}(n,T_\psi(m,n))$ 라는 비효율적인 상한을 갖는 점에 주목한다. 여기서 $T_\psi(m,n)$은 임의의 SSSP 알고리즘 $\psi$가 $m$개의 간선과 $n$개의 정점에 대해 수행되는 시간이다. 저자들은 모든 정점 쌍에 대해 최단 경로를 구할 때 실제로 사용되는 간선의 총합을 $m^*$ 로 정의하고, 이 값을 이용해 전체 복잡도를 크게 낮출 수 있음을 보인다. 핵심 아이디어는 다음과 같다.
-
흐트러진 탐색 트리의 공유: 각 출발점 $s$에 대해 $\psi$를 실행하되, 이미 다른 출발점에서 탐색된 간선은 재탐색하지 않는다. 이는 Dijkstra와 같은 힙 기반 SSSP에서 “Relax” 연산이 발생하는 간선만을 기록하고, 이후 다른 실행에서 동일한 간선이 다시 Relax 될 경우 비용을 건너뛰는 방식으로 구현된다. 결과적으로 전체 실행 동안 Relax 되는 간선의 총 개수는 $m^*$ 로 제한된다.
-
우선순위 큐와 정렬 비용 분리: 각 SSSP 실행에서 힙 연산에 드는 $\mathcal{O}(m \log n)$ 비용을 전체에 대해 한 번만 수행하도록 설계한다. 구체적으로, 모든 정점에 대해 초기 거리값을 0으로 설정하고, 전체 그래프에 대해 한 번의 전역 정렬(또는 힙 구축)을 수행한 뒤, 각 출발점마다 해당 정렬된 순서를 재활용한다. 이렇게 하면 $n$ 번의 힙 삽입·삭제 연산이 아니라 $m \log n$ 수준의 정렬 비용만 발생한다.
-
Johnson 재가중치와 위상 정렬의 결합: 가중치가 음수일 수 있는 DAG에 대해서는 Johnson의 재가중치 기법을 적용해 모든 간선 가중치를 비음수로 만든 뒤, 위상 정렬을 이용해 선형 시간 SSSP(동적 프로그래밍) 알고리즘을 실행한다. 이때도 $m^$ 를 이용해 실제 사용되는 간선만을 고려하면 전체 복잡도는 $\mathcal{O}(m^ n + m \log n)$ 로 감소한다.
-
정렬 문제와 SSSP의 연관성: 저자들은 “Shortest‑Path‑Sorting”이라는 문제를 정의한다. 이는 모든 정점 쌍에 대해 최단 거리 값을 오름차순으로 정렬하는 작업이며, 이 문제를 $O(m^* n)$ 시간 안에 해결할 수 있으면 SSSP 알고리즘 $\psi$의 복잡도와 동등한 하한을 얻을 수 있음을 보인다. 즉, SSSP와 정렬 문제 사이에 복잡도 동형성이 존재한다는 점을 강조한다.
이러한 설계는 $\psi$를 블랙박스로 취급하기 때문에, 기존에 알려진 Dijkstra, Fibonacci 힙 기반 구현, 혹은 최신 전역 최적화 SSSP 알고리즘을 그대로 삽입해도 전체 APSP 알고리즘이 자동으로 이득을 얻는다. 특히 $m^* \ll m$ 인 희소 그래프(예: 트리, 거의 트리 구조)에서는 $m^* n$ 항이 지배적이므로 기존 $n,T_\psi(m,n)$ 대비 실질적인 속도 향상이 기대된다. 또한, $m^*$ 를 사전에 정확히 알 필요는 없으며, 알고리즘 실행 중에 동적으로 추적하면서 필요에 따라 경로 트리를 축소할 수 있다.
이 논문의 기여는 크게 네 가지로 요약할 수 있다. 첫째, APSP 복잡도에 $m^*$ 라는 새로운 파라미터를 도입해 이론적 상한을 크게 낮췄다. 둘째, 기존 SSSP 알고리즘을 그대로 재사용하면서도 전체 실행 비용을 $n$ 배가 아닌 $1$ 배에 가깝게 만든다. 셋째, Johnson 재가중치와 위상 정렬을 결합해 DAG에 대한 최적화된 APSP 알고리즘을 제시한다. 넷째, 최단 경로 정렬 문제와 SSSP 사이의 복잡도 관계를 밝혀, 향후 알고리즘 설계에 새로운 관점을 제공한다.