Message boards :
Cafe :
Разработка нового алгоритма
Message board moderation
Previous · 1 · 2 · 3 · 4 · 5 · 6 · 7 · Next
Author | Message |
---|---|
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Выполнила эксперимент по оптимизации программы поиска ключевых 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-значных чисел. Ну, ещё покручу чуть-чуть здесь. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Очень хорошее решение 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-ку черепашка вряд ли сможет. Слишком мал ресурс! Однако программа работает чётко, приближения стабильно находятся. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Ещё одно хорошее приближение найдено 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-ки вполне реальны. Нужна массовость вычислений и ничего более. То есть дело за техникой. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Ещё пара решений, это из второго диапазона 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-значных числах, но пусть пока будет. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Программа поиска ключевых 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 Вы видите три диапазона поиска. Программа ещё не завершилась, поиск идёт в третьем диапазоне. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
O-o-o! Г. Петухов удостоил меня ответа! Привожу полный ответ, который получен от gris А можете переслать мой ответ Макаровой? Раз уж так вежливо спрашивает, может и правда не понимает и интересуется ... Не верю конечно, но это хотя бы достойно ответа. Пусть порадуется. Начну с конца. Сами считайте как хотите, я же предпочитаю считать как могу быстрее. Это ПРАВИЛЬНЫЙ ОТВЕТ! Точно так же я могла бы ответить г. Петухову, когда он писал на форуме 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/ Для всех, господа! Подключайтесь, пожалуйста! |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Забыла сказать: ключевые 17-ки имеют самостоятельную ценность, это 17-ки с минимальным диаметром 240. Желательно найти их все - среди тех, которые уже найдены, вдруг есть пропущенные. А также и продолжить дальше их искать. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Найдена первая центральная тройка в ключевой 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] |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Попробую расширить период до 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 Ну, не такой уж длинный вектор. Можно попробовать записать его в рабочую программу. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Удалось записать вектор формул в рабочую программу. Масштабировать не стала. Запустила новую версию программы, это на периоде 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-значные числа. Пусть будут такие. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Программа работает, правда, интервал уменьшила втрое (+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 потока в одинаковых условиях: |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
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, поздравляю! Вы её сделали! :) Хотя очень долго сопротивлялись :) Завтра доработаем блок проверки кортежа. Это уже несложно. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
О! 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, огромное спасибо! Нет предела оптимизации :) |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Центральная тройка в ключевой 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] |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Вот любопытный тест. Заменила в программе 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 работает быстрее, чем у меня. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Ко мне вернулись Ахиллесы! Вот центральные тройки в ключевых 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-проекта очень далеко. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Разверну одно приближение, 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} Ещё раз подчеркну: в приближении все элементы - последовательные простые числа, но элементы, помеченные звёздочкой, не соответствуют паттерну. Элементы, выделенные зелёным цветом, соответствуют паттерну. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Итак, Ахиллес принял 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-ки Врублевского. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
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 |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Тэк-с, программы отработали, ключевая 17-ка не найдена. Сейчас перезапущу. Большой соблазн перескочить и искать подальше. Но пока не буду, пусть поищется рядом с последней ключевой 17-й Врублевского. А вдруг и рядом выскочит ключевая 17-ка. Хотя вероятность этого очень мала. |
©2024 (C) Progger