Fixed subgraph Isomorphism
Contents
์ฐธ๊ณ : Stanford CS267 lecture note
Subgraph Isomorphism
๊ทธ๋ํ $G(V_G, E_G)$์, ๋ค๋ฅธ ๊ทธ๋ํ $H = (V_H, E_H)$ ์ ๋ํด, subgraph isomorphism $f : V_H \to V_G$ ๋ $(u, v) \in E_H$ ์ด๋ฉด $(f(u), f(v)) \in E_G$ ์ธ vertex mapping $f$๋ก ์ ์ํ๋ค. ์ผ๋ฐ์ ์ธ ๊ทธ๋ํ $G$์์ $H$๋ฅผ ์ฐพ๋ ๋ฌธ์ ๋ NP-Hard์ด๊ณ , ๋ํํ ๋ ์ฒซ ๋ฉ ์ธํด ์ฃผ์ ๊ธฐ๋ ํ ๋งค์ฐ ์ฌ๋ฏธ์๋ ๋ฌธ์ ์ธ๋ฐ, ์ด ํฌ์คํ ์์๋ ํน์ํ ์ผ์ด์ค๋ค๋ง ๋ค๋ฃฐ ์์ ์ด๋ค.
์ผ๋ฐ์ ์ผ๋ก, ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ์ ๊ทผํ๋ ๊ฒฝ๋ก๋ ํฌ๊ฒ ๋๊ฐ์ง๊ฐ ์๋ค. TSP, Vertex cover, Ham-path ๋ฑ๋ฑ๋ ๋ค ๋น์ทํ ๋๋์ธ๋ฏ ํ๋ค.
- Heuristicํ๊ฒ, ์ผ๋ฐ์ ์ธ ๊ทธ๋ํ์ ๋ํด ๋น ๋ฅด๊ฒ (์ฌ์ค์ ๋ ๋๋ฆฌ๊ฒ ๋ผ๋ ๋ง์ด ๋ง์ ์ง๋โฆ) ํธ๋ ๋ฐฉ๋ฒ์ ์ฐพ์ผ๋ ค๋ ๋ ธ๋ ฅ. ๋คํญ ์๊ฐ์ ๋ชฉํ๋ก ํ์ง๋ ์๋๋ค.
- ํน์ ํ ํํ์ ๊ทธ๋ํ (ํ๋ฉด ๊ทธ๋ํ, $k$-cycle, bipartite graph, โฆ.) ๋ฑ๋ฑ์ ๋ํด ๋คํญ ์๊ฐ ๋๋ ์ด์ ๊ทผ์ ํ ์๊ณ ๋ฆฌ์ฆ์ ์ฐ๊ตฌํ๋ ๊ฒฝ์ฐ. ์ข๋ classicํ ๋๋๋ ์๊ณ โฆ์๋ฌดํผ ๊ทธ๋ ๋ค. ๊ทธ๋ํ์ classification๊ณผ๋ ๋งค์ฐ ๊น์ ์ฐ๊ด์ด ์๊ณ , ๋ฌด์จ 3-colorable graph์ ๋ํด์๋ง ์ฑ๋ฆฝํ๋ ์๊ณ ๋ฆฌ์ฆ ๊ฐ์ ์ ๊ธฐํ ๊ฒ๋ค์ ์ฐ๊ตฌํ๋๋ฏ ํ๋ค.
์๋ช ํ ์๊ณ ๋ฆฌ์ฆ์, $V_G$์์ ๋ชจ๋ ๊ฐ๋ฅํ $V_H$๊ฐ๋ฅผ ์กฐํฉํด์, ์ผ์ผํ ๊ฐ๋ฅํ์ง ํ์ธํ๋ ๊ฒ์ผ๋ก, $V_G$ ๋ฅผ $N$, $E_G$์ ํฌ๊ธฐ๋ฅผ $M$, $V_H$์ ํฌ๊ธฐ๋ฅผ $n$์ด๋ผ ํ ๋ $O(MN^n)$ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค. ์ฐพ์์ผ ํ ๊ทธ๋ํ๊ฐ ์ ํด์ ธ ์๋ค๋ฉด $M$์ ์๊ฐ๋ณต์ก๋ ๊ณ์ฐ์์๋ ์ ๊ปด๋ ๋๊ณ , ๊ทธ๋๋ $O(N^n)$ ์๊ฐ์ธ ๊ฒ์ ๋ณํจ์ด ์๋ค.
Finding Triangles
$n$๊ฐ์ ์ ์ ๊ณผ $m$๊ฐ์ ๊ฐ์ ์ด ์๋ ๊ทธ๋ํ์์ ์ผ๊ฐํ์ ์ฐพ์ผ๋ ค๊ณ ํ ๋, ์ ์๋ช ํ ์๊ณ ๋ฆฌ์ฆ์ $O(n^3)$ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค. ์ด๋ณด๋ค ๋์ ๋ฐฉ๋ฒ์ด ์๋์ง ์๊ฐํด ๋ณด์.
$O(mn)$ ์๊ณ ๋ฆฌ์ฆ
๋ค์ ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐํ๊ธฐ ๋ณ๋ก ์ด๋ ต์ง ์๊ณ , $O(mn)$ ์ธ ๊ฒ๋ ๊ฑฐ์ ์๋ช ํ๋ค.
์ด ์๊ณ ๋ฆฌ์ฆ์ ์์ ์๊ฐ์ ๊ฒฐ๊ตญ $\sum_v d_v^2$ ์ธ๋ฐ,
\(\sum_v d_v^2 \leq n \sum_v d_v \leq 2mn\)
์ด๋ฏ๋ก, ์ด๋ $O(mn)$ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
์ฝ๊ฒ ์๊ฐ๋๋ ์์ด๋์ด๊ฐ ๋ ๊ทธ๋ ๋ฏ, ํฐ ์๋ฏธ๊ฐ ์์ง๋ ์๋ค. dense graph์์ $m = O(n^2)$ ์ด๋ผ์ ์ต์
์ ๊ฒฝ์ฐ ์๊ฐ ๋ณต์ก๋๊ฐ ์ ํ ๊ฐ์ ๋์ง ์๊ธฐ ๋๋ฌธ์ด๋ค. (๋ฌผ๋ก ์ค์ ๋ก๋ ์กฐ๊ธ ๋น ๋ฅด๊ฒ ์ง๋ง).
$O(n^w)$ ์๊ณ ๋ฆฌ์ฆ
ํ๋ ฌ์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ด ์๋ค. ๋จผ์ , ๊ทธ๋ํ์ adjacency matrix $A$๋ฅผ ์๊ฐํ์. ์ด๋, $A[i, j]$ ๋ (i, j) edge๊ฐ ์๋์ง ์ฌ๋ถ์ด๊ณ , $A^2[i, j] > 0$ ์ $A[i, k] = 1, A[k, j] = 1$ ์ธ $k$๊ฐ ์๋์ง ์ฌ๋ถ๋ฅผ ์๋ ค์ค๋ค. ๋ฐ๋ผ์, $A^2$ ์ ๊ณ์ฐํ ํ, $A^2[i, j]$ ๊ฐ 1์ด๊ณ $A[i, j]$ ๊ฐ 1์ด๋ฉด (์ค์ ๋ก ์ฐพ์ง๋ ๋ชปํ์ง๋ง) ์ผ๊ฐํ์ด ์กด์ฌํ๋ค๋ ์ฌ์ค์ ์ ์ ์๋ค. ์ฐ๋ฆฌ๋ ์์ ์ด๊ฑธ ๋ชฉํ๋ก ํ์ผ๋ฏ๋ก, ํ๋ ฌ ๊ณฑ์ ํ๋ ์๊ฐ + $O(n^2)$ ์ ์ผ๊ฐํ ์ฐพ๊ธฐ๊ฐ ๊ฐ๋ฅํจ์ ๋ณด์๋ค.
ํ์ฌ ์๋ ค์ง ํ๋ ฌ ๊ณฑ์ ์๊ณ ๋ฆฌ์ฆ ์ค ๊ฐ์ฅ ๋น ๋ฅธ Coppersmith-winograd ๋ฐ ๊ทธ ๊ฐ์ ๋ ๋ฒ์ ๋ค (Le Gall, Williams ๋ฑ) ์ด $O(n^{2.37})$ ์ ๋์ด๊ณ , ์ด ๋ถ๋ถ์ด ๋ ๋นจ๋ผ์ง์ง ์ด๋จ์ง๋ ์ ์ ์์ง๋ง $O(n^2)$ ๋ณด๋ค๋ ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ ํ๋ ฌ ๊ณฑ์ ์ ์๊ฐ ๋ณต์ก๋๋ฅผ $O(n^w)$ ๋ผ ์ฐ๊ณ , ๋์ถฉ ํ์ฌ๋ก์จ๋ 2.37 ์ ๋์์ ๊ธฐ์ตํ์.
๋ค๋ง $w = 2.37$ ์๊ณ ๋ฆฌ์ฆ์ ํ์ฌ๋ก์๋ ์ค์ฉ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ด๋ ต๋ค. ํ์ค์ ์ผ๋ก ์ด ์๊ณ ๋ฆฌ์ฆ์ ๋๋ฌด ํฐ ์์๋ฅผ ๊ฐ์ง๊ณ ์์ด ์ค์ ๋ก ๋ค๋ฃฐ ์ ์๋ ํฌ๊ธฐ์ ํ๋ ฌ์ ๋ํด์ ์ ํ ๋น ๋ฅด์ง ์๊ธฐ ๋๋ฌธ์ด๋ค. ์๊ฐ ๋ณต์ก๋ ์ฆ๋ช ์ ์์๊ฐ ์๋ค. ์ค์ฉ์ ์ผ๋ก ๋น ๋ฅธ ๋ฐฉ๋ฒ์ Strassen์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, $w = \log_2 7 \approx 2.81$ ์ด์ง๋ง ์ค์ ๋ก๋ ๋ ๋น ๋ฅด๋ค.
๊ต์ฅํ ์ฌ๋ฐ๋ ์ฌ์ค ์ค ํ๋๋ก, ๋ค์ ๋ช ์ ๊ฐ ์๋ค. ์ฆ๋ช ์ trace๋ฅผ ํฉ์ผ๋ก ์ฐ๊ณ ๋์ ์กฐ๊ฑด์ ์ ์๊ฐํด ๋ณด๋ฉด ๊ทธ๋ ๊ฒ ์ด๋ ต์ง ์์๋ฐ, ํํธ๋ฅผ ์กฐ๊ธ ์ ์ํ์๋ฉด 6์ $i, j, k$ ์ ์ผ๊ฐํ์ด ์์๊ฐ ์์ผ๋ฏ๋ก $3!$์ ๋๋์ด ์ค ๊ฒ์ด๋ค.
\[\text{Tr}(A^3) = \text{number of triangles of graph A}\]์ด์ฐจํผ $A^3$์ trace ์ฐ์ฐ์ ํ๋ ฌ ๊ณฑ์ ๋ณด๋ค ๋น ๋ฅด๊ฒ ํ๋ ์๊ณ ๋ฆฌ์ฆ์ด ์ฐ๊ตฌ๋์ง ์์๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ์ ํฐ ๊ด์ฌ์ฌ๋ ์๋๋ค.
$O(m^{(w + 1)/2})$ ์๊ณ ๋ฆฌ์ฆ
์ด ์๊ณ ๋ฆฌ์ฆ์ ์ ๋ ์์ด๋์ด๋ฅผ ์ ๋นํ ์์ด๋ด๋ ๋ฐฉ๋ฒ์ด๋ค.
์ด๋ค parameter $t$๋ฅผ ์ก์์, degree๊ฐ $t$ ์ดํ์ธ ์ ์ ๊ณผ ์ด์์ธ ์ ์ ์ผ๋ก ๋๋์. ์ดํ์ธ ์ ์ ๋ค (low-degree) ์ ์ ์ ๋ํด์, $O(mn)$ ์๊ณ ๋ฆฌ์ฆ ๋น์ทํ ๊ฒ์ ๋๋ฆฐ๋ค. ์ด๋ฌ๋ฉด, low-degree ์ ์ ์ ํ๋๋ผ๋ ํฌํจํ๋ ๋ชจ๋ ์ผ๊ฐํ์ ์ฐพ์ ์ ์๋ค. ์ด์ low-degree ์ ์ ์ ๋ชจ๋ ์๊ด ์์ผ๋ฏ๋ก ์ญ์ ํ๋ค.
๋จ์ ์ ์ ๋ค์ ๋ชจ๋ high-degree์์ด ๋ณด์ฅ๋๋ค. ๋จ์ ์ ์ ๋ค์ ๋ํด์๋ ์์ ํ๋ ฌ ๊ณฑ์ ์ ๋๋ฆฌ์. ์ด์ , ์ด ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐ ๋ณต์ก๋๋ฅผ ์ฆ๋ช ํด ๋ณด๋ฉด,
๋ชจ๋ ์ ์ ์ degree์ ํฉ์ด $2m$ ์ด๋ฏ๋ก, ์ต๋ $2m/t$ ๋ง high-degree vertex๊ฐ ์กด์ฌํ ์ ์๋ค. ๋ํ, low-degree ์ ์ ์ ๋ํด์๋, ๊ฐ๊ฐ์ degree๊ฐ $t$ ์ดํ์ด๊ณ , degree์ ์ดํฉ์ด $2m$ ์ดํ์ด๋ฏ๋ก, degree์ ์ ๊ณฑ์ ํฉ์ $2mt$๋ฅผ ๋์ง ์๋๋ค. Asymptotically, ์ด๋ ๊ฒ ๊ตฌ์ฑ๋ ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐ ๋ณต์ก๋๋
\(O((m / t)^w + mt)\) ์ด๋ฉฐ, ์ด๋ฅผ ์ต์ํํ๋ $t$๋ฅผ ์ง์ ์ฐพ์ผ๋ฉด $t^{w+1} = m^{w-1}$์ผ ๋์์ ์ ์ ์๋ค. ์ฐ๋ฆฌ๊ฐ ์๋ ์ต์ ์ $w = 2.37$ ์ ์ฐ๋ฉด ์ด ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐ ๋ณต์ก๋๋ $O(m^{1.41})$ ์ด ๋๋ค.
Why triangles?
์ ์ผ๊ฐํ์ ์ฐพ๋ ๋ฌธ์ ๊ฐ ์ค์ํ๊ฐ? ๋น์ฐํ, ์๊ณ ๋ฆฌ์ฆ์ด ์๋ช ํ์ง ์์ ๊ฐ์ฅ ์ฌ์ด ๊ทธ๋ํ์ด๊ธฐ๋ ํ์ง๋ง, ๋ค์์ ์ ๋ฆฌ ๋๋ฌธ์ด๊ธฐ๋ ํ๋ค.
Theorem (Nesetril, Poljak) $n$๊ฐ์ ๋ ธ๋๋ฅผ ๊ฐ๋ ๊ทธ๋ํ์์ $O(n^t)$์๊ฐ์ ์ผ๊ฐํ์ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ด ์กด์ฌํ๋ค๋ฉด, $3k$๊ฐ์ ๋ ธ๋๋ฅผ ๊ฐ๋ fixed subgraph $H$๋ฅผ $O(n^{tk})$ ์๊ฐ์ ์ฐพ์ ์ ์๋ค.
๊ฐ๋จํ ๋งํด์, ์ผ๊ฐํ์ ์ฐพ๋ ๋ฌธ์ ๋ ๋ชจ๋ $k$๊ฐ์ ๋ ธ๋๋ฅผ ๊ฐ๋ graph isomorphism์ผ๋ก ํ์ฅํ ์ ์์์ ์๋ฏธํ๋ค. ์ผ๊ฐํ์ $O(n^{2.5})$์ ์ฐพ์ ์ ์๋ค๋ฉด, 9๊ฐ์ ๋ ธ๋๋ฅผ ๊ฐ๋ subgraph๋ $O(n^{7.5})$ ์ ์ฐพ์ ์ ์๋ ์์ด๋ค. ๋ฌผ๋ก ๋์ฐํ์ง๋ง, brute-force๋ณด๋ค๋ ํจ์ฌ ๋น ๋ฅด๋ค!
Nesetril-Poljak Subgraph isomorphism
์ ์ ๋ฆฌ์ ์ฆ๋ช ์ ์ฌ์ค Nesetril๊ณผ Poljak์ด 1985๋ ์ ์ ์ํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. $3k$๊ฐ์ ๋ ธ๋๋ฅผ ๊ฐ๋ subgraph๋ฅผ $H$๋ผ ํ๊ณ , ์ด๋ฅผ ์๋ฌด๋ ๊ฒ๋ $k$๊ฐ์ ๋ ธ๋์ฉ ๋์ด์ $H_1, H_2, H_3$์ ๋ง๋ค์. ๊ฐ $i = 1, 2, 3$ ์ ๋ํด, $h_{j}^{i}$ ๋ฅผ $H_i$์ $j$๋ฒ์งธ ์ ์ ์ด๋ผ๊ณ ํ์.
$Gโ$ ์ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ๋ค. $G$์์ ์ ์ ์ $k$๊ฐ (์์๋ฅผ ๊ฐ์ง๊ณ ) ๋ฝ์, $n^k$ ๊ฐ์ tuple์ ๋ํด์, ์ด tuple์ด (์ ์ ์ ์์๋ฅผ ์งํค๋ฉด์) $H_1, H_2, H_3$๊ณผ isomorphicํ์ง ํ์ธํด์, $H_i$์ isomorphicํ๋ค๋ฉด $(i, [tuple])$ ์ ํต์งธ๋ก ํ๋์ ์ ์ ์ผ๋ก ์ผ๋๋ค. ์ฆ, ๋ฌด๋ ค ์ต๋ $3n^k$๊ฐ์ ์ ์ ์ ๊ฐ๋ ๊ฑฐ๋ํ ๊ทธ๋ํ๋ฅผ ๋ง๋ ๋ค.
์ด์ , $(i, tuple_1)$์ $(j, tuple_2)$ ๋ฅผ $Gโ$์ ์ ์ 2๊ฐ๋ก ์ก๊ณ , $(tuple_1 \cup tuple_2)$๊ฐ $H_i \cup H_j$ ์ isomorphicํ๋ฉด $(i, tuple_1)$ node์ $(j, tuple_2)$ node ์ฌ์ด์ edge๋ฅผ ์๋๋ค. (๋จ, tuple ๋๊ฐ๊ฐ disjointํด์ผ๋ง ํ๋ค)
์ด๋ ต์ง ์๊ฒ, $H$๊ฐ $G$์ subgraph๋ก ๋ค์ด ์๋ค๋ฉด, $Gโ$์ ์ผ๊ฐํ์ด ์์์ ์ ์ ์๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก $Gโ$์ ์ผ๊ฐํ์ด ์์ผ๋ฉด ๊ทธ๊ฑธ ์ ์ด์ฉํด์ $H$๋ฅผ ์ญ์ผ๋ก constructํ ์๋ ์๋ค. ๋ฐ๋ผ์, ์ด ์๊ณ ๋ฆฌ์ฆ์ ์ ๋น์ฑ์ ์ฝ๊ฒ ์๊ฐํ ์ ์๋ค.
์๊ฐ ๋ณต์ก๋๋, ์ด $O(n^k)$๊ฐ์ ๋ ธ๋๋ค ์ฌ์ด์ ๋ชจ๋ edge ์ฌ๋ถ๋ฅผ ํ์ธํด์ผ ํ๋ฏ๋ก $O(k^2 n^{2k})$ ์๊ฐ์ ๊ฑธ์ณ graph construction์ ํด์ผ ํ๊ณ , $O(n^{k})$๊ฐ์ ๋ ธ๋๋ฅผ ๊ฐ๋ ๊ทธ๋ํ์ $O(N^t)$ ์ผ๊ฐํ ์ฐพ๊ธฐ๋ฅผ ํด์ผ ํ๋ฏ๋ก $O(n^{tk})$ ์๊ฐ์ด ๋ ๋ค. $k$๋ฅผ ์์๋ก ์๊ฐํ๊ธฐ๋ก ํ์ผ๋ฏ๋ก ์ ๋ถ $O(n^{tk})$์์ ์ ์ ์๋ค.
์ฐธ๊ณ ๋ก, ์ด ์๊ณ ๋ฆฌ์ฆ์ ์กฐ๊ธ๋ง ์ ๋ณํํ๋ฉด $O(n^{tk + q})$ ์๊ฐ์ $3k + q$ ($q = 1, 2$) ์ ๋ํ ๊ฒฝ์ฐ๋ ํด๊ฒฐํ ์ ์๋ค. ๋ํ, ์ฐ๋ฆฌ๋ $t \geq 2$ ์์ ์๊ณ ์๋ค (๊ทธ๋ํ๋ฅผ ๋ฐ๊ธฐ๋ ํด์ผ ํ๋ฏ๋ก). ๊ทธ๋ฌ๋ฏ๋ก ์ด ๋ฐฉ๋ฒ์ผ๋ก ์ฐ๋ฆฌ๊ฐ ์ป์ ์ ์๋ ์ต๋ํ์ $O(n^{2k})$ ์๊ฐ์ $3k$์ง๋ฆฌ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ์์ ์ ์ ์๋ค.