๋ ผ๋ฌธ์ฝ๊ธฐ : All Pairs Almost Shortest Path
Back to : advanced-algorithms
์ด๋ฒ์ ๊ณต๋ถํด๋ณผ ๋ ผ๋ฌธ์ All Pairs Almost Shortest Path ์ ๋๋ค.
D. Dor, S. Halperin and U. Zwick, โAll pairs almost shortest paths,โ Proceedings of 37th Conference on Foundations of Computer Science, 1996, pp. 452-461, doi: 10.1109/SFCS.1996.548504.
1996๋ ๋ ๋ ผ๋ฌธ์ผ๋ก, ์ดํ์๋ ๋ง์ ๋ ผ๋ฌธ๋ค์ด ์ด ๋ ผ๋ฌธ์์ ์ ์ํ bound๋ฅผ ๋ ๋ด๋ฆฌ๋ ๋ฑ ๋ contribution์ด ์์ง๋ง, ์์ด๋์ด๊ฐ ํฅ๋ฏธ๋กญ๊ณ ์ดํ ๋ ผ๋ฌธ๋ค์ ๊ธฐ๋ฐ์ด ๋๋ ์ฐ๊ตฌ์ ๋๋ค.
์ฐ๋์ ๋ํด ์ธ๊ธํ๋ ์ดํ๋ ์ดํ 25๋ ๊ฐ ์๊ณ ๋ฆฌ์ฆ ๋ถ์ผ์ ๋ฐ์ ์ผ๋ก ํ์ฌ์๋ ๋ค๋ฅธ ๋ฌธ์ ๋ค์ ๋ณต์ก๋๊ฐ ์ฝ๊ฐ์ฉ ๋ฌ๋ผ์ก๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ทธ๋ํ ๋ฌธ์ ์์ ํํ ๊ทธ๋ ๋ฏ, $G = (V, E)$์ ๋ํด $\abs{V} = n$, $\abs{E} = m$์ผ๋ก ์ฐ๋, $O(V)$ ์ ๊ฐ์ด notation์ abuseํ๊ฒ ์ต๋๋ค.
Introduction
All Pairs Shortest Path (์ดํ APSP) ๋, ๋จ์ํ๊ฒ ์ด๋ค ๊ทธ๋ํ $G = (V, E)$ ๊ฐ ์ฃผ์ด์ก์ ๋, ๊ฐ vertex์์ ๋ค๋ฅธ vertex๋ก ๊ฐ๋ ์ต๋จ ๊ฒฝ๋ก์ ๊ธธ์ด๋ฅผ ๋ชจ๋ ์์๋ด๋ ๋ฌธ์ ์ ๋๋ค. ๋น์ฐํ๊ฒ๋, ์ค์ฉ์ ์ผ๋ก ๋ง์ ์ฐ์์ด ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ฐ์ ๋ ผ๋ฌธ์ ๋ฐ๋ผ, Undirected์ ๊ฒฝ์ฐ๋ง ๊ณ ๋ คํฉ๋๋ค. ์ด๋ ๊ฒฝ๋ก์ ๊ธธ์ด๋ ์ง๋๊ฐ๋ edge์ ๊ฐ์๊ฐ ๋ ๊ฒ์ ๋๋ค.
๋ค์ ์ธ ๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ์ด ๊ฐ์ฅ ๋จผ์ ๊ณ ๋ คํ ๋ง ํฉ๋๋ค.
- Floyd-Warshal Algorithm : $O(V^3)$ ์๊ฐ์ APSP๋ฅผ ํด๊ฒฐํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ๊ตฌํ์ด ๋งค์ฐ ์ฝ๊ณ , ๊ฐ๋จํ Dynamic programming์ ์๋ฆฌ๋ฅผ ๋ฐ๋ฅด๊ธฐ ๋๋ฌธ์ ์ดํดํ๊ธฐ ์ฝ์ต๋๋ค.
- Dijkstra (or any SSSP) : ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ํ ์ ์ ์ผ๋ก๋ถํฐ ๋ค๋ฅธ ๋ชจ๋ ์ ์ ๊น์ง์ ๊ฑฐ๋ฆฌ๋ฅผ ์ฐพ๋ Single Source Shortest Path (์ดํ SSSP) ๋ฌธ์ ๋ฅผ $O(E + V \log V)$ ๋๋ $O(E \log V)$ ์๊ฐ์ ํด๊ฒฐํฉ๋๋ค. (Fibonacci heap์ ์ฌ์ฉ ์ฌ๋ถ์ ๋ฐ๋ผ ๋ค๋ฆ) ์๋ช ํ๊ฒ, ๋ชจ๋ ์ ์ ์์ ์ถ๋ฐํ๋ ๊ฐ SSSP๋ฅผ ํด๊ฒฐํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๋ $O(VE + V^2 \log V)$ ์ ๋ ์๊ฐ์๋ APSP๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค. ์ด ๋ฐฉ๋ฒ์ sparse graph์ ๋ํด์๋ ๋งค์ฐ ๋น ๋ฅด์ง๋ง, dense graph์ ๋ํด์๋ $E = O(V^2)$ ๊น์ง ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ $O(V^3)$ ์ ๋๋ค.
- Matrix Multiplication : Floyd-Warshall์ inner loop์ด ํ๋ ฌ๊ณฑ์ ์ด๋ ๋น์ทํ๊ฒ ์๊ฒผ์์ ํ์ฉํฉ๋๋ค. ํ๋ ฌ๊ณฑ์ ๊ณผ ๊ฑฐ์ ๋น์ทํ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ๋ฉด, Adjacency matrix $A$๋ฅผ repeated squaringํ์ฌ ์ด ๋ฌธ์ ๋ฅผ $O(V^3 \log V)$ ์ ํ ์ ์์ต๋๋ค. ๋ ๋๋ ค ๋ณด์ด๋ ์ด ๋ฐฉ๋ฒ์ ์ธ๊ธํ๋ ์ด์ ๋, ํ๋ ฌ๊ณฑ์ ์ ์ฐ๋ ๋น ๋ฅธ ์๊ณ ๋ฆฌ์ฆ๋ค ์ค ์ผ๋ถ๊ฐ1 ์ด โ์ ์ฌ-ํ๋ ฌ๊ณฑ์ โ์๋ ๋๊ฐ์ด ์ ์ฉ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์คํธ๋ผ์ผ์ ์ฐ๋ฉด $O(V^{2.807} \log V)$ ์ด ๋๊ณ ์ด๋ ์ ๋ ๋ฐฉ๋ฒ๋ณด๋ค worst-case์ ๋ ๋น ๋ฆ ๋๋ค.
์ด ๋ ผ๋ฌธ์์๋, โ์ฝ๊ฐ์ ์ค์ฐจ๋ฅผ ํ์ฉํ๋ฉดโ ์ด๋ณด๋ค ๋น ๋ฅธ ์๊ณ ๋ฆฌ์ฆ์ด ์กด์ฌํจ์ ๋ณด์ ๋๋ค. ์ ํํ๋, ๋ชจ๋ ์ ์ ์ $(v_i, v_j)$์ ๋ํด, $d(v_i, v_j) + 2$ ๋ฅผ ๋์ง ์๋ ๊ฐ์ ๋ฐํํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ ผ์ํ๊ณ , ์ด๋ฅผ ํ์ฅํ์ฌ $k$๋งํผ์ ์ค์ฐจ๋ฅผ ํ์ฉํ๋ ๊ทธ๋งํผ ๋นจ๋ผ์ง๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ ผ์ํฉ๋๋ค.
Key ideas
At a glance
์ด ์๊ณ ๋ฆฌ์ฆ์ ํฐ ์์ด๋์ด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Dijkstra ์๊ณ ๋ฆฌ์ฆ์ sparse graph์ ๋ํด ๊ฝค ๋น ๋ฆ ๋๋ค.
- ๊ทธ๋ํ์ ์ฑ์ง์ ๊ฑฐ์ ๋ณด์กดํ๋ฉด์ ์๋์ ๊ทธ๋ํ๋ณด๋ค sparseํ auxillary graph ์์์ Dijkstra๋ฅผ ๋๋ฆฌ๊ณ ์ถ์ต๋๋ค.
- Unweighted graph์ ๋ํด์๋ ํนํ, dijkstra๋ฅผ ์ผ๋ฐ์ ์ธ BFS๋ก ๋์ฒดํ ์ ์์ต๋๋ค.
Dominating Set
๊ทธ๋ํ $(V, E)$์์, ์ด๋ค ์ ์ ์ ๋ถ๋ถ์งํฉ $S$๊ฐ ๋ค๋ฅธ ๋ถ๋ถ์งํฉ $T$๋ฅผ dominate ํ๋ค๋ ๊ฒ์, $T$์ ๋ชจ๋ vertex๊ฐ $S$์ vertex์ค ํ๋ ์ด์๊ณผ edge๋ก ์ฐ๊ฒฐ๋์ด ์๋ ๊ฒ์ผ๋ก ์ ์ํฉ๋๋ค. ์ฆ, ์๋ ๊ทธ๋ฆผ์์ ๋นจ๊ฐ์์ผ๋ก ์์น ๋ vertex๋ ๊ทธ๋ํ ์ ์ฒด๋ฅผ dominateํฉ๋๋ค.
์ผ๋ฐ์ ์ธ ๊ทธ๋ํ์ ๋ํด minimal dominating set์ ์ฐพ๋ ๊ฒ์ ๋งค์ฐ ์ ์๋ ค์ง NP-Hard ๋ฌธ์ ์ ๋๋ค. ๊ทธ๋ฌ๋, ์ฐ๋ฆฌ๋ ์ข ํน์ํ ๊ฒฝ์ฐ๋ง ๋ ผ์ํฉ๋๋ค. ๊ตฌ์ฒด์ ์ผ๋ก, ์ด๋ค parameter $s$์ ๋ํด, ๋ค์์ ํด๊ฒฐํฉ๋๋ค.
Dominate(G, s) : $G$์์, degree๊ฐ $s$์ด์์ธ ์ ์ ๋ค์ ๋ชจ์ ๋ถ๋ถ์งํฉ์ dominateํ๋ ์ ๋นํ ์์ dominating set์ ์ฐพ๋๋ค.
์ฌ๊ธฐ์ ์ ๋นํ ์์ ์ด๋, $O\left(\frac{n \log n}{s}\right)$๋ฅผ ๋ชฉํ๋ก ํฉ๋๋ค. ์ด๋ฅผ ์ํด ๋ค์์ ๊ทธ๋ฆฌ๋๊ฐ ์ ์๋ ค์ ธ ์์ต๋๋ค.
- ๊ฐ vertex์ ๋ํด neighbor set์ ์๊ฐํ๋ฉด, dominating set์ ์ฐพ๋ ๊ฒ์ set cover๋ฅผ ์ฐพ๋ ๊ฒ๊ณผ ๊ฐ์ ๋ฌธ์ ์ ๋๋ค.
- ๊ฐ ์งํฉ $S_i$์ ์์๋ $\Set{1, \cdots, n}$ ๋ฒ์ ๋ด์ ์๊ณ , ์ ์ฒด ์์์ ํฉ์ $2m$๊ฐ ์ ๋๋ค.
- Greedy ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐํฉ๋๋ค. ๊ฐ ์คํ ๋ง๋ค, โํ์ฌ๊น์ง cover๋์ง ์์ ๊ฐ์ฅ ๋ง์ element๋ฅผ ์๋ก coverํ๋โ ์งํฉ์ ํํฉ๋๋ค.
- ์ด ์๊ณ ๋ฆฌ์ฆ์ ์ ์๊ฐํด๋ณด๋ฉด $m$์ ๋ํด ์ ํ์ผ๋ก ๊ตฌํ๊ฐ๋ฅํฉ๋๋ค.
- ๊ฐ $x \in \Set{1, \cdots, n}$์ ๋ํด, $x$๋ฅผ ํฌํจํ๋ ๋ชจ๋ ์งํฉ์ ๋ฆฌ์คํธ $L$ ๋ฅผ ๊ด๋ฆฌํ๊ณ , ๋์์ ํ์ฌ ๋จ์ covering power (ํ์ฌ uncovered์ธ vertex ๊ฐ์) ๊ฐ $i$์ธ ์งํฉ์ ๋ฆฌ์คํธ $A[i]$๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ์ด๋ ๊ฐ ์์์ remaining covering power๋ฅผ $P[i]$๋ผ๊ณ ํ๊ฒ ์ต๋๋ค.
- ์์ผ๋ก ์ฐ๋ฉด ๋ณต์กํด์ง๋ฏ๋ก, pseudocode๋ฅผ ์ด์ฉํด์ ํํํด ๋ณด๊ฒ ์ต๋๋ค.
cur = maximum of |S| among sets while cur > 0: if A[cur] empty : cur -= 1, continue X = choose one with maximum P for t in X: if t is uncovered: mark t as covered for each Y containing t: remove Y from A[P[Y]] add Y to A[P[Y]-1]
- ์๊ฐ ๋ณต์ก๋ ์ฆ๋ช
(์ ์๊ณ ๋ฆฌ์ฆ์ด $O(\sum \abs{S})$) ์์ ์ฆ๋ช
)
- A๋ฅผ ๊ด๋ฆฌํ๋ - ์ฆ,
Y
๋ฅผA[P[Y]]
์์ ๊บผ๋ด์A[P[Y]-1]
๋ก ์ฎ๊ธฐ๋ decrease ์ฐ์ฐ์ด $O(1)$์ ์ํ๊ฐ๋ฅํ๋ค๋ฉด, ๊ฐ ์งํฉ์ด ๋ชจ๋ ๊ทธ ํฌ๊ธฐ๋งํผ decrease๋์ด์ผ ํ๋ฏ๋ก ์ ์ฒด ๋ณต์ก๋๋ ๊ฐ ์งํฉ์ ์์์ ๊ฐ์์ ํฉ์ ๋๋ค. Bucket Queue ๊ฐ์ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ด์ฉํ๋ฉด ์ด๊ฒ ๊ฐ๋ฅํจ์ด ์๋ ค์ ธ ์์ต๋๋ค. (CLRS, 35-2-3). - ๊ทธ๋ฐ๋ฐ, ๊ฐ vertex์ neighbor ๊ฐ์์ ํฉ์ ๊ฒฐ๊ตญ edge๋ฅผ ๋๋ฒ์ฉ ์ผ ๊ฒ์ด๋ฏ๋ก $2m$ ์ ๋๋ค.
- A๋ฅผ ๊ด๋ฆฌํ๋ - ์ฆ,
- $\log$ approximation
- ๋จผ์ ์ด ์๊ณ ๋ฆฌ์ฆ์ด ์ผ๋ง๋ ์ข์ approximation์ ์ ๊ณตํ๋์ง ์๊ฐํด ๋ด ๋๋ค. Optimal solution์ด $k$๊ฐ์ ๋ถ๋ถ์งํฉ์ ์ฌ์ฉํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ์ ์ฒด coverํ ์์๊ฐ $n = n_0$๊ฐ์ด๊ณ , ์งํฉ์ ํ๋์ฉ ํํํ ๊ฐ step์์ โ๋จ์ coverํด์ผํ ์์์ ์โ ๋ฅผ $n_i$๋ผ ํฉ์๋ค.
- ๋น๋๊ธฐ์ง์ ์๋ฆฌ์ ๋ฐ๋ผ, ์ด๋ค ์งํฉ์ $n / k$๊ฐ๋ณด๋ค ๋ง์ ์์๋ฅผ coverํด์ผ๋ง ํฉ๋๋ค. WLOG, ์ด๋ฅผ $S_1$๋ก ํํ๋ฉด $n_1 \leq (n - n/k) = n\left(1-\frac{1}{k}\right)$ ์ ๋๋ค.
- ๋ค์ ๋น๋๊ธฐ์ง์ ์๋ฆฌ์ ๋ฐ๋ผ, $n_1/(k-1)$ ๊ฐ๋ณด๋ค ๋ง์ ์์๋ฅผ coverํ๋ ์งํฉ์ด ์กด์ฌํด์ผ ํ๊ณ , \(n_2 \leq n_1\left(1-\frac{1}{k}\right)\left(1-\frac{1}{k-1}\right)\leq n\left(1-\frac{1}{k}\right)^2\)
- Greedy set cover์ ๊ฒฐ๊ณผ๊ฐ $u$๊ฐ์ ์งํฉ์ ์ด๋ค๋ฉด, $u$๋ฒ์ ๋ฐ๋ณตํ์ฌ, $n_u \leq n\left(1-\frac{1}{k}\right)^u < 1$ ์ด๋ฅผ ๋ค์ ์ ๋ฆฌํ์ฌ ๋ค์์ ์ป์ต๋๋ค. \(\left(1-\frac{1}{k}\right)^{k \cdot u/k} < \frac{1}{n}\) $(1-x)^{1/x} \leq 1/e$ ์ด๋ฏ๋ก, ์ด๋ฅผ ์ ์ ๋ฆฌํ๋ฉด $u < k \log n$์ ์ป์ต๋๋ค.
- ์ฆ, Greedy set cover์ ๊ฒฐ๊ณผ๋ optimal๊ฒฐ๊ณผ๋ณด๋ค $\log n$๋ฐฐ ์ด์ ๋์์ง ์์ต๋๋ค!
- ๋ค๋ง ์ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฒด graph์ dominating set์ ์ ๊ณตํฉ๋๋ค. ๋ฐ๋ผ์, dummy vertex $s$๊ฐ๋ฅผ ์์ฑํ ๋ค์ degree๊ฐ $s$ ๋ฏธ๋ง์ธ ๋ชจ๋ vertex๋ค์ ๋ํด ์ด๋ค์ dummy vertex์ ์ฐ๊ฒฐํด ๋ฒ๋ฆฌ๋ฉด ์ ์ฒด edge๋ ์ต๋ $ns$๊ฐ ์ฆ๊ฐํ๊ณ , ๋ชจ๋ vertex๊ฐ $s$์ด์์ degree๋ฅผ ๊ฐ์ง๋๋ค. dummy vertex๋ค์ ์ด์ฐจํผ high-degree vertex์๋ ์ฐ๊ฒฐ๋์ง ์์ผ๋ฏ๋ก, dominating set์์ ์ด๋ฅผ ๋ง์ง๋ง์ ์ ๊ฑฐํด๋ ๋ฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉดโฆ
- Dominate(G, s) ์ ๊ฒฐ๊ณผ๊ฐ์ $O\left(\frac{n \log n}{s}\right)$๊ฐ ์ดํ์ dominating set์ ์ฐพ์์ฃผ๊ณ , ๊ทธ ์ํ์๊ฐ์ $O(m + ns)$ ์ ๋๋ค.
$O(n^{3/2}m^{1/2} \log n)$ complexity, 2-error
์ด ์๊ณ ๋ฆฌ์ฆ์ Aingworth et al. 2 ์์ ์ ์๋, $\tilde{O}(n^{5/2})$ ์๊ณ ๋ฆฌ์ฆ์ ์ฝ๊ฐ ๊ฐ์ ํ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค.
- $s = (m / n)^{1/2}$ ๋ผ ํ๊ณ , degree๊ฐ $s$ ์ด์์ธ vertex ์งํฉ $V_1$ ๊ณผ ๋ฏธ๋ง์ธ ์งํฉ $V_2$๋ก $V$๋ฅผ ๋๋๋๋ค.
- Low-degree vertex๋ฅผ touchํ๋ edge์ ์งํฉ์ $E_2$๋ผ ํฉ์๋ค. ์ด๋, ์ด๋ค์ ๊ฐ์๋ $ns$๊ฐ ์ดํ์ ๋๋ค. (Low degree์ธ ์ ์ ์ต๋ $V$๊ฐ, ๊ฐ๊ฐ์ degree ์ต๋ $s$)
- Dominate(G, s) ๋ฅผ ๋๋ฆฝ๋๋ค. ์ด ์งํฉ์ $O((n \log n) / s)$ ๊ฐ ์ดํ์ด๋ฏ๋ก, $O((n^{3/2} \log n) / m^{1/2})$ ๊ฐ ์ดํ์ ์ ์ ์ผ๋ก ๊ตฌ์ฑ๋ ์งํฉ์ ๋๋ค. ๋ํ, dominating set $D$๋ฅผ ์ฐพ๋ ๊ณผ์ ์์, $V_1$๊ฐ์ edge๋ฅผ ์ด์ฉํ์ฌ $V_1$์ ๊ฐ ์ ์ ์ $D$์ ์ ์ ์ ๋งค๋ฌ ์ ์์ต๋๋ค. ์ด $V_1$๊ฐ์ edge์งํฉ (ํธ์์, dominating edge๋ผ ํ๊ฒ ์ต๋๋ค) $E^*$์ ์ฐพ์ต๋๋ค.
- ์ด์ , $u \in D$์ ๋ํด, BFS๋ฅผ ์ด์ฉํด ์ต๋จ๊ฒฝ๋ก๋ฅผ ๊ทธ๋ฅ ์ฐพ์ต๋๋ค. BFS๋ ํ๋ฒ์ $O(m)$ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ฏ๋ก (connected graph์ด๋ฏ๋ก $m \geq n$), ์ด๋ถ๋ถ์ ์ํ์๊ฐ์ $O(\abs{D}m) = O(m^{1/2}n^{3/2}\log n)$ ์ ๋๋ค.
- $u \in V-D$ ์ ๋ํด, ๋ค์๊ณผ ๊ฐ์ด weighted graph๋ฅผ ๋ง๋ค์ด ๋ค์ต์คํธ๋ผ๋ฅผ ๋๋ฆฝ๋๋ค.
- ๊ฐ $u$์ ๋ํด, $G_2(u)$๋ฅผ ๋ง๋ญ๋๋ค. ์ด๋, $G_2(u)$์ ์ ์ ์ $V$์ด๊ณ , edge๋ $E^*$ ์ $E_2$์ ์๋ edge๋ค์ ๋ชจ๋ ์ทจํ ๋ค์, ๊ฐ $v \in D$์ ๋ํด $(u, v)$ edge๊ฐ $\delta(u, v)$ weight์ ๊ฐ๋๋ก ๋ง๋ญ๋๋ค.
- $\delta(u, v)$๋ ์์ BFS, ๊ตฌ์ฒด์ ์ผ๋ก
BFS(v)
์์ ๊ตฌํ ๊ฐ์ด๋ฏ๋ก ์ ํํ ์ต๋จ๊ฑฐ๋ฆฌ๊ฐ ์ ๋๋ค. - ์ด๋, $\abs{E^*} = V_1 = O(n)$, $\abs{E_2} = O(ns) = O(n^{1/2}m^{1/2})$, $\abs{\Set{u} \times D} = \abs{D} = O((n^{3/2} \log n) / m^{1/2})$ ์ ๋๋ค.
- ์ด ๊ทธ๋ํ ์์์, ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ์ํ์๊ฐ์ $O(n + n^{1/2}m^{1/2} + (n^{3/2} \log n) / m^{1/2})$ ๊ฐ์ ๊ฐ์ ์ ๊ฐ์ง ๊ทธ๋ํ์์ ๋๋ฆฌ๋ ๋ค์ต์คํธ๋ผ์ ๋๋ค. ์ด Edge set์ ํฌ๊ธฐ๋ $O(m^{1/2}n^{1/2} \log n)$ ์ดํ์ ๋๋ค. ๋ค์, ๋ค์ต์คํธ๋ผ๋ ์ต๋ $\abs{V-D} \leq n$ ๋ฒ ์ํ๋๋ฏ๋ก ๋ชจ๋ ํฉํ๋ฉด ์ด์ชฝ๋ $O(m^{1/2}n^{3/2} \log n)$ ์ด ๋ ๊ฒ์ ๋๋ค.
- ๋ฐ๋ผ์ ์ ์ฒด ์๊ณ ๋ฆฌ์ฆ์ $O(m^{1/2}n^{3/2} \log n)$ ์ ๋๋ค.
์ด์ , ์ด ์๊ณ ๋ฆฌ์ฆ์ด ์ต๋ 2 ์ดํ์ ์ค์ฐจ๋ฅผ ๊ฐ์ง์ ๋ณด์ ๋๋ค.
- ์ ์ ์ $(u, v)$์ ๋ํด $u \to v$์ ์ต๋จ๊ฒฝ๋ก๊ฐ ์ ์ด๋ ํ๋ ์ด์์ High-degree ์ ์ ์ ์ง๋๋ค๋ฉด:
- ๋ง์ง๋ง์ผ๋ก ์ง๋๋ high-์ ์ $w$๋ผ ํฉ์๋ค. ์ด์ , $w \to v$์ ์ต๋จ๊ฒฝ๋ก๋ ๋ชจ๋ low-degree ์ ์ ๋ง์ผ๋ก ๊ตฌ์ฑ๋์ด ์๊ณ , ์ด๋ ๋ค์ $G_2(u)$ ์ ํต์งธ๋ก ๋ค์ด๊ฐ๋๋ค. ์ด๋ $G_2(u)$๋ฅผ ๋ง๋ค๋, low-degree ์ ์ ์ ํ๋ฒ์ด๋ผ๋ ํฐ์นํ๋ ๋ชจ๋ ๊ฐ์ ๋ค์ ๋๋ ค๋ฃ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
- $wโ$ ๋ฅผ $w$๋ฅผ dominateํ๋ $D$์ ์ ์ ์ด๋ผ๊ณ ํ๊ฒ ์ต๋๋ค. $(w, wโ)$ ๊ฐ์ ๋ํ $G_2(u)$ ์ ๋ค์ด๊ฐ๋๋ค.
- $wโ \in D$ ์ด๋ฏ๋ก, $(u, wโ) \in G_2(u)$์ด๊ณ , ์ด ๊ฐ์ ์ ๊ฐ์ค์น $\delta(u, wโ)$๋
BFS(w')
์์ ๊ตฌํ ๊ฐ์ด๋ฏ๋ก ์ ํํฉ๋๋ค. - Dominating์ ๋ฐ๋ก ์ฐ๊ฒฐ๋์ด ์๋ค๋ ๋ป์ด๋ฏ๋ก, $\delta(u, wโ) \leq \delta(u, w) + 1$ ์ ๋๋ค.
- ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ์ํด ๊ตฌํด์ง๋ ๊ฑฐ๋ฆฌ๋ฅผ $\hat{\delta}$ ์ด๋ผ ํ๋ฉด, $\hat{\delta}(u, v)$ ๋ ๋ค์์ ๋ง์กฑํฉ๋๋ค. \(\hat{\delta}(u, w') + \hat{\delta}(w', w) + \hat{\delta}(w, v)\)
- ๊ทธ๋ฐ๋ฐโฆ$\hat{\delta}(u, wโ)$ ์ BFS์์ ๊ตฌํ weight๊ฐ ๋์ด์ค๋ฏ๋ก ์ ํํ๊ณ , ์ด๋ ๋ค์ $\delta(u, w) + 1$ ์ดํ์ ๋๋ค.
- $\hat{\delta}(wโ, w)$๋ ์ด์ฐจํผ 1์ ๋๋ค.
- $\hat{\delta}(w, v)$ ๋ ๋ค์ ์ค์ ์ต๋จ๊ฒฝ๋ก๊ฐ $G_2(u)$์ ๋ค์ด์์ผ๋ฏ๋ก ์ ํํฉ๋๋ค.
- ๊ทธ๋ฌ๋ฉด, ๋ค์ ๋ถ๋ฑ์์ด ์ฑ๋ฆฝํฉ๋๋ค. \(\hat{\delta}(u, v) \leq \delta(u, w) + 1 + 1 + \delta(w, v) \leq \delta(u, v)\)
- ๋ฐ๋ผ์, ์ด๋ ๊ฒ ๊ตฌํ ์ต๋จ๊ฒฝ๋ก๋ ์ต๋ 2๋งํผ์ ์ค์ฐจ๋ฅผ ๊ฐ์ง๋๋ค.
- ์ ์ ์ $(u, v)$์ ๋ํด $u \to v$์ ์ต๋จ๊ฒฝ๋ก๊ฐ High-degree ์ ์ ์ ์ง๋์ง ์๋๋ค๋ฉด, ์ต๋จ๊ฒฝ๋ก๊ฐ ํต์งธ๋ก $E_2$์ ๋ค์ด์๊ณ , ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ด ์ ํํ ๊ฒฝ๋ก๋ฅผ ๋ฐํํฉ๋๋ค.
$O(n^{7/3} \log^2 n)$ complexity, 2-error
์๊ณ ๋ฆฌ์ฆ ์์ฒด๋ ๊ฑฐ์ ๋๊ฐ์ง๋ง, ์ด๋ฒ์๋ ์ธ์กฐ๊ฐ์ผ๋ก ๋๋๋๋ค. degree๊ฐ $n^{1/3}$ ์ด์, $n^{2/3}$ ์ด์์ธ ์ ์ ๊ฐ๊ฐ MID, HIGH๋ผ ํ๊ณ , MID์ HIGH์ dominating set์ ์ฐพ์ต๋๋ค. (์ด๋ ๊ฒ ํํํ๊ธฐ๋ ํ์ง๋ง, MID๋ HIGH๋ฅผ ํฌํจ ํฉ๋๋ค. MID์ด์, HIGH์ด์์ด๋ผ๊ณ ์๊ฐํด์ฃผ์ธ์!)
- MID์ dominating set $D_M$ ์ $O(n^{2/3} \log n)$ ํฌ๊ธฐ์ด๊ณ , ๊ตฌํ๋๋ฐ๋ $O(m + n^{4/3})$ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค.
- HIGH์ dominating set $D_H$ ๋ $O(n^{1/3} \log n)$ ํฌ๊ธฐ์ด๊ณ , ๊ตฌํ๋๋ฐ๋ $O(m + n^{5/3})$ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค.
- ์์์์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก, MID์ ํฌํจ๋์ง ์๋ ์ ์ (์ฆ degree๊ฐ โ์์โ ์ ์ ) ์ ํ๋๋ผ๋ ํฐ์นํ๋ edge์ ์งํฉ์ $E_M$, HIGH์ ํฌํจ๋์ง ์๋ ์ ์ (degree๊ฐ โํฌ์ง ์์โ ์ ์ ) ์ ํ๋๋ผ๋ ํฐ์นํ๋ edge์ ์งํฉ์ $E_H$๋ผ ํฉ๋๋ค. $E_M$์ ํฌ๊ธฐ๋ $O(n^{4/3})$, $E_H$์ ํฌ๊ธฐ๋ $O(n^{5/3})$ ์ ๋๋ค.
- $D_H$ ์์ BFS๋ฅผ ๋๋ฆฝ๋๋ค. ์ด๋ $O(mn^{1/3}\log n)$ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค.
- $D_M$ ์์ BFS๋ฅผ ๋๋ฆฌ๋, ์ด๋ฒ์๋ ๋ชจ๋ ๊ฐ์ ์ ์ฐ๋ ๋์ $E_H$์ ์ํ๋ ๊ฐ์ ๋ง ์๋๋ค. ์ด๋ $O(n^{2/3}n^{5/3}\log n) = O(n^{7/3} \log n)$ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค.
- ๋ง์ง๋ง์ผ๋ก, ๋๋จธ์ง ์ ๋ค์์๋ Dijkstra๋ฅผ ๋๋ฆฝ๋๋ค. ์ด๋, ๊ฐ์ ์ $E_M$์ ์ํ๋ ๊ฐ์ ๋ค, dominate์ ์ฐ์ธ ๊ฐ์ ๋ค, $(D_H \times V)$ ์ ์ํ๋ ๊ฐ์ ๋ค, $(D_M \times D_M)$ ์ ์ํ๋ ๊ฐ์ ๋ค, $(\Set{u} \times D_M)$ ์ด๋ ๊ฒ๋ง ๊ณ ๋ฆ
๋๋ค.
- $E_M$์ด $O(n^{4/3})$, dominate์๋ $n$๊ฐ๊ฐ ์ฐ์ด๊ณ ,
- $(D_H \times V)$ ๊ฐ ๋ $O(n^{4/3} \log n)$๊ฐ, $D_M \times D_M$ ์ด $O(n^{4/3} \log^2 n)$ ๊ฐ, $(\Set{u} \times D_M)$์ด $O(n^{2/3} \log n)$ ๊ฐ์ ๋๋ค.
- ์ด edge๊ฐ $O(n^{4/3} \log^2 n)$ ๊ฐ์ด๊ณ , ๋๋ฆฌ๋ ํ์๊ฐ $n$๋ฒ ์ดํ์ด๋ฏ๋ก $O(n^{7/3} \log^2 n)$ ์๊ฐ์ ์ํ๋ฉ๋๋ค.
๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก 2-error๋ฅผ ๋ณด์ ๋๋ค.
- ๋ง์ฝ ์ต๋จ๊ฒฝ๋ก๊ฐ HIGH์ ์ ์ ์ ํ๋๋ผ๋ ์ง๋๋ค๋ฉด, ๊ทธ์ค ๋ง์ง๋ง์ $w$๋ผ ํ๊ณ $D_H$์์ $w$๋ฅผ dominateํ๋ $wโ$๋ฅผ ๊ณ ๋ฆ
๋๋ค.
- $\delta(u, wโ)$ ๋ $wโ \in D_H$ ์ด๋ฏ๋ก
BFS(w')
์ ์ํ ์ ํํ ๊ฑฐ๋ฆฌ๋ฅผ ์๋๋ค. ์ด๋ $\delta(u, w) + 1$ ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ต๋๋ค. - $\delta(wโ, v)$ ๋ ์ญ์
BFS(w')
์ ์ํด ์ ํํ ๊ฑฐ๋ฆฌ๋ฅผ ์๊ณ , $\delta(w, v) + 1$ ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ต๋๋ค. - ๋ฐ๋ผ์, ์ด๋ฅผ ๊ฐ์ $\delta(u, w) + 2 + \delta(w, v)$ ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ต๋๋ค.
- $\delta(u, wโ)$ ๋ $wโ \in D_H$ ์ด๋ฏ๋ก
- ๋ง์ฝ ์ต๋จ๊ฒฝ๋ก๊ฐ HIGH๋ ์์ ์ ์ง๋์ง๋ง, MID๋ฅผ ์ง๋๋ค๋ฉด, ๊ทธ์ค ๋ง์ง๋ง์ $w$๋ผ ํ๊ณ $D_M$์์ $w$๋ฅผ dominateํ๋ $wโ$๋ฅผ ๊ณ ๋ฆ
๋๋ค.
- $\delta(u, wโ)$ ์ ๋ํ ๊ทผ์ฌ๊ฐ์ $D_M$์์์ BFS(๋๋ฒ์งธ BFS) ๋์ค์ ๋น์ทํ๊ฒ ์ฐพ์ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋, ์ด๋ฒ์๋ $D_M$์ด ์ ์ฒด ๊ทธ๋ํ์ ๋๊ณ BFS๋ฅผ ํ ๊ฒฐ๊ณผ๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ์ด๊ฒ ์ ํํ๋ค๋ ๋ณด์ฅ์ด ์์ด์, $\delta_2(u, wโ)$๋ผ๊ณ ์ฐ๊ฒ ์ต๋๋ค. HIGH๋ฅผ ์์ ์ ์ง๋๋ ๊ฒฝ๋ก๊ฐ ์ต๋จ์์ ๊ฐ์ ์์ ๋ณด์ฅํ์ผ๋ฏ๋ก $\delta_2(u, w) = \delta(u, w)$ ์ด๊ณ , ๊ฒฐ๊ณผ์ ์ผ๋ก $\delta_2(u, wโ)$ ๊ฐ์ $1 + \delta(w, u)$ ์ดํ์ ๋๋ค.
- $\delta(wโ, w)$ ๋ 1์ด๊ณ
- $\delta(w, v)$ ๋ ๋ชจ๋ low-touching ์์ด ๋ณด์ฅ๋๋ฏ๋ก ๋ค์ต์คํธ๋ผ์ ๊ฒฐ๊ณผ๋ก ์ ํํ ๊ฐ์ ๊ตฌํ ์ ์์ต๋๋ค.
๋ฐ๋ผ์, ์ด ์๊ณ ๋ฆฌ์ฆ์ $O(n^{7/3} \log^2 n)$ ์๊ฐ์ 2-error approximation์ ๋ณด์ฅํฉ๋๋ค.
Further : Time-Accuracy Tradeoff
์ด๋ฅผ ์ด์ฉํ์ฌ, 2์กฐ๊ฐ์ด๋ 3์กฐ๊ฐ์ด ์๋ ๋ ๋ง์ ์กฐ๊ฐ์ผ๋ก ์๋ฅด๋ฉด ์๊ฐ ๋ณต์ก๋๊ฐ ๋ ๋ฎ์์ง๋ ๋์ ์๋ฌ๋ฅผ ๋ ํ์ฉํ๊ฒ ๋ฉ๋๋ค. ๊ตฌ์ฒด์ ์ผ๋ก,
- ์ฒซ๋ฒ์งธ ์๊ณ ๋ฆฌ์ฆ์ ํ์ฅ, $s_i = (m / n)^{1-i/k}$์ ์ด์ฉํ์ฌ ๊ณ์ฐํ๋ ์๊ณ ๋ฆฌ์ฆ์ $\tilde{O}(n^{2-1/k}m^{1/k})$ ์๊ฐ์ $2(k-1)$ ์๋ฌ๋ฅผ ํ์ฉํ๊ณ ,
- ๋๋ฒ์งธ ์๊ณ ๋ฆฌ์ฆ์ ํ์ฅ, $s_i = n^{1-i/k}$๋ฅผ ์ด์ฉํ์ฌ $D_{j} \times D_{jโ}$ ๊ฐ์ ๊ฐ์ ๋ค์ ์ถ๊ฐํด์ ๋ค์ต์คํธ๋ผ๋ฅผ ์ฐ๋ ์๊ณ ๋ฆฌ์ฆ์ $\tilde{O}(n^{2+1/k})$ ์๊ฐ์ ์๋ํ๋ ๋์ $2(\floor{k/3} + 1)$ ์๋ฌ๋ฅผ ํ์ฉํ๊ฒ ๋ฉ๋๋ค.
์ด๋ฅผ ํฉ์ณ์, $u$๋งํผ์ ์๋ฌ ๋ฐ์ด๋๋ฅผ ๊ณ ์ ํ๊ณ ์ถ์ผ๋ฉด, ์ฒซ๋ฒ์งธ ๊ฒฝ์ฐ์ $k = u/2 + 1$ ๋๋ ๋๋ฒ์งธ ๊ฒฝ์ฐ์์ $k = 3u - 2$๋ฅผ ์ฌ์ฉ, \(\min(\tilde{O}(n^{2-\frac{2}{u+2}}m^{\frac{2}{u+2}}), \tilde{O}(n^{2+\frac{2}{3u-2}}))\) ์ด์ ๋ ์๊ฐ๋ณต์ก๋์ ์ต๋ $u$๋งํผ์ ์๋ฌ๋ฅผ ํ์ฉํ๋ APSP๋ฅผ ํ ์ ์์ต๋๋ค.
Thoughts
- ์ง๋์น๊ฒ ๋ํดํ์ง ์์ ์์ด๋์ด (๊ทธ๋ํ์ edge๋ฅผ HIGH-LOW๋ก ๋๋ ๋ค์, ์ด ์์์ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๊ฟ๋ผ์์ผ๋ก์จ ๋ณต์ก๋ ๊ฐ์ ํ๋ ์์ด๋์ด๋ ์์ธ๋ก ๋ง์ด ๋ณด์ ๋๋ค) ๋ฅผ ์ด์ฉํ์ฌ ๋ณต์ก๋๋ฅผ ๋ด๋ฆฌ๋ ๋ถ๋ถ์ด ์ธ์์ ์ด์์ต๋๋ค.
- ๊ทธ๋ํ๊ฐ denseํ๋ค๋ฉด ์ต๋จ๊ฒฝ๋ก๊ฐ ์๊ฐ๋ณด๋ค ์งง๊ณ , ๊ทธ๋ํ๊ฐ sparseํ๋ค๋ฉด $n$๋ฒ์ ๋ค์ต์คํธ๋ผ๊ฐ $O(nm)$์ผ๋ก ๋น ๋ฅด๊ธฐ ๋๋ฌธ์ ์ด ์๊ณ ๋ฆฌ์ฆ์ด ์ค์ฉ์ ์ผ๋ก ์ฐ์ด๋ ค๋ฉด $m$์ด ํน์ ํ ๋ฒ์์ ์๊ณ , ๊ทธ๋ํ๊ฐ ๊ฝค ์ปค์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๋ก ์ ์ธ ๋ณต์ก๋ ๋ถ์ ์ธก๋ฉด์์ ๋ณด๋ค ํฐ ์๋ฏธ๊ฐ ์๋ ๋ฏ ํฉ๋๋ค.
- ์ด ๋ ผ๋ฌธ์ Journal full version์๋ weighted graph์์ ์ต๋จ๊ฒฝ๋ก์ 3๋ฐฐ ์ดํ๋ฅผ estimateํ๋ spanner์ ๋ํ ์๊ณ ๋ฆฌ์ฆ์ด ์ถ๊ฐ๋ก ๋ ผ์๋๋๊ฒ ๊ฐ์ต๋๋ค. weighted graph๋ ์ด์ํ ์ผ์ด์ค๋ฅผ ๋ง๋ค๊ธฐ๊ฐ ์ฝ๊ธฐ ๋๋ฌธ์ ์ด๋ถ๋ถ๋ ์๋นํ ์ฌ๋ฐ์๊ฒ ๊ฐ์ต๋๋ค.
-
์ด๋ก ์ ์ผ๋ก ๊ฐ์ฅ ๋น ๋ฅธ ์๊ณ ๋ฆฌ์ฆ (Coppersmith-Winograd), ์ค์ฉ์ ์ผ๋ก ๋น ๋ฅธ ์๊ณ ๋ฆฌ์ฆ (Strassen)์ด ์ด min-plus-mm์๋ ์ ์ฉ๊ฐ๋ฅํจ์ด ์๋ ค์ ธ ์์ต๋๋ค.ย โฉ
-
D. Aingworth, C. Chekuri, and R. Motwani. Fast estimation of diameter and shortest paths (without matrix multiplication). SODA 1996ย โฉ
Back to : advanced-algorithms