2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1 ... 5, 6, 7, 8, 9, 10, 11 ... 215  След.
 
 Re: Пентадекатлон мечты
Сообщение02.03.2022, 17:20 
Аватара пользователя


29/04/13
8066
Богородский
Dmitriy40 в сообщении #1549768 писал(а):
Обнаружил цепочку с 14-ю из 15-ти чисел:
176394399749303520412335701680709124287641: 12, 12, 12, 96, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, valids=14

Так это, видимо, мировой рекорд. Поздравляю.

Dmitriy40 в сообщении #1549768 писал(а):
Переделал (всего за час): https://dropmefiles.com/p8JYV

Всё равно не работает. А может и работает, только непонятно где. Окно появляется на сотые доли секунды и тут же исчезает.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение02.03.2022, 17:31 
Заслуженный участник


20/08/14
11709
Россия, Москва
Yadryara в сообщении #1549771 писал(а):
Всё равно не работает. А может и работает, только непонятно где. Окно появляется на сотые доли секунды и тут же исчезает.
Так запускайте из окна консоли (командная строка). Или из запущенного PARI.
Вот например выдача при запуске в консоли:
Используется синтаксис Text
T:\>Yadryara.exe 1000000000000000 1000000
[0x38D7EA4C6B319,0x38D7EA4C7198B,0x38D7EA4C74265,0x38D7EA4C9F399,0x38D7EA4CA4E83,0x38D7EA4CA5B5B,0x38D7EA4CA6191,0x38D7EA4CB9C6D,0x38D7EA4CCD245,0x38D7EA4CF5B47,0x38D7EA4D014E7,0x38D7EA4D0AF49,0x38D7EA4D56735]

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение02.03.2022, 18:03 
Аватара пользователя


29/04/13
8066
Богородский
Из окна консоли запускается, появляется левая квадратная скобка, после чего "Прекращена работа программы".

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение02.03.2022, 18:28 
Заслуженный участник


20/08/14
11709
Россия, Москва
Yadryara
Скажите свой процессор? Неужели он и SSE4.1 не поддерживает?!

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение02.03.2022, 18:55 
Аватара пользователя


29/04/13
8066
Богородский
В свойствах написано:

AMD Sempron(tm) 145 Processor 2.80 GHz

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение02.03.2022, 19:59 
Заслуженный участник


20/08/14
11709
Россия, Москва
Мда, в нём только SSE3. Буду думать во что обойдётся отказ от SSE4.1.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение02.03.2022, 22:43 
Заслуженный участник


20/08/14
11709
Россия, Москва
Yadryara
Пробуйте: https://dropmefiles.com/znGhI
Вроде должно работать, убрал всё что выше SSE3, мне проверить не на чем. Скорость даже чуточку увеличилась, на 1с (из 118с) — попутно оказалось я выполнял кое-что лишнее в основном цикле.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение02.03.2022, 22:52 
Заслуженный участник


27/06/08
4062
Волгоград
Dmitriy40 в сообщении #1549768 писал(а):
Обнаружил цепочку с 14-ю из 15-ти чисел:
176394399749303520412335701680709124287641: 12, 12, 12, 96, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, valids=14
Цель близка!

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение03.03.2022, 01:00 
Аватара пользователя


29/04/13
8066
Богородский
Dmitriy40, да заработало, но в точности слова кота Матроскина нынче употреблять воздержусь.

Что дальше делать посоветуете?

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение03.03.2022, 01:35 
Заслуженный участник


20/08/14
11709
Россия, Москва
Yadryara в сообщении #1549799 писал(а):
Что дальше делать посоветуете?
Тут Вам решать, я ж не знаю что Вы собирались с этой программой делать. Можно запустить и пусть считает, сутками и неделями (я ведь запускал максимум на несколько часов), можно поискать другой более выгодный паттерн и сделать программу под него, можно на этой понабирать статистики в разных диапазонах или с разным шагом (кратным базовому), можно ещё чего нибудь ...

VAL
Хотелось бы понять работает ли у Вас программа, та что под x64, из облака.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение03.03.2022, 01:41 
Аватара пользователя


29/04/13
8066
Богородский
Dmitriy40 в сообщении #1549800 писал(а):
Можно запустить и пусть считает,

У меня пока запускалась одна ехешная программа, а надо ведь запустить ещё и gp-шную.

Пожалуйста, напишите прямо здесь, текстом, более понятную инструкцию, как они взаимодействуют, как запускать именно эту пару программ именно из PARI.

Чтобы результаты можно было в файле хранить, а не только на экране.

-- 03.03.2022, 02:08 --

Вот, например, такая выдача:
Код:
Yadryara.exe 1000000000000000 20000
[0x38D7EA4C6B319]


То есть найдено число $1000000000013081$, которое не делится на простые не больше чем $256$ ? Или другое ограничение нынче?

Хотя на $31$ это число делится.

Дальше-то что делать?

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение03.03.2022, 03:02 
Заслуженный участник


20/08/14
11709
Россия, Москва
Yadryara
Ну я же специально прикладывал .gp файл с PARI программой, где ясно видно что и как надо делать чтобы использовать прилагаемый .exe. И выдаёт она не найденное число, а найденный индекс блока (шага, модуля) — на что надо домножить шаг/модуль и добавить начальное число чтобы получить искомое число.
Скачиваете и .exe и .gp, кладёте их в одну папку, заходите туда из консоли (команда в консоли cd /d путь_к_папке), набираете gp32.exe -q Yadryara.gp и получаете в консоли тот вывод что я уже показывал и даже записал в конец .gp файла:
Код:
T:\>gp32 -q Yadryara.gp
Mod(438957010505237256671215545, 440538835723387181869888800)
1710000000000000000000000000000000000000 - start
1730000000000000000000000000000000000000 - stop
1712084152981999171831531924917603912345: 12, 12,  6, 12, 12, 24, 12, 12, 12, 24, 12, 12, 12, 12, 24,  len=11
1718475518460662821245608915647563585945: 12, 12, 24, 48, 24, 12, 12, 12, 12, 24, 12, 12, 12, 12, 48,  len=10
1723647561535737193966646941181694393945: 12, 12, 24, 12, 12, 24, 12, 12, 48, 24, 12, 12, 12, 12, 24,  len=10
1728525439430677205335450306830937157145: 12, 12, 24,192, 12, 96, 12, 12, 12, 48, 12, 12, 12, 12, 12,  len=11
N=472842, 117.779s / 17.206s in PARI
После чего смотрите что я написал в этом .gp файле, правите его под свои нужды и снова запускаете из консоли.
Если хотите его запускать из уже работающего PARI, то удалите из .gp файла команду quit и всё после неё.
Вот вам .gp файл ещё раз:
Код:
start=17100*10^35;\\Откуда начать счёт
stop=start+200*10^35;\\Где остановиться, можно указать много-много (но до 8.1265*10^45) и будет считать годами

\\   n+0   n+1   n+2   n+3   n+4   n+5   n+6   n+7   n+8   n+9   n+10   n+11   n+12   n+13   n+14
v=[   45,   722,   841,   12,   49,   50,   507,   32,   961,   18,   605,   28,   867,   1058,   1369   ];
pp=Mod(0,1); for(i=1,#v, pp=chinese(pp,Mod(-i+1,v[i]))); print(pp);\\Печать чисто для информации
print(start," - start");\\Тоже для информации
print(stop," - stop ");\\Тоже
t0=getwalltime(); gettime(); q=0;\\А это лишь для статистики скорости/времени работы и количества выданных в PARI индексов на дальнейшую проверку

{forstep(ii=floor(start/pp.mod),ceil(stop/pp.mod),10^8,\\Цикл по всему нужному диапазону с большим шагом (внутри которого перебирать будет внешняя прога)
   printf("%0.2fe35%c",(lift(pp)+pp.mod*ii)/1e35,13);\\Вывод прогресса, можно убрать
   vi=extern(Strexpand("Yadryara.exe ",ii," ",10^8)); q+=#vi;\\Вызов с передачей параметров в виде начального значения индекса и сколько индексов перебрать
   if(#vi>0, foreach(vi,t,\\Если хоть что-то найдено, то цикл проверки всего что нашлось
      n=lift(pp)+pp.mod*t;\\Пересчитать индекс в число начала цепочки
      if(\\Перепроверка цепочки
         !ispseudoprime((n+0)/v[1]) || !ispseudoprime((n+1)/v[2]) ||
      \\!   !ispseudoprime((n+3)/v[4]) || !ispseudoprime((n+5)/v[6]) ||
         !ispseudoprime((n+6)/v[7]) || !ispseudoprime((n+7)/v[8]) ||
      \\!   !ispseudoprime((n+9)/v[10]) ||
         !ispseudoprime((n+10)/v[11]) || !ispseudoprime((n+11)/v[12]) ||
         !ispseudoprime((n+12)/v[13]) || !ispseudoprime((n+13)/v[14]) ||
         0 \\Добавлено исключительно для удобства комментирования строк выше, никакой роли при работе не играет
      ,
         next;\\Цепочка не подходит, пропустим и переход к проверке следующей
      );
      s=vector(15,d,numdiv(n+d-1)); k=#select(x->(x==12),s);\\Точный подсчёт количества делителей и сколько из них равны 12
      if(k>=1, printf("%d:",n); foreach(s,d, printf("%3d,",d)); print("  len=",k); );\\Если их достаточно много (я себе ставлю порог 10-11), то вывести найденное
      if(k==15, print("FOUND!!!"));\\Оптимистично
   ));
)}
printf("N=%d, %0.3fs / %0.3fs in PARI\t\t\t\n",q,(getwalltime()-t0)/1e3,gettime()/1e3);\\Вывод статистики работы
quit;
Что в нём непонятно то? В нём немало лишнего, но вроде ничего сложного или сверх хитрого нет. Добавил кучку комментариев. С ними работу не проверял, писал по живому прямо на форуме. ;-)
При записи вывода в файл стоит убрать вывод прогресса командой printf сразу после начала цикла.

Текущая версия программы находит индекс, при котором все 11 чисел в паттерне точно не делятся на простые до 3584 (причины такого выбора уже объяснял). Остальные 4 числа в паттерне не делятся на простые до 40.
Например найденный Вами 0x38D7EA4C6B319=1000000000013081 означает что число начала цепочки равно $438957010505237256671215545 + 440538835723387181869888800 \times 1000000000013081=$$440538835729150309336996932963296686608345$ и её надо проверить подробнее на делители. Те два числа для вычисления сидят в pp=Mod(438957010505237256671215545, 440538835723387181869888800), которое тоже выводится в консоль при старте .gp файла и получается прямо из паттерна в массиве v[].

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение03.03.2022, 07:22 
Аватара пользователя


29/04/13
8066
Богородский
Dmitriy40, Спасибо, вот теперь дело пошло лучше.

Dmitriy40 в сообщении #1549802 писал(а):
И выдаёт она не найденное число, а найденный индекс блока (шага, модуля)

Индекс — хорошee слово. У меня в проге был ind.

Dmitriy40 в сообщении #1549802 писал(а):
Скачиваете и .exe и .gp, кладёте их в одну папку, заходите туда из консоли (команда в консоли cd /d путь_к_папке), набираете gp32.exe -q Yadryara.gp и получаете в консоли тот вывод что я уже показывал и даже записал в конец .gp файла:

Не просто в одну папку надо класть, а именно в ту, где стоит PARI. Да и gp.exe вместо gp32.exe.

Когда я догадался всё это проделать, вывод на экран таки заработал и был таким, как Вы сказали. Проигрыш по времени почти двукратный, большое время около 230s, малое — 26s. Но я думал, что будет хуже.

Dmitriy40 в сообщении #1549802 писал(а):
После чего смотрите что я написал в этом .gp файле, правите его под свои нужды и снова запускаете из консоли.

Да, уже поэкспериментировал. Теперь тот же вопрос к Вам. Какой диапазон для этого паттерна уже проверен и какие находки обнаружены? Вроде бы 13-ку Вам не удалось найти...

Пока не получается добиться записи в файл, но я ещё не все варианты перепробовал.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение03.03.2022, 11:38 
Заслуженный участник


27/06/08
4062
Волгоград
Dmitriy40 в сообщении #1549800 писал(а):
VAL
Хотелось бы понять работает ли у Вас программа, та что под x64
, из облака.
Не пытался запустить. Не до того было.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение03.03.2022, 13:13 
Заслуженный участник


20/08/14
11709
Россия, Москва
Yadryara в сообщении #1549805 писал(а):
Теперь тот же вопрос к Вам. Какой диапазон для этого паттерна уже проверен и какие находки обнаружены?
Ну, проверен очевидно диапазон с нуля до указанного в .gp файле (17e38), иначе как бы нашёл этот кусочек с 4-мя цепочками. С большой вероятностью он проверен до 20e38. Дальше — не помню, не обратил внимания, я надолго не запускал, лишь убедиться что работает и найти более-менее "красивый" не слишком большой кусочек (на пару минут счёта) диапазона для примера. Ну так Вам его весь перепроверить хватит нескольких часов.
Впрочем сейчас ещё раз запустил с нуля на несколько часов, посмотрим что интересного найдёт. Первая находка:
42179144918437100779636207822612944345: 12, 12, 24, 24, 12, 12, 12, 12, 12, 24, 12, 12, 12, 12, 96, len=11

Yadryara в сообщении #1549805 писал(а):
Не просто в одну папку надо класть, а именно в ту, где стоит PARI. Да и gp.exe вместо gp32.exe.
Не совсем: у меня gp32.exe и gp64.exe лежат в папке доступной по пути (переменная окружения path), потому могу их запускать из любого места. И переименовал их специально как себе удобнее. Даже мой .exe не обязательно класть в папку где .gp, можно вместо этого указать в самом .gp полный (или относительный) путь к моему .exe (только кажется с прямым слешем вместо обратного), но мне это неудобно из-за кучи разных вариантов и удобнее когда каждая версия вместе в одной папке. Или можно мой .exe положить в папку доступную по пути (переменная окружения path) и тогда можно будет вызывать откуда угодно. Вариантов много и к PARI отношения не имеет, это область ответственности ОС (винды).

Yadryara в сообщении #1549805 писал(а):
Пока не получается добиться записи в файл, но я ещё не все варианты перепробовал.
Можно включить запись лога командой \l. Можно заменить в нужных местах (например статистику оставить на экран) printf на write/write1 с указанием в какой файл писать. Можно запускать из консоли с перенаправлением вывода в файл >file. Все эти варианты прекрасно работают. Может и ещё какой есть ...

VAL
Вполне понимаю, без претензий. Сам почти неделю не могу собрать мысли в кучку хоть на полдня и переписать программу ради 3х кратного ускорения хотя чётко представляю что и как надо сделать, странно ещё что под x32 так легко получилось переделать (просто пары часов хватило и поправить и протестировать, на столько отвлечься иногда ещё получается).

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3218 ]  На страницу Пред.  1 ... 5, 6, 7, 8, 9, 10, 11 ... 215  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group