일곱 영역을 겹쳐 놓되, 겹치는 조합을 정확히 정해 둘 수 있을까. 파노 평면 코드에서는 세 영역이 함께 겹치는 일곱 조합과, 한 영역에만 들어가는 일곱 조합, 어디에도 들어가지 않는 조합만 허용한다. 두 영역에만 들어가는 점이나 네 영역 이상에 들어가는 점은 없어야 한다. 이 규칙을 경계를 포함하지 않는 볼록집합으로 구현하는 데 몇 차원이 필요한지가 문제였다.
나는 Jeffs·Siegel·Staudinger·Wang의 논문에 남아 있던 이 문제를 골라, 먼저 4차원 구성을 찾고 가능한 조합 전체를 정확한 계산으로 확인하도록 작업 방향을 정했다. 공개 원고에는 일곱 개의 유계 열린 볼록 다면체를 만드는 좌표와 부등식, 각 조합이 가능한지 확인하는 증명서를 담았다. 이 구성으로 4차원이 충분함을 보이고, 기존 논문의 하한과 결합해 필요한 차원이 정확히 4라는 결론을 얻었다.
그림이 아니라 겹침의 규칙을 맞추는 문제
여기서 코드는 프로그램 소스가 아니라, 어떤 영역들에 동시에 속할 수 있는지를 적은 목록이다. 일곱 영역의 번호를 1부터 7까지 붙이면 허용되는 세 원소 조합은 다음과 같다.
123, 145, 167, 246, 257, 347, 356
예를 들어 123은 1·2·3번 영역에는 들어가고 나머지 네 영역에는 들어가지 않는 점이 있다는 뜻이다. 여기에 1부터 7까지의 단독 조합과 빈 조합을 더하면 모두 15개가 된다. 신경 코드 연구에서는 각 번호를 뉴런의 활성 여부에 대응시키지만, 이번 작업의 대상은 이 유한한 조합 규칙의 기하학적 구현이다.
볼록집합은 안의 두 점을 잇는 선분도 전부 안에 들어가는 집합이다. 열린 집합에서는 경계 위의 점을 제외한다. 그래서 닫힌 도형을 그려 겹침을 맞추는 일과, 두께를 가진 열린 영역으로 같은 규칙을 유지하는 일은 다르다. 선행 논문은 열린 볼록 구현에 필요한 차원이 4 이상 6 이하임을 보였고, Question 15에서 정확한 값을 물었다. 이번 구성은 그 사이에서 4차원이 실제로 가능한 쪽을 채운다.
기존의 일곱 점에서 열린 영역으로
출발점은 선행 논문의 4차원 모멘트 곡선 배치다. 하나의 수 t를 네 좌표 (t, t², t³, t⁴)로 바꾸고, t에 −3부터 3까지의 정수를 넣는다. 일곱 점에 붙이는 조합의 순서는 123, 145, 246, 167, 347, 356, 257로 유지했다.
각 번호가 속한 세 조합의 점을 이으면 삼각형이 된다. 서로 다른 두 삼각형은 정해진 점 하나에서만 만나지만, 이 삼각형들은 4차원 공간 전체에서 열린 집합은 아니다. 필요한 다음 단계는 각 영역에 두께를 주면서도, 두 영역이 만나는 곳이 반드시 해당하는 세 번째 영역 안에 들어가도록 만드는 것이었다.
공개 구성에서는 21개의 유리수 계수 벡터로 부등식의 방향을 정한다. 한 조합에 속한 세 벡터의 합이 0이 되도록 맞추고, 다른 중심점과는 충분히 떨어지도록 84개의 분리 부등식을 둔다. 여기에 작은 좌표 방향 보정을 더하면 중심점 주위에 열린 핵심 영역, 즉 core를 만들 수 있다. 보정량은 δ = 1/200, 부등식의 여유는 ε = 1/1,000,000이며, 각 core는 중심에서 좌표마다 ρ = ε/δ = 1/5,000보다 가까운 작은 상자 안에 갇힌다. 중심점들이 떨어져 있으므로 서로 다른 core도 만나지 않는다.
각 영역에는 이 부등식 중 48개를 배분하고, 전체가 (−100, 100)⁴ 안에 있도록 상자 부등식 8개를 더한다. 따라서 영역마다 56개, 일곱 영역 전체로는 392개의 엄격한 정수 부등식이 생긴다. ‘엄격하다’는 말은 경계까지 허용하는 ≤ 대신 <를 쓴다는 뜻이다. 공개 파일에는 이 정수 계수들이 전부 들어 있어 소수점 반올림 없이 같은 집합을 다시 만들 수 있다.
두 영역의 교집합이 세 영역의 교집합이 되게 했다
구성의 핵심은 다음 등식이다. L = {i, j, k}가 허용된 조합이면,
U_i ∩ U_j = U_i ∩ U_k = U_j ∩ U_k = U_i ∩ U_j ∩ U_k = K_L
여기서 U는 각각의 열린 영역이고 K_L은 그 조합의 core다. 두 영역에 들어가는 순간 해당 core 안으로 들어가고, 그 core는 세 번째 영역에도 포함된다. 따라서 정확히 두 영역에만 속하는 점이 생길 수 없다.
허용되지 않은 세 원소 조합에 속하는 점이 있다고 가정하면, 서로 다른 두 core에 동시에 들어가야 한다. 두 core가 만나지 않으므로 이 역시 불가능하다. 네 원소 이상의 조합에는 반드시 이런 금지된 세 원소 조합이 들어 있어 함께 배제된다.
반대로 허용된 조합에는 실제 좌표를 하나씩 제시했다. 세 영역이 겹치는 조합에는 일곱 중심점을 쓰고, 단독 조합에는 해당 삼각형의 무게중심을 쓴다. 예를 들어 1번 영역에만 속하는 점은 (−5, 13, −35, 97)/3이다. 상자 밖의 (101, 0, 0, 0)은 어디에도 속하지 않는 빈 조합을 만든다. 이렇게 15개 조합은 좌표로 확인하고, 나머지는 부등식 사이의 관계로 제외한다.
128개 조합을 어떻게 확인했나
일곱 영역 각각에 들어가거나 들어가지 않는 경우는 모두 2⁷ = 128개다. 공간에서 점을 많이 찍어 보는 대신, 허용 조합에는 정확한 좌표를 주고 금지 조합에는 모순이 생기는 부등식 결합을 남겼다.
| 확인 대상 | 공개 검증 기록의 범위 |
|---|---|
| 허용되는 조합 | 15개 조합의 유리수 좌표 |
| 허용되지 않는 조합 | 나머지 113개 |
| 두 영역에서 세 번째 영역으로의 포함 | 21쌍 × 56개 부등식 = 1,176개 확인 |
| 허용되지 않은 세 영역의 동시 포함 | 28개 모순 증명서 |
세 번째 영역의 부등식 하나만 확인해서는 그 영역 안에 들어간다고 할 수 없다. 그 영역을 정의하는 56개를 모두 따라가야 하므로 1,176개를 검사한다. 공개 검증기는 부등식을 음수가 아닌 계수로 더해 원하는 부등식이나 모순을 얻는 과정을 유리수 산술로 확인하며, 분모를 없애 정수 산술로 다시 확인하는 별도 구현도 포함한다. 후자는 15개 좌표를 일곱 영역의 56개 부등식에 각각 대입하는 5,880회 평가를 수행했다. 일부러 입력을 훼손한 12개 사례도 모두 거부한 결과가 공개돼 있다.
공개 원고와 재현 파일은 2026년 9월 5일 Zenodo에 올렸다. 압축파일을 푼 뒤 Python 3.10 이상에서 다음 명령으로 구성과 검사를 재현하도록 묶었으며, 이 재현 경로는 표준 라이브러리만 사용한다.
python3 reproduce.py
계수 벡터를 탐색하는 선택적 스크립트에는 SciPy를 쓰지만, 완성된 유리수 표를 검증하는 데 최적화 솔버는 필요하지 않다. 문제 선택, 4차원 우선 방향과 정확 검증 조건은 내가 정했고, 구성·수학적 유도·코드·내부 검증에는 ChatGPT의 도움을 받았다. Codex의 공개 패키지 준비와 별도 구현 검토도 기여 기록에 남겼다.
같은 날 Discrete & Computational Geometry의 투고 접수를 확인했으며, 공개본은 동료심사 전 프리프린트다. 이 구성에서 4라는 값이 정해지는 이유는 분명하다. 3차원 이하를 배제하는 쪽은 선행 논문의 정리이고, 이번에 제공한 것은 그 바로 위인 4차원에서 15개 겹침 규칙을 모두 만족하는 구체적인 열린 집합이다.
후속 연구: 파노 한 사례에서 모든 슈타이너 삼중계로
파노의 일곱 영역을 구성한 뒤에는, 같은 종류의 겹침 규칙을 더 큰 체계에도 적용할 수 있는지로 범위를 넓혔다. 대상은 유한 완전 슈타이너 삼중계(Steiner triple system)다. 번호 두 개를 고르면 그 둘을 포함하는 세 원소 조합이 정확히 하나씩 정해지는 체계로, 파노 평면도 그중 하나다. 번호가 늘어날 때 필요한 공간의 차원까지 계속 커져야 하는지가 후속 작업의 질문이었다.
2026년 9월 11일 공개한 프리프린트에는 어떤 유한 완전 슈타이너 삼중계라도 23차원이면 충분한 구성을 담았다. 각 영역은 23차원에서 내부가 비어 있지 않은, 유계이며 엄격히 볼록한 콤팩트 집합으로 만든다. 경계를 포함한 영역을 보든 경계를 뺀 내부만 보든, 어느 영역들이 함께 겹치는지가 지정된 규칙과 정확히 일치한다. 앞의 파노 결과가 한 사례에 필요한 차원을 정확히 4로 정한 것이라면, 이번 원고는 전체 체계에 공통으로 적용할 수 있는 상한을 제시한다. 따라서 모든 사례가 23차원을 요구한다는 뜻은 아니며, 원고가 제시하는 보편 최적 차원의 범위는 4 이상 23 이하다.
9월 13일 개정에서는 이 구성을 유한한 정수 자료로 확인할 수 있는 조건을 따로 정리했다. 각 겹침의 중심과 부등식 방향을 정하는 벡터가 어떤 관계를 만족해야 하는지 ‘균형 지지조건 보조정리’로 분리하고, 입력한 정수 자료가 그 충분조건을 충족하는지 정확 연산으로 검사하도록 했다. 여기서 인증서는 구성에 필요한 좌표와 조건을 담은 자료다.
번호가 n개일 때 유리수로 표현한 보조 구 O(n²)개로 구성을 기술할 수 있고, 전체 표현을 이진수로 적는 데 필요한 길이는 O(n³)비트라는 결과도 더했다. 주어진 충분조건 인증서는 그 길이에 대해 다항시간으로 검증할 수 있다. 인증서를 빠르게 찾는 알고리즘까지 제시한 것은 아니며, 차원의 상한도 여전히 23이다.
나는 원고와 보충 문서, 소스 묶음을 Zenodo 개정판 1.1.0에 공개했고, 9월 13일에는 이 후속 원고의 Discrete & Computational Geometry 접수를 확인했다. 일반 증명과 특정 예제의 정확 산술 검사는 구분해 담았다. 공개본은 동료심사나 증명보조기를 통한 형식검증을 거치지 않은 프리프린트다.
