구간에 소수가 포함되는지 여부 결정


14

자연수의 구간에 소수가 포함되어 있는지 여부를 결정하는 복잡성은 무엇입니까? 에라토스테네스의 체의 변형은 알고리즘을 제공하며 , 여기서 L 은 구간의 길이이고 ~ 는 구간 의 시작점에서 다 로그 인자를 숨긴다. ( L 혼자서) 더 잘할 수 있습니까?O~(L)LL


1
Nitpick : Eratosthenes의 체는 길이 1의 간격을두고도 시작점에 다항식 계수를 제공하지 않습니다. 표현의 크기에서 다항식)) 그러나 이것은 에라토스테네스의 체보다 훨씬 더 정교한 알고리즘이 필요합니다.
바네사

1
@Squark True, "지정 요인 기반에 대한 의사 프라임"을 지정해야합니다. 간격의 시작점이 커짐에 따라, 우선 순위 테스트의 예상 비용은 0이됩니다.
Elliot Gorokhovsky

답변:


27

면책 조항 : 저는 숫자 이론의 전문가가 아닙니다.

짧은 대답 : "합리적인 수 이론 추측"을 기꺼이하고자한다면, 시간 p o l y l o g ( n ) 의 간격 에 소수가 있는지 여부를 알 수 있습니다 . 그러한 가정을 기꺼이하지 않으면 Odlyzko로 인해 n 1 / 2 + o ( 1 ) 을 달성 하는 아름다운 알고리즘 이 있으며 이것이 가장 잘 알려져 있다고 생각합니다.[n,n+Δ]polylog(n)n1/2+o(1)

밀접하게 관련된 문제에 대한 많은 유용한 정보와 매우 유용한 링크 : 소수를 찾는 결정 론적 알고리즘에 대한 PolyMath 프로젝트 .

긴 대답 :

이것은 어려운 문제이며 활발한 연구 분야이며, 소수 사이의 격차에 관한 어려운 문제와 밀접한 관련이있는 것 같습니다. 귀하의 문제는 도덕적으로 결정적으로 2 n 사이의 소수를 찾는 문제와 도덕적으로 매우 유사합니다. 최근 PolyMath 프로젝트 의 주제였습니다n2n . (이러한 질문에 실제로 뛰어 들기를 원한다면 그 링크를 시작하는 것이 좋습니다.) 특히 두 문제에 대한 최상의 알고리즘은 본질적으로 동일합니다.

두 경우 모두 최상의 알고리즘은 소수 사이의 간격 크기에 크게 의존합니다. 특히, 이 항상 nn + f ( n ) 사이에 소수가 있고 ( f ( n ) 을 효율적으로 계산할 수있는) 경우, 항상 시간에 소수를 찾을 수 있습니다 p o l y 다음과 같이 l o g ( n ) f ( n ) . nn + 사이에 소수가 있는지 확인하려면f(n)nn+f(n)f(n)polylog(n)f(n)nn+Δ먼저 인지 확인하십시오 . 그렇다면 yes를 출력하십시오. 그렇지 않으면, nn + Δ 사이의 정수를 반복 하고 각각의 우선 순위를 테스트하고 소수를 찾으면 yes라고 대답하십시오. (이것은 결정 론적으로 수행 될 수 있으므로 결정적으로 n2 n 사이의 소수를 찾는 이유입니다Δf(n)nn+Δn2n 것이 특정 간격에 소수가 있는지 여부를 결정하는 것과 밀접한 관련이 있습니다.)

소수가 우리가 생각하는 것처럼 행동한다면, 이것은 이야기의 끝입니다 (최대 요소). 특히, 우리가 취할 수 있기를 기대 F ( N ) = O ( 로그 2 N을 ) . 이것은 Harald Cramér의 이름을 따서 Cramér의 추측 으로 알려져 있으며 , 현재로서는 그 범위가 매우 먼 것 같습니다. 그러나 내가 아는 한 널리 알려져 있습니다. (예를 들어, 소수는 각 정수 n 3 을 포함하여 얻은 임의의 정수 세트처럼 행동한다는 휴리스틱으로부터이 추측에 도달합니다.polylog(n)f(n)=O(log2n)n3확률 임의로 무작위로 )1/logn

훨씬 약한 경계 f ( n ) O ( 를 암시하는 많은 추측이 있습니다.Legendre의 추측과 같은 n ). (나는 그것이 존재한다고 생각하지만 중간 경계를 암시하는 것으로 추측되는 추측을 모른다.) 그리고 리만 가설은 유사한 경계f(n)O( 를 암시하는 것으로 알려져있다.f(n)O(n)f(n)O(nlogn)no(1) )을 훨씬 간단한 알고리즘과 일치시킵니다.

O~(n0.525)n0.025


3
이 대답은 굉장하다!! 이러한 접근 방식이 있는지 결정할 수 있습니까?케이 간격에서 소수 케이주어진 숫자입니까? 그리고이 경우의 복잡성은 무엇입니까?
마이클 위 하르

3
@MichaelWehar 좋은 질문입니다. 그의 알고리즘은 실제로 소수 계산 기능을 계산하기 때문에 Odlyzko의 알고리즘은 확실히 가능합니다.π(엑스): =아래의 ## 소수 엑스. 소수 사이의 간격을 사용하는 접근법의 경우, 나는 올바른 사람이 아닙니다. 분명히, 이것은 경계가 필요합니다.+케이그냥 반대로 +1, 나는 이것에 대해 잘 몰라요. 다른 사람이 알고 있습니까?
노아 스티븐스 다비도 비츠
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.