부울 등가 전파를 이용한 효율적인 SAT 인코딩 기법

부울 등가 전파를 이용한 효율적인 SAT 인코딩 기법

초록

본 논문은 제약을 부울 함수로 모델링하고, 리터럴 간 동등성을 전파하는 “Boolean equi‑propagation” 기법을 제안한다. 작은 부분 모델에 강력한 추론을 적용해 등가 리터럴을 찾아 전체 CNF를 축소하고, 이를 기반으로 BEE 도구를 구현해 다양한 벤치마크에서 인코딩 크기와 SAT 해결 시간 모두 크게 개선됨을 보인다.

상세 분석

이 논문은 SAT 기반 유한 도메인 제약 해결에서 인코딩 효율성을 극대화하기 위한 새로운 전파 메커니즘, 즉 Boolean equi‑propagation을 제시한다. 기존의 SAT 인코딩은 각 제약을 독립적인 CNF 클라우드로 변환한 뒤, 전통적인 단위 전파(unit propagation)와 학습을 통해 해를 찾는다. 그러나 이러한 방식은 제약 간의 구조적 연관성을 활용하기 어렵고, 불필요한 리터럴과 절이 남아 해결 속도를 저하시킨다. 저자들은 제약을 부울 함수 형태로 표현하고, 그 함수 내부에서 발생할 수 있는 “리터럴 동등성(equivalence)”을 탐지한다. 핵심 아이디어는 전체 모델을 한 번에 다루는 것이 아니라, 제한된 크기의 조각(fragment)만을 선택해 완전한 논리 추론을 수행한다는 점이다. 작은 조각에서는 SAT 솔버 수준의 완전 탐색이 가능하므로, 동등성 검출이 매우 정확하게 이루어진다. 검출된 등가 관계는 전역적으로 적용되어, 해당 리터럴들을 하나의 대표 변수로 대체하거나, 불필요한 절을 제거한다. 이 과정은 “partial evaluation”(부분 평가)과 결합돼, 제약 자체를 더 단순한 형태로 재작성하게 만든다.

논문은 이 메커니즘을 구현한 BEE(Ben‑Gurion Equi‑propagation Encoder)를 소개한다. BEE는 입력으로 MiniZinc‑style 제약 모델을 받아, 각 제약을 내부적으로 부울 함수로 변환한 뒤, fragment‑wise equi‑propagation을 수행한다. 구현상의 중요한 선택으로는 (1) fragment의 크기를 동적으로 조정해 추론 비용을 제어, (2) 등가 관계를 저장하는 Union‑Find 자료구조를 활용해 빠른 합병을 보장, (3) 기존의 전통적인 CNF 전처리와 병행해 최종 인코딩을 최적화한다는 점을 들 수 있다.

실험에서는 표준 combinatorial benchmark(예: N‑Queens, Latin Square, Graph Coloring, Pigeonhole 등)와 실제 산업용 스케줄링 문제를 대상으로, BEE가 기존 인코더(예: MiniSat+, BEE‑old, direct CNF)와 비교해 평균 40%70%의 절 수 감소와 2배10배의 SAT 해결 시간 단축을 달성함을 보고한다. 특히, 등가 전파가 강력하게 작용하는 경우(예: 대칭이 많은 문제)에는 절감 효과가 극대화된다.

한계점으로는 fragment 선택 전략이 문제 특성에 민감하며, 매우 큰 제약(예: 고차원 배열 제약)에서는 fragment 내부 추론 비용이 급증할 수 있다는 점을 인정한다. 또한, 현재 구현은 부울 함수 형태로 변환 가능한 제약에만 적용 가능하므로, 비선형 산술 연산이나 복합 논리 연산이 포함된 모델에 대해서는 추가적인 변환 규칙이 필요하다. 그럼에도 불구하고, 작은 조각에 대한 완전 추론을 통해 전역적인 등가 관계를 발견한다는 근본적인 아이디어는 SAT 기반 제약 해결의 새로운 패러다임을 제시한다.