В чем сложность определения, содержит ли интервал натуральных чисел простое число? Вариант решета Эратосфена дает алгоритм, где L является длина интервала и ~ Шкуры поли-логарифмические факторы в исходной точке интервала; мы можем сделать лучше (с точки зрения L только)?
cc.complexity-theory
ds.algorithms
nt.number-theory
comp-number-theory
Эллиот Гороховский
источник
источник
Ответы:
Отказ от ответственности : я не эксперт в теории чисел.
Краткий ответ : если вы хотите принять «разумные теоретико-числовые гипотезы», то мы можем сказать, существует ли простое число в интервале во времени p o l y l o g ( n ) . Если вы не готовы сделать такое предположение, то есть красивый алгоритм из - за Odlyzko , который достигает п 1 / 2 + O ( 1 ) , и я считаю , что это самый известный.[ n , n +Δ] polylog(n) n1/2+o(1)
Очень полезная ссылка с множеством полезной информации о тесно связанной проблеме : проект PolyMath по детерминированным алгоритмам для поиска простых чисел .
Длинный ответ :
Это сложная проблема, активная область исследований, и, похоже, она тесно связана с трудным вопросом о границе между простыми числами. С моральной точки зрения ваша проблема очень похожа на проблему определения простого числа между и 2 n , которая недавно была предметом проекта PolyMath . (Если вы хотите действительно углубиться в эти вопросы, эта ссылка - отличное место для начала.) В частности, наши лучшие алгоритмы для обеих задач по сути одинаковы.n 2n
В обоих случаях лучший алгоритм сильно зависит от размера промежутков между простыми числами. В частности, если таково, что всегда есть простое число между n и n + f ( n ) (и f ( n ) может быть эффективно вычислено), то мы всегда можем найти простое число во времени p o l y l o g ( n ) ⋅ f ( n ) следующим образом. Чтобы определить, есть ли простое число между n и n +f(n) n n+f(n) f(n) polylog(n)⋅f(n) n , сначала проверьте, если Δ ≥ f ( n ) . Если так, выведите да. В противном случае, просто переберите целые числа между n и n + Δ и проверьте каждый на предмет простоты, и ответьте «да», если найдете простое число, и «нет» в противном случае. (Это можно сделать детерминистически, поэтому детерминистическое нахождение простого числа между n и 2 n так тесно связано с определением, есть ли простое число в определенном интервале.)n+Δ Δ≥f(n) n n+Δ n 2n
источник