El algoritmo de Shor
Ahora dirigiremos nuestra atención al problema de la factorización de enteros y veremos cómo puede resolverse eficientemente en una computadora cuántica mediante la estimación de fase. El algoritmo que obtendremos es el algoritmo de Shor para la factorización de enteros. Shor no describió su algoritmo específicamente en términos de estimación de fase, pero es una forma natural e intuitiva de explicar cómo funciona.
Comenzaremos analizando un problema intermedio conocido como el problema de búsqueda de orden, y veremos cómo la estimación de fase proporciona una solución a este problema. Luego veremos cómo una solución eficiente al problema de búsqueda de orden nos da una solución eficiente al problema de factorización de enteros. (Cuando la solución de un problema proporciona la solución de otro problema de este modo, decimos que el segundo problema se reduce al primero — así que en este caso estamos reduciendo la factorización de enteros a la búsqueda de orden.) Esta segunda parte del algoritmo de Shor no hace uso de la computación cuántica en absoluto; es completamente clásica. La computación cuántica solo es necesaria para resolver la búsqueda de orden.
El problema de búsqueda de orden
Algo de teoría básica de números
Para explicar el problema de búsqueda de orden y cómo puede resolverse mediante estimación de fase, será útil comenzar con un par de conceptos básicos de teoría de números, e introducir algo de notación conveniente en el camino.
Para empezar, para cualquier entero positivo dado, definimos el conjunto de la siguiente manera.
Por ejemplo, y así sucesivamente.
Estos son conjuntos de números, pero podemos pensar en ellos como algo más que simples conjuntos. En particular, podemos pensar en operaciones aritméticas sobre , como la suma y la multiplicación — y si acordamos tomar siempre nuestros resultados módulo (es decir, dividir entre y tomar el resto como resultado), siempre permaneceremos dentro de este conjunto al realizar estas operaciones. Las dos operaciones específicas de suma y multiplicación, ambas tomadas módulo , convierten en un anillo, que es un tipo de objeto fundamentalmente importante en álgebra.
Por ejemplo, y son elementos de , y si los multiplicamos obtenemos , que deja un resto de al dividirlo entre . A veces esto se expresa de la siguiente forma.
Pero también podemos simplemente escribir , siempre que haya quedado claro que estamos trabajando en , para mantener la notación lo más sencilla posible.
Como ejemplo, aquí están las tablas de suma y multiplicación para
Entre los elementos de , los elementos que satisfacen son especiales. Frecuentemente, el conjunto que contiene estos elementos se denota con un asterisco de la siguiente manera.
Si centramos nuestra atención en la operación de multiplicación, el conjunto forma un grupo — específicamente un grupo abeliano — que es otro tipo importante de objeto en álgebra. Es un hecho básico sobre estos conjuntos (y los grupos finitos en general) que si tomamos cualquier elemento y multiplicamos por sí mismo repetidamente, siempre acabaremos obteniendo el número .
Como primer ejemplo, tomemos . Tenemos que porque , y si multiplicamos por sí mismo obtenemos , como confirma la tabla anterior.
Como segundo ejemplo, tomemos . Si recorremos los números del al , los que tienen MCD igual a con son los siguientes.
Para cada uno de estos elementos, es posible elevar ese número a una potencia entera positiva para obtener . A continuación se muestran las potencias más pequeñas para las que esto funciona:
Naturalmente estamos trabajando dentro de en todas estas ecuaciones, lo cual no hemos escrito explícitamente — lo damos por implícito para no recargar la notación. Continuaremos haciendo esto a lo largo del resto de la lección.
Enunciado del problema y conexión con la estimación de fase
Ahora podemos enunciar el problema de búsqueda de orden.
Alternativamente, en términos de la notación que acabamos de introducir, se nos da , y buscamos el entero positivo más pequeño tal que . Este número se llama el orden de módulo .
Para conectar el problema de búsqueda de orden con la estimación de fase, pensemos en la operación definida sobre un sistema cuyos estados clásicos corresponden a , donde multiplicamos por un elemento fijo .
Para ser precisos, estamos realizando la multiplicación en , por lo que se sobreentiende que tomamos el producto módulo dentro del ket en el lado derecho de la ecuación.
Por ejemplo, si tomamos y , entonces la acción de sobre la base estándar es la siguiente.