카운팅 기반 탐색 제약 만족 문제를 위한 새로운 분기 휴리스틱
초록
본 논문은 제약 만족 문제(CSP)에서 해의 대부분을 보존하는 분기 결정을 내리기 위해 각 제약의 해 집합을 카운트하는 “카운팅 기반 탐색” 휴리스틱을 제안한다. 변수 수준이 아닌 제약 수준의 전역 정보를 활용해 여러 도메인에 걸쳐 실험했으며, 특히 maxSD 휴리스틱이 다양한 문제에서 견고한 성능을 보임을 확인하였다.
상세 분석
이 연구는 기존 CP 분야에서 널리 사용되는 “도메인 크기”, “동적 최소 남은값(DMRV)”, “동적 가장 제한된 값(DMVS)” 등 변수‑중심 휴리스틱이 갖는 한계를 인식하고, 제약‑중심의 전역 정보를 활용하는 새로운 패러다임을 제시한다. 핵심 아이디어는 각 제약이 허용하는 해의 수를 정확히 혹은 근사적으로 계산한 뒤, 특정 변수‑값 선택이 해당 제약들의 해 집합에서 차지하는 비율을 추정하는 것이다. 이 비율이 높을수록 선택이 전체 해 공간을 크게 보존한다는 의미이므로, 탐색 트리의 깊이를 얕게 유지하고 백트래킹을 최소화할 수 있다.
논문에서는 특히 선형 등식, 전역 카디널리티, 알레르트(Alldiff)와 같은 대표적인 제약 패밀리에 대해 효율적인 카운팅 알고리즘을 설계하였다. 예를 들어, 알레르트 제약의 경우 이항계수와 순열을 이용해 변수들의 도메인 교집합 크기를 기반으로 해의 수를 빠르게 계산한다. 또한, 전역 카디널리티 제약은 동적 프로그래밍 테이블을 사용해 제한된 범위 내에서 정확한 해의 개수를 구한다. 이러한 카운팅 절차는 CP 솔버의 전처리 단계 혹은 변수 선택 시점에 호출되며, 복잡도는 제약의 구조에 따라 다소 차이가 있지만, 실험적으로는 전체 탐색 시간에 큰 부하를 주지 않는 수준으로 구현되었다.
휴리스틱 설계 측면에서는 여러 파생 변형을 제안한다. maxSD는 “Maximum Solution Density”의 약자로, 각 후보 값이 해당 제약들의 해 집합에서 차지하는 비율(밀도)을 계산하고, 가장 높은 밀도를 가진 값을 선택한다. maxRC는 “Maximum Remaining Count”로, 선택 후 남게 될 해의 절대 수를 최대화한다. 또한, “Weighted Sum” 방식은 여러 제약의 밀도를 가중합해 전체적인 기대 보존율을 추정한다. 실험에서는 이들 중 maxSD가 가장 일관된 성능을 보였으며, 특히 도메인 크기가 크고 제약 간 상호작용이 복잡한 스케줄링 문제에서 두드러졌다.
비교 대상은 최신 변수‑중심 휴리스틱(예: dom/wdeg, impact), 재시작 전략, 그리고 불일치 기반 트리 탐색(예: LDS, DDS)이다. 결과는 카운팅 기반 휴리스틱이 평균적으로 탐색 노드 수를 2035% 감소시키고, 시간 측면에서도 1530%의 개선을 이루었다. 특히, 문제 규모가 커질수록 개선 폭이 확대되는 경향을 보였으며, 이는 전역 정보를 활용한 휴리스틱이 지역 최적에 빠지는 위험을 감소시킨다는 가설을 뒷받침한다.
이 논문의 한계로는 카운팅 알고리즘이 제약 종류에 따라 구현 난이도가 높고, 일부 복합 제약(예: 비선형, 논리 결합)에서는 정확한 카운팅이 어려워 근사 방법에 의존해야 한다는 점을 들 수 있다. 또한, 카운팅 비용이 높은 경우에는 전통적인 변수‑중심 휴리스틱이 더 효율적일 수 있다. 향후 연구에서는 근사 카운팅 기법의 정확도와 비용 사이의 트레이드오프를 정량화하고, 머신러닝 기반 메타‑휴리스틱과 결합해 동적으로 휴리스틱을 전환하는 방법을 탐색할 여지가 있다.