프라임 생성

Generation of primes

연산수 이론에서 다양한 알고리즘소수점 생성을 효율적으로 가능하게 한다.이러한 것들은 해싱, 공개키 암호화와 같은 다양한 어플리케이션에서 많이 사용된다.

상대적으로 적은 수의 경우, 각 연속 홀수마다 시험 구분을 적용하는 것이 가능하다.프라임 체는 거의 항상 더 빠르다.프라임 체이빙은 프라임을 결정적으로 열거하는 가장 빨리 알려진 방법이다.다음 프라임을 계산할 수 있는 몇 가지 알려진 공식들이 있지만 이전 프라임의 관점에서 다음 프라임을 표현하는 방법은 알려져 있지 않다.또한 다음 프라임을 결정적으로 계산하는 일부 수학 식(후기 프라임 포함)의 유효하게 알려진 일반 조작 및/또는 확장은 없다.

프라임 체스

프라임 체 또는 프라임 넘버 체는 프라임을 찾기 위한 알고리즘의 빠른 유형이다.많은 주요 체가 있다.에라토스테네스의 간단한 체(기원전 250년대), 순다람의 체(기원전 1934년), 아직 빠르지만 복잡한 앳킨[1] 체(氣)와 다양한 휠 [2]( wheel)가 가장 흔하다.

프라임 체는 원하는 한계까지 모든 정수의 목록을 만들고 프리마임만 남을 때까지 합성수(직접 생성)를 점진적으로 제거하는 방식으로 작동한다.이것은 넓은 범위의 프리마임을 얻기 위한 가장 효율적인 방법이다. 그러나 개별 프리마임을 찾기 위해서는 직접적인 프라이마리티 테스트가 더 효율적이다[citation needed].또한 체 형식에 기초하여 일부 정수 시퀀스(OEIS의 순서 A240673)가 구성되며, 일정한 간격의 프리타임 생성에도 사용할 수 있다.

큰 소수

암호화에 사용되는 큰 프리타임의 경우, Pocklington 영장성 시험의 변형에 기초하여 증명 가능한 프리타임이 생성될 수 있으며,[3] Bailllie–과 같은 확률론적 프라이마임 시험으로 가능한 프리타임이 생성될 수 있다.PSW primality test 또는 Miller-Rabin primality test.검증 가능한 원시성 시험과 가능한 원시성 시험 모두 모듈형 지수에 의존한다.계산 비용을 더욱 줄이기 위해, 정수는 에라토스테네스의 체시험 분할과 유사한 체를 사용하여 작은 소수점 이하를 먼저 점검한다.

메르센 프라임이나 페르마 프라임과 같은 특수한 형태의 정수는 p - 1 또는 p + 1의 프라임 인자를 알면 효율적으로 프라임성을 시험할 수 있다.

복잡성

에라토스테네스의 체는 일반적으로 가장 구현하기 쉬운 체로 여겨지지만, 체가 큰 범위에 대해 주어진 범위에 대한 운용 횟수의 관점에서 가장 빠른 것은 아니다.In its usual standard implementation (which may include basic wheel factorization for small primes), it can find all the primes up to N in time while basic implementations of the sieve of Atkin and wheel sieves run in linear time . Special version휠 체 원리를 사용하는 에라토스테네스 체의 s는 동일한 선형 O ( N) 시간의 복잡성을 가질 수 있다Atkin의 체와 Eratosthenes의 방법을 사용한 체를 포함할 수 있는 일부 휠 체의 특수 버전은 )의 비선형 시간 복잡도에서 실행될 수 있다 N {\displaysty O(N/\log N). 알고리즘이 점증상 복잡성을 줄였다고 해서 알 수 있다.실제 구현이 점증적 시간 복잡성이 더 큰 알고리즘보다 더 빨리 실행된다는 의미는 아니다.점근성이 덜한 복잡성을 달성하기 위해 개별 연산이 단순한 알고리즘보다 몇 배 더 클 수 있는 시간 복잡성 증가의 일정한 요인을 갖는 경우, 상당히 큰 범위가 차지하는 연산 수의 감소의 이점을 위해 실제 체인지 범위 내에서 결코 불가능할 수 있다.작업당 시간의 추가 비용에 대해.

휠 인자화가 많은 Eratosthenes 체와 같은 일부 체이빙 알고리즘은 복잡도에서 음의 상수 상쇄가 크고 따라서 실제 범위를 훨씬 넘어서기까지 그러한 점증상 복잡성에 도달하지 못하기 때문에 점증상 시간 복잡성이 나타내는 것보다 작은 범위에 대해 훨씬 더 적은 시간이 걸린다.예를 들어, 최대 19까지의 소량 프리타임을 사용하여 휠 인자화와 사전 도태를 조합한 에라토스테네스 체는 10 범위의19 총 범위에 대해 예측한 것보다 약 2배 적은 인자의 시간을 사용하며, 체의 알고리즘을 최상으로 사용하기 위해 체에 수백 년의 코어-년이 걸린다.

이러한 체 유형의 단순 순진한 "하나의 체" 체는 O( N) 의 메모리 공간을 차지하는데 이는 1) 사용 가능한 RAM(메모리)의 양까지 처리할 수 있는 체인지 범위가 매우 제한적이고 2) 메모리 액세스 속도가 일반적으로 느려지는 것을 의미한다.그는 일단 어레이 크기가 CPU 캐시의 크기 이상으로 커지면 계산 속도보다 병목 현상을 더 빠르게 처리한다.Eratosthenes와 Atkin의 일반적으로 구현된 페이지 분할된 체는 CPU 캐시에 일반적으로 맞도록 크기가 작은 체 공간 작은 체 세그먼트 버퍼로 구성되어 있으며, 일반적으로 페이지 분할된 휠 체는 훨씬 더 많은 공간을 차지한다.필요한 휠 표현을 저장하기 위해 이것보다 중요한 요소. Pricchard의 Eratosthenes/휠 체의 선형 시간 복잡성 체에 대한 변동은 1/ N / ){\ N 공간을 차지한다.그 체 Atkin의 중 좋은 시간 복잡성 특수 버전시(1){\displaystyle N^{1(1)}}. Sorenson[4]는 O에서 ⁡ N)){\displaystyle O(N/((\log N)^{나는}\log \log N)심지어 더 적은 공간(N/((통나무 ⁡ N)L로그 ⁡ 로그의 바퀴 체)개선을 보여 주}어떤 나는 을을 위해;1{\d 공간 N1/2+이 걸린다.isplAystyle L> 1}. 하지만, 다음과 같은 일반적인 관찰을 했습니다:더 기억의 양 감소한다, 시간에 운영을 당 드는 비용은 계속된 요인 증가 비록 점근 시간 복잡도 같은 남을 것은memory-reduced 버전을 운영할 지도 모른다는 여러번non-memory-reduced versi보다 느려질 수 있다.ons상당히 많이

참고 항목

참조

  1. ^ Atkin, A.; Bernstein, D. J. (2004). "Prime sieves using binary quadratic forms" (PDF). Mathematics of Computation. 73 (246): 1023–1030. Bibcode:2004MaCom..73.1023A. doi:10.1090/S0025-5718-03-01501-1.
  2. ^ Pritchard, Paul (1994). Improved Incremental Prime Number Sieves. Algorithmic Number Theory Symposium. pp. 280–288. CiteSeerX 10.1.1.52.835.
  3. ^ Plaisted D. A. (1979). "Fast verification, testing, and generation of large primes". Theor. Comp. Sci. 9 (1): 1–16. doi:10.1016/0304-3975(79)90002-1.
  4. ^ Sorenson, J. P. (1998). "Trading Time for Space in Prime Number Sieves". Algorithmic Number Theory. Lecture Notes in Computer Science. Vol. 1423. pp. 179–195. CiteSeerX 10.1.1.43.9487. doi:10.1007/BFb0054861. ISBN 978-3-540-64657-0.