Subgraph Isomorphism : Introduction
- Subgraph Isomorphism ๋ฌธ์ ์๊ฐ
- Subgraph Isomorphism Algorithms
- Backtracking Algorithms
- References / Papers
Subgraph Isomorphism ๋ฌธ์ ์๊ฐ
Subgraph Isomorphism์ด๋, ์ฟผ๋ฆฌ ๊ทธ๋ํ $q$์ ๋ฐ์ดํฐ ๊ทธ๋ํ $G$๊ฐ ์ฃผ์ด์ง๋ ์ํฉ์์, $G$๊ฐ $q$์ isomorphicํ subgraph๋ฅผ ๊ฐ๋์ง ์ฌ๋ถ๋ฅผ ํ๋จํ๋ ๋ฌธ์ ์ ๋๋ค. ์ด ๋ฌธ์ ๋ NP-Complete์์ด ์ฆ๋ช ๋์ด ์์ต๋๋ค. NP-Complete๋ฅผ ์ฆ๋ช ํ๋ ๊ฒ์ ์ฐ๋ฆฌ์ ๋ ผ์์ ๊ทธ๋ ๊ฒ ์ค์ํ์ง ์์ง๋ง, ์ ๊น ์๊ฐํด ๋ณด๋ฉด, Clique Problem (Subgraph Isomorphism์์, $q$๊ฐ ์ ์ $n$๊ฐ์ง๋ฆฌ ์์ ๊ทธ๋ํ $K_n$์ผ๋ก ํ์ ๋๋ ๋ฒ์ ) ๋ณด๋ค๋ ์ ์ด๋ ์ด๋ ค์ด ๋ฌธ์ ์์ ์ ์ ์์ต๋๋ค. Clique ๋ฌธ์ ๋ Karp๊ฐ NP-Complete๋ผ๋ ๊ฐ๋ ์ ์ ์ํ๊ณ ์ฆ๋ช ํ์ ๋ ๋์จ 21๊ฐ์ ์ค๋ฆฌ์ง๋ํ NP-Complete ๋ฌธ์ ์ค ํ๋๋ก, General SAT๋ก๋ถํฐ ํ์๋๋ฏ๋ก NP-Complete์ ๋๋ค.1
์ฐ๋ฆฌ๋ Subgraph์ ๊ดํ ๋ฌธ์ ๋ฅผ ์ ๊ทผํ๋ฉด์, ๋ค์๊ณผ ๊ฐ์ด Embedding์ ์ ์ํฉ๋๋ค.
Vertex Labeled graph $G, q$๊ฐ ์ฃผ์ด์ก์ ๋, ํจ์ $f : V_q \to V_G$๊ฐ ์กด์ฌํ์ฌ, $q$์์ edge $(u_1, u_2)$์ ๋ํด ํญ์ $G$์์ edge $(v_1 = f(u_1), v_2 = f(u_2))$ ๋ฅผ ์ฐพ์ ์ ์์ ๋, ์ด๋ฅผ Embedding ์ด๋ผ ํฉ๋๋ค. ๋จ, Labeled graph์ด๋ฏ๋ก $q$์์ $u$์ label๊ณผ $G$์์ $f(u)$์ label์ด ํญ์ ๊ฐ์์ผ ํฉ๋๋ค. ์์ผ๋ก ํธ์์ $u_1 \dots u_n$์ $q$์, $v_1 \dots v_n$์ $G$์ vertex๋ฅผ ์๋ฏธํ๋ ๊ฒ์ผ๋ก ์ฐ๊ฒ ์ต๋๋ค.
๋น์ทํ์ง๋ง ์ข๋ Application ์ค๋ฌ์ด ๋ฌธ์ ๋ ๊ฐ์ธ Subgraph search์ matching์, ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค.
- Subgraph Search๋, ๋ฐ์ดํฐ ๊ทธ๋ํ๊ฐ ํ๋๊ฐ ์๋๋ผ ์ฌ๋ฌ ๊ฐ $G_1, G_2, \dots G_n$์ ์งํฉ์ด ์ฃผ์ด์ง๊ณ , $q$์ embedding์ ๊ฐ๋ ๊ทธ๋ํ๋ค์ ๋ชจ๋ ์ฐพ๋ ๋ฌธ์ ์ ๋๋ค.
- Subgraph Matching์ด๋, ๋ฐ์ดํฐ ๊ทธ๋ํ๊ฐ ํ๋ ์ฃผ์ด์ง๊ณ , ์ฟผ๋ฆฌ ๊ทธ๋ํ๊ฐ ์ฃผ์ด์ ธ์, ๋ฐ์ดํฐ ๊ทธ๋ํ์์ $q$์ embedding์ ๋ชจ๋ (๋๋ ์ข๋ ํ์ค์ ์ผ๋ก, ๊ฐ๋ฅํํ ๋ง์ด) ์ฐพ๋ ๋ฌธ์ ์ ๋๋ค.
์ฆ, subgraph matching์ ํธ๋ ์๊ณ ๋ฆฌ์ฆ์๊ฒ embedding์ ํ๋ ์ฐพ๊ณ return true ํ๋๋ก ํ๋ฉด, subgraph isomorphism์ด ๋๊ณ , ๋ค์ ์ด๊ฒ์ ์ฌ๋ฌ ๋ฐ์ดํฐ ๊ทธ๋ํ์ ๋ํด ๋ฐ๋ณตํ๋ฉด subgraph search๊ฐ ๋ฉ๋๋ค. ์ด ๊ธ์์๋, ์ธ ๋ฌธ์ ๋ชจ๋๋ฅผ ๋์ถฉ Subgraph Isomorphism์ด๋ผ๊ณ ํ์น๊ณ ๋งฅ๋ฝ์ ์ดํดํ๊ธฐ๋ก ํ๊ฒ ์ต๋๋ค.
Subgraph Isomorphism Algorithms
์ด๋ฐ ์ด๋ ค์ด ๋ฌธ์ ์ ๋ํ ์ ๊ทผ์๋ ํฌ๊ฒ ์ธ ๊ฐ์ง๊ฐ ์์ต๋๋ค.
- ๋ฌธ์ ์ ์ ์ฝ ์๋ ๋ฒ์ ์ ๋ง๋ค์ด์, ๊ทธ ๋ฌธ์ ๋ฅผ ๋น ๋ฅด๊ฒ ํ๊ณ ์ ์๋ํฉ๋๋ค. ์ฃผ๋ก ์ฌ์ฉํ๋ ์ ๊ทผ์ผ๋ก๋ Chromatic Number๊ฐ $k$ ์ดํ์ธ ๊ทธ๋ํ, ํ๋ฉด ๊ทธ๋ํ, Sparseํ ๊ทธ๋ํ ๋ฑ์ ๋ํด ์๋ํฉ๋๋ค. ์ด ๋ฐฉํฅ์ ์ฐ๊ตฌ๋ ์ฃผ๋ก ์๊ณ ๋ฆฌ์ฆ์ด ๋คํญ ์๊ฐ ๋น์ทํ๊ฒ ์ค์ด๋ค๋ฉฐ (NP-Completeํ ๋ฌธ์ ์ ์ผ๋ถ๊ธด ํ์ง๋ง, ์ถ๊ฐ์ ์ธ ์กฐ๊ฑด์ ์ ์ฝํ์ผ๋ฏ๋ก ์ด๊ฒ ๊ฐ๋ฅํฉ๋๋ค) ์ํ์ ์ผ๋ก ์๋ฐํ๊ฒ ์ฆ๋ช ํฉ๋๋ค.
- Randomized ์๊ณ ๋ฆฌ์ฆ์ด๋ ์ต์ ํ ํํ์ ์๊ณ ๋ฆฌ์ฆ์ ๋ง๋ค์ด์, expected time complexity๋ฅผ ์ค์ด๊ณ ์ ํฉ๋๋ค.
- ์ผ๋ฐ์ ์ธ Case์ ๋ํด, ํด๋ฆฌ์คํฑํ๊ฒ ๋น ๋ฅธ ์๊ณ ๋ฆฌ์ฆ์ ์ฐพ๊ณ , ์ด๋ฅผ ํฐ ๋ฐ์ดํฐ์ ์ ๋ํด ์คํ์ ํตํด ๊ฒ์ฆํ๋ ๋ฐฉํฅ์ด ์์ต๋๋ค.
2020๋ 2ํ๊ธฐ์ ์ธํด์ญ์ ์งํํ๋ฉด์ ์ฃผ๋ก 3๋ฒ์ ํด๋นํ๋ ์ชฝ์ ๊ณต๋ถํ๋๋ฐ, Sub-iso์์ 2๋ฒ์ ์ด๋ค ์์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ๊ณ (๋ณธ์ ์์ต๋๋ค) 1๋ฒ์ ์ฌ๋ฌ ์ฌ๋ฏธ์๋ ๊ฒฐ๊ณผ๋ค์ด ์์ง๋ง ์์ง ์์ธํ ์ฝ์ด๋ณด์ง๋ ๋ชปํ์ต๋๋ค.
์ด ๋ฌธ์ ์ 3๋ฒ ์ ๊ทผ์๋ ๋ค์ ํฌ๊ฒ ์ธ๊ฐ์ง ์ ๊ทผ์ด ์์ต๋๋ค.
- Ullmann (1976) ์ผ๋ก๋ถํฐ ์์ํ๋ Backtracking ๊ธฐ๋ฐ์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, ๊ฐ์ฅ ์์ฐ์ค๋ฝ๊ฒ ์๊ฐํ ์ ์๋ ๋ฐฑํธ๋ํน์ ๊ธฐ๋ฐํฉ๋๋ค.
- Artificial Intelligence ์ชฝ์์๋ ์ด ๋ฌธ์ ๋ฅผ ์๋นํ ์ค์ํ๊ฒ ๋ณด๊ณ ์์ด์, ์ด์ชฝ์ ์ ๊ทผ๋ ์์ต๋๋ค. Graph ์์์ ๋ญ๊ฐ๋ฅผ ์ด์ฌํ ํ์ต์ํค๋ ๋ฐฉ๋ฒ์ ๋๋ค.
- Contraint Programming ์ด๋ผ๋ ์ ๊ธฐํ ๋ฐฉ๋ฒ๋ก ์ ๊ธฐ๋ฐํ๋ ์ ๊ทผ์ด ์์ต๋๋ค. ์ ๋ ์ด์ชฝ์ ์ ๋ชจ๋ฅด์ง๋ง, ์ด๋ก ์ ์ผ๋ก ์๋นํ ์ฌ๋ฐ๋ ๋ด์ฉ๋ค์ด ๋ง๋ค๊ณ ๋ค์์ต๋๋ค.
2๋ฒ์ ์ฃผ๋ก Graph mining ๊ฐ์ ๋ฐฉํฅ์ผ๋ก ์ ๊ทผํ์ฌ ์ฝ๊ฐ ๋ฐฉํฅ์ฑ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์, 1๋ฒ๊ณผ 3๋ฒ์ ์ค์ง์ ์ผ๋ก ์๊ณ ๋ฆฌ์ฆ์ ์ธ ์ ๊ทผ์ผ๋ก ๋ณผ ์ ์์ต๋๋ค. 3๋ฒ์ ํ์ฌ SOTA๋ Glasgow๋ผ๋ ํ๋ก๊ทธ๋จ์ด ์๊ณ , 1๋ฒ์ ๊ฒฝ์ฐ CFL-Match๋ผ๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ์ ์ผ๋ก CECI, DAF ๋ฑ์ด ์ฐ๊ตฌ๋์์ต๋๋ค.
Backtracking Algorithms
CFL-Match, CECI, DAF๋ฅผ ๋น๋กฏํ์ฌ ๋ง์ ์๊ณ ๋ฆฌ์ฆ๋ค์ด ํฌ๊ฒ 3๋จ๊ณ๋ก ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. Filtering - Matching order generation - Backtracking์ธ๋ฐ, ๊ฐ๊ฐ์ด ์ด๋ค ๋๋์ธ์ง ์์๋ณด๊ฒ ์ต๋๋ค.
Filtering
Filtering์ด๋, ๋์ ํ ๋งค์นญ์ด ์๋๋ ์ ๋ค์ ๋จผ์ ์ณ๋ด๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ด๋ Candidate Vertex Set์ด๋ผ๋ ๊ฐ๋ ์ด ๋ฑ์ฅํ๋๋ฐ, $q$์ ์ ์ $u$์ ๋ํด $u$๊ฐ ๋งคํ๋ ์ ์๋ $G$์ vertex๋ค์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, Label์ด ๋ค๋ฅธ ์ ์ ์ ์์ ๊ณ ๋ คํ ํ์๊ฐ ์์ต๋๋ค. ์กฐ๊ธ ๋ ๋ณต์กํ ์์๋ก๋, $q$์์ 1๋ฒ ์ ์ ์ผ๋ก๋ถํฐ label์ด $a$์ธ ์ ์ ์ผ๋ก ๊ฐ๋ ๊ฐ์ ์ด ์๋ ์ํฉ์ ์๊ฐํด ๋ณด๊ฒ ์ต๋๋ค. $G$์ ์ ์ 10๋ฒ์ ๋ํด, 10๋ฒ ์ ์ ์ neighbor๋ค ์ค label์ด $a$์ธ ์ ์ ์ด ํ๋๋ ์๋ค๋ฉด, $u_1$ ์ $v_{10}$์ผ๋ก ๋งค์นญํ๋ ๋งคํ์ ์กด์ฌํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ ์ ๋ค์ ์ต๋ํ ๊ฐํ๊ฒ ํํฐ๋งํด์ ์ ๊ฑฐํ๋ฉด, ๋ฐฑํธ๋ํนํ ๋์์ด ์ค์ด๋ค ๊ฒ์ ๋๋ค. ์ด๋ Candidate vertex set์ $u_i$๊ฐ ๋งคํ๋ ์ ์๋ $v_j$ ๋ค์ ์งํฉ $C_i$๋ฅผ ๋งํ๋ฉฐ, ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ผ์๋ ์ด ๊ณผ์ ์ ์ข๋ ์ ํ๋ ๋ฐฉ๋ฒ์ ์ ์ํ๋ ๊ฒฝ์ฐ ์๋ฃ๊ตฌ์กฐ์ ์ด๋ฆ์ด ๋ฌ๋ผ์ง๊ธฐ๋ ํ์ง๋ง ๋๋ต์ ์ผ๋ก๋ ์ด๋ ์ต๋๋ค.
Matching Order
๋ฌธ์ ์ ํน์ง ์, ์ด๋ค ์์๋ก ์ ์ ๋ค์ matchingํด ๋๊ฐ๋์ง๋ search space๊ฐ ๊ฐ์ํ๋ ์๋๋ฅผ ์ข์ฐํ๋ ๋งค์ฐ ์ค์ํ ์์์ ๋๋ค. Backtracking์ ํ๊ธฐ ์ํด์๋ ์ด matching order๊ฐ ํ์ํ๋ฐ, ์ดํ ๋ฐฑํธ๋ํน์ ์ํํ๋ ์์ (์ ์์ $q_V$์ permutation) ๋ฅผ matching order๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ์๊ณ ๋ฆฌ์ฆ๋ง๋ค ๋ค๋ฅธ matching order๋ฅผ ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค.
Backtracking
๋ฐฑํธ๋ํน์ ๋จ์ํ ํ๋ฉด ๋์ง๋ง, ์ด ๊ณผ์ ์์ ๋ค์ํ ์ต์ ํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ๋จผ์ ๋ฐฑํธ๋ํน์ ์ํด์๋ extendableํ candidate๋ฅผ ์ก์์ผ ํ๋๋ฐโฆ
- ํ์ฌ์ partial embedding $M$์์ ์ฌ์ฉํ๋ ์ ๋ค์ ๋ค์ ์ฌ์ฉํ ์ ์๊ณ
- ์ง๊ธ ๋ด๊ฐ $u$๋ฅผ ๋ณด๊ณ ์๋ค๋ฉด, $u$์ neighbor๋ค ์ค $M$์์ ์ด๋ฏธ ๋งคํ๋ ์ ์ ๋ค์ ๋ํด, ๊ทธ ์ ์ ๋ค ๋ชจ๋์ ์ฐ๊ฒฐ์ด ๊ฐ๋ฅํด์ผ ํฉ๋๋ค. ์ฆ, $u_3$์ด $u_1$, $u_2$ ์ ์ฐ๊ฒฐ๋์ด ์๊ณ , $u_1, u_2$๋ฅผ ๊ฐ๊ฐ $v_a, v_b$์ ์ฐ๊ฒฐ๋์ด ์์ผ๋ฉด, $u_3$์ ์ ์ด๋ $v_a, v_b$์ ์ฐ๊ฒฐ๋ ์ ๋ค ์ค์ ๊ณจ๋ผ์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค. ์ด ๋๊ฐ์ง๊ฐ ๊ฐ์ฅ ๊ธฐ๋ณธ์ด ๋ฉ๋๋ค. ์ฌ๊ธฐ์ ์ถ๊ฐ๋ก DAF์ ๊ฒฝ์ฐ Failing set๊ณผ ๊ฐ์ ์ต์ ํ ๊ธฐ๋ฒ๋ค์ ์ ์ํ๊ธฐ๋ ํ์ต๋๋ค.
References / Papers
- Sun, S., & Luo, Q. (2020). In-Memory Subgraph Matching: An In-depth Study. Proceedings of the ACM SIGMOD International Conference on Management of Data, 1083โ1098. https://doi.org/10.1145/3318464.3380581 : Subgraph Isomorphism ๋ฐฉ๋ฒ๋ค์ ๋น๊ตํ๊ณ , ์ด๋ค์ ๋ชจ๋ ๊ตฌํํ์ฌ ํต์ผ๋ ํ๋ ์์ํฌ ์์์ ์คํํ ๋ ผ๋ฌธ์ ๋๋ค. ์ด ๊ธ์ ๊ฑฐ์ ์ด ๋ ผ๋ฌธ์ ๊ธฐ๋ฐํ ์ ๋ฆฌ ํฌ์คํ ์ธ๋ฐ, ๋ ผ๋ฌธ์ ๋ฉ์ธ์ธ ์คํ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ฆฌํ์ง ์์๊ธฐ ๋๋ฌธ์ ๊ทธ๋ ๊ฒ ๋ถ๋ฅํด๋์ง๋ ์์์ต๋๋ค.
-
์ด๋ถ๋ถ์ ์ฆ๋ช ์ ์ด ๊ธ์ Scope๋ฅผ ๋๋ฌด ๋ง์ด ๋ฒ์ด๋ฉ๋๋ค.ย โฉ