Lossless Derandomization for Undirected Single-Source Shortest Paths and Approximate Distance Oracles
Yan
A common step in algorithms related to shortest paths in undirected graphs is that, we select a subset of vertices as centers, then grow a ball around each vertex until a center is reached. We want the balls to be as small as possible. A randomized algorithm can uniformly sample $r$ centers to achieve the optimal (expected) ball size of $Î(n/r)$. A folklore derandomization is to use the $O(\log n)$ approximation for the set cover problem in the hitting set version where we want to hit all the balls with the centers.
However, the extra $O(\log n)$ factor is sometimes too expensive. For example, the recent $O(m\sqrt{\log n\log\log n})$ undirected single-source shortest path algorithm [DMSY23] beats Dijkstra's algorithm in sparse graphs, but the folklore derandomization would make it dominated by Dijkstra's.
In this paper, we exploit the fact that the sizes of these balls can be adaptively chosen by the algorithm instead of fixed by the input. We propose a simple deterministic algorithm achieving the optimal ball size of $Î(n/r)$ on average. Furthermore, given any polynomially large cost function of the ball size, we can still achieve the optimal cost on average. It allows us to derandomize [DMSY23], resulting in a deterministic $O(m\sqrt{\log n\log\log n})$ algorithm for undirected single-source shortest path.
In addition, we show that the same technique can also be used to derandomize the seminal Thorup-Zwick approximate distance oracle [TZ05], also without any loss in the time/space complexity.
본 논문은 무방향 그래프 최단 경로 관련 알고리즘의 핵심 문제를 연구한다: 정점 부분집합을 중심점으로 선택하고 각 정점에서 중심점에 도달할 때까지 구를 확장할 때, 구의 크기를 최소화하는 방법. 무작위 알고리즘은 r개의 중심점을 균등하게 샘플링하여 최적 기댓값 구 크기 Θ(n/r)을 달성할 수 있지만, 전통적인 탈무작위화 방법은 추가적인 O(log n) 인수를 도입하여 일부 응용에서 비용이 과도하다. 본 논문은 구의 크기를 알고리즘이 적응적으로 선택할 수 있다는 특성을 활용하여, 평균적 의미에서 최적 구 크기 Θ(n/r)을 달성하는 간단한 결정론적 알고리즘을 제시한다. 이는 임의의 다항식 크기 비용 함수로 확장 가능하다. 이 기법은 DMSY23의 O(m√(log n log log n)) 단일 소스 최단 경로 알고리즘과 고전적인 Thorup-Zwick 근사 거리 오라클의 탈무작위화에 성공적으로 적용되며, 시간/공간 복잡도 손실이 없다.
Algorithm 1: 확장 가능한 구 타격
입력: 정점 수 n, 구 수 m, 목표 중심 수 r, 비용 매개변수 p
출력: 모든 구를 타격하는 최대 r개 중심
1: 모든 구를 공으로 초기화, 중심 미선택
2: b ← ⌈2^(p+2)n/r⌉
3: 각 구를 크기 min{b, n}까지 확장
4: while 모든 구가 타격되지 않음 do
5: m' ← 타격되지 않은 구 수
6: 타격되지 않은 구를 가장 많이 타격하는 새 중심을
반복 선택, 타격되지 않은 구 수 ≤ m'/2^(p+1)까지
7: b ← 2b
8: 각 타격되지 않은 구를 크기 min{b, n}까지 확장
9: return 선택된 모든 중심