Levin의 최적 인수 분해 알고리즘에 대한 참조


13

Manuel Blum의 " 초보 대학원생에 대한 조언 "에서 :

LEONID LEVIN은 P = NP에 대한 답이 무엇이든 그렇게 믿습니까? 문제는, 당신이 생각하는 것 같지 않을 것입니다. 그리고 그는 훌륭한 모범을 보여주었습니다. 우선, 그는 곱셈 상수까지 가능한 최적의 팩터링 알고리즘을 제공했습니다. 그는 자신의 알고리즘이 지수 형이면 FACTORING에 대한 모든 알고리즘이 지수 형임을 증명합니다. 마찬가지로, 인수 분해 알고리즘이 다중 시간 인 경우 그의 알고리즘은 다중 시간입니다. 그러나 우리는 그의 알고리즘의 실행 시간을 알 수 없었습니다. 왜냐하면 강력한 의미에서 실행 시간은 분석 할 수 없기 때문입니다.

Levin의 간행물 페이지는 404를 반환하고 DBLP는 팩토링과 관련된 내용을 표시하지 않으며 Google Scholar에서 "leonid levin factoring"을 검색하면 찾을 수있는 관심이 없습니다. AFAIK의 일반화 된 체는 팩토링으로 알려진 가장 빠른 알고리즘입니다. Manuel Blum은 무엇에 대해 이야기하고 있습니까? 누구든지 나를 종이에 연결할 수 있습니까?

답변:


11

Manuel Blum은 Levin의 범용 검색 알고리즘을 정수 분해 문제에 적용하는 것에 대해 이야기하고 있습니다. Levin의 범용 검색 알고리즘은 모든 문제에 동일하게 적용됩니다 .

다음은 Blum이 SECURITY 및 CRYPTOGRAPHY에 대해 제공 한 강의 노트 에서 인용 한 것입니다 .

Leonid LEVIN의 최적 번호 분할 (인수) 알고리즘. SPLIT가 INPUT : 양의 합성 (즉 소수가 아닌) 정수 n을 계산하는 알고리즘을 나타내도록하십시오. 출력 : n의 사소한 요소.

이론 : OPTIMAL-SPLIT이라고하는 "최적의"숫자 분할 알고리즘이 있습니다. 이 알고리즘은 다음과 같은 의미에서 OPTIMAL입니다. 모든 숫자 분할 알고리즘 SPLIT에 대해 모든 양의 복합 정수 입력 n에 대해 입력 n에서 OPTIMAL-SPLIT의 "실행 시간"이 입력 n에서 최대 C 배의 SPLIT 실행 시간.

Levin의 최적 인수 분해 알고리즘 은 다음과 같습니다 .

OPTIMAL-SPLIT 알고리즘 : 시작 각 크기 내에서 사전 순으로 모든 알고리즘을 크기 순서대로 열거합니다. 모든 알고리즘을 실행하여 어느 시점에서든지, t, i 번째 알고리즘은 실행 시간의 [1 / (2 ^ i)] 분의 1을 얻습니다. 알고리즘이 1 <m <n 범위의 일부 출력 정수 m으로 정지하지 않으면, m이 n을 나누는 지 (즉, n mod m = 0 인 경우) 확인하십시오. 그렇다면 m을 반환하십시오. 종료


누군가 분수가 왜 1 / (2 ^ i)이어야하지만 1 / i와 같은 단순한 것이 아니라고 설명 할 수 있습니까?
netvope

1
@netvope : 1 / i의 무한 합이 발산됩니다. 1 / i ^ 2로 할 수는 있지만 1 / 2 ^ i는 훨씬 간단합니다.
안티몬

3

이것이 Blum이 말한 것인지 확실하지 않지만 거의 모든 문제에 대해 상수 요인까지 최적의 알고리즘을 만드는 것은 쉽습니다 . 다음은 특히 팩토링을위한 스케치입니다.영형

숫자가 주어지면 N을 고려하고 싶습니다.

N은 소수인가? 그렇다면 'PRIME'을 출력하십시오.

들어나는=1...

들면=1...나는

입력 N으로 i 단계의 프로그램 P를 실행하십시오.

P가 두 정수 (L, M) 및 및 을 출력 하고 이면 출력M 1 N = L M ( L , M )1미디엄1=미디엄(,미디엄)


4
알려진 우선 순위 테스트는 최적 인수 분해보다 빠르지 않기 때문에 알려진 우선 순위 테스트를 사용할 수 없습니다. 이 외에도 한 가지 점을 이해하지 못합니다. 이것이 일정한 요인까지 고려하기에 최적임을 증명하기 위해, 마지막 단계에서의 곱셈이 시간 복잡성에서 지배적 인 용어가 아님을 증명해야한다고 생각합니다. 올바르게 기억한다면 점근 적 설정에서 가장 빠른 알려진 곱셈 알고리즘은 FFT를 기반으로하며 n 비트 정수에 O (n log n log log n) 시간이 걸립니다. 최적 인수 분해가 최소한이 시간이 걸린다는 것을 증명할 수 있습니까?
이토 쓰요시

@ 츠요시 : 알려진 곱셈 / 우선 순위 테스트가 인수 분해보다 어려운 경우이 알고리즘이 최적의 상태가 아니라는 것이 옳습니다. 그러나 위의 Blum의 인용문을 읽으면 Levin의 알고리즘은 최적 알고리즘이있는 경우에만 다항식이라고 만 말하면이 문제를 해결할 수 있습니다. 다른 두 가지 : (1)이 알고리즘에서 알려진 우선 순위 테스트를 사용하지 않으려면 어떻게해야합니까? (2)이 알고리즘은 실행 시간이 다른 프로그램간에 올바르게 분할되지 않았다는 점에서 상당히 올바르게 구성되지 않았다고 생각합니다. 올바른 공식에 대해서는 Al-Turkistany의 답변을 참조하십시오.
피터 쇼어

@Peter : Blum의 인용문에 따르면 "[Levin]은 곱셈 상수까지 가능한 최적의 팩터링 알고리즘을 제공했습니다." 그러나 우리가 팩토링이 선형 시간보다 오래 걸리는지 여부를 알지 못한다는 점을 고려할 때, 그 진술은 그대로 믿는 것이 어렵습니다.
Tsuyoshi Ito

@ 츠요시 : 나는 잘못된 Blum 견적을 읽고 있었다 참조하십시오.
피터 쇼어
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.