Message boards :
Cafe :
Симметричный кортеж длины 19 с минимальным диаметром из последовательных простых чисел
Message board moderation
Previous · 1 · 2 · 3 · 4 · Next
Author | Message |
---|---|
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Цитата Надо сделать выполнение сразу на 10 периодах. Программа получена от gris и запущена на Ахиллесе-3. Обрабатываться будет сразу 10 периодов, то есть 304250263527210*10 = 3042502635272100 = 3,0425026352721*10^15 Интересно время. Посмотрим. Цитата Программа работает на одном периоде, но этот период большой - 304250263527210. На черепашке 10 периодов обрабатывались бы 14,33 час. На Ахиллесе-3 будет больше, потому что производительность Ахиллеса-3 меньше, чем у черепашки. Напомню: это программа поиска 19-ки с минимальным диаметром на периоде 41#. Программа написана gris и модифицирована мной. Программа ищет центральные тройки в ключевой 17-ке, сидящей в 19-ке с минимальным диаметром, а также центральные тройки в 19-ке с минимальным диаметром. Ну, само собой, 19-ку с минимальным диаметром тоже ищет. Ключевые 17-ки, увы, могут потеряться, как и приближения к ключевой 17-ке. Программа только что испечена, поэтому она проходит тестирование. Приближения к ключевой 17-ке с центральной тройкой и приближения к ключевой 19-ке с центральной тройкой как раз и нужны для проверки работы программы. И не только для этого, конечно. Вот уже два приближения к ключевой 17-ке с центральной тройкой найдены 3954328813706182630332287: [0, 6, 24, 50, 62, 84, 92, 114, 120, 126, 150, 156, 182, 186, 224, 234, 240] 3954328815892553480546537: [0, 6, 14, 50, 62, 84, 102, 114, 120, 126, 150, 162,164, 174, 176, 206, 240] Это на черепашке найдено, когда программа работала на одном периоде. Посмотрим. что даст Ахиллес-3 на 10 периодах. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
А черепашка тестирует эту же программу, но на периоде 43# (04:29) gp > \r formulae_43_19_17_new.txt *** Warning: new maximum stack size = 100000000 (95.367 Mbytes). 12996961000 from number 12996961000 to number [0,6,12,30,42,72,90,96,120,126,132,156,162,180,210,222,240,246,252] patterns length 19 13082761331670030 period search in 170036138800023444778830000 (1.7 E26) - 170036138813106206110500030 (1 .7 E26) central 3: [120,126,132] prove by 43#: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43] 3822059520 formulae expected Для изменения периода в программе надо изменить всего одну строку. Вот решила попробовать. Обрабатывается, конечно, один период, он теперь такой 13082761331670030 Обратите внимание на количество формул 3822059520 formulae expected Потянет ли черепашка столько формул? Понятно, что формулы хватаются на лету, то есть никуда не записываются. Период стал в 43 раза больше. Формул на периоде 41# было 159252480 formulae expected а на периоде 43# стало 3822059520 formulae expected то есть в 24 раза больше. Если черепашка вырулит, посмотрим на время. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
ВНИМАНИЕ! ТЕСТ! Опубликую программу. которая сейчас тестируется на черепашке, период 43# \\r C:/GRIS/formulae_41_19_17.gp default(parisizemax,10^8) default(timer,1) { \\enter pattern pt=[0, 6, 12, 30, 42, 72, 90, 96, 120, 126, 132, 156, 162, 180, 210, 222, 240, 246, 252]; pt17=[0, 6, 24, 36, 66, 84, 90, 114, 120, 126, 150, 156, 174, 204, 216, 234, 240]; w=43; np1=12996961000; print(np1," from number"); np2=12996961000; print(np2," to number"); central=3; \\ end of data \\periods \\37 7420738134810 \\41 304250263527210 \\43 13082761331670030 \\47 614889782588491410 pl=#pt; nw=primepi(w); printf("%d \n",pt); print("patterns length ",pl); prs=primes(nw); period=vecprod(prs); print(period," period"); vp=vector(np2-np1+1, i, period*(np1-1+i)); lvp=#vp; printf("search in %d (%.1E) - %d (%.1E)\n", vp[1],vp[1],vp[lvp]+period,vp[lvp]+period); cp=vector(central,i,pt[pl\2-central\2+i]); printf("central %d: %d\n", central,cp); printf("prove by %d#: ",prs[nw]);print(prs); vmy=vector(40); pat1=vector(17); lpr=1; wd=vector(nw); for( ip=1,nw, rip=[]; for( r=1,prs[ip]-1, for( i=1,pl, if( (r+pt[i])%prs[ip]==0, next(2))); rip =concat(rip,r) ); lpr=lpr*#rip; wd[ip]=rip; ); \\for ip print(lpr," formulae expected"); k=0; forvec(v=vector(#wd,i,[1,#wd[i]]), k++; form=lift(chinese( vector( #wd,j,Mod( wd[j][v[j]], prs[j]) ) )); \\ начало проверки кортежа foreach(vp,bpp, bpt=form+bpp; if(ispseudoprime(bpt+6) && ispseudoprime(bpt+246), l=0; forprime(p=bpt+6,bpt+246, l++; vmy[l]=p; ); if(l==17, for(m=1,17, pat1[m]=vmy[m]-vmy[1]; ); if(pat1[8]==114 && pat1[9]==120 && pat1[10]==126, print(vmy[1],": ",pat1); if(pat1==pt17, print(vmy[1],": ",pat1); ););); );\\ if if(ispseudoprime(bpt) && ispseudoprime(bpt+252), l=0; forprime(p=bpt,bpt+252, l++; vmy[l]=p; ); if(l==19, for(m=1,19, pat2[m]=vmy[m]-vmy[1]; ); if(pat2[9]==120 && pat2[10]==126 && pat2[11]==132, print(vmy[1],": ",pat2); if(pat2==pt, print(vmy[1],": ",pat2); ););); );\\ if );\\ foreach \\ конец проверки кортежа );\\ forvec } Имя программы: formulae_43_19_17_new.txt (это я для себя, чтобы не забыть, у меня уже десятки различных программы, трудно помнить все имена). Кстати, в начале программы вы видите имя программы gris, которая мной модифицировалась formulae_41_19_17.gp |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Черепашка пыхтит :) Очень интересно - вырулит ли? Но ошибок пока не выдалось, уже хорошо. Снова цитата Программа работает на одном периоде, но этот период большой - 304250263527210. Если бы черепашка обрабатывала 43 таких периода, ей потребовалось бы 61,63 час. Да-а-а... Вряд ли черепашка вырулит на периоде 43# до отбоя. Даже если предположить, что убыстрение будет примерно в 2 раза, это примерно 30 часов. Ладно, не буду прерывать, пусть работает. Кстати, диапазон проверки в этой программе search in 170036138800023444778830000 (1.7 E26) - 170036138813106206110500030 (1.7 E26) Залезли уже в область 27-значных чисел. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Цитата Программа только что испечена, поэтому она проходит тестирование. Тестирование на 10 периодах на Ахиллесе-3 выскочило с ошибкой ? \r formulae_41_19_17_new.gp *** Warning: new maximum stack size = 100000000 (95.367 Mbytes). 12996961026 from number 12996961035 to number [0,6,12,30,42,72,90,96,120,126,132,156,162,180,210,222,240,246,252] patterns length 19 304250263527210 period search in 3954328817213377660517460 (4.0 E24) - 3954328820255880295789560 (4.0 E24) central 3: [120,126,132] prove by 41#: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41] 159252480 formulae expected 3954328819086333957597547: [0, 16, 60, 70, 72, 76, 102, 114, 120, 126, 150, 154, 160, 192, 196, 204, 240] 3954328819140084393516727: [0, 36, 42, 52, 64, 90, 102, 114, 120, 126, 130, 160, 174, 192, 202, 216, 240] *** at top-level: ...;if(l==19,for(m=1,19,pat2[m]=vmy[m]-vmy[1];);i *** ^--------------------- *** incorrect type in &_[_] OCcompo1ptr [not a vector] (t_POL). *** Break loop: type 'break' to go back to GP prompt break> Досадная ошибка, забыла объявить вектор pat2. И ведь когда на одном периоде тестировала, этот вектор был объявлен, а потом потерялся, потому что посылала gris исходный вариант программы для внесения изменений (чтобы проверялось сразу на 10 периодах). Ну ничего, всё бывает. Зато и на черепашке тест прервала на периоде 43#, потому что она всё равно этот тест не потянет за приемлемое время. А там та же самая ошибка. Кстати, программа уже нашла две центральные тройки в ключевой 17-ке. А ошибка возникла в новом добавленном куске, когда программа начала проверять 19-ку. Это значит. что нашлась 19-ка с правильными первым и последним элементами. Хорошо! Сейчас ошибку исправлю и перезапущу программу на 10 периодов на Ахиллесе-3. Тест на периоде 43# пока откладывается. Его тоже надо на Ахиллесе-3 выполнять. PS. Странно, однако, что PARI/GP проверяет все переменные не сразу, а только в процессе выполнения программы. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Кстати о птичках... Программа работает на одном периоде, но этот период большой - 304250263527210. Это время было ещё до вставки дополнительной проверки - центральной тройки в 19-ке. Так что, сравнение времени с 10 периодами на Ахиллесе-3 будет некорректно. К тому же, как уже говорила, производительность Ахиллеса-3 ниже, чем у черепашки. Поэтому время на Ахиллесе-3 будет больше, чем 1h, 26min, 39,357 ms * 10, то есть больше 14,33 ч. Ждём. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Запустила на черепашке новый тест, на одном периоде (41#). Это уже с добавленной проверкой 19-ки. (07:54) gp > \r formulae_41_19_17_new.gp *** Warning: new maximum stack size = 100000000 (95.367 Mbytes). 12996961026 from number 12996961026 to number [0,6,12,30,42,72,90,96,120,126,132,156,162,180,210,222,240,246,252] patterns length 19 304250263527210 period search in 3954328817213377660517460 (4.0 E24) - 3954328817517627924044670 (4.0 E 24) central 3: [120,126,132] prove by 41#: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41] 159252480 formulae expected С этого же периода начинается проверка на Ахиллесе-3. Только там 10 периодов. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Напомню: первоначальная версия этой программы выводила результаты в таком виде 1277851283665846735667: [1,0,1,0,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1] Помните, как я тестировала эту версию и заворожённо смотрела на эти нули и единички? А потом выяснилось, что 1) эти единички ничего не значат для нужных мне приближений; 2) программа теряет ключевые 17-ки. Смотрите об этом в теме "К штурму 19-ки". gris писал в то же время, когда я тестировала программу я для контроля запустил по вашим следам. Формулы совпадают, но вывод по ним не так радует. На мой вопрос: "Что его не радует?" последовал ответ Не радует то, что наличие простых по краям ни о чём не говорит. Это спагеттина по паттерну. А в ней куча посторонних простых. Сейчас надо определиться с механизмами ввода и вывода информации. А отбор можно изменить по вашему алгоритму. Да, всё правильно. Именно: в спагеттине, полученной по паттерну 19-ки с минимальным диаметром, "куча посторонних простых", и даже не простых! Хорошая мысль "А отбор можно изменить по вашему алгоритму" так и осталась не реализованной. Поэтому мне пришлось самой модифицировать программу. как раз блок проверки кортежа. PS. Вот оно - показанное выше приближение к 19-ке с минимальным диаметром 1277851283665846735667: [1,0,1,0,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1] 1277851283665846735667, 1277851283665846735679, 1277851283665846735709, 1277851283665846735721, 1277851283665846735739, 1277851283665846735757, 1277851283665846735763, 1277851283665846735787, 1277851283665846735793, 1277851283665846735799, 1277851283665846735823, 1277851283665846735829, 1277851283665846735841, 1277851283665846735889, 1277851283665846735919, 15 Здесь всего 15 последовательных простых чисел от первого до последнего элемента (включая и их), которые (элементы) являются простыми числами и дают правильный диаметр кортежа (252). Всего 15, а надо, чтобы их было 19 ! Вот почему плохой компот. Посмотрите ещё раз для сравнения моё приближение к 19-ке с минимальным диамтером {145801749011460565237, *145801749011460565241, *145801749011460565267, *145801749011460565273, *145801749011460565313, *145801749011460565319, *145801749011460565333, *145801749011460565337, 145801749011460565357, 145801749011460565363, 145801749011460565369, 145801749011460565393, 145801749011460565399, *145801749011460565421, *145801749011460565427, *145801749011460565433, *145801749011460565447, *145801749011460565453, 145801749011460565489} Понимаете разницу? Но gris написал А отбор можно изменить по вашему алгоритму. Это меня весьма озадачило. Мой алгоритм проверки кортежей действует и в поиске ключевых 17-ок. Пока ошибок не обнаружено, программа тестируется уже больше месяца. Все найденные приближения к к ключевой 17-ке правильные. Конечно, подводные камни в программе возможны, иногда они проявляются очень не сразу. Посмотрим дальше на результаты. Меня, к примеру, удивляет, что до сих пор не найдена ни одна центральная пятёрка в ключевых 17-ах. Может, так оно и есть (нету пятёрок пока), а может как раз и подводный камень в программе. Однако я тестировала программу и на известных ключевых 17-ах Врублевского, тесты успешно выполнились, ключевые 17-ки программа нашла. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Тест на черепашке завершён (09:32) gp > \r formulae_41_19_17_new.gp *** Warning: new maximum stack size = 100000000 (95.367 Mbytes). 12996961026 from number 12996961026 to number [0,6,12,30,42,72,90,96,120,126,132,156,162,180,210,222,240,246,252] patterns length 19 304250263527210 period search in 3954328817213377660517460 (4.0 E24) - 3954328817517627924044670 (4.0 E 24) central 3: [120,126,132] prove by 41#: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41] 159252480 formulae expected 3954328817477541208351733: [0, 6, 8, 54, 66, 104, 110, 114, 120, 126, 150, 164, 168, 174, 180, 204, 240] time = 2h, 26min, 17,084 ms. Теперь это правильное время обработки одного периода 41#. Здесь проверяются центральные тройки и в ключевых 17-ах и в 19-ах с минимальным диаметром. И нашлась в этом проходе центральная тройка в ключевой 17-ке 3954328817477541208351733: [0, 6, 8, 54, 66, 104, 110, 114, 120, 126, 150, 164,168, 174, 180, 204, 240] Ждём завершения обработки на Ахиллесе-3 10 периодов (точно таких же 41#). Время будет больше, чем 2h, 26min, 17,084 ms *10. А проверено будет 304250263527210 *10 = 3042502635272100 = 3,0425026352721*10^15. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Приближение к ключевой 17-ке с центральной тройкой найдено неплохое, 8 правильных элементов (12:02) gp > \r spg_by_centre.gp [6, 6, 8] 3 3954328817477541208351733: [ 0, 6, 8, 54, 66,104,110,114,120,126,150,164,168,174,180,204,240] [ 0, 0,-16, 18, 0, 20, 20, 0, 0, 0, 0, 8, -6,-30,-36,-30, 0] Сейчас разверну для проверки. Готово! {3954328817477541208351733, 3954328817477541208351739, *3954328817477541208351741, *3954328817477541208351787, 3954328817477541208351799, *3954328817477541208351837, *3954328817477541208351843, 3954328817477541208351847, 3954328817477541208351853, 3954328817477541208351859, 3954328817477541208351883, *3954328817477541208351897, *3954328817477541208351901, *3954328817477541208351907, *3954328817477541208351913, *3954328817477541208351937, 3954328817477541208351973} |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Пока найдены центральные тройки в ключевых 17-ах 3954328813706182630332287: [0, 6, 24, 50, 62, 84, 92, 114, 120, 126, 150, 156, 182, 186, 224, 234, 240] 3954328815892553480546537: [0, 6, 14, 50, 62, 84, 102, 114, 120, 126, 150, 162,164, 174, 176, 206, 240] 3954328817477541208351733: [0, 6, 8, 54, 66, 104, 110, 114, 120, 126, 150, 164,168, 174, 180, 204, 240] 3954328819086333957597547: [0, 16, 60, 70, 72, 76, 102, 114, 120, 126, 150, 154, 160, 192, 196, 204, 240] 3954328819140084393516727: [0, 36, 42, 52, 64, 90, 102, 114, 120, 126, 130, 160, 174, 192, 202, 216, 240] Замечание: центральные кортежи бОльших длин программа не ищет. Если они будут, мы увидим их при анализе решений программой gris. Центральные тройки в 19-ах с минимальным диаметром пока не найдены. В 19-ах тоже не ищутся центральные кортежи бОльших длин, чем тройки. PS. Первое из показанных приближений выше развёрнуто, покажу ещё раз {3954328813706182630332287, 3954328813706182630332293, 3954328813706182630332311, *3954328813706182630332337, *3954328813706182630332349, 3954328813706182630332371, *3954328813706182630332379, 3954328813706182630332401, 3954328813706182630332407, 3954328813706182630332413, 3954328813706182630332437, 3954328813706182630332443, *3954328813706182630332469, *3954328813706182630332473, *3954328813706182630332511, 3954328813706182630332521, 3954328813706182630332527} 11 правильных элементов! |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Черепашка рвётся в бой :) Дала ей новый тест - та же самая программа на периоде 37# (обрабатывается только один период) (12:43) gp > \r formulae_41_19_17_new.gp 12996961026 from number 12996961026 to number [0,6,12,30,42,72,90,96,120,126,132,156,162,180,210,222,240,246,252] patterns length 19 7420738134810 period search in 96447044322277503915060 (9.6 E22) - 96447044329698242049870 (9.6 E22) central 3: [120,126,132] prove by 37#: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37] 6635520 formulae expected Диапазон не стала масштабировать, поэтому он другой (это зависит от периода). Ну, не столь важно; думаю, это сильно на скорость программы не повлияет. Тест завершился (12:43) gp > \r formulae_41_19_17_new.gp 12996961026 from number 12996961026 to number [0,6,12,30,42,72,90,96,120,126,132,156,162,180,210,222,240,246,252] patterns length 19 7420738134810 period search in 96447044322277503915060 (9.6 E22) - 96447044329698242049870 (9.6 E22) central 3: [120,126,132] prove by 37#: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37] 6635520 formulae expected time = 5min, 58,818 ms. Итак, период 7420738134810 (37#) time = 5min, 58,818 ms. период 304250263527210 (41#) time = 2h, 26min, 17,084 ms. На периоде 37# примерно 8,9*10^13 в час на периоде 41# примерно 12*10^13 в час Убыстрение примерно в 1,35. Ну, ещё разница в числах диапазонов проверки должна быть учтена. на периоде 37# search in 96447044322277503915060 (9.6 E22) - 96447044329698242049870 (9.6 E22) на периоде 41# search in 3954328817213377660517460 (4.0 E24) - 3954328817517627924044670 (4.0 E24) И тогда убыстрение будет побольше, чем в 1,35 раз. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Благодаря Ахиллесам черепашка немножко отдыхает. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Цитата Тестирование на 10 периодах на Ахиллесе-3 выскочило с ошибкой Перезапущенный тест ещё работает ? \r formulae_41_19_17_new.gp *** Warning: new maximum stack size = 100000000 (95.367 Mbytes). 12996961026 from number 12996961035 to number [0,6,12,30,42,72,90,96,120,126,132,156,162,180,210,222,240,246,252] patterns length 19 304250263527210 period search in 3954328817213377660517460 (4.0 E24) - 3954328820255880295789560 (4.0 E24) central 3: [120,126,132] prove by 41#: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41] 159252480 formulae expected 3954328819086333957597547: [0, 16, 60, 70, 72, 76, 102, 114, 120, 126, 150, 154, 160, 192, 196, 204, 240] 3954328819140084393516727: [0, 36, 42, 52, 64, 90, 102, 114, 120, 126, 130, 160, 174, 192, 202, 216, 240] Напомню: обрабатываются 10 периодов 304250263527210, поиск 19-ки с минимальным диаметром на периоде 41#. Программу писали вместе с gris. Диапазон поиска search in 3954328817213377660517460 (4.0 E24) - 3954328820255880295789560 (4.0 E24) Программа уже нашла две центральные тройки в ключевой 17-ке. Центральные тройки в ключевой 17-ке (а также и сами ключевые 17-ки) этой программой теряются, но, как видим, не все теряются, некоторые находятся. Очень интересно, какое время покажет Ахиллес-3 на 10 периодах. Черепашка показала на одном периоде следующее время time = 2h, 26min, 17,084 ms. Вот думаю: переходить ли к периоду 43#? При переходе от периода 41# к периоду 43# период увеличится в 43 раза. Заманчиво! Не надо обрабатывать по 10 периодов 41#, можно обрабатывать по одному периоду 43#. Но надо протестировать программу на периоде 43#. Жду, когда на Ахиллесе-3 освободится один поток. Черепашка этот тест не потянет, по времени |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Тест на Ахиллесе-3 завершился ? \r formulae_41_19_17_new.gp *** Warning: new maximum stack size = 100000000 (95.367 Mbytes). 12996961026 from number 12996961035 to number [0,6,12,30,42,72,90,96,120,126,132,156,162,180,210,222,240,246,252] patterns length 19 304250263527210 period search in 3954328817213377660517460 (4.0 E24) - 3954328820255880295789560 (4.0 E24) central 3: [120,126,132] prove by 41#: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41] 159252480 formulae expected 3954328819086333957597547: [0, 16, 60, 70, 72, 76, 102, 114, 120, 126, 150, 154, 160, 192, 196, 204, 240] 3954328819140084393516727: [0, 36, 42, 52, 64, 90, 102, 114, 120, 126, 130, 160, 174, 192, 202, 216, 240] 3954328817477541208351733: [0, 6, 8, 54, 66, 104, 110, 114, 120, 126, 150, 164, 168, 174, 180, 204, 240] time = 31h, 28min, 53,109 ms. Черепашка один период обработала за time = 2h, 26min, 17,084 ms. 10 периодов черепашка обработала бы за 24,34 ч. Как я уже говорила, у Ахиллеса-3 производительность меньше, чем у черепашки. Поэтому такая разница во времени. Найдены три центральные тройки в ключевых 17-ах. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Теперь запущу на Ахиллесе-3 тест, который бвыл объявлен в сообщении https://boinc.progger.info/odlk/forum_thread.php?id=269&postid=13505 Это та же программа только на периоде 43#. В опубликованной программе есть ошибка: не объявлен вектор pat2. Исправила. Масштабировать диапазон не буду. Тест поехал ? \r formulae_43_19_17_new.txt *** Warning: new maximum stack size = 100000000 (95.367 Mbytes). 12996961000 from number 12996961000 to number [0,6,12,30,42,72,90,96,120,126,132,156,162,180,210,222,240,246,252] patterns length 19 13082761331670030 period search in 170036138800023444778830000 (1.7 E26) - 170036138813106206110500030 (1.7 E26) central 3: [120,126,132] prove by 43#: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43] 3822059520 formulae expected Ждём. Проверка в области 27-значных чисел. Проверяется один период: 13082761331670030. Количество формул: 3822059520. Ого! Сколько формул хватается на лету :) Уже миллиарды. Фантастика! Это gris спасибо, он написал "хватать формулы на лету". PS. Ахиллес-3 обработал 10 периодов по 41# за time = 31h, 28min, 53,109 ms. Теперь период 41# увеличился в 43 раза. Посмотрим на время. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Черепашка рвётся в бой :) Запустила ту же самую программу на одном периоде 41#; немного изменила диапазон проверки, ещё добавила в программу (по рекомендации gris) анализ полученных приближений, чтобы не проверять приближения каждый раз отдельной программкой. Тест поехал (06:42) gp > \r formulae_41_19_17_new.gp *** Warning: new maximum stack size = 100000000 (95.367 Mbytes). 22996961036 from number 22996961036 to number [0,6,12,30,42,72,90,96,120,126,132,156,162,180,210,222,240,246,252] patterns length 19 304250263527210 period search in 6996831455527980295789560 (7.0 E24) - 6996831455832230559316770 (7.0 E 24) central 3: [120,126,132] prove by 41#: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41] 159252480 formulae expected |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Черепашка завершила тест (06:42) gp > \r formulae_41_19_17_new.gp *** Warning: new maximum stack size = 100000000 (95.367 Mbytes). 22996961036 from number 22996961036 to number [0,6,12,30,42,72,90,96,120,126,132,156,162,180,210,222,240,246,252] patterns length 19 304250263527210 period search in 6996831455527980295789560 (7.0 E24) - 6996831455832230559316770 (7.0 E 24) central 3: [120,126,132] prove by 41#: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41] 159252480 formulae expected 6996831455533617724762823: [0, 8, 24, 36, 38, 50, 104, 114, 120, 126, 138, 140, 150, 174, 176, 216, 240] 6996831455533617724762823: [0, 2, 0, 0, -28, -34, 14, 0, 0, 0, -12, -16, -24, -3 0, -40, -18, 0] time = 2h, 25min, 57,069 ms. Найдена одна центральная тройка в ключевой 17-ке. Приближение сразу проанализировано, 8 правильных элементов. Всё прекрасно. Продолжим. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Публикую текущую версию программы поиска 19-ки с минимальным диаметром на периоде 41# \\r C:/GRIS/formulae_41_19_17.gp default(parisizemax,10^8) default(timer,1) { \\enter pattern pt=[0, 6, 12, 30, 42, 72, 90, 96, 120, 126, 132, 156, 162, 180, 210, 222, 240, 246, 252]; pt17=[0, 6, 24, 36, 66, 84, 90, 114, 120, 126, 150, 156, 174, 204, 216, 234, 240]; w=41; np1=22996961037; print(np1," from number"); np2=22996961037; print(np2," to number"); central=3; \\ end of data \\periods \\37 7420738134810 \\41 304250263527210 \\43 13082761331670030 \\47 614889782588491410 pl=#pt; nw=primepi(w); printf("%d \n",pt); print("patterns length ",pl); prs=primes(nw); period=vecprod(prs); print(period," period"); vp=vector(np2-np1+1, i, period*(np1-1+i)); lvp=#vp; printf("search in %d (%.1E) - %d (%.1E)\n", vp[1],vp[1],vp[lvp]+period,vp[lvp]+period); cp=vector(central,i,pt[pl\2-central\2+i]); printf("central %d: %d\n", central,cp); printf("prove by %d#: ",prs[nw]);print(prs); vmy=vector(40); pat1=vector(17); pat2=vector(19); lpr=1; wd=vector(nw); for( ip=1,nw, rip=[]; for( r=1,prs[ip]-1, for( i=1,pl, if( (r+pt[i])%prs[ip]==0, next(2))); rip =concat(rip,r) ); lpr=lpr*#rip; wd[ip]=rip; ); \\for ip print(lpr," formulae expected"); k=0; forvec(v=vector(#wd,i,[1,#wd[i]]), k++; form=lift(chinese( vector( #wd,j,Mod( wd[j][v[j]], prs[j]) ) )); \\ начало проверки кортежа foreach(vp,bpp, bpt=form+bpp; if(ispseudoprime(bpt+6) && ispseudoprime(bpt+246), l=0; forprime(p=bpt+6,bpt+246, l++; vmy[l]=p; ); if(l==17, for(m=1,17, pat1[m]=vmy[m]-vmy[1]; ); if(pat1[8]==114 && pat1[9]==120 && pat1[10]==126, print(vmy[1],": ",pat1); print(vmy[1],": ",pat1-pt17); if(pat1==pt17, print(vmy[1],": ",pat1); ););); );\\ if if(ispseudoprime(bpt) && ispseudoprime(bpt+252), l=0; forprime(p=bpt,bpt+252, l++; vmy[l]=p; ); if(l==19, for(m=1,19, pat2[m]=vmy[m]-vmy[1]; ); if(pat2[9]==120 && pat2[10]==126 && pat2[11]==132, print(vmy[1],": ",pat2); print(vmy[1],": ",pat2-pt); if(pat2==pt, print(vmy[1],": ",pat2); ););); );\\ if );\\ foreach \\ конец проверки кортежа );\\ forvec } Господа! Программа очень удобная для перехода к другому периоду, например, 43#. Для этого надо изменить всего одну строку в программе, вот эту w=41; Для периода 43# надо изменить строку на такую w=43; Далее, очень удобно, что легко можно задать количество обрабатываемых периодов. Для этого надо изменить две строки в программе, вот эти np1=22996961037; print(np1," from number"); np2=22996961037; print(np2," to number"); np1 - номер начального периода; np2 - номер конечного периода. Сейчас в программе обрабатывается всего один период. Для обработки, например, трёх периодов вы должны записать строки np1=22996961037; print(np1," from number"); np2=22996961039; print(np2," to number"); Изменяя номер начального периода, вы можете варьировать диапазон поиска (величину чисел в диапазоне). Пожалуйста, подключайтесь к поиску! Рабочая программа перед вами. Остаётся скачать программу gp.exe. Кстати, замечу, что эта программа может работать и в Windows, и в Linux (разумеется, программы будут разные). Это совсем недавно выяснил Стефано. Он работает в Linux, а я всегда работаю только в Windows. Если есть вопросы, спрашивайте, пожалуйста. Мой адрес не изменился. Ещё напомню: эта программа предназначена для конкурсной задачи #3. Нет никакой гарантии, что вы найдёте решение задачи за время конкурса. Задача эта очень сложная. Г. Петухов, к примеру, решает её уже почти год. Решение пока не найдено. |
Send message Joined: 6 Apr 17 Posts: 14339 Credit: 0 RAC: 0 |
Многократно говорила, что для решения этой задачи необходима массовость вычислений. Почему бы г. Петухову не создать проект распределённых вычислений на форуме dxdy.ru? Опыт ведь уже есть - проект г. Лецко и Hugo. Всё прекрасно получалось! Найдены неплохие решения. Тем более что г. Петухов неоднократно хвалился своей супер-пупер программой, ускоренной по отношению к программе на PARI/GP в 1000-1200 раз. Ядряра писал в сообщении https://dxdy.ru/post1627038.html#p1627038 Dmitriy40, просто хочется как-то Вам помочь. Как я понял, Вы с апреля считаете в 1-2 потока и уже очень трудно дать заднюю, а вдруг 19-ка где-то совсем рядом. С другой стороны, оргвопросами с подключением других компов Вы заниматься не хотите и мне это понятно, программировать интереснее чем агитировать. Г. Петухов ответил на это Подключение других компов ... А у кого есть много (с десяток) свободных потоков с AVX?! Помнится почти ни у кого здесь. А Демиса я сагитировал, он с начала декабря помогает. https://dxdy.ru/post1627045.html#p1627045 Да откуда можно знать, какие у кого есть компьютеры?! На форуме уйма народа. Demis уже считает. Не исключено, что и ещё кто-то подключится. Я вот не уверена, считала ли в проекте Hugo на Ахиллесе-3 или на другом Ахиллесе, который у меня давно забрали. Поэтому не знаю, есть ли у меня на Ахиллесе-3 AVX. Если есть, я могу подключиться (это 17 потоков) Вы заниматься не хотите и мне это понятно, программировать интереснее чем агитировать. А чего агитировать? Открыл тему, выложил программу с инструкцией для пользования - вот и все дела. Помнится, г. Лецко в своём проекте распределённых вычислений агитацией не занимался. Я открывала проекты с распределёнными вычислениями минимум раз десять, начиная с этого проекта на форуме dxdy.ru (это кортежи, февраль 2015 г., ровно 9 лет назад) https://dxdy.ru/topic93581.html Кстати, в этом проекте г. Петухов участвовал, а также участвовал его лучший друг Бегемот (Begemot82 - Василий Данилов). Тогда, на заре проекта, всё было гораздо проще: числа небольшие, программы несложные. Ну, так ведь 9 лет прошло. Да, теперь в разы сложнее! Именно поэтому и вычислительных ресурсов надо в разы больше. |
©2024 (C) Progger