16 힌트 스도쿠는 존재하지 않는다

16 힌트 스도쿠는 존재하지 않는다

초록

이 논문은 스도쿠 퍼즐의 최소 힌트 수가 17임을 증명한다. 16개의 힌트만으로는 유일한 해를 갖는 퍼즐을 만들 수 없으며, 이를 확인하기 위해 저자들은 ‘불가피 집합(unavoidable sets)’과 ‘히팅 셋(hitting set)’ 문제를 효율적으로 열거하는 새로운 알고리즘을 개발하고, 대규모 병렬 탐색을 수행하였다.

상세 분석

스도쿠 최소 힌트 문제는 “몇 개의 숫자를 제공하면 유일한 해가 보장되는가?”라는 질문으로, 17이 최솟값이라는 가설은 2000년대 초부터 여러 실험적 증거에 의해 뒷받침되어 왔다. 그러나 16개의 힌트만으로도 가능한 경우가 존재할 가능성을 완전히 배제하려면 전수 탐색이 필요하다. 전통적인 전수 탐색은 가능한 퍼즐 배치를 9!⁹≈6.7×10⁵⁶가지로 계산해야 하므로 현실적으로 불가능하다. 논문은 이 난관을 ‘불가피 집합’이라는 개념으로 전환한다. 불가피 집합은 특정 셀들의 조합이 반드시 힌트에 포함되어야만 유일한 해를 보장할 수 있는 최소 구조이다. 이러한 집합들을 사전에 식별하고, 각 퍼즐이 포함해야 할 최소한의 불가피 집합들을 히팅 셋 문제로 변환한다. 히팅 셋 문제는 Karp의 21가지 NP‑complete 문제 중 하나로, 주어진 집합들의 컬렉션을 모두 ‘덮는’ 최소 원소 집합을 찾는 것이다.

저자들은 기존 백트래킹 기반 히팅 셋 탐색이 탐색 공간을 급격히 줄이지 못한다는 점을 지적하고, ‘구조적 가지치기’와 ‘대칭 감소(symmetry reduction)’를 결합한 새로운 열거 알고리즘을 설계했다. 핵심 아이디어는 (1) 불가피 집합들을 크기별로 계층화하여 작은 집합부터 먼저 선택하고, (2) 선택된 힌트가 이미 충족한 불가피 집합을 즉시 제거함으로써 탐색 트리를 급격히 얕게 만든다. 또한, 스도쿠의 대칭성(행·열·블록 교환, 숫자 치환 등)을 이용해 동일한 구조를 가진 후보를 중복 탐색하지 않도록 사전 필터링한다.

알고리즘 구현에서는 비트마스크와 고속 집합 연산을 활용해 메모리 사용을 최소화하고, 각 단계에서 가능한 후보 힌트 집합을 ‘가능성 행렬(possibility matrix)’으로 압축 저장한다. 병렬화는 작업 단위를 ‘불가피 집합 조합’ 수준으로 나누어 수천 개의 코어에 균등하게 분배했으며, 작업 간 의존성이 거의 없으므로 거의 선형적인 스케일링을 달성했다. 실제로 2011년부터 2012년 사이에 약 800 테라플롭스(TFLOP) 수준의 슈퍼컴퓨터 자원을 이용해 16‑힌트 퍼즐 후보를 전부 검증했으며, 그 결과 어떠한 경우도 유일한 해를 갖지 못함을 확인했다.

이 연구는 스도쿠 최소 힌트 문제를 완전하게 해결했을 뿐 아니라, 대규모 NP‑complete 문제에 대한 효율적인 히팅 셋 열거 기법을 제시한다는 점에서 이론·실용 양측 모두에 큰 의미를 가진다. 특히, 불가피 집합의 사전 탐색과 대칭 감소를 결합한 접근법은 다른 퍼즐·조합 최적화 문제에도 적용 가능할 것으로 기대된다.