Cloud of Science. 2017. T. 4. № 4 http:/ / cloudofscience.ru
О распределении простых и простых чисел-близнецов на скатерти Улама
С. В. Поршнев
Уральский федеральный университет имени первого Президента России Б. Н. Ельцина 620002, Екатеринбург, ул. Мира, 32
e-mail: [email protected]
Аннотация. Изложены результаты исследований особенностей распределения простых чисел и простых чисел-близнецов на скатерти Улама в полярной системе координат, свидетельствующие о том, что изученные числа группируются вдоль 44-х непересекающихся друг с другом спиралей, подобным спиралям Архимеда (далее, P-спирали). Начальная точка каждой из Р-спиралей совпадает с соответствующим простым числом и первым числом соответствующей пары чисел-близнецов, порядковые номера которых изменяются в диапазоне i = 1, 2, ..., 44. Простые числа и первые числа пар простых чисел-близнецов располагаются вдоль P-спиралей упорядоченно — каждой i-й спирали принадлежат числа с номерами i + 44(k - 1), k = 1, 2, ... где k — порядковый номер простого числа, принадлежащего данной спирали. Показано, что зависимости разностей двух соседних простых чисел от номера k представляют собой аддитивную смесь шума и некоторой детерминированной составляющей. Детерминированная составляющая с достаточной степенью точности может быть аппроксимирована функцией f(k) = a ln(k), используя которую оказывается возможным, зная N простых чисел, прогнозировать интервал, в котором находится (N + 1)-е простое число, а также первое число (N + 1)-ой пары простых чисел-близнецов.
Ключевые слова: простое число, простые числа-близнецы, скатерть Улама.
1. Введение
Скатерть (или спираль) Улама — геометрический объект, открытый Станиславом Уламом в 1963 г. во время его присутствия на длинном и весьма скучном научном докладе. История гласит, что С. Улам во время слушания доклада придумал для себя следующее развлечение: он начал записывать на клетчатой бумаге последовательно, начиная с единицы, натуральные числа по спирали против часовой стрелки (рис. 1).
Далее он закрасил на плоскости клеточки, в которые попали простые числа (рис. 2).
Оказалось (см. рис. 2-6), что простые числа группируются вдоль некоторых чередующихся диагоналей. Данный результат вполне понятен, так как простые числа за исключением числа 2 являются нечетными.
Рисунок 1. К построению спирали Улама (этап 1)
37 36 35 34 33 32 31
38 17 16 15 14 13 30
39 18 5 4 3 12 29
40 19 6 1 2 11 28
41 20 7 8 9 10 27
42 21 22 23 24 25 26
43 44 45 46 47 48 49 50
Рисунок 2. К построению спирали Улама (этап 2)
Полученная таким образом фигура (без указания значений простых чисел) в русскоязычной литературе носит название скатерти Улама, в англоязычной литературе — спирали Улама. Один из наиболее известных результатов изучения особенностей распределения простых чисел на скатерти Улама в декартовой системе ко-
ординат [1] состоит в том, что имеет место некоторая упорядоченность простых чисел, часть из которых группируется вдоль диагональных прямых (см. рис. 3-5).
Данный факт позволяет выдвинуть гипотезу о том, что, несмотря на отсутствие аналитических выражений, описывающих связи между простыми числами и позволяющих вычислять их значения, какие-либо устойчивые связи между простыми числами все-таки существуют. Обнаружение данных связей представляет как научный, так и практический интерес. В этой связи исследования распределения простых чисел на скатерти Улама с целью выявления закономерностей, которые можно использовать для оптимизации дальнейшего поиска простых чисел, продолжаются и в настоящее время (см., например, [2-5]). При этом отметим, что авторы данных исследований, следуя работам Улама, проводят анализ распределений простых чисел на двумерной плоскости, построенной в соответствии с описанным выше алгоритмом в декартовой системе координат. В то же время можно ожидать, что удастся обнаружить новые закономерности распределения простых чисел на скатерти Улама, если построить ее изображение в полярной системе координат. Предложение о переходе в полярную систему координат представляется достаточно естественным, в особенности, если принять во внимание название данной фигуры, постоянно используемое в англоязычных публикациях, — спираль Улама, а также устоявшуюся в аналитической геометрии традицию использовать для анализа свойств различных спиралей именно полярную систему координат.
Рисунок 3. Скатерть Улама (общее число членов натурального ряда 103, простых чисел — 1681)
1 Здесь и далее число простых чисел указано без учета числа 1.
si
• • , « • . « z • ••« _!• I v.
• • i'.V i •
Ли X * • .Л .У*.. / * VVv
• • •.у• ■/ . » ; •• ■ •
' .v. % ' ; .. "V ! ' •
• •• J • •• • • J* ; ••ч»* • »Ч» ••
• V* " •" s< •. s у • V ••
. ' •.. ••• • v' :::
• • A S И • .
• . S • • "• • • . S
.V
J Л4* V'*1 и
••• Se S. ••• ■ •?• ■■ . ••• И*
'» . - v- /• • ï N 'V ••• > "• S v. 4v. ■ ч ■ • *s • • Ч • • • ••• ■ > •• Ä s • «И iVS
'. v. л. •• .А Î. О" ..
.р • J* - V . и < v ■ . л
V \А -и >vV X v:> -s" :.<•Л-".:-" V-ч
<• 1. 1 • и;. -Л.4 •• » sv s . •. ¡л . rfy •■ • v •*: s ^ Vs:
\ A S I ■ * jf • • »."
î •• g* А " V ( V • • ••
ч' н .. . ч" -î : •...••.:• •• *нч *•
Рисунок 4. Скатерть Улама (общее число членов натурального ряда 104, простых чисел — 1229)
Рисунок 5. Скатерть Улама (общее число членов натурального ряда 105, простых чисел — 9592)
Рисунок 6. Скатерть Улама (общее число членов натурального ряда 106, простых чисел — 78498)
Другим не менее интересным объектом исследования оказываются простые числа-близнецы — пары простых чисел, разность между которыми равняется 2. Данные числа, как и, собственно, простые числа, также изучаются уже не одно тысячелетие, в течение которого использовались как теоретические, так и компьютерные методы [5]. Сегодня наибольшими из известных чисел-близнецов являются числа 375601695685-106666б9±1 [6], найденные 24 декабря 2013 г. в рамках проекта PrimeGrid [7]. Напомним, что для подсчета простых пар близнецов используется функция
ж2(x) = #{p < x : p, p + 2 e P}, где P — множество простых чисел, ж2 (x) равно количеству пар простых чисел, не превосходящих х [5]. Функция имеет следующую асимптотику:
%2(x) ~ 2C2(x/ln2 x), где — C2 = 0.6601618158..., называемая «постоянной простых близнецов».
Здесь необходимо напомнить, что, несмотря на наличие теоретических и численных результатов, до сих пор не получен ответ на вопрос: существует ли бесконечно много пар простых чисел, т. е. является ли функция ж2(x) ограниченной? В этой связи поиск закономерностей, присущих простым числам-близнецам, также оказывается актуальным.
Среди наиболее значимых теоретических результатов, полученных в процессе исследования простых чисел в XX-начале XXI в., следует отметить две теоремы:
1. Теорема Бруна (1915 г.): Сумма всех чисел, обратных к простым числам-близнецам, конечна. Иными словами, если обозначить р множество всех простых чисел всех простых чисел p, таких что число p + 2 также простое, то будет выполняться неравенство
„ ( 1 1 ^ X i — + — < ^.
pep2 ^ p p + 2 )
Справедливость данной теоремы означает, что можно с уверенностью утверждать, что хотя множество простых чисел-близнецов может оказаться и бесконечным, множество является более разреженным р , чем множество простых чисел Р.
2. Теорема Чжанга (Zhang, 2013 г.) [9]: Доказано, что
lim inf(p„+! - p„) < 7 • 107,
n ^ ад
где pn — n-е простое число.
Справедливость теоремы Чжанга, окончательная оценка роли которой для теории чисел еще не дана, означает, что существует бесконечное множество простых чисел, расстояние между которыми не превосходит 7-107.
Таким образом, изучение свойств простых и взаимно-простых чисел с целью выявления закономерностей, которые позволят оптимизировать процедуры поиска новых простых чисел и простых чисел-близнецов, оказывается актуальным. В статье обсуждаются результаты исследования свойств простых чисел и простых чисел-близнецов, а также программный инструментарий, использованный в проведенных исследованиях.
2. Базовые алгоритмы и их программные реализации, использованные для исследования особенностей распределений простых чисел и простых чисел-близнецов на скатерти Улама
Для разработки программных инструментов для исследования свойств простых чисел был выбран пакет MATLAB, который, с одной стороны, не потребовал большого времени для разработки программных реализаций соответствующих функций и обеспечил приемлемую скорость вычислений, с другой.
2.1. Функции, возвращающие значения простых чисел в соответствие с алгоритмом «Решето Эратосфена»
Мы разработали две функции, возвращающие значения простых чисел, в соответствие с алгоритмом, называемым «Решето Эратосфена» [8]:
1) функцию Eratosphen( ), возвращающую вектор, содержащий последовательные значения простых чисел и нули, вместо составных чисел2;
2) функцию Eratosphen1( ), возвращающую вектор, содержащий последовательные значения простых чисел, листинги которых приведены ниже.
% листинг функции Eratosphen( ) function z=Eratosphen(N) % функция, возвращающая вектор, % содержащий последовательные % значения простых чисел и нули, % вместо составных чисел
% N — целое число, задающее диапазон поиска
% простых чисел — [2,N]
Prime=1:N;
m=2;
while m<N
if ~(Prime(m)==0) j=m*2; while j<N+1
Prime(j)=0; j=j+m;
2 Данная функция использовала для визуализации спирали Улама в декартовой системе координат.
end;
end; m=m+1;
end;
z=Prime(2:length(Prime));
Ниже представлен пример, демонстрирующий синтаксис вызова функции Eratosphen( ) из командного окна пакета MATLAB, и результат, возвращаемый данной функцией.
>> R=Eratosphen(30) R =
Columns 1 through 9
2 3 0 5 0 7 0 0 0
Columns 10 through 18
11 0 13 0 0 0 17 0 19
Columns 19 through 27
0 0 0 23 0 0 0 0 0
Columns 2 8 through 2 9 29 0
% листинг функции Eratosphen1( ) function z=Eratosphen1(N) % функция, возвращающая вектор, % содержащий последовательные % значения простых чисел
% N — целое число, задающее диапазон поиска
% простых чисел — [2,N]
Prime=1:N;
m=2;
while m<N
if ~(Prime(m)==0) j=m*2; while j<N+1
Prime(j)=0; j=j+m;
end;
end; m=m+1;
end;
Prime=Prime(2:length(Prime)); j=1;
for i=1:N-1
if ~(Prime(i)==0) z(j)=Prime(i); j=j+1; end;
end
Ниже представлен пример, демонстрирующий синтаксис вызова функции Eratosphen1( ) из командного окна пакета MATLAB и результат, возвращаемый данной функцией.
>> R=Eratosphen1(30) R =
Columns 1 through 8
2 3 5 7 11 13 17 19
Columns 9 through 10 23 29
Отметим, что также просто реализовать m-функцию, возвращающую число простых чисел меньших или равных заданного целого числа. Другими словами, m-функцию, возвращающую значения пи-функции п( x) — число простых чисел, меньших целого х. Ниже приведен листинг данной m-функции, названной DF_of_PN( ), сохраненного в файле DF_of_PN.m. % листинг функции DF_of_PN( ) function zN = DF_of_PN(N);
% функция, возвращающая число простых чисел, % меньших простого числа N
z=Eratosphen1(N); % нахождение простых чисел, меньших N % вычисление значений пи-функции zL=length(z); n=1:N;
zN=zeros(N,1); for i=1:N j=1;
while (j<=zL)&(z(j)<=i) j=j+1; end;
zN(i)=j-1;
end;
Для визуализации графика пи-функции при целочисленных значениях аргумента х достаточно выполнить в командном окне MATLAB следующую последовательность команд:
>> z=DF_of_PN(2 00); >> plot(z,'.')
Результат выполнения приведенной выше последовательности команд представлен на рис. 7.
100 120 140 160 180 200
Рисунок 7. График пи2-функции для простых чисел, не превосходящих 200
Данная функция может оказаться полезной, например, для сравнения пи-функции и аппроксимирующей ее функции — интегрального логарифма
Ы ( х ) = |
йх
12 1п(х)
График функции Ы(х) - п(х) для целочисленных значений аргумента представлен на рис. 8.
Из рис. 8 видно, что значения оценок простых чисел, вычисляемых по функции Ы(х) для всех х е [1,105], оказываются выше истинного числа простых чисел (соответствующих значений пи-функции).
Рисунок 8. График функции Ы(х) - п(х)
2.2. Алгоритм визуализации скатерти Улама в декартовой системе координат и его программная реализация
Отдавая дать традиции, заложенной С. Уламом, опишем алгоритм, использованный нами для визуализации скатерти Улама в декартовой системе координат. Рассмотрим рис. 1. Обозначим единичные шаги вправо, вверх, влево, вниз буквами П, В, Л, Н, соответственно. В выбранных обозначениях перемещение из квадрата № 1 в квадрат № 7 (первый виток спирали на Этапе 1) будет описываться следующим правилом:
ПВЛЛНН, (1)
из квадрата № 7 в квадрат № 21 (второй виток спирали на Этапе № 1):
ПППВВВЛЛЛЛНННН, (2)
из квадрата № 21 в квадрат № 43 (третий виток спирали на Этапе № 1):
Из приведенных выше правил (1)-(3) видно, что число шагов в каждом из направлений на (£+1)-м витке спирали зависит от числа шагов на k-м шаге спирали, как:
Ш i+i = Ш *+ 2, (4) где Ш = П, В, Л, Н, действительно,
П1 = 1, Bi = 1, Л1 = 2, Н1 = 2, П2 = П1 + 2 =1 + 2 = 3, В2 = Bi +2 = 1 + 2 = 3, Л2 = Л1 + 2 = 2 + 2 = 4, Н2 = Н1 + 2 = 2 +2 = 4, П3 = П2 + 2 = 3 + 2 = 5, Вз = В2 +2 = 3 + 2 = 5, Л3 = Л2 + 2 = 4 + 2 = 6, Н2 = Н2 + 2 = 4 + 2 = 6.
Из приведенного выше описания алгоритма видно, что (1) в соответствии с терминологией L-систем (Лиденмайер, 1968) [10] — аксиома, а (4) — порождающее правило. Следовательно, для визуализации спирали Улама целесообразно использовать технологию терл-графики (от английского turtle — черепашка), в которой основным исполнителем является черепашка (точка) [10]. Черепашка перемещается по экрану дискретными шагами, прочерчивая или не прочерчивая свой след (что, как очевидно, эквивалентно закрашиванию квадратов, содержащих составные числа). «Мгновенное» положение черепашки задается совокупностью трех параметров (x, у, а), где (x, у) — декартовы координаты черепашки, а — направление следующего шага. Последовательность команд, определяющих направление
перемещения и действия черепашки, задается кодовым словом, буквы которого читаются справа налево. (Примеры программных реализаций алгоритмов терл-графики, используемых для визуализации изображений детерминированных фракталов, можно найти в [11].) Отметим, что здесь наиболее затратной с вычислительной точки зрения оказывается процедура вычисления порождающего правила, представляющего собой рекурсивную процедуру. При построении спирали Улама вследствие относительной простоты алгоритма перемещения оказывается возможным обойтись без использования рекурсивной процедуры.
Для визуализации спирали Улама в соответствии с описанным выше алгоритмом на m-языке пакета MATLAB был создан исполняемый файл Ulam.m, листинг которого представлен ниже.
% листинг файла Ulam.m
N=10A6; % задание длины анализируемого
% ряда последовательных натуральных чисел Z=Eratosphen(N+1); % вызов функции Eratosphen( ) dr=[1,0;0,1;-1,0;0,-1]; % задание матрицы, содержащей
% координаты единичных смещений % черепашки
dk=1; % инициализация счетчика витков спирали Улама x=0; y=0; % задание координат начального положения
% черепашки figure % активация графического окна plot(x,y,x,y,'Color,,,black,,,Marker,,,.,,_
'MarkerSize',1); % визуализация начального % положения черепашки hold on; % включение режима отображения нескольких % графических зависимостей % в одном графическом окне % задание порождающего правила % на первом витке спирали Улама Nright=1; Nup=1; Nleft=2; Ndown=2; Np=length(Z);
% визуализация спирали Улама m=1;
while m<=Np
% перемещение черепашки вправо NR=1;
while (m<=Np)&(NR<=Nright) NR=NR+1;
x=x+dr(1,1); y=y+dr(1,2); if m+1==Z(m)
% отображение точки, соответствующей % «текущему» простому числу
plot(x,y,x,y,'Color','black','Marker','.',.. 'MarkerSize',1);
end; m=m+1;
end;
% перемещение черепашки вверх NU=1;
while (m<=Np)&(NU<=Nup) NU=NU+1; x=x+dr(2,1); y=y+dr(2,2); if m+1==Z(m)
% отображение точки, соответствующей % «текущему» простому числу
plot(x,y,x,y,'Color','black','Marker','.',.. 'MarkerSize',1);
end; m=m+1;
end;
% перемещение черепашки влево NL=1;
while (m<Np)&(NL<=Nleft) NL=NL+1; x=x+dr(3,1); y=y+dr(3,2); if m+1==Z(m)
% отображение точки, соответствующей % «текущему» простому числу
plot(x,y,x,y,'Color','black',' Marker','.',.. 'MarkerSize',1);
end; m=m+1;
end;
% перемещение черепашки вниз ND=1;
while (m<=Np)&(ND<=Ndown) ND=ND+1; x=x+dr(4,1);
y=y+dr(4,2); if m+1==Z(m)
% отображение точки, соответствующей % «текущему» простому числу
plot(x,y,x,y,'Color','black','Marker','.',.. 'MarkerSize',1);
end; m=m+1;
end;
% вычисление числа шагов, которые должна совершить % черепашка на следующем витке спирали Улама Nright=Nright+2; Nup=Nup+2; Nleft=Nleft+2; Ndown=Ndown+2;
end;
Для построения спиралей Улама, представленных на рис. 3-5, достаточно задать в файле Ulam.m соответствующее значение переменной N, сохранить файл и далее выполнить в командном окне MATLAB следующую команду:
>> Ulam
2.3. Визуализация спирали Улама в полярной системе координат
Для построения зависимости значения простого числа от его порядкового номера в полярной системе координат (визуализация спирали Улама) с помощью преобразований
x. = P cos(i),
i i V
yi = Pi sin( i)
вычисляются полярные координаты, соответствующие 7-му простому числу и далее в плоскости XoY отображаются точки (x., у.). В результате получается «поточечное» изображение спирали Улама в полярной системе.
Для визуализации спирали Улама в полярной системе координат на m-языке пакета MATLAB был создан исполняемый файл UlamPolar.m, в котором реализована описанная выше последовательность действий. Далее приведен листинг данного файла.
% листинг файла UlamPolar.m close all
N=10A4; % задание длины анализируемого
% ряда последовательных натуральных чисел R=Eratosphen1(N); % нахождение простых чисел,
% находящихся в диапазоне [2,N]
% вычисление полярных координат простых чисел
i=1:length(R);
x=R.*cos(i);
y=R.*sin(i);
% визуализация спирали Улама % в полярной системе координат plot(x,y,'.,,,Color,,,black,,,MarkerSize',1) axis off
Примеры изображений спирали Улама, полученные с помощью данного программного инструмента, обсуждаются далее в разделе 3.
3. Анализ результатов исследования особенностей распределений простых чисел на скатерти Улама
Результаты визуализации спирали Улама в полярной системе координат, представлены на рис. 9-11.
Из рис. 9-11 видно, что простые числа на скатерти Улама, визуализированной в полярной системе координат, распределены упорядоченно. Они располагаются вдоль одной из 44-х спиралей, которые далее для краткости будем называть P-спиралями (от англ. Prime numbers).
Рисунок 9. Спираль Улама в полярной системе координат (N = 104)
Рисунок 10. Спираль Улама в полярной системе координат (Ы = 105)
Рисунок 11. Спираль Улама в полярной системе координат (Ы = 106)
Начальные точки каждой спирали соответствуют простым числам Р, I е [1, 44]. Простые числа расположены вдоль каждой из Р-спиралей упорядочено — т-й спирали т = (1, 44) принадлежат числа с номерами I = т + 44(кт - 1), к = 1, 2,.... Здесь, индекс кт — соответствующий локальный номер простого чис-
ла, находящегося на т-й Р-спирали. При этом, для простых чисел , N N + 1 — порядковые номера простых чисел), расположенных на т-й и т + 1-й Р-спиралях, при т + 1 < 44 :
N = т + 44(кт - 1), N + 1 = (т + 1) + 44( кт+1 - 1), где кт, кт+1 — локальные номера простых чисел , (здесь индекс указывает номер Р-спирали, вдоль которой осуществляется нумерация), и следовательно,
к = к ,.
т т +1
При т + 1 > 44
N = 44 + 44(к44 - 1), N + 1 = 1 + 44(кх - 1)
и, следовательно, ^ = к44 +1.
Обнаруженные свойства спирали Улама в полярной системе координат позволяют предположить, что между простыми числами, принадлежащими соответствующим Р-спиралям, могут существовать те или иные детерминированные связи.
4. Анализ свойств первых разностей последовательностей простых чисел
Рассмотрим зависимости разностей между последовательными простыми числами ар = р.+1 - р. от номера меньшего простого числа, представленные на рис. 12, а также зависимости разностей между последовательными простыми числами, принадлежащие т-й Р-спирали
А Р = Р - Р
А± кт ±т + 44кт ±т + 44(кт-1) ,
от локального номера простого числа кт, представленные на рис. 12-15.
Из рис. 13-16 видно, что свойства функций Д/) и /(к), /(к22), /(к44) отличны друг от друга. Так, отсчеты функции (см. рис. 13) представляют собой случайную последовательность с ограниченной областью рассеяния [2; 154], гистограмма которой представлена на рис. 16.
Рисунок 12. К анализу распределений первых разностей простых чисел: график зависимости АР = Р (г)
О 2000 4000 6000 8000 10000 12000 14000 16000
Рисунок 13. К анализу распределений первых разностей простых чисел, принадлежащих выбранной Р-спирали: график зависимости
АРк = / (к1)
О 2000 4000 6000 8000 10000 12000 14000 16000
Рисунок 14. К анализу распределений первых разностей простых чисел, принадлежащих выбранной P-спирали: график зависимости
АРк„ = Г (к 22)
О 2000 4000 6000 8000 10000 12000 14000 16000
Рисунок 15. К анализу распределений первых разностей простых чисел, принадлежащих выбранной P-спирали: график зависимости
АРк.. = Г(к44 )
Зависимости разностей простых чисел, принадлежащих каждой из Р-спиралей, представляют собой сумму случайной составляющей и некоторой детерминированной функции, которая с помощью метода наименьших квадратов может быть достаточно хорошо аппроксимирована функцией вида
Л® = aln(k), (1)
где k — локальный номер простого числа, принадлежащего данной .Р-спирали.
Например, оказывается, что диапазон значений случайной составляющей анализируемой зависимости для простых чисел, принадлежащих первой Р-спирали, находится в диапазоне [-283, 251]. Аналогичные результаты были получены и для других Р-спиралей (табл. 1).
х 10'
Рисунок 16. Гистограмма случайной последовательности, представленной на рис. 13
Из табл. 1 видно, что минимальное значение разности между аппроксимирующей кривой и разностями последовательных простых чисел, принадлежащих соответствующей Р-спирали, не меньше -363, максимальное значение: 260. Следовательно, для поиска произвольного простого числа по известному значению предыдущего числа оказывается достаточным использовать прогнозируемое значение разности соседних чисел, вычисляемое с помощью аппроксимирующей функции, и проверить на принадлежность множеству простых не более 623 натуральных чисел.
Таблица 1. Минимальные и максимальные значения остатков модели (1)
№ шш ша № шш шах № шш шах № шш шах
спирали X спирали спирали спирали
1 -283 251 2 -306 243 3 -306 257 4 -300 242
5 -311 245 6 -285 249 7 -267 235 8 -288 240
9 -286 240 10 -297 249 11 -308 249 12 -312 234
13 -325 240 14 -327 246 15 -339 248 16 -333 240
17 -335 239 18 -363 244 19 -309 246 20 -329 250
21 -339 255 22 -349 254 23 -347 273 24 -345 248
25 -319 252 26 -315 246 27 -329 242 28 -319 250
29 -315 252 30 -317 232 31 -287 228 32 -289 248
33 -345 248 34 -297 248 35 -303 260 36 -293 258
37 -301 239 38 -315 239 39 -319 237 40 -307 241
41 -289 237 42 -311 240 43 -300 246 44 -296 237
Полученный результат позволяет предложить следующий алгоритм выбора интервала поиска (Ы+1)-го простого числа Р
1. Определить для Ы-го простого числа р номер т-й Р-спирали, которой принадлежит данное число, вычислив для этого разности n - г, г = 1,44 и выбрав из них ту, которая без остатка делится на 44.
2. Определить локальный номер КИт простого числа р, находящегося на т-й Р-спирали:
КМ т = (N - т )/44 + 1.
3. Если т + 1 < 44, аппроксимировать разности последовательных простых чисел, принадлежащих (т+1)-й Р-спирали,
АР = Р ,- Р , к = 1, К - 2
функцией вида а 1п( кт).
4. Если т + 1>44, аппроксимировать разности последовательных простых чисел, принадлежащих 1 -й Р-спирали,
АР = Р , - Р , к = 1, К - 2
к к + 1 к' ' п, т
функцией вида а 1п( к1).
5. Вычислить предсказываемое значение (Л' + 1)-го простого числа
р = р + ар
М + 1 N '
где АР — спрогнозированное по зависимости /(кт) = а 1п(Ат).
6. Если < -363 + АР, осуществлять поиск на интервале [-363 + Р„+1; Р„+1 + 260], иначе — осуществлять поиск /',. на интервале
[Р„+1;Р„+1 + 260].
Продемонстрируем работоспособность данного алгоритма на примере выбора интервала поиска для 15001-го простого числа.
1. Последовательным перебором чисел 15000-7, г = 1,44, находим такое /, что 15000 - / делится нацело на 44, которое оказывается равным 40.
2. Определяем локальный номер Р , находящегося на 40-й Р-спирали:
К 1500„,40 = (15000 - 40)/44 = 341.
3. Аппроксимируем зависимость разности последовательных простых чисел, принадлежащих 41 -й Р-спирали:
А р = р - р
где к41 = 1,К40 - 3 = 1,338 (соответствующие глобальные номера используемых здесь простых чисел равняются 41, 85, ..., 14957), функцией вида а 1п( к41). 4. Вычисляем к41 = 340 значение функции а 1п(к41):
АР = /(340) = round[91 Л951 -ln(340)] = 568, представляющего собой прогнозируемое значение разности между 15001-м и 14957-м простыми числами.
5. Вычисляем прогнозируемое значение 15 001-го простого числа:
Р15оо1 =Р15001 + АР = 163309 + 568 + 163977. Вычисляем нижнюю и верхнюю границы интервал поиска 150001-го простого числа:
Р = Р1М1П1 - 363 = 163977 - 363 = 163614,
low 15001 5
Р = Р1М1П1 + 260 = 163977 + 260 = 164237.
up 15001
Сравнивая точное значение 15001-го простого числа Р15001 = 16 3 8 4 7, видим, что оно, действительно, принадлежит найденному интервалу:
163614<163847<164237. Отметим, что отношение интервала поиска простого числа Р15001 к значению
данного числа оказывается равным « 3.8 • 10
5. Анализ распределения простых чисел-близнецов на скатерти Улама в полярной системе координат
Принимая во внимание описанную выше особенность распределения простых чисел на скатерти Улама в полярной системе координат, поиск простых чисел-близнецов проводился среди простых чисел, расположенных на соседних Р-спиралях. Для автоматического поиска простых чисел-близнецов был создан исполняемый га-файл UlamPTN.m. Далее приведен его листинг. % листинг файла UlamPTM.m
% Z1 — вектор-строка, содержащая упорядоченные
% в порядке возрастания простые числа
k=1;
N1=1;
Np=length(Z1); for k=1:44 i=1;
while (k+1)+44*i<=Np
Z2(i)=Z1(k+1+44*(i-1))-Z1(k+44*(i-1));
if Z2(i)==2
Q2(N1,1)=k+44*(i-1);
Q2(N1,2)=k;
Q2(N1,3)=i;
if k+1<=44
Q2(N1,4)=k+1;
Q2(N1,5)=i; else
Q2(N1,4)=1;
Q2(N1,5)=i+1;
end;
Q2(N1,6)=Z1(k+44*(i-1));
Q2(N1,7)=Z1(k+1+44*(i-1));
N1=N1+1;
end;
i=i+1;
end;
end;
Q2=sortrows(Q2,3);
Вызов данного файла должен предваряться вызовом функции Eratosphen1( ), как описано выше, и размещением результатов, возращенных данной функцией в вектор Z2. Результаты выполнения команды UlamPTN размещаются в матрице Q2, столбцы которой содержат: № 1 — порядковый номер первого простого числа из соответствующей пары простых чисел-близнецов, № 2 — номер Р-спирали, которой принадлежит первое простое число из соответствующей пары простых чисел-близнецов; № 3 — локальный порядковый номер первого простого числа из соответствующей пары простых чисел-близнецов; № 4 — номер спирали, которой принадлежит второе простое число из соответствующей пары простых чисел-близнецов; № 5 — локальный порядковый номер второго простого числа из соответствующей пары простых чисел-близнецов; № 6 — первое простое число из соответствующей пары простых чисел-близнецов; № 7 — второе простое число из соответствующей пары простых чисел-близнецов. Первые 30 строк матрицы Q2, в которой размещены результаты поиска пар простых-чисел среди первых 664580 простых чисел (всего было найдено 58978 пар) представлены в табл. 2.
Для вычисления значений функции распределения пар простых чисел-близнецов ж2 (х) (пи2-функции) и визуализации первых 1000 значений данной функции выполнить в командном окне MATLAB следующую последовательность команд:
>> zL=length(Q2(:,6)); >> n=1:zL; >> zN=zeros(zL,1); >> for i=1:zL j=1;
while (j<=zL)&(Q2(j,6)<=i) j=j+1;
end;
zN(i)=j-1;
end;
>> plot(Q2(1:1000,6),zN(1:1000),,.,)
Таблица 2. Первые 40 строк матрицы Q2
Номер Номер Локальный Номер Локальный Первое Второе
первого первой номер первого второй номер второго простое простое
простого спирали простого спирали простого число число
числа числа числа
2 2 1 3 1 3 5
3 3 1 4 1 5 7
5 5 1 6 1 11 13
7 7 1 8 1 17 19
10 10 1 11 1 29 31
13 13 1 14 1 41 43
17 17 1 18 1 59 61
20 20 1 21 1 71 73
26 26 1 27 1 101 103
28 28 1 29 1 107 109
33 33 1 34 1 137 139
35 35 1 36 1 149 151
41 41 1 42 1 179 181
43 43 1 44 1 191 193
45 1 2 2 2 197 199
49 5 2 6 2 227 229
52 8 2 9 2 239 241
57 13 2 14 2 269 271
60 16 2 17 2 281 283
64 20 2 21 2 311 313
69 25 2 26 2 347 349
81 37 2 38 2 419 421
83 39 2 40 2 431 433
89 1 3 2 3 461 463
98 10 3 11 3 521 523
104 16 3 17 3 569 571
109 21 3 22 3 599 601
113 25 3 26 3 617 619
116 28 3 29 3 641 643
120 32 3 33 3 659 661
140 8 4 9 4 809 811
142 10 4 11 4 821 823
144 12 4 13 4 827 829
148 16 4 17 4 857 859
152 20 4 21 4 881 883
171 39 4 40 4 1019 1021
173 41 4 42 4 1031 1033
176 44 4 1 5 1049 1051
178 2 5 3 5 1061 1063
182 6 5 7 5 1091 1093
Результаты выполнения приведенной выше последовательности команд представлены на рис. 17.
35 30 25 20 15 10 5 0
О 1000 2000 3000 4000 5000 6000 7000 8000
Рисунок 17. График пи2-функции
Из рис. 17 видно, что скорость возрастания пи2-функции оказывается существенно меньше скорости возрастания пи-функции (см. рис. 7).
Распределения первых чисел из соответствующих пар простых чисел-близнецов на скатерти Улама, называемые далее для краткости twin-числами, в полярной системе координат, построенные с помощью следующей последовательности команд:
>> x=Q2(:,6).*cos(i),; >> y=Q2(:,6).*sin(i),; >> р1оМх(1:3*10А4),у(1:3*10А4),'.',..
,Markersize,,1,,Color,,,black,); представлены на рис. 19-21.
Из рис. 18-20 видно, что распределение twin-чисел оказывается аналогичным распределению простых чисел на скатерти Улама в полярной системе координат. Они располагаются на одной из 44-х P-спиралей.
Начальные точки каждой спирали соответствуют 1дат-числам Р<№111), г е [1, 44]. Twin-числа Р<№т) расположены вдоль каждой из Р-спиралей упорядочено — т-й спирали (т = 1,44) принадлежат twin-числа с номерами г = т + 44(кт -1), к = 1,2,.... Здесь индекс кт — соответствующий локальный номер twin-числа, находящегося на т-й Р-спирали.
При этом для twin-чисел Рж, Рж+1 (N, N +1 — порядковые номера простых чисел), расположенных на т-й и (т + 1)-й Р-спиралях, при т + 1 < 44 :
J_I_I_I_I_I_1_
N = т + 44(кт - 1), N + 1 = (т + 1) + 44(кт - 1), где кт, кт+1 — локальные номера twin-чисел , Рж+1 (здесь индекс указывает номер Р-спирали, вдоль которой осуществляется нумерация), и, следовательно, к = к ,. При т + 1 > 44 :
т т +1 А
N = 44 + 44(к44 - 1), N + 1 = 1 + 44(к - 1),
и, следовательно, ^ = к44 +1.
Данный результат, с нашей точки зрения, является следствием самоподобия распределения простых чисел на скатерти Улама в полярной системе координат. Действительно, с физической точки зрения переход от рассмотрения распределения простых чисел-близнецов к 1отп-чиселам эквивалентен изменению масштаба, на котором рассматривается распределение, геометрические свойства которого при этом, как и у любого фрактала, остаются неизменными.
Рисунок 18. Спираль Улама в полярной системе координат, образуемая 1м>т-числами (Ы = 103)
Рисунок 19. Спираль Улама в полярной системе координат, образуемая Мт-числами (М = 10 )
-5-4-3-2 -1
Рисунок 20. Спираль Улама в полярной системе координат, образуемая Мт-числами (М = 3-104)
В этой связи можно предположить наличие у twin-чисел свойств, аналогичных свойствам первых разностей последовательности простых чисел, описанных выше.
6. Анализ свойств первых разностей twin-чисел
Рассмотрим зависимости разностей между последовательными twin-числами ДР. = Р+1 - Р от номера меньшего Мп-числа, представленные на рис. 22, а также зависимости разностей между последовательными ¿шп-числами, принадлежащие т-й Р-спирали
Ap(twin) _ T-j (tw in) _ p(twin)
АPkm ~ Pm + 44 km Pm + 44 (km-1) '
от локального номера ¿ш«-числа кт, представленные на рис. 22-24.
О 200 400 600
1000 1200 1400
Рисунок 21. К анализу распределений первых Рисунок 22. К анализу распределений первых разностей twin-чисел: график зависимости разностей Шт-чисел, принадлежащих выбранной Р-спирали: график зависимости
A P(twin ) = F(twin )( i )
Ар,„,п ) = f ^ )( kl)
1000 1200 1400
200 400 600 800 1000 1200 1400
Рисунок 23. К анализу распределений первых Рисунок 24. К анализу распределений первых
разностей Шт-чисел, принадлежащих выбранной Р-спирали: график зависимости
Др<™ ) = f ( ^ )( к 22)
разностей Шт-чисел, принадлежащих выбранной Р-спирали: график зависимости
АрГ„) = f )( к 44)
Из рис. 22-24 видно, что свойства функций Р г-) и / <1тп)(к), /<'та) (к22), /('тп) (к44) отличны друг от друга. Так, отсчеты функции Р() (г) (см. рис. 22) представляют собой случайную последовательность с ограниченной областью рассеяния [2; 1722], гистограмма которой представлена на рис. 25.
В то время как зависимости разностей twin-чисел, принадлежащих каждой из Р-спиралей, представляют собой сумму случайной составляющей и некоторой де-
терминированной функции, которая с помощью метода наименьших квадратов может быть достаточно хорошо аппроксимирована функцией вида (1).
5000 4500 4000 3500 3000 2500 2000 1500 1000 500 0
О 200 400 600 800 1000 1200 1400 1600 1800
Например, оказывается, что диапазон значений случайной составляющей анализируемой зависимости для twin-чисел, принадлежащих первой Р-спирали, находится в диапазоне [-3490, 2479]. Аналогичные результаты были получены и для других Р-спиралей (табл. 3). С нашей точки зрения, совпадение вида аппроксимирующих функций для простых чисел, число которых оказывается бесконечным (Евклид), и простых чисел-близнецов является аргументом, свидетельствующим в пользу существования бесконечно большого числа простых чисел-близнецов.
Рисунок 25. Гистограмма случайной последовательности, представленной на рис. 22 Таблица 3. Минимальные и максимальные значения остатков модели (1) для Шт-чисел
№ спирали тт тах № спирали тт тах № спирали тт тах № спирали тт тах
1 -3490 2479 2 -3490 2740 3 -3440 2725 4 -3572 3019
5 -3830 2816 6 -3453 2972 7 -3423 2956 8 -3367 2920
9 -3397 3028 10 -3241 3052 11 -3259 2973 12 -2959 2776
13 -3277 2700 14 -3655 2847 15 -4069 3060 16 -4111 3318
17 -3229 3132 18 -3601 2856 19 -3427 2952 20 -3409 2970
21 -4166 2148 22 -3242 2910 23 -3079 3001 24 -2932 2923
25 -3391 3181 26 -3679 3091 27 -3355 3141 28 -3337 3219
29 -3662 3111 30 -3536 2927 31 -4976 1283 32 -3358 2913
33 -3248 2727 34 -3260 2721 35 -3217 2739 36 -3451 2763
37 -3352 2619 38 -3409 2751 39 -4536 1492 40 -3225 2733
41 -3053 2914 42 -3578 2980 43 -3554 2768 44 -3530 2684
Из табл. 3 видно, что минимальное значение разности между аппроксимирующей кривой и разностями последовательных простых чисел, принадлежащих соот-
ветствующей спирали, не превосходит -3490, максимальное значение: 2479. Следовательно, для поиска twin-числа оказывается достаточным использовать прогнозируемое значение числа АР вычисляемое с помощью аппроксимирующей функции, и проверить на принадлежность множеству простых чисел-близнецов не более 5969 натуральных чисел.
Полученный результат позволяет предложить следующий алгоритм выбора интервала поиска N + 1)-го twm-числа.
1. Определить для ^-го twin-числа Р(Шш), номер т-й Р-спирали, которой принадлежит данное twin-число, вычислив для этого разности N - г, г = 1,44 и выбрав из них ту, которая без остатка делится на 44.
2. Определить локальный номер КМт twin-числа р, находящегося на т-ой Р-спирали:
К N ,т = (N - т )/44 + 1.
3. Если т + 1 < 44 аппроксимировать разности twin-чисел, принадлежащих (т + 1)-й Р-спирали,
Ар ('™> = р('™) - р к = 1, г - 2
функцией вида а 1п( £т).
4. Если т + 1 > 44, аппроксимировать разности последовательных twin-чисел, принадлежащих 1-ой Р-спирали,
Ар ('-п) = р (^п) - р^, к = 1, к - 2
^ ^ + 1 ^ ' N ,1
функцией вида а 1п( к1).
5. Вычислить предсказываемое значение N + 1)-го twin-числа
ГЛГ + 1 ~~ ГN + '
где А— спрогнозированное по зависимости /(Ат) = а 1п(А-т).
6. Если /'.;"""' + 2 < -4976 + /'.;|"|"и. осуществлять поиск на интервале [-4976 + РмГ/11' + 383иначе — осуществлять поиск Р^п' на интервале [p;,w,,1, + 3;Р;'+7' + 3830].
Продемонстрируем работоспособность данного алгоритма на примере выбора интервала поиска для 30000-й пары простых чисел-бизнецов.
1. Последовательным перебором чисел 29999-7, г = 1,44, находим такое 7, что 29999 - 7 делится нацело на 44, которое оказывается равным 35.
2. Определяем локальный номер Р^П', находящегося на 35-й Р-спирали:
К29999,35 = (29999 - 35)/44 = 341.
3. Аппроксимируем зависимость разности twin-чисел, принадлежащих 36-ой Р-спирали:
др^т) _ p(twin) _ p(twin)
k36 k36 + 1 k36 '
где £36 = 1,^29999 з5 - 3 = 1, 338 (соответствующие глобальные номера используемых здесь twin-чисел равняются 36, 80,..., 29956), функцией вида а 1п(£36).
4. Вычисляем £35 = 681 значение функции а 1n(k41):
АР"™1 = /(681) = round[1202.5 • 111(681)] = 7845, представляющего собой прогнозируемое значение разности между 30000-м и 29956-м twin-числами.
5. Вычисляем прогнозируемое значение 30000-го twin-числа:
Р^™1 = Р29956 + APltwinl = 4544717 + 7845 = 4552562. Вычисляем нижнюю и верхнюю границы интервал поиска 30000-го twin-числа:
р, = Р'Гпп1 - 4976 = 4552562 - 4976 = 4549006,
low 30000
р = ЛпГпп' + 3830 = 4552562 + 3830 = 4556392.
up 30000
Сравнивая точное значение 30000-го twin-числа Р15001 = 4 5 5 3 41 1, видим, что оно, действительно, принадлежит найденному интервалу:
4549006<4553411<4556392. Отметим, что отношение интервала поиска простого числа Р15001 к значению
данного числа оказывается равным « 1.9 • 10-3.
Заключение
В ходе проведенного исследования особенностей распределения простых чисел и простых чисел-близнецов на скатерти Улама в полярной системе координат:
1. Разработан в пакете MATLAB программный инструментарий, обеспечивающий нахождение простых чисел и простых чисел-близнецов.
2. Обнаружено, что в полярной системе координат скатерти Улама для обоих типов изученных простых чисел представляют собой 44 спирали, вдоль которых упорядоченно размещаются данные числа.
3. Предложены алгоритмы для рекурсивного нахождения интервалов поиска простых чисел и простых чисел-близнецов, основанные на обнаруженных свойствах скатерти Улама.
Литература
[1] Stein M. L., Ulam S. M., Well M. B. A Visual Display of Some Properties of the Distribution of Primes // American Mathematical Monthly. 1964. Vol. 71. No. 5. р. 516-520; Stein M., Ulam S. M. An Observation on the Distribution of Primes // American Mathematical Monthly. 1967. Vol. 74. No. 1. р. 43-44.
[2] http://math.uni.lu/eml/proj ects/reports/prime -distribution.pdf
[3] http://french.chass.utoronto.ca/as-sa/AS SA-No 14/article7en.html
[4] https://dfafonso.shinyapps.io/Visualizing-Primes/
[5] Крэндал Р., Померанц К. Простые числа: Криптографические аспекты. — М. : УРСС: Книжный дом «ЛИБРОКОМ», 2011. 664 с.
[6] http://primes.utm.edu/largest.html#twin
[7] http://www.primegrid.com/
[8] O'Neill M. E. The Genuine Sieve of Eratosthenes // Journal of Functional Programming. 2009. Vol. 19. No. 1. P. 95-106.
[9] http://annals.math.princeton.edu/?s=Zhang
[10] Кроновер Р. М. Фракталы и хаос в динамических системах. — М. : Техносфера, 2006.
[11] Поршнев С. В. Компьютерное моделирование физических процессов в пакете MATLAB. — СПб. : Лань, 2011.
Автор:
Сергей Владимирович Поршнев — доктор технических наук, профессор, департамент ИТ и автоматики, Уральский федеральный университет имени первого Президента России Б. Н. Ельцина (Екатеринбург)
On the issues of prime numbers' and twin primes' distribution on the Ulam spiral
S. V. Porshnev
Ural Federal University Mira st., 32, Ekaterinburg, Russia, 620002
e-mail: [email protected]
Abstract. The article presents the results of the investigation of prime numbers' and twin primes' distribution on the Ulam spiral in polar coordinates. These results allow to suggest that such numbers lie along 44 pairwise disjoint spirals similar to the Archimedean spiral (further — P-spiral). Starting points of these P-spirals equal corresponding prime numbers or least of a twin pair with order number in range i = 1,44. Prime numbers and least primes from a twin pair are distributed among spirals with preserving order, that is i-th P-spiral consists of numbers with indices i + 44 (k-1), k = 1, 2, ... where k is the index of number within P-spiral. Also it is shown that the dependency of the difference between neighbor primes on index k can be divided into noise and deterministic components. Deterministic component can be well approximated as f(k) = a ln(k) which allows to predict relatively small interval for the (N+1)st prime if the first N primes are known. Key words: Prime numbers, Twin prime, Ulam spiral (Ulam cloth).
References
[1] Stein M. L., Ulam S. M.; Well M. B. (1964) American Mathematical Monthly, 71(5):516-520; Stein M., Ulam S. M. (1967) American Mathematical Monthly, 74(1):43-44.
[2] http://math.uni.lu/eml/proj ects/reports/prime -distribution.pdf
[3] http://french.chass.utoronto.ca/as-sa/AS SA-No 14/article7en.html
[4] https://dfafonso.shinyapps.io/Visualizing-Primes/
[5] Krendal R., Pomerants K. (2011) Prostyye chisla: Kriptograficheskiye aspekty. Moscow, URSS: Knizhnyy dom «LIBROKOM», 664 p. [In Rus]
[6] http://primes.utm.edu/largest.html#twin
[7] http://www.primegrid.com/
[8] O' NeillM. E. (2009) Journal of Functional Programming, 19:95-106.
[9] http://annals.math.princeton.edu/?s=Zhang
[10] Kronover R. M. (2006) Fractaly i haos v dinamicheskih sistemax. Moscow, Texnosfera. [In Rus]
[11] Porshnev S. K(2011) Komputernoe modelirovanie phizicheskih processov v pakete MATLAB. Saint-Petesburg. [In Rus]