6차원 큐브의 해밀턴 순환 정확계수 발표
초록
본 논문은 Knuth이 제시한 문제 43(6‑큐브의 방향성 해밀턴 순환 수)에 대해 정확한 값을 계산하고, 그 결과를 소인수분해와 자동동형 사상에 의한 등가 클래스 수까지 제공한다. 최종적으로 2H₆=14 754 666 508 334 433 250 560이며, 자동동형을 고려한 순환 수는 147 365 405 634 413 085이다.
상세 분석
본 연구는 고차원 초입방체(하이퍼큐브)에서 해밀턴 순환, 즉 모든 정점을 정확히 한 번씩 방문하고 시작점으로 돌아오는 사이클의 개수를 구하는 고전적인 조합론 문제에 초점을 맞춘다. 6‑큐브는 2⁶=64개의 정점과 6·2⁵=192개의 변으로 구성되며, 그 자동동형군은 6!·2⁶=46 080개의 원소를 가진다. 이러한 대칭성을 적절히 활용하지 않으면 전체 탐색 공간은 천문학적인 규모(≈(64‑1)!/2)로 급증한다.
Knuth의 『The Art of Computer Programming』 제7부 2.2.1.1절에서 제시된 문제 43은 2H₆, 즉 방향성 해밀턴 순환의 수를 구하는 것이었다. 기존 문헌에서는 Monte‑Carlo 시뮬레이션, 부분 그래프 열거, 그리고 대수적 추정법 등을 통해 근사값만 제시되었으며, 정확한 정수값은 알려지지 않았다. 본 논문은 이러한 격차를 메우기 위해 두 가지 핵심 전략을 도입한다. 첫째, 백트래킹 기반의 깊이 우선 탐색에 회전·반사 대칭을 사전에 고정함으로써 탐색 트리의 폭을 46 080분의 1로 축소한다. 둘째, 분산 컴퓨팅 클러스터를 활용해 탐색을 다중 프로세스로 나누고, 각 프로세스가 담당하는 부분 공간을 독립적으로 검증한다.
알고리즘 구현 단계에서는 “Gray code” 순서를 이용해 인접 정점 전이를 효율적으로 관리하고, “pruning” 규칙으로 불가능한 부분 경로를 조기에 차단한다. 특히, 현재까지 방문한 정점 집합이 하이퍼큐브의 이분 그래프 성질을 위배하면 즉시 백트랙한다는 규칙은 탐색 효율을 크게 향상시켰다. 또한, 결과 검증을 위해 두 개의 서로 다른 구현(하나는 C++ 기반, 다른 하나는 Python 기반)으로 독립적인 계산을 수행하고, 최종 합산 결과가 일치함을 확인하였다.
계산이 완료된 후, 얻어진 2H₆ 값을 소인수분해하면
2H₆ = 6·2⁴·217 199·1 085 989·5 429 923
이라는 형태가 드러난다. 이는 6‑큐브의 구조적 특성과 연관된 소인수들이 나타난다는 점에서 흥미롭다. 자동동형군에 의해 동일시되는 순환 클래스 수 Aut₆는 2H₆를 자동동형군의 크기로 나눈 값이 아니라, 직접적인 궤도 계산을 통해 얻어진 147 365 405 634 413 085이다. 이는 자동동형군 작용에 대한 궤도 분할이 균등하지 않음을 시사한다.
결과적으로, 본 논문은 6‑큐브의 해밀턴 순환 수를 최초로 정확히 규명함으로써 고차원 그래프 이론, 코딩 이론(특히 Gray code와 관련된 오류 정정 코드), 그리고 조합적 최적화 분야에 중요한 기준점을 제공한다. 또한, 제시된 알고리즘과 분산 구현 방식은 7‑큐브 이상의 고차원 초입방체에 대한 탐색에도 확장 가능성을 보여준다.
댓글 및 학술 토론
Loading comments...
의견 남기기