?

16

Mientras leía el blog de Dick Lipton, me topé con el siguiente hecho cerca del final de su publicación de Bourne Factor :

Si, por cada n , existe una relación de la forma

(2n)!=k=0m1akbkck
donde m=poly(n) , y cada una de las ak , bk y ck son poly(n) en longitud de bits, entonces la factorización tiene circuitos de tamaño polinómico.

En otras palabras, el (2n)!, que tiene un número exponencial de bits , potencialmente se puede representar de manera eficiente.

Tengo algunas preguntas:

  • ¿Podría alguien proporcionar una prueba de la relación anterior, decirme el nombre y / o proporcionar alguna referencia?
  • Si tuviera que darle n , m cada una de las ak , bk y ck , ¿podría proporcionarme un algoritmo de tiempo polinómico para verificar la validez de la relación (es decir, está en NP )?
usuario834
fuente
44
¿Esa publicación de blog no afirma lo contrario? Es decir, si las ecuaciones de la forma anterior tiene soluciones en general , entonces la factorización tiene circuitos de tamaño polinómico. (2n)!=
mikero
3
Creo que en realidad escribiste lo contrario de lo que escribió Dick Lipton. Él dice que si tal ecuación existe para cada , entonces la factorización tiene circuitos de tamaño polinómico. Entonces, la implicación es que si la factorización es no uniformemente difícil (para infinitas n ), entonces las ecuaciones de la forma anterior no existen (para infinitas n ). nnn
Sasho Nikolov
@mikero, SashoNikolov, ambos tienen razón, disculpen. He editado mi pregunta.
user834
1
tenga en cuenta que "algoritmo de tiempo polinómico" generalmente significa un algoritmo uniforme. La publicación de Lipton solo afirma la existencia de una familia de circuitos polisize para factoraje.
Sasho Nikolov
1
Tenga en cuenta que para que esta propiedad sea verdadera, , b k y c k deben ser p o l y ( n ) en tamaño de bit / como se indica en el blog de Lipton /, y p o l y ( 2 n ) como enteros . Tu definición no está clara. akbkckpoly(n)poly(2n)
Gopi

Respuestas:

8

¡Comentaré por qué una relación como en la pregunta (por cada n ) ayuda a factorizar. No puedo terminar la discusión, pero tal vez alguien pueda.

(2n)!=k=0m1akbkck
n

La primera observación es que una relación como la anterior (¡y más generalmente, la existencia de circuitos aritméticos de tamaño polivinílico para ) Da un circuito de tamaño polivinílico para calcular(2n)! para x dado en binario: simplemente evalúe la suma del módulo x , usando exponenciación mediante cuadratura repetida.(2n)!modxxx

Ahora, si pudiéramos calcular para y arbitraria , podríamos factorizar x : usando la búsqueda binaria, encontrar la y más pequeña de manera que gcd ( x , y ! ) 1 (que podemos calcular usando gcd ( x , ( y ! mod x ) ) ). Entonces y debe ser el divisor primo más pequeño de x .y!modxyxygcd(x,y!)1gcd(x,(y!modx))yx

Si solo podemos hacer potencias de para y , todavía podemos intentar calcular mcd ( x , ( 2 n ) ! ) Por cada n log x . ¡Uno de estos será un divisor no trivial de x , excepto en el caso desafortunado cuando hay un n tal que x es coprimo a ( 2 n ) ! , y divide ( 2 n + 1 ) ! . Esto es equivalente a decir que x2ygcd(x,(2n)!)nlogxxnx(2n)!(2n+1)!xno tiene cuadrados, y todos sus factores primos tienen la misma longitud de bits. No sé qué hacer en este caso (más bien importante, ver números enteros de Blum).

Emil Jeřábek apoya a Monica
fuente
Si la relación se cumple (para todo ), entonces quizás también se cumple (con una elección diferente de a k , b k y c k ) cuando uno reemplaza 2 por otro (pequeño) primo, p . ¡Presumiblemente se podría buscar hasta que se encuentre una p tal que x sea ​​coprimo a ( p n ) ! y no ( p n + 1 ) ! nakbkck2ppx(pn)!(pn+1)!
user834