동적 명제 논리 구조 활용으로 SAT 문제 해결
초록
본 논문은 기존 SAT 솔버가 탐지하지 못하는 특수한 명제 논리 구조를 동적으로 추출하고, 이를 CDCL 기반 솔버에 결합해 32‑bit hidden weighted bit(hwb‑n32) 문제를 10 000초 이내에 해결한 방법을 제시한다.
상세 분석
이 연구는 SAT 문제를 단순히 CNF 형태로만 다루는 전통적 접근법의 한계를 지적한다. 현대 DPLL·CDCL 솔버는 XOR, AND, OR, ITE와 같은 기본 게이트만을 동적으로 인식하지만, hwb‑n32와 같은 복합 회로 검증 문제에서는 보다 복잡한 논리 관계가 숨겨져 있다. 논문은 이러한 관계를 “논리 전제‑결론” 규칙(1)∼(7) 형태로 형식화하고, CNF에 포함된 XOR 제약을 활용해 전제를 빠르게 식별한다. 전제가 만족될 경우, 해당 규칙이 도출하는 비CNF 논리식(예: 복합 AND·OR·XOR 결합)을 즉시 CNF로 인코딩하여 현재 서브문제에 추가한다. 핵심은 이 과정을 탐색 중에 동적으로 수행한다는 점이다.
알고리즘은 크게 세 단계로 구성된다. 첫째, 전통적인 룩어헤드와 변수 선택 전략(DecisionVar1, DecisionVar2)을 이용해 문제를 작은 서브문제로 분할한다. 둘째, 각 서브문제에서 규칙(1)~(7)의 전제 조건을 탐색하고, 발견된 경우 해당 논리 결론을 CNF 형태로 변환한다. 셋째, 변환된 CNF와 원래 서브문제를 MXC 0.99 CDCL 엔진에 넘겨 해결한다. 여기서 MXC는 기존 솔버들보다 hwb 계열에 특화된 성능을 보이며, 논리 규칙 적용 후의 서브문제는 평균 8∼12 단계의 결정 레벨에서 CDCL에 의해 처리된다.
실험 결과는 두드러진 성능 향상을 보여준다. 동일 하드웨어 환경에서 PrecoSAT과 MXC만을 사용했을 때 10 000초 내에 해결되지 못하던 hwb‑n32 인스턴스 3개를 LogicSAT은 모두 해결했으며, 평균 실행 시간은 2 800∼7 300초 수준이었다. 이는 전통적인 전처리 기반 구조 탐지와 달리, 탐색 과정 중에 동적으로 구조를 활용함으로써 불필요한 탐색 공간을 크게 축소한 결과이다. 다만, 제시된 규칙이 제한적이라 적용 가능한 인스턴스가 현재는 hwb 계열에 국한된다는 한계가 있다. 향후 연구에서는 규칙 집합을 확장하고, 다른 도메인의 비클라우즈 논리 구조를 자동 추출하는 방법을 모색해야 할 것이다.
댓글 및 학술 토론
Loading comments...
의견 남기기