논문 링크 : https://arxiv.org/pdf/2504.17033
결정론적 알고리즘인 다익스트라 알고리즘의 시간복잡도보다 2/3수준의 시간 복잡도를 가지는 알고리즘을 중국에서 발견했습니다.
이것이 취업을 위한 코딩 테스트다 with 파이썬 | 나동빈 - 교보문고
이것이 취업을 위한 코딩 테스트다 with 파이썬 | IT 취준생이라면 누구나 입사하고 싶은 카카오ㆍ삼성전자ㆍ네이버ㆍ라인! 취업의 성공 열쇠는 알고리즘 인터뷰에 있다!IT 취준생이라면 누구나
product.kyobobook.co.kr
논문 요약
이 논문은 방향성이 있는 그래프에 대해 단일 출발점 최단 경로 문제(SSSP, Single-Source Shortest Paths)를 해결하는 새로운 알고리즘을 제시합니다. 이 알고리즘은 기존의 다익스트라 알고리즘의 시간 복잡도인 O(m + n log n)를 깨는 최초의 결정론적 알고리즘으로, 시간 복잡도를 O(m log^(2/3) n)으로 개선했습니다. 특히 희소 그래프(sparse graph)에서 뛰어난 성능을 보입니다.
| 알고리즘 | 시간 복잡도 | 특징 |
| 다익스트라 알고리즘 | 기본: O(V²)우선순위 큐 사용: O(E log V) | - 가중치 그래프에서 한 노드 → 모든 노드 최단 거리 탐색- 음수 가중치 간선 처리 불가 |
| 벨만-포드 알고리즘 | O(VE) | - 음수 가중치 간선 처리 가능- 한 노드 → 모든 노드 최단 거리 탐색 |
| 플로이드-워셜 알고리즘 | O(V³) | - 모든 정점 쌍 최단 거리 탐색- 음수 가중치 간선 가능 (단, 음수 사이클 존재 시 불가) |
| 신규 결정론적 SSSP 알고리즘 | O(m log^(2/3) n) (m=간선 수, n=정점 수) | - 최초로 다익스트라의 O(m + n log n) 장벽을 깬 결정론적 알고리즘- 분할 정복 + 벨만-포드 아이디어 결합- “프런티어(frontier)” 및 “피벗(pivot)” 집합 활용- 희소 그래프(sparse graph)에서 특히 효율적- 비교·덧셈 모델 기반 |
주요 내용
기존 다익스트라 알고리즘은 우선순위 큐를 이용해 정점들을 거리 순으로 정렬하는데, 이 과정에서 O(n log n) 시간 이상의 복잡도가 불가피하다는 "정렬 장벽"이 존재합니다.
본 논문에서는 다익스트라 알고리즘의 이 한계를 극복하기 위해 분할 정복과 벨만-포드 알고리즘을 결합한 새로운 방법을 고안했습니다.
"프런티어(frontier)"라는 정점 집합을 관리하면서, 이 집합의 크기를 로그 함수에 의해 제한하여 전체 계산량을 줄입니다.
핵심은 "피벗(pivot)" 집합을 찾아 그 집합만을 대상으로 재귀적으로 문제를 해결하는 것이며, 이를 통해 정점의 완전한 거리를 빠르게 계산할 수 있습니다.
알고리즘은 비교-덧셈 모델(comparison-addition model) 내에서 동작하며, 모든 연산은 덧셈과 비교만을 사용합니다.
이 알고리즘은 기존의 다익스트라 알고리즘이 요구하는 정점의 완전한 순서를 보장하지 않으면서도 최단 거리 계산을 더 빠르게 수행합니다.
시간 복잡도 분석과 정확성 증명을 포함해 이 알고리즘이 이론적으로 우수함을 보였습니다.
어떻게 발견되었는가?
🧭 발견의 배경과 맥락
1. 40년 넘게 풀리지 않은 난제
• 단일 출발점 최단경로(SSSP)는 그래프 이론에서 가장 기본적이면서도 널리 쓰이는 문제.
• 디익스트라의 O(m + n \log n)은 1980년대 이후 사실상 “최적”이라고 여겨졌음.
• 특히 그 안의 \log n (정렬 비용) 항은 “정렬 장벽 (sorting barrier)” 으로 불렸고, 많은 학자들이 도전했지만 진전이 거의 없었음.
2. 선행 연구들의 축적
• 2010년대: “Hop sets”라는 개념이 점점 다듬어짐 → 그래프를 압축(skeleton)해서 “멀리 있는 노드도 짧은 단계(hop)로 접근” 가능하게 만드는 보조 간선 기법.
• 2020년대 초반: Hop set, Spanner, Graph sparsification 같은 아이디어들이 빠르게 발전하면서, 정렬을 완전히 대체할 수 있지 않을까 하는 관점이 점점 현실성이 생김.
• 또한, 무작위화(randomization)를 사용하면 O(m \log \log n) 같은 성능을 내는 알고리즘도 연구됐지만, 결정적(deterministic) 방법은 여전히 뚫지 못했음.
3. 돌파구:
“완전 정렬이 필요 없었다”
• 연구자들은 “모든 노드를 정확히 정렬해야 한다”는 전제를 의심하기 시작했음.
• 필요한 순서 관계(partial order) 만 유지하면 충분하다는 것을 증명할 수 있었음.
• 이 아이디어를 Hop set + Skeleton Graph와 결합 → 정렬 부담을 \log^{2/3} n 수준까지 줄이는 데 성공.
기여
방향 그래프 SSSP 문제에서 O(m + n log n) 정렬 장벽을 결정론적 알고리즘으로 깨는 최초 사례입니다.
희소 그래프 및 실수 가중치를 갖는 방향 그래프에 대해 최적보다 더 빠른 알고리즘을 제시했습니다.
기존 다익스트라 알고리즘과 벨만-포드 알고리즘의 장점을 결합한 새로운 분할 정복 기법을 도입했습니다.
간단히 말해, 이 논문은 단일 출발점 최단 경로 문제에서 전통적 알고리즘의 시간복잡도 한계를 깬 새로운 결정론적 알고리즘을 제안하고, 그 알고리즘의 설계, 분석, 그리고 시간복잡도 개선 효과를 상세히 설명하고 있습니다.
'코딩테스트 > 알고리즘 개념정리' 카테고리의 다른 글
| 그래프(Graph) 코드 구현 및 이해 (0) | 2021.04.07 |
|---|---|
| 백트래킹(BackTracking, DFS/BFS), N과M(1) (0) | 2021.03.30 |
| 플로이드 워셜 알고리즘 (0) | 2020.12.01 |
| 그래프 이론(싸이클, 최소신장트리, 위상 정렬) (1) | 2020.11.25 |
| DFS/BFS 개념정리 (0) | 2020.11.04 |