Beware the Pattern — 일곱 번 맞힌 패턴도 거짓말을 한다
처음 몇 개가 들어맞으면 우리는 "아, 패턴이구나" 하고 믿어 버립니다. 그런데 수학에는 일곱 번, 심지어 9억 번을 맞히고도 그 다음에서 배신하는 패턴들이 숨어 있죠. 가장 우아한 배신 하나로 이야기를 엽니다 — 한 연구자가 버그 리포트까지 제출하게 만든 적분입니다.
한 연구자가 수식 처리 프로그램(Maple 같은 컴퓨터 대수 시스템)에 적분을 하나씩 넣어 봅니다. 주인공은 싱크 함수 \(\operatorname{sinc}(x)=\dfrac{\sin x}{x}\). 먼저 익숙한 디리클레 적분:
$$ \int_0^\infty \frac{\sin x}{x}\,dx = \frac{\pi}{2} $$호기심에 싱크를 하나 더 곱해 봅니다. 분모를 3, 5, 7… 홀수로 늘려 가면서요. 그런데 결과가 한결같습니다.
$$ \int_0^\infty \frac{\sin x}{x}\cdot\frac{\sin(x/3)}{x/3}\,dx = \frac{\pi}{2},\qquad \int_0^\infty \frac{\sin x}{x}\cdot\frac{\sin(x/3)}{x/3}\cdot\frac{\sin(x/5)}{x/5}\,dx = \frac{\pi}{2} $$넷, 다섯, 여섯, 일곱 개를 곱해도 전부 정확히 \(\pi/2\). 누가 봐도 패턴입니다 — "이 적분은 몇 개를 곱하든 영원히 \(\pi/2\)다." 그런데 여덟 번째(분모에 \(15\)까지 넣은 것)에서, 프로그램이 \(\pi/2\)가 아닌 값을 토해 냅니다. 그것도 \(\pi/2\)와 소수점 열 자리까지 똑같고 그 아래에서만 아주 살짝 다른, 약 올리는 값을요.
실제로 이런 일이 있었습니다. 누군가 이 결과를 두고 "Maple의 기호 대수 패키지에 버그가 있는 것 같다"며 버그 리포트를 넣었고, 그 리포트는 개발자 자크 카레트(Jacques Carette)에게 떨어졌습니다.
그리고 사흘 뒤에야 깨닫습니다 — 버그가 아니었다. 프로그램은 처음부터 옳았고, 일곱 번을 완벽히 지키던 그 패턴이 여덟 번째에서 진짜로 무너진 것뿐이었죠. 게다가 이 리포트는 사실 조너선 보웨인(Jonathan Borwein)이 그 반직관적 사실을 알고 넣은 일종의 장난 버그 리포트였습니다. (훗날 카레트 본인이 MathOverflow의 한 글에 이 전말을 직접 댓글로 남겼습니다.)
일곱 번이나 옳았던 패턴이, 노련한 개발자를 사흘이나 붙들고도, 끝내 거짓으로 판명된 겁니다. 도대체 왜? …그 답은 맨 뒤에서 만나기로 하고, 먼저 짚고 갈 게 있습니다. 패턴의 배신은 생각보다 훨씬 흔하다는 사실을요.
Borwein 적분이 유독 악랄한 건 맞지만, "처음 몇 개가 맞았다"가 증명이 아니라는 건 수학의 상식입니다. 몸풀기로 배신의 고전들을 하나씩 만나 보죠. 첫 타자는 가장 시각적인 함정입니다.
원 둘레에 점을 \(n\)개 찍고 모든 점을 현으로 빠짐없이 잇습니다. 원 안쪽이 최대 몇 조각으로 나뉠까요? 점을 늘리며 세어 보면 \(1,\ 2,\ 4,\ 8,\ 16\) — 누가 봐도 \(2^{n-1}\)입니다. "그럼 점 6개는 당연히 32" 하고 그려 보면, 아무리 세어도 31밖에 안 나오죠.
속임수는 없습니다. 진짜 공식은 이렇거든요.
$$ R(n) = \binom{n}{4} + \binom{n}{2} + 1 $$왜 이렇게 될까요? 오일러의 다면체 공식(꼭짓점 − 변 + 면 \(=2\))으로 셀 수 있습니다. 현을 한 줄씩 그어 나갈 때, 새 현은 일단 영역을 하나 늘리고, 거기에 더해 기존 현과 교차할 때마다 하나씩 더 쪼갭니다. 일반 위치(현 셋이 한 점에서 만나지 않음)에서 교차점은 네 점이 하나씩 만들어 내므로 정확히 \(\binom{n}{4}\)개 — 그래서 영역 수는 \(1 + \binom{n}{2}\,(\text{현의 몫}) + \binom{n}{4}\,(\text{교차의 몫})\)이 됩니다.
이건 \(n\)에 대한 4차 다항식입니다. 4차식이 지수함수 \(2^{n-1}\)와 처음 다섯 항만 우연히 겹쳤을 뿐, 영원히 같을 수는 없죠. 실제 수열은 \(1,\,2,\,4,\,8,\,16,\,\mathbf{31},\,57,\,99,\,163,\,256,\dots\) (OEIS A000127)인데, 재밌게도 \(n=10\)에서 \(256=2^8\)이 튀어나와 "거봐 역시 2의 거듭제곱이지?" 하고 한 번 더 약을 올립니다.
오일러가 1772년에 내놓은 다항식 \(n^2+n+41\). \(n=0\)부터 넣으면 \(41,\ 43,\ 47,\ 53,\ 61,\ 71,\dots\) — \(n=39\)까지 마흔 번 연속으로 전부 소수입니다. "드디어 소수 생성기다!" 싶지만 \(n=40\)에서 \(40^2+40+41 = 1681 = 41^2\), 보란 듯이 합성수죠.
사실 이건 피할 수 없는 운명입니다. 어떤 정수 다항식도 소수만 뱉을 수는 없거든요. 예컨대 \(p(0)=41\)이니 \(p(41),\ p(82),\dots\)는 전부 41의 배수 — 이미 \(n=40\)에서 걸렸지만, 안 걸렸어도 곧 무너질 운명이었습니다.
페르마 수 \(F_n = 2^{2^{n}}+1\). 처음 다섯은 \(F_0,\dots,F_4 = 3,\ 5,\ 17,\ 257,\ 65537\)으로 모두 소수입니다. 페르마는 1640년 편지에 "이들이 전부 소수라고 거의 확신한다"고 적었죠. 다섯 번이나 맞았으니 믿을 만했습니다.
거의 한 세기 뒤(1732), 오일러가 여섯 번째를 박살 냅니다.
$$ F_5 = 2^{32}+1 = 4294967297 = 641 \times 6700417 $$오일러는 무작정 나눠 본 게 아닙니다. "\(F_n\)의 약수는 반드시 \(k\cdot 2^{n+1}+1\) 꼴"이라는 사실로 후보를 확 줄여 641에 닿았죠. 그리고 641에는 두 얼굴이 있습니다 — \(641 = 5\cdot 2^7+1 = 5^4 + 2^4\). 이 둘을 합치면 \(2^{32}\equiv -1 \pmod{641}\), 즉 \(641 \mid F_5\)가 거의 암산으로 떨어집니다.
그 뒤로 지금까지 새로운 페르마 소수는 단 하나도 발견되지 않았습니다. \(F_5\)부터 한참을 조사했지만 전부 합성수라, 이제는 "페르마 소수는 그 다섯 개가 전부일지도 모른다"고 짐작할 정도죠. 처음 다섯 번의 성공이, 알고 보니 전성기 그 자체였던 셈입니다.
\(x^n-1\)을 정수 범위에서 더 못 쪼갤 때까지 인수분해하면 원분다항식 \(\Phi_n(x)\)들이 나옵니다. \(x^2-1=(x-1)(x+1)\), \(x^3-1=(x-1)(x^2+x+1)\)처럼요. 이 \(\Phi_n\)들의 계수를 쭉 늘어놓고 보면 신기하게도 \(n=1,2,3,\dots\) 내내 전부 \(-1,\ 0,\ 1\)뿐입니다.
"계수는 언제나 \(\pm1\)을 넘지 않는구나" — 100번을 넘겨 확인해도 그렇습니다. 그런데 \(n=104\)까지 얌전하던 계수가 \(n=105\)에서 처음으로 \(-2\)를 토해 냅니다. 하필 \(105=3\times5\times7\), 서로 다른 홀수 소수 셋이 처음 만나는 수죠.
이 역시 "충분히 많이 봤으니 법칙"이라는 착각의 표본입니다. 사실 \(\Phi_n\)의 계수는 \(n\)을 잘 고르면 얼마든지 큰 값까지 나온다는 게 한참 뒤에야 증명됐죠.
2·3장에서 남의 패턴을 부순 오일러. 이번엔 그가 당하는 쪽입니다. 페르마의 마지막 정리에 영감을 받아 오일러는 1769년 이렇게 추측했습니다 — "\(k\)제곱수를 더해 또 다른 \(k\)제곱수를 만들려면 적어도 \(k\)개의 항이 필요하다." (\(k=3\)이면 "세제곱수 둘의 합은 세제곱수가 못 된다"는 FLT의 일반화죠.)
약 200년간 반례가 없었습니다. 그러다 1966년, 랜더와 파킨이 컴퓨터로 \(k=5\)의 반례를 찾습니다 — 겨우 네 개의 다섯제곱수면 충분했죠.
$$ 27^5 + 84^5 + 110^5 + 133^5 = 144^5 $$\(k=4\)의 반례는 더 늦은 1988년 엘키스가 찾았습니다(역시 항 셋이면 충분).
$$ 2682440^4 + 15365639^4 + 18796760^4 = 20615673^4 $$200년 무사고가 "증명"이 아니었던 겁니다. 한때 남을 반증하던 대가조차, 검증되지 않은 패턴 앞에서는 틀릴 수 있다는 통쾌한 사례죠.
배신은 늦게 올수록 무섭습니다. 백만, 1억까지 확인해도 안심할 수 없다는 걸 보여 주는 거물들이 있죠.
폴리아 추측(1919): "\(2\) 이상 어떤 수까지 보든, 소인수를 (중복 포함) 홀수 개 가진 수가 항상 과반이다." 수억까지 참이라 꽤 그럴듯했지만, 1958년 거짓으로 판명되고 가장 작은 반례는 \(n = 906{,}150{,}257\)로 밝혀졌습니다 — 9억이 넘죠.
메르텐스 추측: 메르텐스 함수가 늘 \(|M(x)| < \sqrt{x}\)를 만족한다는 주장. 1985년 오들리츠코와 테 리엘이 거짓임을 증명했는데, 구체적인 반례는 아직 아무도 본 적이 없습니다. 존재는 알지만 그 위치가 상상도 못 할 만큼 멀거든요(대략 \(10^{10^{40}}\) 아래 어딘가).
비슷한 거물로 스큐스 수가 있습니다. \(\pi(x) < \operatorname{li}(x)\)는 손닿는 범위에서 늘 성립하지만, 리틀우드는 이 부등호가 무한히 자주 뒤집힌다는 것을 (반례를 보이지도 않고) 증명했죠. 첫 뒤집힘이 일어나는 곳의 상한이 한때 \(10^{10^{10^{34}}}\)이라는 어마어마한 수였습니다.
이번엔 정반대 방향의 배신입니다. 끝없이 폭발할 것만 같은데, 사실은 반드시 0으로 끝나는 수열이죠.
규칙은 이렇습니다. 어떤 수를 "세습 \(b\)진법"으로 적습니다 — 밑이 \(b\)일 뿐 아니라 지수까지도 재귀적으로 \(b\)진법으로 적는 거예요. 그다음 밑을 \(b{+}1\)로 통째로 갈아끼우고 결과에서 1을 뺍니다. 이를 \(b=2,3,4,\dots\)로 반복합니다. 밑이 끝없이 커지니 값은 무섭게 치솟을 것 같죠. 시작값 \(4\)로 직접 돌려 보세요.
그런데 굿스타인 정리(1944)는 단언합니다 — 어떤 시작값에서 출발하든 이 수열은 반드시 유한 번 만에 0에 도달한다고. 시작값 4조차 0에 닿기까지 약 \(3\cdot 2^{402653211}-2\)걸음이 걸리지만, 끝내 0이 됩니다. 매번 빼는 "\(-1\)"이라는 거북이가, 폭주하는 밑을 끝끝내 따라잡는 거죠.
자, 충분히 몸을 풀었습니다. 이제 이 모든 배신 중 가장 정교한 녀석 — 0장의 그 적분으로 돌아갑니다.
주인공을 다시 정리하죠. \(\operatorname{sinc}(x)=\frac{\sin x}{x}\)를 분모 \(1,3,5,7,\dots\)로 늘려 가며 곱한 적분입니다. 데이비드 보웨인과 조너선 보웨인 부자(2001)가 정리한 결과예요.
$$ I_n = \int_0^\infty \prod_{k=0}^{n}\frac{\sin\!\big(x/(2k+1)\big)}{x/(2k+1)}\,dx $$| 곱한 항 | 적분값 \(I_n\) |
|---|---|
| \(\operatorname{sinc}(x)\) | \(\pi/2\) |
| \(\times\operatorname{sinc}(x/3)\) | \(\pi/2\) |
| \(\times\operatorname{sinc}(x/5)\) | \(\pi/2\) |
| \(\cdots\) (\(x/7,\,x/9,\,x/11\)) | \(\pi/2\) |
| \(\times\operatorname{sinc}(x/13)\) — 7번째 | \(\pi/2\) (여기까지 전부!) |
| \(\times\operatorname{sinc}(x/15)\) — 8번째 | \(\pi/2 - 2.31\times10^{-11}\) |
여덟 번째의 정확한 값은 이렇게 약 올리는 분수입니다.
$$ I_7 = \frac{467807924713440738696537864469}{935615849440640907310521750000}\,\pi \;\approx\; \frac{\pi}{2} - 2.31\times10^{-11} $$\(\pi/2\)와의 차이가 \(10^{-11}\) 수준 — 보통의 수치 계산에서는 반올림 오차와 구별이 안 갑니다. 바로 이 미세함이 연구자를 "버그다"라고 속인 정체죠. 그런데 왜 하필 여덟 번째일까요? 단서는 분모에 들어간 홀수들의 역수에 있습니다. \(\tfrac13+\tfrac15+\tfrac17+\cdots\)를 더해 가다 그 합이 처음 1을 넘는 순간이 정확히 \(1/15\)를 더할 때거든요.
| 누적 합 | 값 | |
|---|---|---|
| \(\tfrac13+\cdots+\tfrac1{13}\) | \(\approx 0.955\) | 아직 \(\le 1\) → \(\pi/2\) |
| \(\tfrac13+\cdots+\tfrac1{15}\) | \(\approx 1.022\) | \(>1\) → 균열! |
"\(1\)을 넘으면 깨진다"는 이 수상한 경계는 어디서 온 걸까요? 푸리에 변환이 그 비밀을 그림 한 장으로 보여 줍니다.
한스페터 슈미트(2014)의 우아한 "그림 증명"을 따라가 봅시다. 열쇠는 세 가지입니다.
열쇠 ①: 싱크의 푸리에 변환은 "납작한 지붕"(사각형)이다. \(\frac{\sin x}{x}\)를 푸리에 변환하면 \(|\omega|<1\)에서 높이 1, 바깥에서 0인 사각형이 됩니다. 우리가 다루던 뾰족한 진동 함수가, 주파수 쪽에서는 평평한 지붕 한 채인 거죠.
열쇠 ②: 우리가 원하는 적분 = 그 지붕의 한가운데(\(\omega=0\)) 높이다. 함수의 적분 \(\int f\,dx\)는 푸리에 변환의 \(\omega=0\) 값과 같습니다. 처음엔 지붕 한가운데 높이가 \(1\)이라, 적분이 \(\pi/2\)로 나오는 것이고요.
열쇠 ③: 싱크를 하나 더 곱하는 것 = 지붕을 "이동 평균"으로 문지르는 것. 곱의 푸리에 변환은 각 변환의 합성곱(convolution)이고, 사각형과의 합성곱은 곧 이동 평균(moving average)입니다. \(\operatorname{sinc}(x/(2k+1))\)을 곱할 때마다, 지붕을 폭 \(\pm\frac{1}{2k+1}\)짜리 창으로 평균 내어 매끄럽게(smoothing) 만드는 것과 똑같아요.
그런데 평균 창이 지붕의 평평한 부분 안에만 머무는 동안엔, 한가운데 높이는 끄떡없이 그대로 \(1\)입니다 (\(1\)들의 평균은 여전히 \(1\)이니까). 한가운데가 위험해지는 건, 평균 창이 지붕이 \(0\)으로 뚝 떨어지는 가장자리(\(|\omega|=1\))까지 닿을 때뿐이죠. 그 가장자리까지의 거리가 바로 \(1\)입니다 — 그래서 평균 창들의 누적 반폭 \(\tfrac13+\tfrac15+\cdots\)이 \(1\)을 넘는 순간, 비로소 한가운데가 \(0\)인 영역을 "끌어와" 살짝 내려앉습니다.
여기까지의 교훈은 비관이 아닙니다. 오히려 수학이라는 학문이 왜 그토록 증명에 집착하는가에 대한 답이죠. 일곱 번, 200년, 9억 번을 맞혀도 그것은 "참인 것 같다"일 뿐 — 수학은 그렇게 패턴으로 보이는 가설을 결코 그대로 믿지 않고, 반드시 증명하거나 반증하며 한 걸음씩 나아갔습니다. 페르마·오일러·폴리아· 메르텐스의 패턴이 무너진 자리마다, 그것을 깨부순 새 정리와 도구(유수 이론, 해석적 수론, 초한 순서수…)가 자라났죠. 배신당한 패턴은 실패가 아니라, 더 깊은 진실로 가는 문이었던 셈입니다.
그렇다고 지금 우리가 믿는 패턴이 다 안전한 것도 아닙니다. 골드바흐 추측(2 이상 모든 짝수는 두 소수의 합), 쌍둥이 소수 추측, 콜라츠 추측은 각각 \(10^{18}\)을 훌쩍 넘는 범위까지 반례 없이 확인됐지만, 아직 아무도 증명하지 못했습니다. 우리는 이들을 믿지만, 그 믿음이 Borwein 적분의 일곱 번째 \(\pi/2\)와 본질적으로 무엇이 다른지는 — 증명이 나오기 전까지, 사실 아무도 장담할 수 없습니다.