제한 만족 프로그래밍으로 푼 ‘세 점 일직선 금지’ 문제, n 60까지 해답 확보

제한 만족 프로그래밍으로 푼 ‘세 점 일직선 금지’ 문제, n 60까지 해답 확보
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 CP‑SAT(제한 만족 프로그래밍) 기법을 이용해 n×n 격자에서 2n개의 점을 배치하면서 어떤 세 점도 같은 직선 위에 놓이지 않도록 하는 구성을 n≤60까지 모두 찾았다. 90° 회전 대칭을 활용한 모델 축소와 대규모 병렬 탐색을 통해 기존에 알려진 n≤46, 48, 50, 52의 경우를 확장했으며, 이제 D(n)=2n이 확인되지 않은 최소 n는 61이 된다.

상세 분석

‘세 점 일직선 금지(No‑three‑in‑line)’ 문제는 n×n 격자에서 서로 다른 세 점이 같은 직선에 놓이지 않도록 선택할 수 있는 최대 점 수 D(n)을 구하는 고전적인 조합기하 문제이다. 이론적으로는 D(n)≤2n이라는 상한이 존재하고, 큰 n에 대해서는 D(n)≈c·n (c≈π/√3≈1.81) 이하가 될 것이라는 확률적 추정이 있다. 기존 연구에서는 n≤46 및 n=48,50,52에서 D(n)=2n인 구성을 찾았지만, 그 이후의 경우는 알려지지 않았다.

본 논문은 먼저 각 격자점 (i,j)에 0/1 변수 x_{ij}를 두어 점의 점유 여부를 나타내는 정수계획 모델을 제시한다. 제약식은 “모든 직선 ℓ에 대해 ℓ∩G_n에 포함된 점들의 합 ≤2”이며, 이는 |L_n^{≥3}|≈5/12·π²·n⁴개의 선 제약으로 전개된다. 2n개의 점을 배치하려면 각 행에 정확히 두 점이 있어야 하므로, 행별 합 제약 x_{i·}=2를 추가해 만족성 모델 F_n을 만든다.

계산 복잡도를 크게 낮추기 위해 90° 회전 대칭을 이용한다. 격자 G_n을 회전군 ⟨ρ⟩(또는 ⟨ρ²⟩)의 궤도 대표 집합 H_n으로 축소하고, 대표 변수 y_{ij}를 도입해 전체 변수와 제약을 대칭에 따라 복제한다. 짝수 n에서는 모든 궤도가 크기 4, 홀수 n에서는 대각선 점은 크기 2의 궤도로 처리한다. 이렇게 하면 변수 수가 약 4배, 제약 수도 비슷하게 감소한다. 또한 선 제약을 해시 기반으로 중복 제거하고, 대칭 축소 후에 자명해지는 제약은 완전히 삭제한다.

구현 단계에서는 구글 OR‑Tools CP‑SAT Solver를 사용했으며, 192코어·384스레드 AMD EPYC 서버에서 384개의 독립 인스턴스를 동시에 실행하는 “run‑until‑first‑success” 방식을 채택했다. 각 인스턴스는 서로 다른 난수 시드를 갖고 단일 워커만 사용해 탐색한다. 모델 크기와 실행 시간은 n이 증가함에 따라 급격히 늘지만, 대칭 축소 모델은 n=50 정도까지 1시간 이내에 해를 찾을 수 있었다. 실제 실험에서는 n=60까지의 구성을 모두 성공적으로 발견했으며, 이때의 점 배치는 표 1에 제시된 궤도 대표 좌표들로 완전 복원된다.

통계적으로는 해결 시간 T의 누적분포 F(t)=P(T≤t)를 측정해, 대칭 모델의 평균·분산이 비대칭 모델에 비해 현저히 작음을 확인했다. 또한, 기존의 확률적 카운팅 휴리스틱이 n≈493에서 기대값이 1 이하가 되지만, 실제로는 n=60에서도 대칭 구성이 존재함을 보여 주어 이 휴리스틱이 지나치게 보수적임을 지적한다.

결과적으로, D(n)=2n인 구성이 n≤60까지 존재함을 증명했으며, 이제 D(n)=2n이 확인되지 않은 최소 n는 61이 된다. 이는 대칭 활용과 고성능 CP‑SAT 기법이 전통적인 조합기하 문제에 강력한 탐색 도구가 될 수 있음을 실증한다.


댓글 및 학술 토론

Loading comments...

의견 남기기