SAT를 활용한 빈발 아이템 집합 탐색 시점과 방법
초록
본 논문은 빈발 아이템 집합 마이닝(FIM) 문제에 SAT 기반 접근법을 적용할 때의 적합성, 인코딩 기법, 열거 전략 및 탐색 기법을 체계적으로 분석한다. 다양한 SAT 인코딩을 설계하고, 작업 특성에 맞는 열거 옵션과 검색 전략을 조합함으로써 기존 CP 기반 솔루션과 비교했을 때 특정 상황에서 SAT가 우수한 성능을 보일 수 있음을 실험적으로 입증한다.
상세 분석
논문은 먼저 FIM 문제를 제약 프로그래밍(CP) 관점에서 살펴보고, 기존 CP 솔루션이 Boolean 변수와 고급 도메인 전파 메커니즘을 활용해 효율적으로 탐색한다는 점을 강조한다. 그에 반해 초기 SAT 기반 시도는 단순한 논리식 변환에 머물러, 대규모 데이터셋에서 탐색 속도가 급격히 저하되는 한계를 보였다. 이를 극복하기 위해 저자들은 세 가지 주요 인코딩 방식을 제안한다. 첫째, 아이템‑트랜잭션 매트릭스를 직접 2‑SAT 형태로 표현하는 ‘아이템 기반 인코딩’은 각 아이템 변수와 트랜잭션 변수 사이의 포함 관계를 정확히 기술한다. 둘째, ‘트랜잭션 기반 인코딩’은 트랜잭션을 중심으로 빈도 제한을 클라우즈 형태로 변환해, SAT 솔버가 단위 절충을 통해 빠르게 충족 여부를 판단하도록 설계한다. 셋째, ‘하이브리드 인코딩’은 두 접근을 결합해, 빈도 제약은 트랜잭션 클라우즈로, 아이템 간 상호 배제는 아이템 클라우즈로 각각 다루어 전역적인 절충을 최소화한다.
열거 전략 측면에서는 전통적인 사전식(lexicographic) 열거, 최대( maximal) 및 폐쇄(closed) 아이템 집합 열거를 SAT 솔버의 모델 재사용 및 충돌 분석 기능과 연계한다. 특히, ‘충돌 기반 차단(clause learning) 활용 열거’는 이미 발견된 해를 차단하는 단일 절을 추가함으로써 중복 탐색을 방지하고, 탐색 공간을 급격히 축소한다. 검색 전략에서는 변수 선택 히스토리를 기반으로 한 ‘동적 분기(dynamic branching)’와, 탐색 트리 깊이에 따라 재시작을 트리거하는 ‘적응형 재시작(adaptive restart)’을 도입한다. 이러한 전략은 SAT 솔버가 일반적인 DPLL 기반 탐색에서 겪는 비효율성을 보완한다.
실험 결과는 네 개의 공개 데이터셋(Chess, Mushroom, Retail, Kosarak)을 대상으로 다양한 최소 지원도(minsup) 설정에서 수행되었다. 전반적으로 CP 솔버가 대부분의 경우에서 우위를 점했지만, 특히 높은 minsup 값에서 트랜잭션 수가 적고 아이템 수가 많은 데이터(예: Chess)에서는 하이브리드 인코딩과 동적 분기 전략을 결합한 SAT 솔루션이 CP보다 2~3배 빠른 성능을 보였다. 또한, 폐쇄 아이템 집합을 목표로 할 때는 충돌 기반 차단이 탐색 단계 수를 40% 이상 감소시켰다. 이러한 결과는 SAT가 “작업 특화”된 인코딩과 검색 전략을 적용할 경우, CP와 경쟁하거나 우위를 차지할 수 있음을 시사한다.
결론적으로, 논문은 SAT 기반 FIM이 무조건 비효율적인 것이 아니라, 문제 규모·특성·목표(빈발·폐쇄·최대)에 따라 맞춤형 인코딩과 열거·검색 전략을 설계하면 실용적인 대안이 될 수 있음을 입증한다. 이는 향후 SAT와 CP의 하이브리드 프레임워크 개발에 중요한 설계 지침을 제공한다.