IQ Lab
← all posts
AI 2026.04.28 · 11 min read Advanced

Exact Inference는 왜 그렇게 어려운가

Variable Elimination의 분배법칙부터 Treewidth의 NP-hardness, Junction Tree의 완성까지 — PGM exact inference의 복잡도 구조를 통합적으로 추적한다.


Bayesian Network에서 p(L)p(L)을 구하려면 나머지 변수 전부를 합산해야 한다. 변수가 nn개, 각 기수(cardinality)가 dd라면 단순 열거는 O(dn)O(d^n). 그런데 왜 어떤 모델은 선형 시간에 풀리고, 어떤 모델은 슈퍼컴퓨터로도 몇 주가 걸리는가?

분배법칙이 Inference를 가능하게 한다

Variable Elimination(VE)의 핵심은 합산 순서의 재배치다. Joint distribution의 factorization p(x)=fϕf(xN(f))p(x) = \prod_f \phi_f(x_{N(f)})이 있을 때, 합산을 관련 factor 안으로 밀어 넣으면 된다.

x2,x3ϕ12(x1,x2)ϕ23(x2,x3)ϕ3(x3)=x2ϕ12(x1,x2)x3ϕ23(x2,x3)ϕ3(x3)τ(x2)\sum_{x_2, x_3} \phi_{12}(x_1, x_2)\, \phi_{23}(x_2, x_3)\, \phi_3(x_3) = \sum_{x_2} \phi_{12}(x_1, x_2) \underbrace{\sum_{x_3} \phi_{23}(x_2, x_3)\, \phi_3(x_3)}_{\tau(x_2)}

τ(x2)\tau(x_2)를 먼저 계산해두면 x3x_3은 사라진다. 이것이 “variable을 eliminate한다”는 의미다. 알고리즘은 단순하다.

for each x_i in elimination order σ:
    Φ_i = {φ ∈ Φ : x_i ∈ scope(φ)}
    τ   = product of all φ in Φ_i
    τ'  = sum out x_i from τ
    Replace Φ_i with τ'
Result: product of remaining factors

이 과정이 정확히 xqfϕf(x)\sum_{x_{-q}} \prod_f \phi_f(x)를 계산한다는 것은 귀납법으로 증명된다. Step ii 후 factor set이 xix_i를 정확히 marginalize한 것과 동등하며, 이를 반복하면 query variable 하나만 남는다.

Treewidth — 복잡도의 근본 척도

VE의 비용은 어디서 나오는가? 각 elimination step에서 생성되는 intermediate factor의 크기다. 같은 graph에서도 어떤 순서로 제거하느냐에 따라 이 크기가 극적으로 달라진다.

Naive Bayes 구조에서 YY의 children X1,X2,X3,X4X_1, X_2, X_3, X_4를 생각하자.

  • 순서 (X1,X2,X3,X4,Y)(X_1, X_2, X_3, X_4, Y): 매 step에서 intermediate factor의 크기가 O(Y)O(|Y|).
  • 순서 (Y,X1,X2,X3,X4)(Y, X_1, X_2, X_3, X_4): YY를 먼저 제거하면 τ1(X1,X2,X3,X4)=Yp(Y)p(XiY)\tau_1(X_1, X_2, X_3, X_4) = \sum_Y p(Y) \prod p(X_i|Y). 크기 O(X4)O(|X|^4).

이 차이를 포착하는 개념이 treewidth다.

tw(G)=minσmaxi{xi}Nσ(xi)1\text{tw}(\mathcal{G}) = \min_\sigma \max_i |\{x_i\} \cup N_\sigma(x_i)| - 1

Elimination order σ\sigma에서 각 step의 clique 크기의 최대값을 minimizing한 것. 수치로 보면:

GraphTreewidthInference complexity
Tree1O(nd2)O(n d^2)
Cycle CnC_n2O(nd3)O(n d^3)
Grid L×LL \times LLLO(L2dL+1)O(L^2 d^{L+1})
Complete KnK_nn1n-1O(dn)O(d^n)

Grid의 treewidth가 LL에 선형이라는 사실이 핵심이다. 256×256256 \times 256 이미지의 pixel-level MRF는 treewidth 256\approx 256, 이를 exact하게 풀면 d257d^{257} 연산이 필요하다. 이것이 이미지 segmentation에서 exact inference가 불가능한 이유다.

정리 1 · VE 복잡도

Elimination order σ\sigma에서 VE의 시간 복잡도는 O(Φdw(σ))O(|\Phi| \cdot d^{w^*(\sigma)})이며, w(σ)w^*(\sigma)는 해당 order의 induced graph에서 최대 clique 크기다. 모든 order에 대한 최솟값이 treewidth +1+1이다.

Optimal Ordering은 NP-Hard

Arnborg-Corneil-Proskurowski (1987)의 결과: “Does tw(G)k\text{tw}(\mathcal{G}) \leq k?”는 NP-complete. 즉 최적 elimination order를 찾는 것 자체가 NP-hard다. 실전에서는 min-fill, MCS 같은 heuristic을 사용한다.

Junction Tree — 여러 Query를 한 번에

Single marginal은 VE로 충분하다. 하지만 모든 변수의 marginal이 필요하다면 VE를 nn번 반복하는 것은 중복 계산이 심하다. **Junction Tree(JT)**는 이 문제를 해결한다.

구성 절차는 네 단계다.

Moralize BN → Triangulate (fill-in edges) → Find maximal cliques → Build clique tree with RIP

Running Intersection Property(RIP): 각 변수 vv에 대해 vv를 포함하는 clique들의 집합이 clique tree에서 connected subtree를 이룬다.

RIP가 왜 중요한가? Message passing의 correctness가 여기에 달려 있다. 변수 vv에 대한 정보가 tree를 따라 일관되게 흘러야 하는데, RIP가 없으면 중간 clique에서 vv의 정보가 끊길 수 있다.

Shafer-Shenoy message는 다음과 같이 정의된다.

μij(xSij)=xCiSijπi(xCi)kN(i){j}μki(xSik)\mu_{i \to j}(x_{S_{ij}}) = \sum_{x_{C_i \setminus S_{ij}}} \pi_i(x_{C_i}) \prod_{k \in N(i) \setminus \{j\}} \mu_{k \to i}(x_{S_{ik}})

Root에서 collect → distribute 두 pass를 마치면 tree가 calibrated 상태가 된다.

xCiSijbi(xCi)=xCjSijbj(xCj)(i,j)\sum_{x_{C_i \setminus S_{ij}}} b_i(x_{C_i}) = \sum_{x_{C_j \setminus S_{ij}}} b_j(x_{C_j}) \quad \forall (i, j)

인접 clique의 belief가 separator 위에서 일치한다는 뜻이다. 이 상태에서 임의 변수의 marginal을 O(dω+1)O(d^{\omega+1})로 즉시 조회할 수 있다. 전처리(triangulation + message passing) 비용은 O(ndω+1)O(n \cdot d^{\omega+1}) — VE와 같은 복잡도로 모든 marginal을 동시에 얻는다.

복잡도의 벽 — NP-Hard와 #P-Hard

Treewidth가 bounded이면 inference는 polynomial이다. 하지만 일반 그래프에서는 어떤가?

정리 2 · MAP와 Marginal Inference의 복잡도 (Roth 1996)

일반 Bayesian Network에서:

  • MAP inference (가장 그럴듯한 configuration 찾기)는 NP-hard
  • Marginal inference (p(xq)p(x_q) 계산)는 #P-hard
▷ 증명

MAP의 NP-hardness: 3-CNF formula ϕ\phi의 각 변수를 BN 변수로, 각 clause를 CPT로 인코딩하면 p(Cj=1)>0p(\bigwedge C_j = 1) > 0 iff ϕ\phi가 satisfiable. MAP query가 3-SAT decision을 포함한다.

Marginal의 #P-hardness: 같은 construction에서 p(Cj=1)=#(satisfying assignments)/2np(\bigwedge C_j = 1) = \#(\text{satisfying assignments}) / 2^n. Marginal 계산이 #SAT를 포함하며, 이는 #P-complete. \square

#P가 NP보다 엄격히 어려운 이유는 Toda’s theorem에서 확인된다: polynomial hierarchy 전체가 #P oracle로 polynomial time이다. MAP는 “해 하나의 존재”, Marginal은 “모든 해의 가중합” — 후자가 근본적으로 더 어렵다.

Roth(1996)와 Dagum-Luby(1997)는 더 강한 결과를 보였다. Approximate marginal도 multiplicative factor 이내로 근사하는 것이 NP-hard라는 것이다. 이것이 variational inference와 MCMC가 이론적 보장 없이도 실용적으로 정당화되는 이유다 — exact도, 일반적 approximation도 불가능하기 때문에, 경험적으로 잘 작동하는 방법론이 선택지가 된다.

트레이드오프
구조MAPMarginal
PolytreeO(nd2)O(n d^2)O(nd2)O(n d^2)
Bounded treewidth ω\omegaO(ndω+1)O(n d^{\omega+1})O(ndω+1)O(n d^{\omega+1})
Planar + bounded degreePolynomialFPTAS 존재
General graphNP-hard#P-hard

Planar graph의 특수 케이스에서 FPTAS(fully polynomial-time approximation scheme)가 존재한다는 것이 Bansal-Bravyi-Terhal(2009)의 결과다.

정리

  • VE는 분배법칙으로 O(dn)O(d^n)O(ndw)O(n d^{w^*})으로 줄인다. 핵심은 elimination ordering이다.
  • Treewidth는 graph의 “tree-like 정도”를 측정하며, 정확히 inference 복잡도를 결정한다. Grid의 treewidth는 LL에 선형이고, 이것이 image MRF에서 exact inference가 불가능한 구조적 이유다.
  • Junction Tree는 전처리 한 번으로 모든 marginal을 calibrated belief에서 조회하게 한다. RIP가 message passing의 정확성을 보장한다.
  • 일반 그래프의 exact marginal inference는 #P-hard이고 근사조차 NP-hard다. 이 벽이 variational inference와 MCMC의 이론적 존재 이유다.

이 복잡도 구조를 이해한 다음 자연스럽게 나오는 질문 — “그렇다면 어떻게 근사하는가?” — 는 Mean-Field Variational Inference에서 다룬다.

REF
Dan Roth · 1996 · On the Hardness of Approximate Reasoning · Artificial Intelligence
REF
Arnborg, Corneil, and Proskurowski · 1987 · Finding Minimum Feedback Vertex Sets and Triangulating General Graphs · SIAM Journal on Algebraic Discrete Methods