¿Por qué se requiere la transformación cuántica de Fourier en el algoritmo de Shor?

8

Actualmente estoy estudiando el algoritmo de Shor y estoy confundido sobre el tema de la complejidad. Por lo que he leído, el algoritmo de Shor reduce el problema de factorización al problema de búsqueda de orden o período de secuencia de exponenciación modular de alguna X aleatoria tal que 1<X<norte .

No tengo ningún problema con respecto a la idea del algoritmo. Pero me pregunto si el algoritmo de Shor crea una secuencia de este tipo mediante la cuadratura repetida (que es una forma eficiente clásicamente). Según tengo entendido, el término "eficiente" significa que la complejidad del algoritmo es polinómica en el tiempo.

Dado que existe una manera eficiente de crear la secuencia de manera clásica, ¿no podemos simplemente agregar una pequeña verificación para ver si hemos encontrado Xr=1 modificaciónnorte ? Durante el proceso de creación, no debería aumentar la complejidad al tiempo exponencial, ¿verdad?

¿Por qué molestarse con la transformación cuántica de Fourier? ¿Lo entendí mal de alguna manera?

Poramet Pathumsoot
fuente
1
Hola poramet ¡Bienvenido a Quantum Computing SE! Por favor, solo haga una pregunta por publicación; solo pregunte a varias si están tan estrechamente relacionadas que no tendría sentido dividirlas, ya que no se pueden responder razonablemente por separado. De esa manera, los que responden que podrían responder una pregunta pero no las demás, pueden proporcionar respuestas completas y útiles a una pregunta. Repaso ¿Cómo escribir una buena pregunta? .
Sanchayan Dutta
1
He edición ed su puesto para eliminar la segunda pregunta (v5 es aún visible aquí ). Por favor pregunte eso como una pregunta separada si es necesario.
Sanchayan Dutta

Respuestas:

7

La característica esencial de este problema es que, si bien los algoritmos cuántico y clásico pueden hacer uso de la función clásica eficiente de calcular unak modificación norte , el problema es cuántas veces cada uno tiene que evaluar la función.

Para el algoritmo clásico que está sugiriendo, calcularía una modificación norte , una2 modificación norte y una3 modificación norte , y así sucesivamente, hasta que alcance un valor repetido. Tienes que realizar r evaluaciones, y r podría ser bastante grande. De hecho, podría ser O(norte) . Es esta gran cantidad de repeticiones lo que mata esta idea para el algoritmo clásico.

En comparación, el algoritmo cuántico solo evalúa el orden una vez . Luego necesita la Transformación Cuántica de Fourier para poder comparar todos los valores calculados simultáneamente porque no puede acceder a todos estos valores a la vez. El QFT es lo que hace toda la magia.

DaftWullie
fuente
O(norte)norteXunamodificaciónnorteunaO(norte)
1
norte=Iniciar sesión2(norte)nortenorte
3

Xr=1 modificaciónnorte

¿Por qué molestarse con la transformación cuántica de Fourier? ¿Lo entendí mal de alguna manera?

X=21r modificaciónnorte . Eso no quiere decir que tal algoritmo clásico no exista, solo que nadie conoce un algoritmo tan clásico.

La transformada de Fourier discreta clásica tiene una complejidad exponencial; sin embargo, la versión cuántica de esa transformada de Fourier tiene una complejidad polinómica. Por lo tanto, debemos molestarnos con la transformación cuántica de Fourier.

Aprendiz
fuente
Xr=1metroorenorte
Hola aprendiz. ¡Bienvenido a Quantum Computing ! He edición ed su respuesta un poco para que coincida con la versión actual (v8) de la pregunta.
Sanchayan Dutta