Оптимизация поиска блока из 2004 последовательных целых чисел, содержащих ровно 12 простых чиселPython

Программы на Python
Ответить
Anonymous
 Оптимизация поиска блока из 2004 последовательных целых чисел, содержащих ровно 12 простых чисел

Сообщение Anonymous »

Я энтузиаст математики, в настоящее время занимаюсь личными вычислительными исследованиями: нахожу первый блок из 2004 последовательных целых чисел, который содержит ровно 12 простых чисел. Задача чисто развлекательная, но требует больших вычислительных ресурсов.
**Постановка задачи**
Найдите наименьшее целое число \( N \ge S \) такое, что среди чисел 2004 года
\( N, N+1, \dots, N+2003 \) ровно 12 являются простыми.
Я установил диапазон поиска, начиная с \( S = 11584520000 \) и подняться до верхней границы \( U = 413523644431096202640000 \) (приблизительно \( 4,135 \times 10^{23} \)).
**Текущий подход**
Я использую скользящее окно размера 2004 в сочетании с Вероятностные тесты на простоту Миллера-Рабина (с использованием первых 12 простых чисел в качестве оснований, которые являются детерминированными для чисел < 2 ^ 64 и имеют чрезвычайно низкую вероятность ошибки, кроме этого). Для каждого нового целого числа, попадающего в окно, я проверяю его простоту и обновляю счетчик простых чисел.
Я уже реализовал это на Python и запускал на Kaggle около 4,55 часов (см. [этот блокнот](https://www.kaggle.com/code/mengaidev/s ... =298163592)), сканируя лишь небольшую часть диапазона. Полный поиск явно выходит за рамки возможностей одной машины; верхняя граница огромна ( \( \sim 10^{23} \) ), и даже при оптимизированном скользящем окне количество необходимых тестов на простоту колоссально.
**То, что я ищу**
Я ищу **математические или алгоритмические идеи**, которые могли бы радикально сократить пространство поиска или ускорить тестирование на простоту. Например:
* Известны ли результаты или ограничения плотности (например, по модулю малых простых чисел), которые вызывают определенные шаблоны, допуская большие пропуски?
* Может ли условие «ровно 12 простых чисел в числах 2004 года» быть связано со свойствами созвездий простых чисел или пробелов, позволяющими более целенаправленный поиск?
* Существуют ли более быстрые детерминированные тесты на простоту, подходящие для чисел в этом диапазоне (например, хорошо подобранный набор оснований Миллера–Рабина, доказанный для чисел до \( 10^{24} \))?
* Есть ли какая-либо теоретическая причина полагать, что такое \( N \) существует? (Я подозреваю, что так и есть, но доказательство существования было бы интересно само по себе.)
Я **не** напрямую прошу распределенные вычислительные ресурсы, а, скорее, какие-либо математические упрощения, которые могли бы сделать проблему разрешимой в разумные сроки. Если проблема окажется по своей сути сложной, я также был бы признателен за ссылки на аналогичные известные результаты.
**Дополнительная информация**
* Моя реализация Python и дополнительные сведения доступны в этом [репозитории GitHub] (https://github.com/MengAiDev/primes12-in-2004-nums) (в коде используется скользящее окно и метод Миллера-Рабина, как описано).
* Верхняя граница \( U \) получается из умозрительного верхнего предела в блокноте Kaggle; это математически не оправдано, поэтому меньшая строгая граница также была бы полезна.
Спасибо за любые идеи и подсказки!

Подробнее здесь: https://stackoverflow.com/questions/798 ... ng-exactly
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»