총 할당 열거에서 현대 SAT 솔버까지: 백트래킹·해결의 진화
초록
이 논문은 전통적인 전부 할당 열거(TAE) 방식을 시작점으로, DLL 기반 백트래킹에 불리언 제약 전파(BCP), 비연대적 백트래킹(NCB), 1‑UIP 기반 충돌‑지향 점프(CDB) 등을 단계별로 추가해 현대 SAT 솔버의 알고리즘을 체계적으로 유도한다. 각 기법의 증명력(인퍼런스 파워)을 비교·분석하고, 부모 절(clause)과 부모 해상도 개념을 도입해 증명 구조를 시각화한다. 결과적으로 BCP는 DLL을 p‑시뮬레이션하지만 일부 공식에서는 선형적으로 더 긴 증명을 요구하며, NCB와 CDB는 DLL과 동등한 증명력을 가진다.
상세 분석
논문은 먼저 전통적인 전부 할당 열거(Total Assignment Enumeration, TAE)를 “DFS 형태의 전부 탐색”으로 정의하고, 이를 DLL(Deutsch‑Logemann‑Loveland) 알고리즘과 비교한다. TAE는 모든 변수에 대해 완전한 할당을 만든 뒤 식을 검사하므로 증명 크기가 2ⁿ‑1에 달하지만, DLL은 각 할당 단계마다 절을 검사해 충돌을 조기에 발견한다. 이 차이를 바탕으로 논문은 DLL을 증명 시스템으로 모델링하고, 증명 크기를 “결정(Decision) 횟수”로 측정한다.
핵심 기법은 네 가지로 구분된다. 첫째, **부모 절 유지(parent clause)**와 부모 해상도(parent resolution) 개념을 도입한다. 변수 플립 시점에 해당 변수와 이전에 할당된 리터럴들의 부정으로 구성된 절을 부모 절로 저장하고, 이는 뒤로 돌아가면서 해상도를 통해 생성된다. 이는 각 결정 레벨이 논리적으로 충분히 설명될 수 있음을 보장한다.
둘째, **불리언 제약 전파(BCP)**는 현재 할당에 의해 단일 리터럴만 남은 절을 자동으로 만족시키는 과정이다. 논문은 BCP가 DLL보다 강하지만, 특정 공식(예: a ∧ ¬a ∨ …)에서는 최소 증명 길이가 선형적으로 늘어남을 증명한다. 이는 BCP가 새로운 단위 절을 생성해 탐색 공간을 축소하지만, 때때로 불필요한 해상도 단계를 추가한다는 점을 의미한다.
셋째, **비연대적 백트래킹(NCB)**는 충돌이 발생했을 때 가장 최근에 결정된 변수만 뒤로 돌아가는 것이 아니라, 충돌 절에 직접 연결된 가장 낮은 레벨로 점프한다. 논문은 NCB가 DLL과 동일한 증명력을 가지며, 실제로는 “뒤로 가는” 단계 수를 줄여 탐색 효율을 높인다고 설명한다.
넷째, **1‑UIP 기반 충돌‑지향 점프(CDB)**는 충돌 그래프에서 첫 번째 단일 인접점(Unique Implication Point)을 찾아 그 절을 학습하고, 해당 UIP 레벨로 바로 되돌아간다. 이 과정은 “뒤쪽 가지(pruning)”와 “앞쪽 가지(pruning)”을 동시에 수행해, 증명 트리의 왼쪽 서브트리 크기를 크게 감소시킨다. 논문은 CDB가 DLL, NCB와 동등한 증명력을 가지면서도 실제 실행에서는 더 작은 증명 트리를 만든다는 실험적·이론적 근거를 제시한다.
증명력 비교에서는 일반 해상도(General Resolution, GR), 트리‑형 해상도(Tree‑like Resolution, TLR), 그리고 DLL 기반 시스템을 서로 p‑시뮬레이션 관계로 정리한다. 특히, DLL + CCR(Conflict Clause Recording)과 무제한 재시작(Restarts) 조합이 GR을 p‑시뮬레이션한다는 기존 결과를 인용하면서, 본 논문은 BCP, NCB, CDB 각각이 GR에 비해 어느 정도 제한적인지 명확히 구분한다.
마지막으로, 논문은 구현 관점에서 부모 절 유지가 가장 먼저 도입되어야 하는 기본 강화라고 주장한다. 이는 이후 BCP, NCB, CDB를 독립적으로 삽입할 수 있는 토대를 제공한다. 전체 흐름은 알고리즘 1(SSS, SAT Solver Skeleton)로 구체화되며, 각 루프(메인, 충돌 분석, 백트래킹)의 역할과 상태(L/R) 관리가 상세히 설명된다.
요약하면, 이 연구는 현대 SAT 솔버가 어떻게 단계별로 기존 백트래킹에 해상도 기반 학습을 추가해 강력한 증명 시스템으로 진화했는지를 형식적으로 증명하고, 각 기법의 이론적 한계와 실용적 효과를 명확히 구분한다.
댓글 및 학술 토론
Loading comments...
의견 남기기