인수 분해로 표현되는 정수를 추가하는 것은 인수 분해만큼 어렵습니까? 참조 요청


22

다음 결과에 대한 참조를 찾고 있습니다.

인수 분해 표현에 두 정수를 추가하는 것은 일반적인 이진 표현에서 두 정수를 인수 분해하는 것만 큼 어렵습니다.

(이것은 내가 언젠가 궁금해했던 것이기 때문에 인쇄본에서 마침내 보았을 때 흥분되어 있기 때문에 그것이 확실하다고 확신합니다.)

"인수 분해 된 표현에 두 개의 정수를 더하는 것"은 문제입니다. 와 의 두 개의 소인수를 고려하면 소인수를 출력합니다 . 이 문제에 대한 순진한 알고리즘은 표준 이진 표현에서 인수 분해를 서브 루틴으로 사용합니다.y x + yxyx+y

업데이트 : Kaveh와 Sadeq에게 감사의 말을 전합니다. 분명히 더 많은 증거를 얻을 수는 있지만 참조 를 찾는 데 더 많은 도움을주고 싶습니다 . 나는 흥미롭고 자주 논의되지 않은 다른 아이디어가 담긴 논문에서 그것을 읽은 것을 기억하지만, 다른 아이디어가 무엇인지 또는 일반적으로 논문이 무엇인지는 기억하지 않습니다.


6
더 나은 제목은 "인수 분해로 표현되는 두 정수의 합을 인수 분해만큼 어렵게 인수하는 것입니까?"라고 생각합니다.
MS Dousti

1
좋은 질문. 주어진 정수를 두 개의 인수 분해하기 쉬운 정수의 합으로 쓸 수 있다면 원하는 것이 다음과 같습니다. 우리가 숫자를 원한다면 쉽게 할 수 있지만 log log n 숫자로 도 어떻게하는지 알 수 없습니다 . 고려하기 쉬운 숫자 클래스를 살펴볼 가치가 있습니다. lognloglogn
Kaveh

1
MO와 Math.SE에 관한 몇 가지 관련 질문 : 1 , 2 , 3
Kaveh

답변:


15

복잡성 수준에서 (FactSum 호출 수)까지 문제를 해결할 수 있다고 가정 C를 따라 폐쇄 로그 -iteration (일명 로그 우리 계산할 수 있다면 예 (-bounded 재귀) X * , Y * 이진 함수이다, 우리가 할 수있는 계산 된 x 1x log n ) P를 포함합니다 (이 마지막 조건은 더 약해질 수 있습니다). 우리는 인수 분해가 C 에도 있음을 보여줍니다 .기음기음로그로그엑스와이엑스1엑스로그기음

각 숫자는 2 제곱의 합으로 쓸 수 있습니다 . 그들 각각은 쉽게 고려할 수 있습니다.로그2

이제 숫자가 주어지면 그 숫자의 거듭 제곱으로 쓴 다음 각 인수를 인수 분해 표현으로 쓴 다음 알고리즘을 사용하여 인수 분해 표현에서 합산합니다. 결과는 입력 번호를 고려한 것입니다.

이것은 인수 분해가 문제 FactSum의 반복에 환원 될 수 있음을 보여줍니다 . 따라서 인수 분해는 P FactSum에 있습니다 (그리고 여기서 PN C 1 로 대체 될 수 있다고 생각 합니다).로그사실기음1


10

나는 참조를 알지 못하지만 증거를 생각해 냈다.

입력시 두 개의 요인으로 된 오라클 가 있다고 가정하십시오.영형

엑스=나는=1나는α나는

y=i=1mqiβi,

의 인수 분해를 출력합니다 .x+y

에 액세스 하면 다음 재귀 프로 시저를 사용하여 다항식 시간으로 임의의 수 N 을 인수 분해 할 수 있습니다 .ON

절차 계수 ( )N

  1. 주요 찾기 있도록 N / 2 X N - 1 , 및하자 y는 = N을 - X를 .xN/2xN1y=Nx
  2. 가 소수가 아닌 경우 재귀 호출 계수 ( y ) 및 출력 O ( x , f a c t o r ( y ) )y 의 인수 분해를 가져옵니다 .yyyO(x,factor(y))
  3. 다른 출력 .O(x,y)

분석:

충분히 큰 N에 대한 소수 정리 에 의해 N / 2N - 1 사이에 많은 소수가 있습니다. 경우 N은 더 프라임이 간격에 빠진다하지 너무 작아서, 당신은 인수 분해 할 수 N을 쉽게. 따라서 1 단계가 통과됩니다.NN/2N1NN

2 단계에서 AKS 또는 다른 다항식 시간 우선 성 테스트를 사용할 수 있습니다 .

재귀 횟수는 단순히 . 각 단계에서 N 은 (최소한) 반으로 자르기 때문입니다O(lg(N))=O(|N|)N


PS-1 : Goldbach의 추측 이 짝수 (또는 홀수) 정수의 절차 속도를 높이는 데 도움이 될 수 있다고 가정 합니다.

PS-2 : 사용 된 감소는 Cook 감소입니다. Karp 축소를 사용하여 증거를 수행하는 데 관심이있을 수 있습니다.


3
주어진 범위에서 소수를 효율적으로 찾을 수 있다면 그것이 열려 있다고 생각합니다. 그래서 당신이 1을 어떻게하는지 보지 못합니다.
Kaveh

1
@Kaveh : 당신이 맞아요! 몇 가지 추가 단계를 통해 가 소수 가 아닌 알고리즘을 변경하여 y 와 같이 인수 화 할 수 있다고 생각합니다 . 또는 감소가 확률 적이라고 가정 할 수 있습니다 ( 확률 적 다항식 시간 이후에 주어진 범위에서 소수를 찾을 수 있음). xy
MS Dousti

2
예, 우리는 같은 생각을 가지고 있다고 생각합니다. 즉, 입력에 합한 정수를 쉽게 인수 화하고 싶고 소수를 사용하려고 시도했습니다. 나는 2의 거듭 제곱을 사용했습니다. :) 오라클에 대한 로그 수보다 로그 수가 적으며, 흥미롭고 자연스러운 수 이론 질문과 관련이있는 것 같습니다 (수를 팩토링하기 쉬운 숫자의 합계로 쓰기).
Kaveh

5

이 답변은 이전 답변 과 무관 합니다. 댓글에서 @Kaveh의 관심사를 해결하는 것이 목표입니다.

우리가 숫자를 원한다면 쉽게 할 수 있지만 log log n 숫자로 도 어떻게하는지 알 수 없습니다 .lognloglogn

비슷한 문제가있었습니다.

사용 된 감소는 Cook 감소입니다. Karp 축소를 사용하여 증거를 수행하는 데 관심이있을 수 있습니다.

(Karp 축소는 결정 문제에 대한 것입니다. 여기에서 Karp 축소 란 단일 쿼리 쿡 감소를 의미합니다. 비표준 용어에 대해 죄송합니다!)


아래의 답변은 /math/54580/factoring-some-integer-in-the-given-interval 의 토론을 기반으로합니다 .


이 답변에서, 나는 인수 분해표현 된 두 정수의 합인수 분해 하는 결정 론적 다항식 시간 카프 감소를 제공 할 것이다 . 그러나 한 가지주의 할 점이 있습니다. 증명 과정에서 다음과 같은 수의 이론적 가정을 사용합니다.

Cramér의 결론 : 두 개의 연속 소수 p n + 1 에 대해 p n + 1 - p n = O ( log 2 p n )가 됩니다.pnpn+1pn+1pn=O(log2pn)

하자 입력, 그리고하자 N = | N | = O ( 로그 N ) . Cramér의 추측에 따르면 충분히 큰 N 에 대해 간격 [ N - log 3 N , N ] 에 최소 하나의 소수가 있습니다. 이 구간의 길이는 log 3 N = O ( n 3 ) 입니다. 따라서이 프라임은 무차별 대입에 의해 결정 론적 다항식 시간 에서 찾을 수 있습니다 .Nn=|N|=O(logN)N[Nlog3N,N]log3N=O(n3)

하자 있는 소수 수 [ N - 로그 (3) N , N를 ] 및하자 Y는 = N - X를 .x[Nlog3N,N]y=Nx

이후 , 우리는이 | y | = O ( log log N ) = O ( log n ) 이므로 y 는 쉽게 분해 할 수 있습니다 (예 : 시험 분할 사용 ).0ylog3N|y|=O(loglogN)=O(logn)y

마지막으로, 인수 분해와 함께 를 오라클에 제출 하고 N = x + y 의 인수 분해를 얻습니다 .(x,y)N=x+y


감사합니다 Sadeq, 그러나 조건부 결과는 내가 요구 한 것이 아닙니다. 추신 : 나는 숫자의 흥미로운 표현에 관심이 있으며, 당신의 대답에서 얻은 표현 (대 소수점을 찍는 것)은 나에게 흥미로 보이지 않습니다. 내가 흥미로울만한 맛을 내기 위해 : 모든 자연수 는 4 제곱의 합입니다 .
Kaveh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.