2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1 ... 31, 32, 33, 34, 35, 36, 37 ... 47  След.
 
 Re: Модифицировать программу (практическая помощь)
Сообщение07.08.2015, 16:04 
Заслуженный участник


20/08/14
11636
Россия, Москва
DanilovV в сообщении #1043190 писал(а):
Dmitriy40 в сообщении #1043149 писал(а):
Интересно как её проверить на простоту всех 19-ти чисел?
У числа есть короткая форма записи?
Думаю что нет. Можно конечно привести список остатков на 2700 (остальные более 8000шт несущественны) простых чисел, но это будет длиннее (пробовал).
Можно привести список коэффициентов при праймориалах, хм, а это идея, спасибо за наводку.
Перекомпилил программу, перезапустил и вот то же самое число в короткой форме:
Код:
1 + 3# + 4#*6 + 5#*3 + 6# + 7# + 8#*3 + 9#*2 + 10#*4 + 12# + 13# + 14# + 22#*2 + 24# + 25# + 35#*2 + 38# + 55# + 73# + 122# + 129# + 215# + 234#*2 + 1036# + 1183# + 2694#
Запись "n#" как обычно означает произведение первых n простых чисел (первым считается разумеется 2).

DanilovV в сообщении #1043190 писал(а):
"Давай подробности!" (c)
Всё просто, для каждого простого числа считается предыдущий праймориал, потом в цикле он домножается на коэффициент пока остаток от деления накопленной суммы на текущее простое число не станет допустимым (для всего паттерна). Цикл по первым простым числам. Всё.
В конце проверка начального числа (остальные 18 тут вообще не проверяются) на делимость на остальные простые числа до миллиона. Остальные 18 не делятся по крайней мере на первые 10000 простых чисел, это обеспечено основным циклом, проверяющим вычеты всех чисел паттерна.

 Профиль  
                  
 
 Re: Модифицировать программу (практическая помощь)
Сообщение07.08.2015, 16:40 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
Progger в сообщении #1043267 писал(а):
Я дошёл до 7747200000000000.

Сейчас проверила работу программы whitefox, о которой рассказано чуть выше.
Ввела стартовую точку, на которой Progger остановился.
Программа исправно работает. Показываю окно программы:

Изображение

Генерация простых чисел в интервале длиной 2 млрд - 2-3 секунды, а вот проверка подходящих наборов из 25 последовательных простых в этом интервале уже долго - порядка минуты. Такая закавычка, увы.

Если выбросить из программы проверку построения квадрата, а ввести поиск наборов по заданным паттернам.
Наверное, это будет в разы быстрее.

 Профиль  
                  
 
 Re: Модифицировать программу (практическая помощь)
Сообщение07.08.2015, 16:52 
Заслуженный участник


20/08/14
11636
Россия, Москва
Nataly-Mak в сообщении #1043299 писал(а):
Если выбросить из программы проверку построения квадрата, а ввести поиск наборов по заданным паттернам.
Наверное, это будет в разы быстрее.
Ну разумеется будет. Скорость станет почти как у последней программы whitefox поиска КПППЧ, т.е. те самые
Nataly-Mak в сообщении #1043299 писал(а):
в интервале длиной 2 млрд - 2-3 секунды
потому что что разности проверять (для КПППЧ), что соответствие одному паттерну - примерно одно и то же в смысле затрат времени, особенно по сравнению с генераций простых.

Но для поиска паттернов, образующих КПППЧ длины от 17 и выше, предлагаемая модификация смысла не имеет, как я уже говорил - она уже и так фактически реализована, в виде того самого поиска всех возможных КПППЧ, с любыми паттернами. Разве что для поиска паттернов квадратов Стенли, не образующих КПППЧ (и не трансформируемых к ним же) ...

 Профиль  
                  
 
 Re: Модифицировать программу (практическая помощь)
Сообщение07.08.2015, 17:01 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
Dmitriy40 в сообщении #1043300 писал(а):
Но для поиска паттернов, образующих КПППЧ длины от 17 и выше, предлагаемая модификация смысла не имеет, как я уже говорил - она уже и так фактически реализована, в виде того самого поиска всех возможных КПППЧ, с любыми паттернами.

Ещё раз: в моём сообщении, которое вы и процитировали же (!) речь идёт о поиске квадратов Стенли 5-го порядка.
Причём тут КПППЧ ??????? :shock:

Для квадратов Стенли 5-го порядка не нужны КПППЧ!!! Это вам понятно???
И не надо тут сто раз повторять, что вы уже говорили. Тут все люди с памятью вроде как и прекрасно знают, что вы тут уже говорили. Не замусоривайте тему, пожалуйста.

Цитата:
Разве что для поиска паттернов квадратов Стенли, не образующих КПППЧ (и не трансформируемых к ним же) ...

Нет! Не для поиска паттернов!
Потенциальные паттерны для квадратов Стенли 5-го порядка из последовательных простых чисел я ищу в другой программе и выкладываю здесь.
А предлагаемая модификация программы нужна для поиска реальных кортежей по заданным потенциальным паттернам.

Читайте внимательно тему, если уж вы даёте комментарии.

-- Пт авг 07, 2015 18:17:34 --

Вот новый потенциальный паттерн для квадрата Стенли 5-го порядка со своим квадратом Стенли:

#20

Код:
0  10  24  34  48
60  70  84  94  108
66  76  90  100  114
120  130  144  154  168
126  136  150  160  174

0  10  24  34  48  60  66  70  76  84  90  94  100  108  114  120  126  130  136  144  150  154  160  168  174

Программа пока работает, может, ещё найдёт паттерны. Попробую увеличить диаметр паттерна.

 Профиль  
                  
 
 Re: Модифицировать программу (практическая помощь)
Сообщение07.08.2015, 17:52 
Заслуженный участник


20/08/14
11636
Россия, Москва
Dmitriy40 в сообщении #1043300 писал(а):
Разве что для поиска паттернов квадратов Стенли, не образующих КПППЧ (и не трансформируемых к ним же) ...
Разумеется это фраза не о нахождении самого паттерна, а о его реальном вхождении на числовой оси, конкретных цифрах (а не лишь разностях), реального кортежа. Уж это по моему как раз понятно из контекста.

PS. И определитесь с формулировками, кортеж (tuple) по определению упорядоченное конечное множество элементов, и ему вполне отвечает например и (0, 6, 12) (КПППЧ длины 3). Таким образом любой паттерн тоже является реальным кортежем. Что создаёт путаницу в ваших словах. Впрочем в моих тоже. :-(
PPS. Даже уточню, кортежами являются и (5,7,11,13), и (11,13,17,19), и (5,0,2,6,8), и (11,0,2,6,8), и (5,0,2,4,2), и (0,2,4,2), и (0,2,6,8). Первые 4 формы вы называете КПППЧ длины 4 (только без скобок, а некоторые формы и с двоеточием), а последнюю логично обозначать термином "паттерн". Что называете кортежем вы уточните пожалуйста. А лучше бы введите новое обозначение раз оно не совпадает со стандартным понятием кортежа.

 Профиль  
                  
 
 Re: Модифицировать программу (практическая помощь)
Сообщение07.08.2015, 18:50 


10/07/15
286
Dmitriy40 в сообщении #1043293 писал(а):
пока остаток от деления накопленной суммы на текущее простое число не станет допустимым
Означает ли это, что все 19 чисел не делятся на текущее простое?

 Профиль  
                  
 
 Re: Модифицировать программу (практическая помощь)
Сообщение07.08.2015, 19:26 
Заслуженный участник


20/08/14
11636
Россия, Москва
Begemot82 в сообщении #1043318 писал(а):
Означает ли это, что все 19 чисел не делятся на текущее простое?
Да, именно.

 Профиль  
                  
 
 Re: Модифицировать программу (практическая помощь)
Сообщение07.08.2015, 19:41 


10/07/15
286
Dmitriy40
Непонятно, зачем брать такие большие простые? Чтобы потом решать проблему: как проверить является число простым или нет. Искусство ради искусства?

 Профиль  
                  
 
 Re: Модифицировать программу (практическая помощь)
Сообщение07.08.2015, 20:21 
Заслуженный участник


20/08/14
11636
Россия, Москва
Begemot82
Выше было предложение построить хоть какую-нибудь новую КПППЧ, хоть из миллионов цифр. Там же выше было сказано что постройте хоть что-нибудь, а уж как проверить будем думать. Это и есть такая попытка построить, по заданному паттерну. И один из полученных возможных результатов. Построил. Уж как получилось. Обошлось даже меньше миллионов цифр, всего 10479. Теперь интересно как проверить ...

Так как на каждое простое число получается больше одного допустимого остатка (вычета) всего паттерна, то встаёт вопрос выбора из них. Можно без всякого цикла выбрать просто один любой. Я добавил цикл чтобы выбирался такой остаток, который в результате даст минимальное число. Надеялся что числа будут разумных размеров. Надежда не оправдалась. :-(

Если же не выбирать один из допустимых, а проверять все - это сразу полный перебор, такая программа уже была и именно ей был выполнен перебор всех вероятных вхождений КПППЧ длиной 26 одного единственного паттерна в диапазоне 0-9е18. Но такой перебор очень медленный (хотя и в тысячи раз быстрее primesieve). К тому же КПППЧ нечётной длины дают много допустимых остатков даже на малые простые, потому возможных вхождений паттерна в каждом интервале получается в сотни раз больше, что в те же сотни раз замедляет полный перебор. А искать КПППЧ большой длины, которые дают меньше допустимых остатков на малые простые, невыгодно т.к. они скорее всего очень уж далеко и добраться туда полным перебором снова становится нереально.
Пример: ту самую КПППЧ длиной 19 и диаметром 252 могу проверить в интервале 0-9е18 примерно за 12 суток. Но ведь 99% что её в этом интервале нет, она сильно дальше, порядка на два-три. Но даже 1200 суток это уже больше трёх лет счёта ... Вот такой вот он, полный перебор.

 Профиль  
                  
 
 Re: Модифицировать программу (практическая помощь)
Сообщение07.08.2015, 20:41 


10/07/15
286
Dmitriy40
Спасибо за разъяснения. Пока получается реально искать минимальный диаметр для КПППЧ 15, затем любую КПППЧ 17 ( с очень малыми шансами в районе 2е16-е17). Для остальных целей остается надеяться на случай, да чтоб еще очень крупно повезло.

 Профиль  
                  
 
 Re: Модифицировать программу (практическая помощь)
Сообщение07.08.2015, 22:11 
Заслуженный участник


20/08/14
11636
Россия, Москва
Begemot82 в сообщении #1043343 писал(а):
Пока получается реально искать минимальный диаметр для КПППЧ 15
Тоже не особо быстро, их паттерны встречаются примерно вшестеро чаще 19-ек, плюс приходится проверять с меньшим шагом (иначе памяти 2ГБ не хватает, надо 8ГБ каждому потоку), так что скорость поиска раз в 10 меньше, т.е. у меня порядка четырёх месяцев до 9е18. Даже не так, замерил реальную, более семи месяцев. Грустно.

Напомню для информации, если кто захочет их поискать.
На КПППЧ длиной 15 и диаметром 180 проверено лишь до 7е15. И последние версии программы whitefox их не ищут вообще, надо искать старую версию (которая я к сожалению не помню уже использует ли primesieve и какую скорость выдаёт).

 Профиль  
                  
 
 Re: Модифицировать программу (практическая помощь)
Сообщение07.08.2015, 22:39 


10/07/15
286
Dmitriy40 в сообщении #1043357 писал(а):
их паттерны встречаются примерно вшестеро чаще 19-ек
С минимальным диаметром 180 паттерн вроде один. Память 8 Гб найду. Попобовать что ли?

 Профиль  
                  
 
 Re: Модифицировать программу (практическая помощь)
Сообщение07.08.2015, 23:09 
Заслуженный участник


20/08/14
11636
Россия, Москва
Begemot82
Паттерн один (напомню его: 0 6 24 30 54 66 84 90 96 114 126 150 156 174 180). Но уже в любом интервале длиной 2#=6 чисел паттерн может встретиться два раза (один возможный остаток на 2 и два возможных остатка на 3). В интервале 7#=510510 уже 128 вероятных вхождений. И т.д.
Для интервала 13# (3e14) будет почти 900 млн вероятных вхождений, что потребует 7.2ГБ памяти для их хранения. На каждый поток.
Я ограничился 12# (7.42e12) с 34.6 млн вероятных вхождений, на что достаточно 270МБ памяти на поток.
Можно наверное и по другому программу написать, с меньшей требуемой памятью, пока раздумываю над этим.
Попробуйте.

 Профиль  
                  
 
 Re: Модифицировать программу (практическая помощь)
Сообщение08.08.2015, 00:23 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
Dmitriy40 в сообщении #1043357 писал(а):
Begemot82 в сообщении #1043343 писал(а):
Пока получается реально искать минимальный диаметр для КПППЧ 15
Тоже не особо быстро, их паттерны встречаются примерно вшестеро чаще 19-ек, плюс приходится проверять с меньшим шагом (иначе памяти 2ГБ не хватает, надо 8ГБ каждому потоку), так что скорость поиска раз в 10 меньше, т.е. у меня порядка четырёх месяцев до 9е18. Даже не так, замерил реальную, более семи месяцев. Грустно.

Dmitriy40
какой-то махровый и бредовый пессимизм :evil:
Jens K Andersen нашёл КПППЧ длины 16 по заданному Jarek паттерну очень быстро. Сначала он написал, что по его оценкам программа будет искать этот кортеж примерно месяц. Месяц!!! Всего! Но нашёл он кортеж значительно быстрее этой первоначальной оценки.

Цитата:
Напомню для информации, если кто захочет их поискать.
На КПППЧ длиной 15 и диаметром 180 проверено лишь до 7е15. И последние версии программы whitefox их не ищут вообще, надо искать старую версию (которая я к сожалению не помню уже использует ли primesieve и какую скорость выдаёт).

А вот если не помните, то и нечего информировать! :evil:
Версия, которая искала 15-ки, у меня сохранилась. Генератор primesieve в этой версии задействован.
Только в этой версии whitefox допустил маленькую ошибку: все значения в паттерне выводяться удвоенными. Надо эти значения просто поделить на 2, чтобы получить правильный результат.
Выкладываю эту версию:
http://natalimak1.narod.ru/assocprimenewC.rar

В папке есть файл start.txt с текущей стартовой точкой и ещё файл с 15-кой.
Это я прямо сейчас протестировала программу. Тестировала по решению, записанному в OEIS:
Код:
3945769040698829: 0 12 18 42 102 138 180 210 240 282 318 378 402 408 420

(см. A175309 )
Ввожу в программу стартовую точку 3945769040000000, программа через 2-3 секунды выдаёт 15-ку:
Код:
3945769040698829: 0 24 36 84 204 276 360 420 480 564 636 756 804 816 840

Обратите внимание: начальное число КПППЧ правильное, а все элементы паттерна удвоены.
Показываю окно программы:

Изображение

Begemot82
если есть желание поискать 15-ки, можете воспользоваться этой программой whitefox.

Кстати, заодно и протестировала поиск КПППЧ нечётной длины.

-- Сб авг 08, 2015 01:45:41 --

Dmitriy40 в сообщении #1043306 писал(а):
Dmitriy40 в сообщении #1043300 писал(а):
Разве что для поиска паттернов квадратов Стенли, не образующих КПППЧ (и не трансформируемых к ним же) ...
Разумеется это фраза не о нахождении самого паттерна, а о его реальном вхождении на числовой оси, конкретных цифрах (а не лишь разностях), реального кортежа. Уж это по моему как раз понятно из контекста.

PS. И определитесь с формулировками, кортеж (tuple) по определению упорядоченное конечное множество элементов, и ему вполне отвечает например и (0, 6, 12) (КПППЧ длины 3). Таким образом любой паттерн тоже является реальным кортежем. Что создаёт путаницу в ваших словах. Впрочем в моих тоже. :-(
PPS. Даже уточню, кортежами являются и (5,7,11,13), и (11,13,17,19), и (5,0,2,6,8), и (11,0,2,6,8), и (5,0,2,4,2), и (0,2,4,2), и (0,2,6,8). Первые 4 формы вы называете КПППЧ длины 4 (только без скобок, а некоторые формы и с двоеточием), а последнюю логично обозначать термином "паттерн". Что называете кортежем вы уточните пожалуйста. А лучше бы введите новое обозначение раз оно не совпадает со стандартным понятием кортежа.

Dmitriy40
я передаю вам руководство в этой теме.
Мне надоели ваши нравоучения, ваше постоянное выпячивание своей гениальной персоны и беспредельное хвастовство. Мне уже тошно читать тему.
Рулите :mrgreen:

Далее, как автор и руководитель проекта я снимаю вас с проекта. Можете не сообщать о ваших результатах, о проверяемых вами интервалах и пр. В этой теме, разумеется, буду просматривать сообщения других участников. Но только не ваши!
Теперь уже точно абсолютное игнорирование. Когда я вела тему, такое игнорирование было не совсем уместно. Мне необходимо было видеть сообщения всех участников темы. Теперь я ухожу из темы. Автором теперь будете вы :mrgreen:

Других участников проекта прошу сообщать о полученных результатах в теме
topic93581.html
или в ЛС.

-- Сб авг 08, 2015 02:23:10 --

Dmitriy40 в сообщении #1043306 писал(а):
PS. И определитесь с формулировками, кортеж (tuple) по определению упорядоченное конечное множество элементов, и ему вполне отвечает например и (0, 6, 12) (КПППЧ длины 3).

Вот это (0, 6, 12) - не КПППЧ длины 3 :facepalm:
потому что КПППЧ по определению - Комплементарные Пары Последовательных Простых Чисел.
Где вы видите здесь (0, 6, 12) последовательные простые числа? :shock:

Бред, сплошной бред...

 Профиль  
                  
 
 Re: Модифицировать программу (практическая помощь)
Сообщение08.08.2015, 02:31 
Заслуженный участник


20/08/14
11636
Россия, Москва
Nataly-Mak в сообщении #1043382 писал(а):
Dmitriy40 в сообщении #1043306 писал(а):
(0, 6, 12) (КПППЧ длины 3).
Вот это (0, 6, 12) - не КПППЧ длины 3 :facepalm:
потому что КПППЧ по определению - Комплементарные Пары Последовательных Простых Чисел.
Где вы видите здесь (0, 6, 12) последовательные простые числа? :shock:

Бред, сплошной бред...
Ну да, это не сама именно КПППЧ, а её паттерн. Вот и сама, раз уж вам так хочется и непонятно:
Код:
847097: 0 6 12
Потому и прошу определиться с терминами, что без этого создаётся путаница.

Nataly-Mak в сообщении #1043382 писал(а):
какой-то махровый и бредовый пессимизм :evil:
Умеете быстрее? Ну так ищите быстрее!! Чего ко мне пристали?! Это вообще не вам были слова. Я вот умею, ищу, и информирую о реальной скорости поиска, если кому интересно.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 695 ]  На страницу Пред.  1 ... 31, 32, 33, 34, 35, 36, 37 ... 47  След.

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



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

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


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

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