?

16

Ao ler o blog de Dick Lipton, deparei-me com o seguinte fato no final de seu post no Bourne Factor :

Se, para cada , existe uma relação da forma ( 2 n ) ! = M - 1 Σ k = 0 um K b c k k onde m = p o l y ( n ) , e cada um dos um K , b k e c k são p o l y ( n ) no comprimento de bits, então fatoração possui circuitos polinomiais.n

(2n)!=k=0m1akbkck
m=poly(n)akbkckpoly(n)

Em outras palavras, o , que possui um número exponencial de bits , pode potencialmente ser representado com eficiência.(2n)!

Eu tenho algumas perguntas:

  • Alguém poderia fornecer uma prova da relação acima, me dizer o nome e / ou fornecer alguma referência?
  • Se fosse para dar-lhe , m e cada uma a um K , b k e c k , pode me proporcionar um algoritmo de tempo polinomial para verificar a validade da relação (ou seja, são em N P )?nmakbkckNP
user834
fonte
4
Na verdade, essa publicação do blog não reivindica o contrário? Ou seja, se equações da forma acima ter soluções em geral , depois de factoring tem circuitos polinomiais de tamanho. (2n)!=
Mikero
3
Eu acho que você realmente escreveu o inverso do que Dick Lipton escreveu. Ele diz que, se existe uma equação para cada , o fatoração tem circuitos polinomiais de tamanho. Portanto, a implicação é que, se o fatoração não é uniformemente difícil (para infinitamente muitos n ), então não existem equações da forma acima (para infinitamente muitos n ). nnn
Sasho Nikolov
@mikero, SashoNikolov, vocês dois estão corretos, minhas desculpas. Eu editei minha pergunta.
User834
11
observe que "algoritmo de tempo polinomial" geralmente significa um algoritmo uniforme. O post de Lipton apenas afirma a existência de uma família de circuitos polisizados para fatoração.
Sasho Nikolov
11
Note-se que para que essa propriedade para ser verdade, , b k e c k deve ser p o l y ( n ) em tamanho bit / como indicado no Lipton do blog / e p o l y ( 2 n ) como inteiros . Sua definição não é clara. akbkckpoly(n)poly(2n)
Gopi

Respostas:

8

Vou comentar por que uma relação como na pergunta (para cada n ) ajuda a fatorar. Não consigo terminar a discussão, mas talvez alguém possa.

(2n)!=k=0m1akbkck
n

A primeira observação é que uma relação como acima (e mais geralmente, a existência de circuitos aritméticos de tamanho polivalente para ) Fornece um circuito de tamanho polivalente para a computação ( 2 n ) ! mod x para x dado em binário: simplesmente avalie a soma módulo x , usando exponenciação por quadrado repetido.(2n)!(2n)!modxxx

Agora, se pudéssemos calcular y!modx para arbitrário , podemos fatorar x : usando a pesquisa binária, encontre o menor y tal que gcd ( x , y ! ) 1 (que podemos calcular usando gcd ( x , ( y ! mod x ) ) ). Então y deve ser o menor divisor principal de x .yxygcd(x,y!)1gcd(x,(y!modx))yx

Se conseguirmos apenas potências de para y , ainda podemos tentar calcular gcd ( x , ( 2 n ) ! ) Para cada n log x . Um deles será um divisor não trivial de x , exceto no caso lamentável em que existe um n tal que x é coprime para ( 2 n ) ! e divide ( 2 n + 1 ) ! . Isso é equivalente a dizer que x2ygcd(x,(2n)!)nlogxxnx(2n)!(2n+1)!xé livre de quadrados e todos os seus principais fatores têm o mesmo comprimento de bit. Não sei o que fazer nesse caso (bastante importante, cf. números inteiros de Blum).

Emil Jeřábek apoia Monica
fonte
Se a relação se mantém (para todos ), então talvez ele também detém (com uma escolha diferente de um k , b k e c k ) quando um substitui 2 com outro (pequeno) prime, pnakbkck2ppx(pn)!(pn+1)!