2018년 11월 25일 일요일

소수 끝자리 분포의 미스터리



2, 3, 5, 7, 11, 13, … 으로 이어지는 소수에 어떤 규칙이 있는지 알아내기 위해 많은 수학자가 노력했지만, 아직 찾지 못했습니다. 하지만 소수를 어떤 수로 나눴을 때 생기는 나머지는 주사위의 확률처럼 균등하게 나타날 거라고 추측했지요. 그런데 최근 이런 예측을 뒤엎는 결과가 나왔습니다. 소수 끝자리에는 대체 어떤 비밀이 있는 걸까요?


소수는 자기 자신과 1 이외에는 다른 양의 약수가 없는 1보다 큰 양의 정수를 말합니다. 이 수가 무한히 많다는 사실은 고대 그리스의 수학자 유클리드가 살던 시절부터 증명돼 있었습니다.

독일의 천재 수학자 카를 프리드리히 가우스는 15살이던 1792년에 소수표를 세어보고 나서 1부터 n까지 소수의 개수는 대략 n/logn에 가깝다고 추측했습니다. 수학자가 된 다음에는 y= 1/logx인 함수를 2부터 x까지 적분해 소수의 개수가 대략적으로 몇 개인지 알려주는 Li(x)라는 함수를 만들었지요. 즉 1부터 n까지 수 중에서 소수의 개수는 Li(n)에 가깝다고 추정했습니다. 이 추측은 1896년 자크 아다미르와 발레 푸생이 각자 독립적으로 증명해서 이제는 ‘소수 정리’라고 불립니다.

소수의 개수를 알게 된 수학자들은 소수를 어떤 수로 나눴을 때 나머지가 특정 값이 되는 소수는 얼마나 많은지 알아봤습니다. 예를 들어 3으로 나눴을 때 나머지가 1 또는 2인 소수가 얼마나 많은지 살펴본 것이지요. 그렇다면 실제로 얼마나 많을까요?



소수의 끝자리의 분포 = 주사위 확률?

수학자들은 일반화된 리만 가설★이 참이라는 가정 아래 소수 끝자리 분포를 연구했습니다. 그 결과 1과 n 사이에 있는 소수 중에서 3으로 나눠서 나머지가 1인 소수는 1과 n 사이에 있는 소수의 개수 Li(n)의 1/2
에 가깝다고 주장했습니다. 다시 말해 소수를 3진법으로 썼을 때 끝자리가 1인 수는 전체소수의 개수의 절반이라는 거지요.

10보다 큰 소수일 때 소수의 끝자리는 1, 3, 5, 7, 9밖에 없습니다. 그 중 끝자리가 3인 소수의 개수는 Li(n)의 1/5에 가깝습니다. 여기서 분모에 해당하는 5는 1부터 10까지 수 중 10과 최대공약수가 1인 수의 개수입니다.



이처럼 이제까지 많은 연구 결과를 보면 소수를 어떤 수로 나눴을 때 생기는 나머지는 마치 주사위를 던지듯 골고루 나오는 것처럼 보였습니다. 그래서 끝자리가 1인 소수 다음에 올 소수의 끝자리가 1일 확률이나 3일 확률, 5일 확률, 7일 확률 모두 비슷하다고 생각하기 쉬웠습니다. 물론 소수가 무작위로 나오진 않기 때문에 아주 정확한 것은 아닙니다.

러시아의 수학자 파프노티 체비쇼프는 1853년 1과 n 사이의 소수를 셀 때, 4k+3꼴의 소수가 4k+1꼴의 소수보다 더 많다는 사실을 알아냅니다. 일반화된 리만 가설 등 몇몇 가설이 참이라고 가정하면 1부터 n까지 3k+2꼴의 소수가 3k+1꼴의 소수보다 많을 확률이 99.9% 이상이라는 마이클 루빈슈타인 교수와 피터 사느락 교수의 1994년 연구 결과도 나와 있습니다.





연속한 두 소수의 끝자리 분포는 정설과 달라

그런데 최근 스탠포드대 수학과의 두 수학자 카난 소인다라라잔 교수와 로버트 렘케 올리버 박사의 발견은 정설과 일치하지 않아 소수를 연구하는 많은 수학자를 깜짝 놀라게 했습니다. 2016년 3월에 발표한 논문에 따르면 첫 백만 개의 소수에서 연속으로 나오는 두 소수를 3으로 나눈 나머지의 분포는 다음과 같았습니다.
 

이 값은 기존 예측과 너무나 많은 차이가 납니다. 첫 백만 개 소수 중에 3으로 나눠서 1인 것은 499,829개, 2인 것은 500,170개라서, 만일 나머지가 골고루 정해진다면 1 다음에 1이 오는 것은 대략 499,829×499,829÷1,000,000≈249,829정도가 돼야 합니다. 그런데 실제로는 22만 개도 안 됐던 것이지요. 이제까지 수많은 수학자들이 미처 보지 못한 통계가 나온 것입니다.

두 수학자는 3이 아닌 일반적인 수 q에서도 (1, 1)처럼 어떤 나머지의 수열이 나타나는 비율을 추정하는 추측을 제시했습니다. 이 추측이 실제 소수의 개수와 얼마나 차이가 나는지 확인하기 위해서 ‘C++’이라는 언어로 프로그램을 만들어서 1부터 1,000,000,000,000까지 소수를 모두 구해서 다 셌습니다. 컴퓨터가 없었다면 불가능한 작업이었을 연구지요. 아직은 이런 현상이 그저 소수가 가진 특이성인지, 아니면 소수가 아닌 다른 분야에서도 나타나는 현상인지는 잘 모릅니다.

소수는 단순히 순수 수학자의 호기심의 대상이 아니라, 우리가 인터넷을 통해 안전하게 통신을 하고 전자상거래를 하는 데 널리 이용되고 있습니다. 인터넷에서 주로 사용하는 RSA 암호체계는 큰 소수를 소인수분해하는 것이 어렵다는 점을 이용하기 때문입니다. 따라서 소수가 어떻게 분포하는지 더 잘 알면 암호 해독에 유리할 수도 있습니다.

수학자들이 이번에 발견된 소수의 성질을 어떻게 설명할지, 또 그것을 어떻게 증명할지 앞으로 많은 후속 연구가 이어질 것으로 예상됩니다.


 



수학동아

댓글 없음: