¿Escribir un número como dos cuadrados y escribir los factores de un número es igualmente difícil?

8

Dejar L1 y L2 ser el siguiente:

L1={r:x,yZ such that x2+y2=r}

L2={(N,M):M<N,1<dM such that d|N}

Reclamación L1PL2

Prueba de croquis

Si quiero saber si rL1.

El número de soluciones enteras para x2+y2=r es dado por

g(r)=d|rχ(d) dónde χ(x)=sin(πx2)={1 when x1 mod 41 when x3 mod 40 when 2|x

Entonces L1={r:g(r)0}. Entonces, responder es "rL1"es como mucho tan difícil de responder como" ¿cuáles son los divisores de r? "

Lo que me gustaría saber es si esto es cierto al revés. ¿Es cierto que si tuviera una máquina que me dijera en tiempo constante sirL1 ¿podría crear una máquina que podría responder "es (M,N)L2? "en tiempo polinomial?

Motivaciones

Esta pregunta surgió de una discusión sobre esta pregunta .

Disculpas Soy realmente un miembro de math.se que se ha perdido y vagado a cs.se. Avíseme si mi pregunta es clara y cumple con los estándares de este sitio. Estoy feliz de hacer correcciones.

Masón
fuente
Estoy usando P¿correctamente?
Mason
1
Su reducción L1pL2 es correcto, pero tu conclusión de que L1 es "tan duro como" L2Es incorrecto. Solo muestras esoL1es como máximo tan duro comoL2. Específicamente, en realidad demuestras queL1 es como mucho tan difícil como un caso muy restringido de L2, lo que podría ser muy fácil.
Shaull
1
En lugar de "satisfacer un círculo", un término mejor podría ser "ser una suma de dos cuadrados".
Yuval Filmus
1
@Shaull, cambié un idioma para reflejar tu comentario.
Mason
1
Informática dndde hecho se sabe que es tan difícil como factorizar, hasta una reducción aleatoria del tiempo polinómico. Ver Bach, Miller y Shallit: Sumas de divisores, números perfectos y factorización .
Emil Jeřábek

Respuestas:

5

Aquí está la situación hasta donde puedo decir:

La forma más eficiente conocida para probar la membresía en L1 es factorizar r. Parece que no se conoce un algoritmo más eficiente.

Sin embargo, no hay una reducción obvia para demostrar L2PL1. En otras palabras, si tuviéramos una máquina para decidirL1, no hay una manera fácil de usar eso para factorizar. Si queremos factorizar un númeroN, podemos verificar si NL1, pero esto solo nos da un poco de información sobre los factores de N. Prueba de múltiplos deN (es decir, si cNL1 para algún entero c) no nos proporciona ninguna información adicional, como saber si NL1 es suficiente para predecir si cNL1 para todos c>0. Probar otros números tampoco parece ayudar de ninguna manera obvia. (Prueba siNL1 para algún otro número N no parece dar ninguna información útil, si gcd(N,N)=1; y si tuviéramos una manera de encontrar otro número tal que , ya sabríamos cómo factorizar, pero por supuesto no sabemos cómo hacerlo, así que es poco probable que cualquier número que sepamos generar nos brinde información útil sobre los factores de ) Esto no es una prueba; es solo intuición manual.Ngcd(N,N)1N

Por lo tanto, parece plausible que sea ​​más fácil que , y también parece plausible que puedan tener la misma dificultad. No tengo conocimiento de ningún otro resultado sobre este tema.L1L2

DW
fuente