Por que a transformação quântica de Fourier é necessária no algoritmo de Shor?

8

Atualmente, estou estudando o algoritmo de Shor e estou confuso sobre a questão da complexidade. Pelo que li, o algoritmo de Shor reduz o problema de fatoração ao problema de localização de ordens ou ao período da sequência de exponenciação modular de alguns x aleatórios, de modo que 1<x<N .

Não tenho nenhum problema em relação à ideia do algoritmo. Mas estou me perguntando se o algoritmo de Shor cria essa sequência por quadratura repetida (que é uma maneira eficiente classicamente). No meu entendimento, o termo "eficiente" significa que a complexidade do algoritmo é polinomial no tempo.

Dado que existe uma maneira eficiente de criar a sequência classicamente, não podemos apenas adicionar uma pequena checagem se encontramos xr=1 modN ? Durante o processo de criação, não deve aumentar a complexidade para o tempo exponencial, certo?

Por que se preocupar com a transformada quântica de Fourier? Eu entendi errado de alguma maneira?

Poramet Pathumsoot
fonte
1
Olá Poramet. Bem-vindo ao Quantum Computing SE! Por favor, faça apenas uma pergunta por postagem - apenas várias se elas estiverem tão intimamente relacionadas que não faria sentido separá-las, pois elas não podem ser razoavelmente respondidas separadamente. Dessa forma, respondedores que podem responder a uma pergunta, mas não os outros, ainda podem fornecer respostas completas e úteis a uma pergunta. Review Como escrever uma boa pergunta? .
Sanchayan Dutta 07/02/19
1
Eu editar ed seu post para remover a segunda pergunta (v5 é ainda visível aqui ). Por favor, faça isso como uma pergunta separada, se necessário.
Sanchayan Dutta 7/02/19

Respostas:

7

A característica essencial desse problema é que, embora os algoritmos quântico e clássico possam fazer uso da função clássica eficiente de calcular ak mod N , a questão é quantas vezes cada um tem para avaliar a função.

Para o algoritmo clássico que você está sugerindo, você calcularia a mod N , a2 mod N e a3 mod N , e assim por diante, até atingir um valor repetido. Você precisa executar r avaliações r pode ser bastante grande. De fato, poderia ser O(N) . É esse grande número de repetições que mata essa idéia para o algoritmo clássico.

Por comparação, o algoritmo quântico avalia apenas a ordem uma vez . Você precisa da Transformada quântica de Fourier para poder comparar todos os valores calculados simultaneamente, porque não é possível acessar todos esses valores de uma só vez. O QFT é o que faz toda a mágica.

DaftWullie
fonte
O(N)NxamodNaO(N)
1
n=log2(N)Nn
DaftWullie
3

xr=1 modN

Por que se preocupar com a transformada quântica de Fourier? Eu entendi errado de alguma maneira?

x=21r modN

A transformada de Fourier discreta clássica tem complexidade exponencial - no entanto, a versão quântica dessa transformação de Fourier tem complexidade polinomial. Então, precisamos nos preocupar com a transformação quântica de Fourier.

Aprendiz
fonte
xr=1modN
Olá, aprendiz. Bem-vindo à computação quântica ! Eu editar ed sua resposta um pouco para coincidir com a versão atual (v8) da questão.
Sanchayan Dutta 07/02/19