스도쿠 규칙의 중복성 탐구와 최소화
초록
이 논문은 스도쿠 퍼즐을 정의하는 27개의 큰(all_different) 제약 중 6개가 나머지 21개에 의해 완전히 유도된다는 사실을 그래픽 증명과 탐색적 논리 프로그래밍을 통해 입증한다. 6개의 제약을 제거하는 것이 가능한 최대치이며, 더 많이 제거하면 등가성을 유지할 수 없음을 보인다. 작은(이진 부등식) 제약에 대한 유사 결과는 아직 추측 단계에 있다.
상세 분석
본 연구는 스도쿠의 전통적 정의를 27개의 “big rule”(각 행, 열, 3×3 박스에 대한 all_different 제약)으로 모델링한다. 저자는 먼저 이러한 제약을 그래프 형태로 시각화하여, 제약들 간의 상호 의존성을 직관적으로 파악한다. 그래프의 정점은 제약을, 간선은 공유되는 셀을 나타내며, 특정 정점 집합이 다른 정점들의 논리적 함의를 제공한다는 점을 발견한다. 특히, 6개의 특정 박스 제약(또는 행·열 제약)의 조합이 나머지 21개의 제약으로부터 완전히 도출될 수 있음을 증명한다.
증명 과정은 두 단계로 구성된다. 첫 번째 단계에서는 논리 프로그래밍 언어인 Prolog를 이용해 모든 가능한 스도쿠 배치를 생성하고, 각 배치가 27개의 제약을 만족하는지를 검사한다. 여기서 제약을 하나씩 제거하면서도 여전히 모든 배치가 만족되는 경우를 탐색한다. 자동화된 탐색 결과, 6개의 제약을 제거했을 때도 모든 배치가 여전히 유효함을 확인하였다.
두 번째 단계에서는 그래픽 증명을 통해 위의 실험적 결과를 형식적으로 정당화한다. 저자는 “redundant subgraph” 개념을 도입하여, 6개의 제약이 형성하는 서브그래프가 나머지 제약들의 연결망에 의해 완전히 커버된다는 것을 보인다. 이때 사용된 핵심 논리는 “all_different” 제약이 전역적인 전치 관계를 형성한다는 점이다. 즉, 행·열·박스 제약이 서로 겹치는 셀들을 통해 전이적으로 전부를 제어하므로, 특정 6개의 제약을 제외해도 전이적 전파가 손실되지 않는다.
또한, 저자는 “maximality”를 입증하기 위해 7개 이상의 제약을 제거했을 때 발생하는 반례를 제시한다. 7개를 제거하면 최소 하나의 셀 쌍이 동일한 숫자를 가질 수 있는 배치가 존재함을 보이며, 이는 원래 스도쿠 규칙과 불일치한다. 따라서 6이 최댓값이라는 결론이 확정된다.
작은 제약(각 셀 쌍에 대한 이진 부등식)으로 전환한 경우, 동일한 중복성 패턴이 존재할 가능성을 제시하지만 아직 완전한 증명은 이루어지지 않았다. 저자는 이를 “small rule conjecture”라 명명하고, 향후 SAT/SMT 기반 자동 증명 기법을 활용한 검증을 제안한다.
이 연구는 스도쿠 규칙의 최소화 가능성을 보여줌으로써 퍼즐 생성·검증 알고리즘의 효율성을 크게 향상시킬 수 있다. 특히, 제약 프로그래밍이나 CSP 솔버에서 불필요한 제약을 제거함으로써 검색 공간을 감소시키고, 해석기의 성능을 최적화할 수 있다. 또한, 그래픽 증명과 논리 프로그래밍을 결합한 방법론은 다른 combinatorial 설계 문제에도 적용 가능함을 시사한다.