그래프 모델을 위한 AND OR 다중값 결정도

그래프 모델을 위한 AND OR 다중값 결정도

초록

본 논문은 AND/OR 탐색 공간 개념을 MDD에 도입해 AND/OR 다중값 결정도(AOMDD)를 정의한다. AOMDD는 그래프 모델을 정규 형태로 컴파일하여 해 카운팅, 베일리 업데이트 등 다항식 시간 쿼리를 지원하고, 모델 동등성 검사는 상수 시간에 가능하게 한다. 두 가지 컴파일 알고리즘(검색 기반 및 버킷 소거 기반)을 제시하고, 최악의 경우 복잡도는 트리폭에 지수적으로 의존한다는 점을 보인다. 또한 의미 트리폭 개념을 도입해 실제 크기가 이론적 상한보다 작게 나타나는 이유를 설명한다.

상세 분석

이 논문은 기존의 OBDD(Ordered Binary Decision Diagram)와 MDD(Multi‑Valued Decision Diagram)가 변수 순서에 강하게 의존해 경로폭(pathwidth)만큼의 복잡도를 갖는 한계를 극복하고자 한다. AND/OR 탐색 공간은 그래프 모델의 구조적 분해를 명시적으로 표현함으로써 트리폭(treewidth) 수준의 복잡도만을 요구한다는 점에서 핵심적인 아이디어다. 저자들은 이 개념을 MDD에 AND 노드를 추가하는 형태로 구체화하여 AOMDD를 정의한다. AOMDD는 두 종류의 노드, 즉 OR 노드(변수 선택)와 AND 노드(문제 분할)를 포함하고, 각 OR 노드 아래에 가능한 값들을 나타내는 MDD‑like 서브트리를 배치한다. 이러한 구조는 함수의 곱셈적 분해를 자연스럽게 반영하므로, 동일한 서브함수가 여러 위치에서 재사용될 경우 공유가 자동으로 이루어진다. 결과적으로 AOMDD는 **정규성(canonical form)**을 유지하면서도, 동일한 그래프 모델에 대해 유일한 표현을 제공한다.

컴파일 방법은 두 갈래로 나뉜다. 첫 번째는 메모리 집약적인 AND/OR 검색 과정을 기록한 탐색 트리를 후처리하면서, 중복 서브트리를 병합하고 불필요한 노드를 제거하는 검색 기반 알고리즘이다. 이 과정에서 적용되는 감소 규칙은 (1) 동일한 AND‑OR 구조를 가진 서브트리의 병합, (2) 단일 자식 노드의 축소, (3) 불필요한 값 노드의 제거 등이다. 두 번째는 버킷 소거 기반 알고리즘으로, 전통적인 Bucket Elimination 스케줄에 따라 입력 함수들을 차례로 AOMDD 형태로 변환하고, APPLY 연산자를 이용해 결합한다. APPLY 연산자는 두 AOMDD를 입력받아 곱셈 연산을 수행하면서 동시에 구조적 감소를 적용한다. 두 방법 모두 최악의 경우 트리폭에 대한 지수적 복잡도를 보이지만, 실제 데이터에서는 의미 트리폭(semantic treewidth)이 훨씬 작아 컴파일 크기가 크게 감소한다는 실험적 증거를 제시한다.

의미 트리폭은 그래프 모델이 실제로 활용되는 도메인에서 변수 간의 함수적 의존성이 얼마나 얕은지를 정량화한다. 전통적인 트리폭은 그래프 자체의 구조만을 고려하지만, 의미 트리폭은 함수들의 구체적 형태와 값 도메인을 반영한다. 따라서 동일한 구조라도 특정 함수가 단순하거나 높은 수준의 독립성을 가질 경우, AOMDD의 크기는 이론적 상한보다 현저히 작아진다. 논문은 여러 베이즈 네트워크와 제약 만족 문제에 대해 실험을 수행했으며, 대부분의 경우 OBDD 대비 1~2 차수 정도의 메모리 절감과 컴파일 시간 단축을 관찰했다.

마지막으로, AOMDD가 제공하는 쿼리 효율성에 대해 논의한다. 해의 개수 카운팅, 마진 확률 계산, 조건부 확률 업데이트 등은 AOMDD의 구조를 순회함으로써 다항식 시간에 수행될 수 있다. 특히 모델 동등성 검사는 두 AOMDD의 루트 해시값만 비교하면 되므로 상수 시간에 해결된다. 이러한 특성은 모델 검증, 사후 분석, 그리고 실시간 의사결정 시스템에서 큰 장점을 제공한다.