Con respecto al problema de factorización, ¿podría P = NP si lo piensa un poco diferente?

Si da el salto mental de enteros individuales a conjuntos de enteros, sí. La cuestión es si ese salto mental es también un salto lógico.

Por ejemplo, entre los cuadrados 123454321 y 123476544 hay 22222 enteros. Dado ese conjunto, puede factorizar cada miembro compuesto usando un algoritmo lineal que empareja y multiplica los números dentro del rango. La eficiencia de este algoritmo es cercana a la requerida para factorizar a cualquier miembro individual. (Debido a que el algoritmo no se preocupa por los números primos, la lista que se produce contiene múltiples factores para algunos números, pero está completa para los miembros compuestos del conjunto).

123454321-123476544.txt

Manifestación:

Descargar solo para ganar (36kb)
(Cambie el nombre de .ex_ a .exe .)

No factorizaste todos los números en ese rango, los produjiste por multiplicación. Así es como se producen las claves RSA. Obtienes dos números primos grandes y grandes y los multiplicas. Ocultas los números primos y publicas el resultado.

Esos números primos que elegiste ahora son agujas en un enorme, enorme pajar. Eso es lo que es difícil de descifrar.

Pero, incluso si hubiera encontrado una manera de factorizar un gran número de manera eficiente, no habría demostrado que P = NP.

Porque, aún no se sabe si la factorización es un problema NP difícil.

P vs. NP casi seguramente no es la distinción correcta aquí, ya que la factorización cae en la intersección entre NP y coNP: se puede demostrar que un número tiene factores en un rango, al proporcionar dicho factor. También se puede demostrar que un número no tiene factores en un rango, al proporcionar la factorización única del número.

Dicho esto, supongo que lo que está preguntando es si uno puede factorizar un número N en tiempo polinomial. Se desconoce un algoritmo (no cuántico) que hace esto. En cuanto a la técnica que sugiere, aunque no estoy seguro de los detalles, sospecho que puede ser polinomial en N en lugar de polinomial en la representación de N (que es de tamaño log (N)). En tal caso, este no es un algoritmo que se considera como uno que se ejecuta en tiempo polinómico.