수독 탐구 조합적 관점
초록
본 논문은 수독 퍼즐을 전형적인 제약 만족 문제(CSP)로 모델링하고, alldifferent 제약을 중심으로 다양한 전파‑검색 알고리즘을 설계·평가한다. 특히 PS‑1‑2 라는 단순 전파‑이진 탐색 기법을 구현하고, 최소 17개의 힌트를 가진 최소 퍼즐에 대한 실험 결과를 제시한다.
상세 분석
논문은 먼저 수독을 n×n 블록 구조를 갖는 n²×n² 격자로 일반화하고, 각 셀을 변수 xᵢⱼ, 도메인은 {1,…,n²} 로 정의한다. 이때 수독의 핵심 제약은 “각 행·열·블록에 동일한 숫자가 한 번만 나타난다”는 alldifferent 제약이다. alldifferent 제약은 전통적인 CSP에서 가장 강력한 전파 메커니즘 중 하나이며, 논문은 이를 두 단계로 나눈다. 첫 번째 단계는 할당된 값(v)을 같은 행·열·블록의 다른 셀 도메인에서 제거하는 기본 전파이며, 두 번째 단계는 “단일 후보” 규칙(한 행·열·블록 내에서 어떤 값이 오직 하나의 셀에만 남아 있을 때 그 셀에 강제 할당)이다. 이 두 단계는 비트 배열을 이용해 효율적으로 구현되며, 전파가 정지된 후에도 모든 도메인이 단일값이 아니면 탐색 단계로 넘어간다.
탐색 단계는 오직 도메인 크기가 2인 셀(쌍 도메인)만을 대상으로 이진 깊이 우선 탐색을 수행한다. 즉, 쌍 {v,w}에 대해 먼저 v를 할당하고 전파를 재실행한 뒤 해가 없으면 되돌리고 w를 할당한다. 이 방식은 “PS‑1‑2”라는 이름으로 명명되었으며, “1”은 alldifferent 기반 전파만을 사용하고, “2”는 이진 탐색만을 허용한다는 의미다.
알고리즘 구현은 C 언어와 비트 연산을 활용해 도메인 압축과 전파/축소 연산을 O(1) 수준으로 가속한다. 특히 행·열·블록 별로 도메인 비트를 전치(transpose)하여 “값이 한 번만 나타나는 셀”을 빠르게 탐지한다. 탐색 시에는 현재 도메인 상태를 전체 비트 배열로 복사해 백업하고, 실패 시 복원함으로써 전형적인 백트래킹 메커니즘을 구현한다.
실험에서는 최소 힌트 수 17개를 갖는 유명한 최소 퍼즐 컬렉션(그레고리 로일)과, 임의로 선택한 난이도 중간 퍼즐을 대상으로 수행했다. 결과는 평균 77회의 전파와 11회의 이진 탐색 호출로 해결되었으며, 탐색 깊이는 대부분 1~2단계에 머물렀다. 이는 alldifferent 전파가 상당히 강력함을 보여준다. 또한, 전파 단계에서 도메인이 비어버리는 경우(블록)와 해가 완전히 결정되는 경우(솔브)도 정확히 감지한다.
논문은 또한 인간이 사용하는 “피시(Fish)”, “XY‑Wing” 등 복잡한 패턴 기반 히어리틱과 비교했을 때, 전파‑검색 프레임워크가 이론적으로는 충분히 강력하지만 실제 퍼즐 난이도 평가는 히어리틱의 복합성, 힌트 수, 전파 깊이 등 다차원적인 요소가 필요함을 강조한다. 마지막으로, alldifferent 제약을 순열 제약(permutation constraint)으로 보는 관점에서, 수독이 다른 CSP(예: 라틴 사각형, 그래프 색칠)와 구조적 유사성을 갖는다는 점을 부각시킨다.
요약하면, 논문은 수독을 CSP로 정형화하고, alldifferent 전파와 제한된 이진 탐색만으로도 대부분의 실제 퍼즐을 효율적으로 해결할 수 있음을 실험적으로 증명한다. 동시에 전파‑검색 균형, 도메인 축소 전략, 백트래킹 구현 세부사항이 알고리즘 성능에 미치는 영향을 정밀히 분석한다.
댓글 및 학술 토론
Loading comments...
의견 남기기