프로젝트 기록

PROJECT RECORD

일곱 분류군의 계통수를 구별하는 최소 quartet 수는 14개였다

EN 한국어

일곱 분류군의 관계를 나뭇가지 모양으로 나타낸다고 하자. 네 분류군씩 골라 그들 사이의 가지 연결을 정확히 알 수 있다면, 몇 묶음만 관측해도 전체 계통수를 하나로 정할 수 있을까. 일곱 개에서 네 개를 고르는 방법은 35가지지만, 이들을 모두 사용할 필요는 없다.

Fischer와 Pott가 제시한 14개 구성을 출발점으로, 그보다 작은 구성이 불가능하다는 근거까지 함께 정리했다. 나는 특정 계통수 하나에서 잘 작동하는지만 확인하지 않고, 같은 관측 묶음이 가능한 모든 계통수를 구별하도록 범위를 잡았다. 기존 문헌의 하한과 구성을 연결하고, 그 연결을 직접 점검할 수 있는 증명과 계산 자료를 공개했다.

무엇을 14개 고르는가

분류군에 1부터 7까지 서로 다른 이름을 붙인다. 여기서 계통수는 뿌리의 위치를 정하지 않은 이진 나무다. 끝의 잎에는 분류군 이름이 있고, 내부 분기점에는 가지 세 개가 연결된다. 가지 길이나 관측 오차는 다루지 않는다.

네 분류군의 집합을 quartet이라고 부르기로 했다. 예를 들어 1234는 {1,2,3,4}를 고르겠다는 뜻이다. 그 네 잎만 남겨 읽은 나무의 모양은 12|34, 13|24, 14|23 중 하나이며, 12|34는 가운데 가지를 기준으로 1·2와 3·4가 갈린다는 표시다. 선택하는 것은 네 분류군의 집합이고, 관측되는 가지 모양은 실제 계통수에 따라 달라진다.

목표는 어떤 전체 계통수가 주어져도 선택한 묶음들의 관측 결과만으로 다른 계통수와 구별되는 것이다. 따라서 ‘아무 14개나 고르면 된다’는 주장도 아니다. 이 조건을 만족하는 구성을 잘 골랐을 때 필요한 최소 개수가 14다.

나무 대신 네 묶음으로 나누어 봤다

모든 계통수를 곧바로 비교하기 전에, Steel과 Sanderson의 네 부분 분할 정리를 이용했다. 일곱 분류군을 겹치지 않는 네 묶음으로 나누고 어느 묶음도 비워 두지 않는다. 가능한 모든 분할에서, 각 묶음의 분류군을 하나씩 고른 quartet이 관측 목록에 적어도 하나 있어야 한다. 이 조건은 모든 계통수를 구별한다는 조건과 동등하다.

왜 이런 분할을 보는지 이해하려면 조건이 실패한 경우가 도움이 된다. 네 묶음을 각각 작은 나무로 만든 뒤 가운데에서 연결할 때, 네 묶음을 하나씩 가로지르는 관측이 없다면 가운데 연결을 바꾼 두 전체 나무가 같은 관측 결과를 낼 수 있다. 분할 하나를 놓치는 것이 실제 구별 실패로 이어지는 셈이다.

일곱 분류군을 네 개의 비어 있지 않은 묶음으로 나누는 방법은 350가지다. 묶음 크기는 (1,1,1,4), (1,1,2,3), (1,2,2,2) 중 하나다. 이 350개 분할 각각에 어떤 관측 묶음이 걸리는지 기록하는 방식으로 계산 자료를 구성했다.

13개로는 부족하다는 짧은 증명

먼저 두 분류군 a와 b를 고정한다. 나머지 다섯 분류군을 점으로 놓고, 관측 목록에 {a,b,c,d}가 있으면 c와 d 사이에 선을 긋는다. 이렇게 고정한 쌍에서 만들어지는 그래프를 쌍 연결 그래프라고 부른다.

이 그래프는 끊어져 있으면 안 된다. 끊어진 덩어리 하나를 C, 나머지를 D로 잡으면 {a}, {b}, C, D라는 네 묶음이 생긴다. 이들을 가로지르는 quartet에는 a와 b, C의 점 하나, D의 점 하나가 필요하다. 그러나 C와 D 사이에 선이 없다는 것은 그런 quartet이 목록에 없다는 뜻이다.

다섯 점이 모두 연결되려면 선이 적어도 네 개 필요하다. 고정할 분류군 쌍은 21개이므로, 이 그래프들에 필요한 선을 모두 세면 적어도 21×4=84개다. quartet 하나는 그 안의 여섯 쌍에서 한 번씩 세어진다. 선택한 quartet 수를 m이라고 하면 6m ≥ 84, 곧 m≥14가 된다.

13개만 골랐다면 이렇게 셀 수 있는 선은 최대 78개라서 부족하다. 이 증명은 후보를 무작위로 검사하거나 특정 대칭을 가정하지 않는다. 어떤 13개 이하의 목록에도 적용되므로, 더 작은 구성을 배제하는 근거로 삼았다.

이 연결 그래프 방식과 일반 하한은 기존 결과다. Bujtás와 Tuza의 정리 7·따름정리 9에 일곱 분류군과 네 원소 집합을 대입하면 같은 하한 14를 얻으며, 그 논문은 더 이른 결과에도 출처를 둔다. 여기서는 이를 일곱 분류군 문제에 맞게 풀어 설명했다.

기존 14개 구성을 짧게 확인하는 방법

하한에 닿는 구성은 Fischer와 Pott의 예 3.23에 이미 있다. 원소 네 개의 집합을 네 자리로 줄여 쓰면 1234, 1256, 1357, 1467, 3456, 2457, 2367과 1246, 1257, 1345, 1367, 4567, 2356, 2347이다. 새로 발견한 목록이라고 쓰지 않고, 이 목록이 왜 모든 분할을 가로지르는지 확인했다.

번호를 1→2→4→7→6→3→5→1 순서로 바꾸면 이 14개 모음이 그대로 보존된다. 1234와 1246에 이 순환을 반복 적용하면 각각 서로 다른 일곱 집합을 얻는다. 일곱 분류군을 네 묶음으로 나누면 반드시 원소 하나짜리 묶음이 있으므로, 이 순환을 이용해 그 원소를 1로 옮겨 놓고 검사할 수 있다.

원소 하나짜리 묶음이 둘 이상이면 {1}, {b}를 고정한다. b가 2부터 7인 여섯 경우의 연결 그래프는 각각 나머지 다섯 점을 지나는 경로가 된다. 예를 들어 {1,2}의 그래프는 3–4–6–5–7이다. 연결된 경로는 남은 점들을 두 묶음으로 나눈 어느 분할에서도 그 사이를 건너는 선을 가지므로, 필요한 quartet이 있다.

원소 하나짜리 묶음이 {1} 하나뿐이면 나머지 여섯 점은 두 개씩 세 묶음으로 나뉜다. 이런 짝짓기는 15가지뿐이다. 공개한 작은 증명 자료에는 각 경우를 가로지르는 quartet을 하나씩 적었다. 예를 들어 {1}, {2,3}, {4,5}, {6,7}에는 1246을 쓸 수 있다. 이렇게 모든 묶음 크기를 다루면 14개가 충분하다는 상한도 얻는다. 대칭은 이 정해진 구성의 검사를 줄이는 데만 썼고, 앞의 하한 증명은 대칭 여부와 무관하게 모든 목록을 다룬다.

350개 분할과 945개 나무를 서로 다른 방식으로 확인했다

계산에서는 같은 생성 방식의 실수를 그대로 반복하지 않도록 분할을 두 경로로 만들었다. 하나는 묶음의 첫 등장 순서를 정해 중복 없이 나누고, 다른 하나는 일곱 점에 네 색을 모두 쓰는 색칠을 만든 뒤 색 이름만 다른 경우를 합친다. 두 방식에서 얻은 350개 분할과 가능한 quartet 35개의 대응이 모두 일치했다. 각 분할마다 선택한 14개 중 적어도 하나가 그 분할을 가로지른다는 것도 확인했다.

분할 정리와 별도로 실제 나무도 전부 비교했다. 새 잎을 기존 가지마다 붙여 늘리는 방식과, 잎 2부터 7을 재귀적으로 둘로 나눈 뒤 잎 1을 붙이는 방식으로 각각 나무를 만들었다. 두 방식 모두 고정된 이름을 가진 비근 이진 계통수 945개를 중복 없이 얻었다.

각 나무에서 quartet의 가지 모양을 읽는 방법도 달리했다. 하나는 두 잎 사이에서 지나가는 가지 수를 정수 거리로 삼아 비교하고, 다른 하나는 선택하지 않은 잎을 지운 뒤 가지 두 개만 연결된 점을 없앤다. 945개 나무마다 35개 quartet을 읽은 33,075개 결과가 일치했다. 선택한 14개 관측 결과를 한 줄로 모으면 945개 나무의 줄이 모두 달랐다. 서로 다른 나무를 고르는 446,040개 쌍을 전부 구별한 것이다.

14개 중 하나를 뺄 때마다 구별되지 않는 나무 쌍도 남겼다. 이 검사는 이 특정 목록에서 어느 항목도 뺄 수 없다는 것을 보여 준다. 다른 13개짜리 목록도 불가능하다는 결론은 앞의 연결 그래프 하한이 맡는다. 두 검사를 같은 의미로 사용하지 않았다.

재현 자료를 남기며

2026년 9월 5일 공개한 기술 노트에는 증명, 기존 구성, 소스와 실행 기록을 함께 넣었다. Python 3.10 이상의 표준 라이브러리만으로 핵심 검증을 재현할 수 있다. 원래 연구 과정에서 실행한 35변수·350제약 최적화 모형의 로그도 보존했지만, 최솟값의 증명은 그 솔버에 의존하지 않는다.

공개 준비 중에는 Windows의 CRLF와 기존 LF 줄바꿈 차이 때문에 파일 해시 비교가 멈췄다. 재생성한 데이터 11개는 줄바꿈을 맞추면 내용이 같았고, 출력 형식을 UTF-8·LF로 고정한 뒤에는 11개 모두 바이트 단위 비교를 통과했다. 수학적 조건이나 생성 알고리즘을 바꾼 수정은 아니다. 항목 누락, 잘못된 연결 정보, 거짓 나무 쌍 등 일부러 손상한 입력 열 종류가 거부된 기록도 포함했다.

문제를 고르고 알려진 14개 구성과 출처를 제공했으며, 모든 계통수에 적용되는 해석과 검증 범위를 정했다. ChatGPT는 증명 전개, 기존 문헌 대조, 작은 증명 자료, 코드·계산과 초안 작성에 기여했다. 별도 Codex 검토에서는 출처와 증명을 읽고 제공된 검사를 재실행했으며 Windows 출력 문제를 수정했다. 이 계산 대조를 외부 인간 심사로 부르지는 않는다.

같은 날 Fischer에게 두 기존 결과를 연결하면 해당 설정의 최소값이 확정되는지 확인을 요청했다. 9월 5일 남긴 기록은 공개와 요청 발송까지이며, 전문가 승인이나 저널 판정을 받은 상태는 아니었다. 이 작업은 기존 수학을 연결해 검증 가능한 형태로 정리한 결과다. 일곱 분류군에서 관측 오차 없는 가지 모양을 다룬 것이므로, 임의의 분류군 수에 대한 공식이나 실제 생물학 데이터의 추정 정확도로 넓히지 않는다.

Read in English

연구 목록 · 작업 목록

Research index · Work index

Woong Works에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기