SAT 인코딩을 통한 K(m)/ALC 만족도 검사

SAT 인코딩을 통한 K(m)/ALC 만족도 검사

초록

본 논문은 정상 모달 논리 K(m)와 기술 논리 ALC의 만족도 문제를 SAT(부울 만족도) 문제로 효율적으로 변환하는 인코딩 기법을 제안한다. 제안된 인코딩은 최악의 경우 지수적 복잡도를 갖지만, 실험 결과 기존 최첨단 도구들과 비교했을 때 대부분의 벤치마크에서 동등하거나 우수한 성능을 보였다.

상세 분석

K(m)/ALC는 구조가 단순함에도 불구하고 PSPACE‑complete라는 높은 이론적 복잡도를 가지고 있어, 실용적인 자동 추론 시스템 설계에 큰 도전 과제가 된다. 기존 접근법은 테이블라우, tableau‑based, 그리고 해시‑기반 모델 구축 등 다양한 전략을 사용했지만, 각각 메모리 사용량 급증이나 탐색 공간 폭발이라는 한계를 안고 있었다. 이 논문은 이러한 한계를 극복하고자, 논리식의 구조를 부울 변수와 절로 매핑하는 SAT 인코딩 방식을 채택한다. 핵심 아이디어는 각 세계(world)와 그 세계에서 만족되는 서브포뮬러를 변수로 표현하고, 모달 연산자 □와 ◇에 대한 전이 관계를 클라우스 형태로 기술함으로써 전통적인 SAT 솔버가 자동으로 전이 모델을 탐색하도록 하는 것이다. 인코딩 과정에서 불필요한 변수와 절을 최소화하기 위해, 공통 서브포뮬러의 공유, 전이 관계의 대칭성 활용, 그리고 불필요한 중복 절 제거와 같은 최적화 기법을 적용하였다. 특히, 모달 깊이와 전이 수에 따라 동적으로 변수 할당을 조절하는 “레벨‑별 인코딩” 전략은 메모리 사용량을 크게 절감하면서도 완전성을 유지한다. 실험에서는 LWB, LWB‑C, SAT‑based, 그리고 tableau‑based 도구들과 비교했으며, 다양한 크기와 복잡도의 K(m) 및 ALC 인스턴스에 대해 평균 해결 시간과 메모리 소비에서 경쟁력을 입증했다. 특히, 복잡도가 높은 인스턴스에서 SAT 솔버의 내부 학습(learned clause) 메커니즘이 전이 구조의 반복성을 효과적으로 포착해 탐색 깊이를 크게 얕게 만든 점이 눈에 띈다. 이러한 결과는 이론적으로 지수적 복잡도를 갖는 문제라도, 실제 입력 특성에 따라 SAT 인코딩이 실용적인 해결책이 될 수 있음을 시사한다.