Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
Нарисовал картинку. Слева направо сверху вниз - простые числа обозначенные черными точками. Интервалы в 60 по оси Х обозначены чередующимися бело-жёлтыми полосами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2015, 21:24 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
База данных простых чисел http://habrahabr.ru/post/246789/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2015, 22:24 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
Это не первая статья на Хабре про prime generation. К сожалению авторы не продвинулись дальше генерации решета в оперативке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2015, 23:02 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
maytonК сожалению авторы не продвинулись дальше генерации решета в оперативке.На Хабре зачастую комменты бывают очень интересными. ... Я бы порекомендовал автору всесторонне изучить сайт Kim Walisch — http://primesieve.org/ Fast C/C++ prime number generator — и код самой primesieve; реализация шикарная, полированная, ибо человек лет 15 серьезно этим вопросом занимается. Работает primesieve с сумасшедшей производительностью даже на настольном скромном тазике, а подробности реализации сегментированного решета и wheel факторизации полностью документированы. Однако, он явным образом пишет, что «primesieve can generate primes and prime k-tuplets up to 2^64» и всё, край географии. Интересно, почему. Наверное он просто такой задачи себе не ставил, сделать больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2015, 23:11 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
Владимир2012, ОК. Спасибо за ссылку. Топик и так даёт пищу для размышлений на несколько лет вперёд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2015, 23:30 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
Владимир2012Однако, он явным образом пишет, что «primesieve can generate primes and prime k-tuplets up to 2^64» и всё, край географии. Интересно, почему. Наверное он просто такой задачи себе не ставил, сделать больше. Надо просто категоризировать задачи которые ставят перед собой энтузиасты и исследователи и прочие фрики. Думаю что задачи такие: 1) Собственно решето . Добавить нечего. Перформанс и скорость. Но на выходе - неизвестно что. Просто отрезок простых чисел. И притом весьма ограниченный. 2) Поиск максимально большого простого. Обычно из подмножества чисел Мерсена. Тема достаточно узкая и кроме того кластерные вычисления уже достаточно далеко зашли. Вики пишет о рекордах отдельно. 3) Доказательство гипотез. (Одна из 23х проблем Гильберта). Тут мне добавить нечего. Я не силён в математике и мне кажется этот вопрос явно не в форум С++. 4) Собственно факторизация. Это то что мне интересно. Особенно для чисел разрядности во много раз превышающей QWORD (64bit). 5) Проверка простоты. Как частный случай варианта 4. Мне также интересна. Но интересно разобрать варианты ложных срабатываний Рабина-Миллера и проанализировать что можно улучшить. Интересно также разобрать AKS. 6) Задачи криптографии. Тут добавить пока нечего. Мало информации. И мало специалистов которые могут внятно дать постановку хотя-бы чего-то полезного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 00:24 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
Владимир2012... Я бы порекомендовал автору всесторонне изучить сайт Kim Walisch ... и дальше по тексту это все не мое, а выдержка из комментов к статье. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 00:39 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
Немного цифр. По поводу хранения результатов расчёта 64-х битного решета. 2^64 bit = 2^64 / 8 байт = 2^64 / 2 ^ 3 = 2^61 байт = 2^21 Тбайт. В сыром виде эта матрица должна храниться на более чем 2 млн дисковых устройствах типа (HDD 2Тб). При массе 1 устройства 600 г. Весь сторедж будет весить примерно 1 мега-тонну без учота всего остального веса датацентра. Энерго-потребление будет порядка 20 мегаватт при среднем потреблении 1 устройства в 10 ватт. (здесь учтена стационарная работа без процедуры пуска в момент которой ХДД потребляет 1 до ампера) и без обвязки корзинок и RAID агрегаторов и сетевого оборудования. Для питания этого стореджа нехило подошла-бы российская АЭС "Ломоносов" которую производит Росатом и которая даёт с запасиком 35 мегаватт. Надеюсь я если и ошибся то несильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 00:46 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
mayton, ну надо уже к факторизации переходить. Вот только метод решета числового поля я никак понять не могу. Читал не только на википедии, все равно нифига не понимаю. Про квадратичное решето понятно, про эллиптические кривые понятно, а с этим затык. Может, тут есть математики, которые понимают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 05:24 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
iv_an_ruСравните контрольные суммы, а не сами результаты. Хорошая идея. Думаю достаточно просто XOR всей последовательности и сравнивать количество чисел и XOR. Расчет доКол-воXOR1000012290x25A010000095920xD14B1000000784980x27893100000006645790x274A2610000000057614550x109D7521000000000508475340x5ECF97 сделал микро API для отладки https://sourceforge.net/p/primegen/code/HEAD/tree/trunk/DimaT/header.h Использовать так: Код: plaintext 1. 2. 3. 4. 5. Можно просто скопировать функцию test_check(), забил туда эту табличку. Буду дополнять по мере появления результатов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 07:20 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
maytonНадо просто категоризировать задачи которые ставят перед собой энтузиасты и исследователи и прочие фрики. ... Интереснее просто конкретное применение результатов этого творчества. Из широкоизвестного - криптография, но как понимаю, вся криптография строится на том что задача перебора больших простых нерешаема нынешними тех.средствами. Пример попыток порешать - расчеты биткоинов, по сути тоже криптография и переборы, просто людям дали реальный стимул в это вкладываться в надежде на легкие деньги. Лично мне последний раз понадобился x32 аналог GUID для генерации ID сообщения. Чтобы он был уникален в короткий промежуток времени (пока сообщение в процессе доставки). Сделал так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Т.к. не идеально - просто предусмотрел контроль и ошибку на случай если у получателя приходит второе сообщение с уже имеющимся ID. По ошибке отправитель переинициализирует свой счетчик. По хорошему надо простые числа использовать для максимального уменьшения вероятности повтора. Но было лень качать таблицы и превращать их в массив до 10000. По хорошему так надо инициализировать: Код: plaintext 1. 2. Больше и придумать нечего. Получается что для общего развития и развлечения. Лично мне охота Аткина обогнать, посчитать за <0,5 сек диапазон до 10^9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 08:01 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
Dima TБольше и придумать нечего. Получается что для общего развития и развлечения. Ну как сказать, для продвинутых методов факторизации, факторные базы нужны для поиска гладких чисел. Так что там таблица простых пригодится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 08:49 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
Сделал генератор таблиц шага, затестил на Эратосфене. РезультатыTest(0M...1000M): eratosfen3_1() skip 2,3 eratosfen3_1() 905M(333M) steps count 50847534 primes. time 4186 msec speed 12147K/sec OK Test(0M...1000M): eratosfen5_1() skip 2,3,5 eratosfen5_1() 772M(266M) steps count 50847534 primes. time 3875 msec speed 13121K/sec OK Test(0M...1000M): eratosfen7() skip 2,3,5,7 eratosfen7() 686M(228M) steps count 50847534 primes. time 3866 msec speed 13152K/sec OK Test(0M...1000M): eratosfen11() skip 2,3,5,7,11 eratosfen11() 635M(207M) steps count 50847534 primes. time 3665 msec speed 13873K/sec OK Test(0M...1000M): eratosfen13() skip 2,3,5,7,11,13 eratosfen13() 593M(191M) steps count 50847534 primes. time 3555 msec speed 14303K/sec OK Лишние итерации уменьшаются, скорость растет, но и вспомогательные таблицы тоже. Для последней надо уже ~140 Кб. Для 17-ти потребуется ~2 Мб. Решил на 13 остановиться. Генератор не буду выкладывать, немного корявый получился, руками надо подправлять таблицу под некоторые случаи (из конца в начало переносить, смещение не точно получилось). Кому готовые таблицы надо - они тут Затестил на mayton\pbfa64.cpp Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Стало быстрее на 15-20% mayton, можешь потестить с таблицей на 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 13:51 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
Ого. Ну ладно сегодня вечером затестю. P.S. Понедельник - день тяжкий. Навалилось на меня всё... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 16:01 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
Dima TГенератор не буду выкладывать, немного корявый получился, руками надо подправлять таблицу под некоторые случаи (из конца в начало переносить, смещение не точно получилось).Ну генератор же это элементарно Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 16:05 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
BarloneНу генератор же это элементарно Код: plaintext 1. 2. 3. 4. Спасибо. На этом споткнулся, запутался как смещение правильно выставить. Эта двойка иногда на первое место вставала. Причешу, выложу. У меня готовый код цикла генерится. Может кому пригодится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 16:37 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
Мета-программинг достиг своих высот. Эратосфен внезапно(!) сгенерил эратосфена... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 16:39 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
maytonМета-программинг достиг своих высот. Эратосфен внезапно(!) сгенерил эратосфена...Да, чтобы не вычеркивать повторно уже вычеркнутые числа, нужен просеиватель вычеркиваемого... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 17:06 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
maytonМета-программинг достиг своих высот. Эратосфен внезапно(!) сгенерил эратосфена... Не, это от лени, лень писать быстрый генератор чтобы просто вставить его в код :) По хорошему надо впилить Эратосфена в инициализацию Эратосфена. Вот думаю может все-таки допилить пример Barlone, а не выкладывать мета-генераторы, тем более таблицы не маленькие получаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 17:51 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
Кстати слабо третью награду получить? :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 19:22 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
Дима sorry. Еще нечитал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 22:59 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
Ну когда уже факторизацией по серьезному займемся? Есть такой P-1 метод Полларда . И есть Алгоритм Ленстры . У них похожая идея - если порядок некой группы (для P-1 метода - мультипликативная группа кольца вычетов, для алгоритма Ленстры - группа точек эллиптической кривой) по модулю одного из сомножителей - гладкое число, мы можем найти этот сомножитель. Для мультипликативной группы по простому модулю P порядок всегда равен P-1. Для группы точек эллиптической кривой порядок может быть разным, но близким к P - Теорема Хассе . А нельзя ли найти какую-нибудь другую группу, у которой порядок был бы много меньше P? Вот например можно взять решения уравнения Пелля - они тоже образуют группу. Но вот если рассматривать решения по простому модулю P, то порядок группы будет P-1 или P+1. Так что практического интереса не представляет. Однако я некоторое время назад чисто для проверки концепции программку накидал Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2015, 16:36 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
Барлон. Я выпал в осадок. Ты мне сначала лекции прочитай по кольцам вычетов а потом уж факторизация.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2015, 17:55 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
И возможно у тебя есть желание присоединиться к нашей группе разработки? PrimeGen. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2015, 18:25 |
|
||
|
Генератор простых чисел (до 10^9 за 5 сек)
|
|||
|---|---|---|---|
|
#18+
BarloneНу когда уже факторизацией по серьезному займемся? Есть такой P-1 метод Полларда .... ... Реализация этого метода на C++ http://gforge.inria.fr/projects/ecm/ svn checkout svn://scm.gforge.inria.fr/svnroot/ecm/trunk PS: То бишь в вашей группе скорее всего должна быть не "лебедь, рак и щука", а иметь обоюдное согласие на апробирование тех или иных математических методов ... Я рад за вас. Если не секрет чего вы хотите достичь? /вполне допускаю, что понимание этого придет во время работы/. Однозначно вам нужен математик. Как по мне, так то чем вы занялись из серии - "... а не замахнуться ли нам на Шекспира". Dima T не обижайся. То чего ты хочешь достичь - "Лично мне охота Аткина обогнать, посчитать за <0,5 сек диапазон до 10^9." Как по мне, то лучше "ляг поспи и все пройдет" /хотя тебе виднее .../ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2015, 19:29 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38928296&tid=2017971]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
76ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 204ms |

| 0 / 0 |
