Разработка нового алгоритма

Message boards : Cafe : Разработка нового алгоритма
Message board moderation

To post messages, you must log in.

Previous · 1 · 2 · 3 · 4 · 5 · 6 · 7 · Next

AuthorMessage
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 13251
Credit: 0
RAC: 0
Message 13402 - Posted: 16 Jan 2024, 2:37:59 UTC
Last modified: 16 Jan 2024, 22:23:45 UTC

Выполнила эксперимент по оптимизации программы поиска ключевых 17-ок, который состоял в переходе от периода 17# к периоду 29#.
Это дало убыстрение программы в 11,71 раз.
Эксперимент описан в теме "Внимание! Конкурс!"
https://boinc.progger.info/odlk/forum_thread.php?id=273

Эксперимент по переходу к периоду 37# не удался, получилось более 32 миллионов формул, которые мне не удалось записать в рабочую программу.

В новой версии программы убрала, конечно, поиск ключевых 17-ок в 19-ах, 25-ах и 27-ах с минимальным диаметром.
Вместо этого сделала поиск в сразу в трёх различных диапазонах, довольно близких.
Можно и разнести диапазоны, сделать их достаточно далёкими.

Вот текущая версия программы работает на черепашке

(04:55) gp > \r 17pat.txt
   log = 1 (on)
   [logfile is "17pat_res.txt"]
  ***   Warning: new stack size = 536870912 (512.000 Mbytes).
range of search for the first stream
134396075624001 (p=869501380603167295213230 )
134396075625000 (p=869501380609630518750000 )
range of search for the second stream
144396075624001 (p=934198312903167295213230 )
144396075625000 (p=934198312909630518750000 )
range of search for the third stream
154396075624001 (p=998895245203167295213230 )
154396075625000 (p=998895245209630518750000 )

the first stream
the second stream
the third stream

Завершился проход
time = 1h, 53min, 32,892 ms.

Решений не найдено.
Время неплохое.
Можно дальше крутить.

А вот и центральные тройки

869501380611673562576611: [114, 120, 126]
869501380611673562576497: [0, 4, 16, 22, 66, 84, 100, 114, 120, 126, 136, 142, 150, 160, 202, 232, 240]
934198312920849337029001: [114, 120, 126]
934198312920849337028887: [0, 10, 42, 52, 60, 72, 94, 114, 120, 126, 150, 154, 162, 172, 190, 192, 240]
934198312926400516829167: [114, 120, 126]
934198312926400516829053: [0, 16, 24, 48, 66, 70, 94, 114, 120, 126, 130, 174, 186, 204, 228, 234, 240]

Думаю, не пора ли сделать скачок в диапазонах.
Сейчас нахожусь на границе диапазона 24-значных чисел.
Ну, ещё покручу чуть-чуть здесь.
ID: 13402 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 13251
Credit: 0
RAC: 0
Message 13407 - Posted: 17 Jan 2024, 3:06:26 UTC
Last modified: 17 Jan 2024, 3:20:26 UTC

Очень хорошее решение
869501380635299651719267: [114, 120, 126]
869501380635299651719153: [0, 6, 18, 36, 58, 84, 100, 114, 120, 126, 150, 156, 160, 216, 226, 234, 240]

Сравните с паттерном ключевой 17-ки
0, 6, 24, 36, 66, 84, 90, 114, 120, 126, 150, 156, 174, 204, 216, 234, 240

Случайно совпали ещё шесть элементов паттерна!
Имеем приближение к ключевой 17-ке с 6 "дырками".

Сейчас покажу это приближение в развёрнутом виде.

Вот
{869501380635299651719153, 869501380635299651719159, *869501380635299651719171, 869501380635299651719189,
*869501380635299651719211, 869501380635299651719237, *869501380635299651719253, 869501380635299651719267,
869501380635299651719273, 869501380635299651719279, 869501380635299651719303, 869501380635299651719309
,
*869501380635299651719313, *869501380635299651719369, *869501380635299651719379, 869501380635299651719387,
869501380635299651719393
}

Выше я отмечала, что найти полную ключевую 17-ку черепашка вряд ли сможет.
Слишком мал ресурс!
Однако программа работает чётко, приближения стабильно находятся.
ID: 13407 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 13251
Credit: 0
RAC: 0
Message 13413 - Posted: 18 Jan 2024, 2:34:45 UTC
Last modified: 18 Jan 2024, 2:47:16 UTC

Ещё одно хорошее приближение найдено

869501380665306320897467: [114, 120, 126]
869501380665306320897353: [0, 6, 24, 58, 64, 76, 100, 114, 120, 126, 174, 178, 198, 204, 216, 234, 240]

Сравниваем с паттерном ключевой 17-ки
0, 6, 24, 36, 66, 84, 90, 114, 120, 126, 150, 156, 174, 204, 216, 234, 240

Случайно совпали ещё пять элементов!
Получилось приближение к ключевой 17-ке с 7 "дырками".

Сейчас покажу это приближение а развёрнутом виде.

Вот
{869501380665306320897353, 869501380665306320897359, 869501380665306320897377, *869501380665306320897411, *869501380665306320897417, *869501380665306320897429, *869501380665306320897453, 869501380665306320897467, 869501380665306320897473, 869501380665306320897479, *869501380665306320897527, *869501380665306320897531,
*869501380665306320897551, 869501380665306320897557, 869501380665306320897569, 869501380665306320897587, 869501380665306320897593}

Три правильных элемента подряд в начале кортежа, четыре правильных элемента подряд в конце кортежа и три правильных элемента подряд в центре.
Очень хорошо!
Ключевые 17-ки вполне реальны.
Нужна массовость вычислений и ничего более.
То есть дело за техникой.
ID: 13413 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 13251
Credit: 0
RAC: 0
Message 13422 - Posted: 19 Jan 2024, 23:00:19 UTC
Last modified: 19 Jan 2024, 23:06:10 UTC

Ещё пара решений, это из второго диапазона

934198313003441441941927: [114, 120, 126]
934198313003441441941813: [0, 6, 18, 34, 36, 46, 90, 114, 120, 126, 136, 148, 150, 190, 204, 210, 240]
934198313008878552309007: [114, 120, 126]
934198313008878552308893: [0, 18, 24, 36, 70, 88, 108, 114, 120, 126, 150, 190, 196, 204, 216, 238, 240]

Тэк-с, делаю скачок диапазонов, пора выходить из диапазона 24-значных чисел.

Запустила с новыми диапазонами

(02:59) gp > \r 17pat.txt
   log = 1 (on)
   [logfile is "17pat_res.txt"]
  ***   Warning: new stack size = 536870912 (512.000 Mbytes).
range of search for the first stream
145396075660001 (p=940668006366076251493230 )
145396075661000 (p=940668006372539475030000 )
range of search for the second stream
155396075660001 (p=1005364938666076251493230 )
155396075661000 (p=1005364938672539475030000 )
range of search for the third stream
165396075660001 (p=1070061870966076251493230 )
165396075661000 (p=1070061870972539475030000 )

the first stream

Первый диапазон остался в 24-значных числах, но пусть пока будет.
ID: 13422 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 13251
Credit: 0
RAC: 0
Message 13429 - Posted: 20 Jan 2024, 0:28:41 UTC
Last modified: 20 Jan 2024, 0:42:13 UTC

Программа поиска ключевых 17-ок на периоде 29#

\l 17pat_res.txt;
default(timer,1);
allocatemem(2^29);

{v=vector(30); pat1=vector(17);
pat3=[114, 120, 126];
pat5=[90, 114, 120, 126, 150];
pat7=[84, 90, 114, 120, 126, 150, 156];
pat9=[66, 84, 90, 114, 120, 126, 150, 156, 174];
pat11=[36, 66, 84, 90, 114, 120, 126, 150, 156, 174, 204];
pat13=[24, 36, 66, 84, 90, 114, 120, 126, 150, 156, 174, 204, 216];
pat15=[6, 24, 36, 66, 84, 90, 114, 120, 126, 150, 156, 174, 204, 216, 234];
w15=vector(15); w13=vector(13); w11=vector(11); w9=vector(9); w7=vector(7); w5=vector(5); w3=vector(3);

\\17tuple
t=1000;
i1=145396075660001;
i2=i1-1+t;
i3=155396075660001;
i4=i3-1+t;
i5=165396075660001;
i6=i5-1+t;

print("range of search for the first stream");
print(i1," (p=", i1*6469693230," )");
print(i2," (p=", i2*6469693230," )");
print("range of search for the second stream");
print(i3," (p=", i3*6469693230," )");
print(i4," (p=", i4*6469693230," )");
print("range of search for the third stream");
print(i5," (p=", i5*6469693230," )");
print(i6," (p=", i6*6469693230," )");
print();

period = 6469693230;
form=[1234893487, 2796543577, 1681079227, 4358193667, 565614877, ...

print("the first stream");

for(i=i1,i2,
for (n=1,114688,
w1=period*i+form[n];
if(ispseudoprime(w1) && ispseudoprime(w1+240),
k=0; 
forprime(p=w1,w1+240, k++; v[k]=p; );
if(k==17,
for(j=1,17, pat1[j]=v[j]-v[1]; );
for(m=1,3, w3[m]=pat1[m+7]; );
for(m=1,5, w5[m]=pat1[m+6]; );
for(m=1,7, w7[m]=pat1[m+5]; );
for(m=1,9, w9[m]=pat1[m+4]; );
for(m=1,11, w11[m]=pat1[m+3]; );
for(m=1,13, w13[m]=pat1[m+2]; );
for(m=1,15, w15[m]=pat1[m+1]; );
if(w3==pat3, print(v[8],": ",w3); print(v[1],": ",pat1);
if(w5==pat5, print(v[7],": ",w5); print(v[1],": ",pat1);
if(w7==pat7, print(v[6],": ",w7); print(v[1],": ",pat1);
if(w9==pat9, print(v[5],": ",w9); print(v[1],": ",pat1);
if(w11==pat11, print(v[4],": ",w11); print(v[1],": ",pat1);
if(w13==pat13, print(v[3],": ",w13); print(v[1],": ",pat1);
if(w15==pat15, print(v[2],": ",w15); print(v[1],": ",pat1);
)))))));
);););
);

print("the second stream");

for(i=i3,i4,
for (n=1,114688,
w1=period*i+form[n];
if(ispseudoprime(w1) && ispseudoprime(w1+240),
k=0; 
forprime(p=w1,w1+240, k++; v[k]=p; );
if(k==17,
for(j=1,17, pat1[j]=v[j]-v[1]; );
for(m=1,3, w3[m]=pat1[m+7]; );
for(m=1,5, w5[m]=pat1[m+6]; );
for(m=1,7, w7[m]=pat1[m+5]; );
for(m=1,9, w9[m]=pat1[m+4]; );
for(m=1,11, w11[m]=pat1[m+3]; );
for(m=1,13, w13[m]=pat1[m+2]; );
for(m=1,15, w15[m]=pat1[m+1]; );
if(w3==pat3, print(v[8],": ",w3); print(v[1],": ",pat1);
if(w5==pat5, print(v[7],": ",w5); print(v[1],": ",pat1);
if(w7==pat7, print(v[6],": ",w7); print(v[1],": ",pat1);
if(w9==pat9, print(v[5],": ",w9); print(v[1],": ",pat1);
if(w11==pat11, print(v[4],": ",w11); print(v[1],": ",pat1);
if(w13==pat13, print(v[3],": ",w13); print(v[1],": ",pat1);
if(w15==pat15, print(v[2],": ",w15); print(v[1],": ",pat1);
)))))));
);););
);

print("the third stream");

for(i=i5,i6,
for (n=1,114688,
w1=period*i+form[n];
if(ispseudoprime(w1) && ispseudoprime(w1+240),
k=0; 
forprime(p=w1,w1+240, k++; v[k]=p; );
if(k==17,
for(j=1,17, pat1[j]=v[j]-v[1]; );
for(m=1,3, w3[m]=pat1[m+7]; );
for(m=1,5, w5[m]=pat1[m+6]; );
for(m=1,7, w7[m]=pat1[m+5]; );
for(m=1,9, w9[m]=pat1[m+4]; );
for(m=1,11, w11[m]=pat1[m+3]; );
for(m=1,13, w13[m]=pat1[m+2]; );
for(m=1,15, w15[m]=pat1[m+1]; );
if(w3==pat3, print(v[8],": ",w3); print(v[1],": ",pat1);
if(w5==pat5, print(v[7],": ",w5); print(v[1],": ",pat1);
if(w7==pat7, print(v[6],": ",w7); print(v[1],": ",pat1);
if(w9==pat9, print(v[5],": ",w9); print(v[1],": ",pat1);
if(w11==pat11, print(v[4],": ",w11); print(v[1],": ",pat1);
if(w13==pat13, print(v[3],": ",w13); print(v[1],": ",pat1);
if(w15==pat15, print(v[2],": ",w15); print(v[1],": ",pat1);
)))))));
);););
);
}

Это текущий вариант программы, который у меня тестируется всего в один поток на черепашке.
Поиск ведётся сразу в трёх диапазонах, достаточно близких.
Можно разнести диапазоны.

ВНИМАНИЕ!
Вектор формул form в тексте программы обрезан, так как он очень длинный.

Учла замечание gris и переименовала вектор формул (раньше у него было имя m).
gris,
спасибо за замечание.

Господа!
Пожалуйста, пишите ваши вопросы и замечания по программе.
Мой адрес не изменился.

PS. Сейчас эта программа работает на черепашке

(02:59) gp > \r 17pat.txt
   log = 1 (on)
   [logfile is "17pat_res.txt"]
  ***   Warning: new stack size = 536870912 (512.000 Mbytes).
range of search for the first stream
145396075660001 (p=940668006366076251493230 )
145396075661000 (p=940668006372539475030000 )
range of search for the second stream
155396075660001 (p=1005364938666076251493230 )
155396075661000 (p=1005364938672539475030000 )
range of search for the third stream
165396075660001 (p=1070061870966076251493230 )
165396075661000 (p=1070061870972539475030000 )

the first stream
the second stream
the third stream

Вы видите три диапазона поиска.
Программа ещё не завершилась, поиск идёт в третьем диапазоне.
ID: 13429 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 13251
Credit: 0
RAC: 0
Message 13434 - Posted: 20 Jan 2024, 22:59:07 UTC
Last modified: 21 Jan 2024, 0:09:15 UTC

O-o-o!
Г. Петухов удостоил меня ответа!
Привожу полный ответ, который получен от gris

А можете переслать мой ответ Макаровой? Раз уж так вежливо спрашивает, может и правда не понимает и интересуется ... Не верю конечно, но это хотя бы достойно ответа. Пусть порадуется.
Цитата:
НМ:
>И второй вопрос уже к г. Петухову.
>Тоже не навязываю своё мнение, а лишь высказываю его.

>Зачем продолжать упираться в поиск 19-ки с минимальным диаметром, если его можно заменить поиском ключевой 17-ки (то есть центральной 17-ки в 19-ке с минимальным диаметром)???
>Ведь поиск 17-ок намного проще и быстрее поиска 19-ки.

Отвечаю:
Потому что последнее утверждение про "быстрее" - НЕПРАВДА! Вовсе не быстрее! Это много раз показывалось, хоть на PARI, хоть на чём.
Хотя бы потому что среди каждых 37#=7420738134810 чисел на 19-ку надо проверить 6635520 вариантов, а на 17-ку уже 32112640 вариантов, почти в 5 раз больше!
PARI практически всё равно какой длины цепочку проверять по каждому варианту, хоть 17, хоть 19, всё равно он до конца проверки даже всех 17-ти чисел в цепочке в 99.9999999% случаев не доходит (сможете корректно измерить разницу - поговорим).
Значит он один и тот же интервал чисел поиском 17-ек будет проверять почти в 5 раз дольше чем поиском в нём же 19-ек.
И не только PARI, вот реальная скорость моей позапрошлогодней программы в 4 потока в одинаковых условиях:
n=19: 0 6 12 30 42 72 90 96 120 126 132 156 162 180 210 222 240 246 252, Speed: 8.401e18ph
n=17: 0 6 24 36 66 84 90 114 120 126 150 156 174 204 216 234 240, Speed: 1.189e18ph
В обоих случаях используется таблица 37#. Разница между 8.4 и 1.2 квинтиллиона чисел в час понятна даже первокласснику.
Сами считайте как хотите, я же предпочитаю считать как могу быстрее.

Начну с конца.
Сами считайте как хотите, я же предпочитаю считать как могу быстрее.

Это ПРАВИЛЬНЫЙ ОТВЕТ!
Точно так же я могла бы ответить г. Петухову, когда он писал на форуме dxdy.ru: "Могла бы считать в N раз быстрее... В каких диапазонах она считает?! Там же заведомо ничего нет! 23-ку она никогда не найдёт и 21-ку не найдёт, даже если запустит BOINC-проект." и т. д. и т. п.

Теперь по существу.

1. Именно потому, что 19-ки находятся быстрее, нежели ключевые 17-ки, г. Петухов за почти год счёта нашёл две ключевые 17-ки и не нашёл ни одной 19-ки с минимальным диаметром?
2. Именно потому, что 19-ки находятся быстрее, нежели 17-ки, Ярослав Врублевский в рамках конкурса по кортежам нашёл около двадцати 17-ок с различными диаметрами, в том числе несколько с минимальным диаметром 240 (в том числе и шесть ключевых 17-ок), и не нашёл ни одной 19-ки хоть с каким-нибудь возможным диаметром?
3. Именно потому, что 19-ки находятся быстрее, нежели 17-ки, в BOINC-проектах TBEG и SPT найдено уже 35 17-ок и только две 19-ки?

Ответьте на эти вопросы самостоятельно, каждый для себя.

Далее, моя программа поиска ключевых 17-ок вообще вываливается из поиска при проверке всего двух чисел на простоту - первого и последнего элементов ключевой 17-ки.
И дальше она вываливается из проверки кандидата уже при отсутствии в нём центральной тройки.
И если центральная тройка найдена, программа вываливается из проверки кортежа при отсутствии в нём центральной пятёрки.
И т. д.
И всё это происходит офигенно быстро.

В 5 раз больше входов для 17-ок, чем для 19-ок?
И что?
Всё это компенсируется быстрыми вылетами даже по первой проверке - первого и последнего элементов кортежа на простоту.

____________________

Ответом довольна.
Прям очень сильно "порадовалась" :)))
Сам г. Петухов удостоил ...
Особенно хороша последняя фраза
Сами считайте как хотите, я же предпочитаю считать как могу быстрее.

Возвращаю её г. Петухову и его лучшему другу Ядряре.

PS. Моя программа поиска ключевых 17-ок на периоде 29# опубликована в сообщении
https://boinc.progger.info/odlk/forum_thread.php?id=268&postid=13429
Это текущая версия программы, которая в данный момент тестируется.

Переходить к поиску 19-ки с минимальным диаметром вместо ключевых 17-ок не планирую.
Хотя в конкурсе есть такая задача - это задача #3.
Решаю конкурсную задачу #1.
Отдаю себе полностью отчёт в том, что поиск в один поток на маломощном компьютере не позволит найти хотя бы одну ключевую 17-ку.
Я исследую приближения к ключевой 17-ке.
Да-да, те самые - с 10 "дырками", с 7 "дырками", на которые у г. Петухова "смеха не хватает".
Не вижу ничего смешного.
Но ежели ему смешно, пусть смеётся, я не возражаю :)

Смеяться, право, не грешно
над тем, что кажется смешно.

К. Прутков

Пользуясь случаем, приглашаю г. Петухова принять участие в конкурсе.
Не ради приза, конечно; он ведь такой маленький, что всех затрат г. Петухова на электричество не покроет.
А ради науки и результатов!
Ежели, конечно, результаты у г. Петухова появятся за время конкурса.
В конкурсе, между прочим, семь задач, а не только поиск 19-ки с минимальным диаметром и поиск ключевых 17-ок.
Кстати, очевидно, что эти две задачи тесно связаны между собой.

Напомню ссылку на описание конкурса
https://primesmagicgames.altervista.org/wp/primes-k-tuple-2/

Для всех, господа!
Подключайтесь, пожалуйста!
ID: 13434 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 13251
Credit: 0
RAC: 0
Message 13435 - Posted: 21 Jan 2024, 2:33:52 UTC

Забыла сказать: ключевые 17-ки имеют самостоятельную ценность, это 17-ки с минимальным диаметром 240.
Желательно найти их все - среди тех, которые уже найдены, вдруг есть пропущенные.
А также и продолжить дальше их искать.
ID: 13435 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 13251
Credit: 0
RAC: 0
Message 13436 - Posted: 21 Jan 2024, 2:41:33 UTC
Last modified: 21 Jan 2024, 4:43:19 UTC

Найдена первая центральная тройка в ключевой 17-ке в новых диапазонах поиска

(03:46) gp > \r 17pat.txt
   log = 1 (on)
   [logfile is "17pat_res.txt"]
  ***   Warning: new stack size = 536870912 (512.000 Mbytes).
range of search for the first stream
145396075900001 (p=940668007918802626693230 )
145396075901000 (p=940668007925265850230000 )
range of search for the second stream
155396075900001 (p=1005364940218802626693230 )
155396075901000 (p=1005364940225265850230000 )
range of search for the third stream
165396075900001 (p=1070061872518802626693230 )
165396075901000 (p=1070061872525265850230000 )

the first stream
the second stream
the third stream
1070061872521832280430541: [114, 120, 126]
1070061872521832280430427: [0, 2, 6, 24, 42, 66, 80, 114, 120, 126, 152, 156, 17
0, 182, 192, 204, 240]
time = 1h, 54min, 52,343 ms.

Это уже в диапазоне 25-значных чисел.

И ещё
1005364940866346303543347: [114, 120, 126]
1005364940866346303543233: [0, 6, 30, 64, 70, 84, 108, 114, 120, 126, 148, 156,
190, 196, 220, 238, 240]
ID: 13436 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 13251
Credit: 0
RAC: 0
Message 13438 - Posted: 21 Jan 2024, 2:54:23 UTC
Last modified: 21 Jan 2024, 3:05:17 UTC

Попробую расширить период до 31#.
До 37# черепашка точно не тянет.

Это получение вектора формул на периоде 31#

(06:58) gp > \r formulae_31.txt
  ***   Warning: not enough memory, new PARI stack 2147483648
  ***   Warning: new stack size = 2147483648 (2048.000 Mbytes).
[0, 6, 24, 36, 66, 84, 90, 114, 120, 126, 150, 156, 174, 204, 216, 234, 240]
17
 3: [1, 2]
 5: [2, 3]
 7: [2, 3]
11: [3, 10]
13: [9, 11]
17: [6, 7, 8, 9]
19: [1, 3, 4, 6, 8, 9, 17, 18]
23: [4, 6, 7, 9, 15, 16, 20, 21]
29: [1, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 20]
31: [2, 6, 11, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 28]
1605632 formulae expected

Ну, не такой уж длинный вектор.
Можно попробовать записать его в рабочую программу.
ID: 13438 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 13251
Credit: 0
RAC: 0
Message 13439 - Posted: 21 Jan 2024, 5:03:27 UTC

Удалось записать вектор формул в рабочую программу.
Масштабировать не стала.
Запустила новую версию программы, это на периоде 31#

(08:10) gp > \r 17pat_new.txt
   logfile = "17pat_new_res.txt"
  ***   Warning: new stack size = 536870912 (512.000 Mbytes).
range of search for the first stream
145396076000001 (p=29160708265538930440490130 )
145396076000300 (p=29160708265598898027039000 )
range of search for the second stream
155396076000001 (p=31166313166838930440490130 )
155396076000300 (p=31166313166898898027039000 )
range of search for the third stream
165396076000001 (p=33171918068138930440490130 )
165396076000300 (p=33171918068198898027039000 )

the first stream

Диапазоны, понятно, прыгнули вверх.
Все три диапазона 26-значные числа.
Пусть будут такие.
ID: 13439 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 13251
Credit: 0
RAC: 0
Message 13441 - Posted: 22 Jan 2024, 9:17:31 UTC
Last modified: 22 Jan 2024, 10:39:53 UTC

Программа работает, правда, интервал уменьшила втрое (+100 вместо +300), а то слишком долго программа выполнялась.

Вот две первые центральные тройки в ключевых 17-ах

33171918068216478041540837: [114, 120, 126]
33171918068216478041540723: [0, 6, 18, 20, 38, 48, 90, 114, 120, 126, 156, 168, 174, 176, 186, 188, 240]
33171918068236055237561087: [114, 120, 126]
33171918068236055237560973: [0, 6, 20, 26, 36, 66, 86, 114, 120, 126, 128, 138, 194, 198, 216, 234, 240]

Программа сейчас выполняется за
time = 2h, 43min, 8,673 ms.

Это на проверку сразу трёх диапазонов с 26-значными числами.

Продолжаю тестировать эту версию программы (на периоде 31#).

Прикинула скорость этой версии программы.
Получается: 2,0056049013*10^13 за 54 минуты (примерно час).
Если эту программу ускорить методикой г. Петухова (с использованием АСМ) и получить ускорение хотя бы в 1000 раз, получится:
2,0056049013*10^16 за 54 минуты.

Г. Петухов писал
И не только PARI, вот реальная скорость моей позапрошлогодней программы в 4 потока в одинаковых условиях:
n=19: 0 6 12 30 42 72 90 96 120 126 132 156 162 180 210 222 240 246 252, Speed: 8.401e18ph
n=17: 0 6 24 36 66 84 90 114 120 126 150 156 174 204 216 234 240, Speed: 1.189e18ph
В обоих случаях используется таблица 37#. Разница между 8.4 и 1.2 квинтиллиона чисел в час понятна даже первокласснику.
ID: 13441 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 13251
Credit: 0
RAC: 0
Message 13444 - Posted: 23 Jan 2024, 16:22:08 UTC
Last modified: 23 Jan 2024, 16:35:21 UTC

gris наконец соорудил программу хватания формул на лету :)
Пока ещё черновой вариант, но уже работает.

Итак, поиск ключевой 17-ки на периоде 37#.

Пока программа даёт такую скорость
1,484147626962*10^13 за
time = 24min, 48,984 ms.

Сравните с программой на периоде 31#, которая у меня сейчас работает (без всякого хватания на лету)
2,0056049013*10^13 за 54 минуты (примерно час).

Протокол работы программы из консоли

(18:08) gp > \r pat.txt
[0, 18, 24, 48, 54, 60, 84, 90, 108]
(18:19) gp > \r formulae_n_17.gp
2594460795 from number
2594460795 to   number
[0,6,24,36,66,84,90,114,120,126,150,156,174,204,216,234,240]
patterns length 17
prove by 37#: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37]
7420738134810 period
search in 19252814160725969773950 - 19252814175567446043570
32112640 formulae expected
32112640 formulae expected
19252814175273852997757,
time = 24min, 48,984 ms.

Тестировалась ключевая 17-ка, найденная Врублевским
19252814175273852997757: 0 6 24 36 66 84 90 114 120 126 150 156 174 204 216 234 240

gris,
поздравляю!
Вы её сделали! :) Хотя очень долго сопротивлялись :)
Завтра доработаем блок проверки кортежа.
Это уже несложно.
ID: 13444 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 13251
Credit: 0
RAC: 0
Message 13446 - Posted: 24 Jan 2024, 1:28:05 UTC
Last modified: 24 Jan 2024, 1:28:42 UTC

О!
gris уже оптимизировал свою программу!
Вот тот же самый проход, что был показан выше

(05:02) gp > \r formulae_n_17.gp
  ***   Warning: new maximum stack size = 1000000000 (953.674 Mbytes).
2594460795 from number
2594460795 to   number
[0,6,24,36,66,84,90,114,120,126,150,156,174,204,216,234,240]
patterns length 17
prove by 37#: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37]
7420738134810 period
search in 19252814160725969773950 - 19252814175567446043570
32112640 formulae expected
19252814175273852997757,
time = 19min, 38,432 ms.

Обратите внимание на время.

gris,
огромное спасибо!
Нет предела оптимизации :)
ID: 13446 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 13251
Credit: 0
RAC: 0
Message 13447 - Posted: 24 Jan 2024, 8:42:51 UTC
Last modified: 24 Jan 2024, 15:57:41 UTC

Центральная тройка в ключевой 17-ке найдена программой на периоде 31#

(07:47) gp > \r 17pat_new.txt
   logfile = "17pat_new_res.txt"
  ***   Warning: new stack size = 536870912 (512.000 Mbytes).
range of search for the first stream
145396076001401 (p=29160708265819715126672130 )
145396076001500 (p=29160708265839570615195000 )
range of search for the second stream
155396076001401 (p=31166313167119715126672130 )
155396076001500 (p=31166313167139570615195000 )
range of search for the third stream
165396076001401 (p=33171918068419715126672130 )
165396076001500 (p=33171918068439570615195000 )

the first stream
29160708265820372691531737: [114, 120, 126]
29160708265820372691531623: [0, 38, 44, 78, 80, 84, 104, 114, 120, 126, 170, 188
, 194, 216, 218, 236, 240]
the second stream
the third stream
time = 2h, 44min, 6,332 ms.

Первый диапазон, 26-значные числа.

И ещё
31166313167157207466450811: [114, 120, 126]
31166313167157207466450697: [0, 24, 56, 60, 66, 86, 92, 114, 120, 126, 164, 176,
 182, 204, 216, 230, 240]

Это уже во втором диапазоне.

Снова в первом диапазоне
29160708265861852547761681: [114, 120, 126]
29160708265861852547761567: [0, 4, 24, 84, 90, 94, 100, 114, 120, 126, 136, 174,
 190, 196, 204, 226, 240]
ID: 13447 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 13251
Credit: 0
RAC: 0
Message 13451 - Posted: 24 Jan 2024, 16:43:29 UTC

Вот любопытный тест.
Заменила в программе gris на периоде 37# блок проверки кортежа своим блоком.
Интересно: время увеличилось на 9 минут

(17:59) gp > \r formulae_n_17_my.txt
2594460795 from number
2594460796 to   number
[0,6,24,36,66,84,90,114,120,126,150,156,174,204,216,234,240]
patterns length 17
prove by 37#: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37]
7420738134810 period
search in 19252814160725969773950 - 19252814175567446043570
32112640 formulae expected
19252814175273852997757: [0, 6, 24, 36, 66, 84, 90, 114, 120, 126, 150, 156, 174
, 204, 216, 234, 240]
time = 28min, 56,760 ms.

Тестировалась та же самая ключевая 17-ка, найденная Врублевским.
Она программой найдена, вы видите её в выводе программы.

Таким образом, блок проверки кортежа у gris работает быстрее, чем у меня.
ID: 13451 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 13251
Credit: 0
RAC: 0
Message 13466 - Posted: 26 Jan 2024, 2:49:59 UTC
Last modified: 26 Jan 2024, 2:50:19 UTC

Ко мне вернулись Ахиллесы!

Вот центральные тройки в ключевых 17-ах

29160708266213640368716951: [114, 120, 126]
29160708266213640368716837: [0, 16, 24, 52, 66, 90, 94, 114, 120, 126, 132, 150,
 154, 156, 162, 196, 240]
31166313167699144039714611: [114, 120, 126]
31166313167699144039714497: [0, 16, 36, 66, 70, 82, 112, 114, 120, 126, 142, 156
, 160, 204, 226, 232, 240]
31166313167789196527220137: [114, 120, 126]
31166313167789196527220023: [0, 24, 26, 38, 48, 50, 96, 114, 120, 126, 140, 174,
 176, 194, 198, 234, 240]
the third stream
33171918068980954791033161: [114, 120, 126]
33171918068980954791033047: [0, 6, 14, 36, 72, 80, 86, 114, 120, 126, 146, 156,
174, 176, 216, 236, 240]
29160708266562701638443967: [114, 120, 126]
29160708266562701638443853: [0, 18, 36, 60, 76, 90, 94, 114, 120, 126, 148, 174,
 186, 204, 226, 234, 240]
33171918069108633684850027: [114, 120, 126]
33171918069108633684849913: [0, 16, 40, 48, 66, 70, 90, 114, 120, 126, 154, 190,
 196, 204, 208, 216, 240]
33171918069270801093223151: [114, 120, 126]
33171918069270801093223037: [0, 6, 36, 72, 80, 96, 104, 114, 120, 126, 150, 156,
 176, 206, 216, 236, 240]

Пока по-прежнему только центральные тройки.
Но теперь всё-таки побольше потоков, а значит, и побольше шансов.
Хотя, конечно, до массовости BOINC-проекта очень далеко.
ID: 13466 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 13251
Credit: 0
RAC: 0
Message 13467 - Posted: 26 Jan 2024, 3:17:28 UTC
Last modified: 26 Jan 2024, 3:33:13 UTC

Разверну одно приближение, 7 "дырок".

33171918068980954791033161: [114, 120, 126]
33171918068980954791033047: [0, 6, 14, 36, 72, 80, 86, 114, 120, 126, 146, 156, 174, 176, 216, 236, 240]

Сравниваем с паттерном ключевой 17-ки
0, 6, 24, 36, 66, 84, 90, 114, 120, 126, 150, 156, 174, 204, 216, 234, 240

Случайно совпали ещё пять элементов.

Вот она - ключевая 17-ка с 7 "дырками" и с центральной тройкой

{33171918068980954791033047, 33171918068980954791033053, *33171918068980954791033061, 33171918068980954791033083, *33171918068980954791033119, *33171918068980954791033127, *33171918068980954791033133, 33171918068980954791033161, 33171918068980954791033167, 33171918068980954791033173, *33171918068980954791033193, 33171918068980954791033203, 33171918068980954791033221, *33171918068980954791033223, 33171918068980954791033263, *33171918068980954791033283, 33171918068980954791033287}

Ещё раз подчеркну: в приближении все элементы - последовательные простые числа, но элементы, помеченные звёздочкой, не соответствуют паттерну.
Элементы, выделенные зелёным цветом, соответствуют паттерну.
ID: 13467 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 13251
Credit: 0
RAC: 0
Message 13468 - Posted: 26 Jan 2024, 9:28:24 UTC
Last modified: 26 Jan 2024, 9:55:04 UTC

Итак, Ахиллес принял 7 потоков моей программы поиска ключевых 17-ок (на периоде 31#).
Моя программа выводит все центральные кортежи, которую будут найдены в ключевых 17-ах.
Пока найдены только центральные тройки.

Ахиллес-3 принял 14 потоков программы gris поиска ключевых 17-ок (на периоде 37#).
Эта программа работает быстрее моей программы.
Вывод только ключевой 17-ки, ежели она будет найдена.
Больше программа ничего не выводит.

Ещё раз покажу тест, выполненный для программы gris

(05:02) gp > \r formulae_n_17.gp
  ***   Warning: new maximum stack size = 1000000000 (953.674 Mbytes).
2594460795 from number
2594460795 to   number
[0,6,24,36,66,84,90,114,120,126,150,156,174,204,216,234,240]
patterns length 17
prove by 37#: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37]
7420738134810 period
search in 19252814160725969773950 - 19252814175567446043570
32112640 formulae expected
19252814175273852997757,
time = 19min, 38,432 ms.

Тестировалась ключевая 17-ка, найденная Врублевским, вот эта
19252814175273852997757: 0 6 24 36 66 84 90 114 120 126 150 156 174 204 216 234 240

Кстати, это последняя ключевая 17-ка, найденная Врублевским.
Далее следуют две ключевые 17-ки, найденные г. Петуховым
154787380396512840656507: 0 6 24 36 66 84 90 114 120 126 150 156 174 204 216 234 240
901985248981556228168767: 0 6 24 36 66 84 90 114 120 126 150 156 174 204 216 234 240

Я продолжаю поиск от последней ключевой 17-ки Врублевского.
Можно было и перескочить, например, на поиск после второй ключевой 17-ки г. Петухова, но у меня есть сомнения в том, что тут нет пропущенных ключевых 17-ок.
Поэтому пока поищу в этом диапазоне.
Это в программе gris.
В моей программе у меня другие диапазоне, намного дальше показанной 17-ки Врублевского.
ID: 13468 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 13251
Credit: 0
RAC: 0
Message 13469 - Posted: 27 Jan 2024, 4:50:33 UTC
Last modified: 27 Jan 2024, 4:58:17 UTC

gris очень интересовался, сколько времени Ахиллес-3 обрабатывает 50 периодов его программой поиска ключевых 17-ок на периоде 37#.

Вот

? \r formulae_n_17m.gp
  ***   Warning: new maximum stack size = 1000000000 (953.674 Mbytes).
2594461650 from number
2594461699 to   number
[0,6,24,36,66,84,90,114,120,126,150,156,174,204,216,234,240]
patterns length 17
prove by 37#: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37]
7420738134810 period
search in 19252820505457075036500 - 19252820876493981777000
32112640 formulae expected
time = 9h, 11min, 28,813 ms.

У Ахиллеса-3 производительность чуть меньше, чем у черепашки.
Зато у него 20 ядер.

Итак, Ахиллес-3 за один проход обрабатывает
7420738134810*50 = 371036906740500 = 3,710369067405*10^14
Это обрабатывается за
time = 9h, 11min, 28,813 ms.

И за то же самое время выполняются 14 копий программы (14 потоков).
То есть
3,710369067405*10^14*14 = 5,194516694367*10^15
ID: 13469 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 13251
Credit: 0
RAC: 0
Message 13470 - Posted: 27 Jan 2024, 5:02:49 UTC
Last modified: 27 Jan 2024, 5:03:19 UTC

Тэк-с, программы отработали, ключевая 17-ка не найдена.
Сейчас перезапущу.
Большой соблазн перескочить и искать подальше.
Но пока не буду, пусть поищется рядом с последней ключевой 17-й Врублевского.
А вдруг и рядом выскочит ключевая 17-ка.
Хотя вероятность этого очень мала.
ID: 13470 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Previous · 1 · 2 · 3 · 4 · 5 · 6 · 7 · Next

Message boards : Cafe : Разработка нового алгоритма


©2024 (C) Progger