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 aleatórios, de modo que .
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 ? 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?
fonte
Respostas:
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 calcularak 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ê calculariaa 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.
fonte
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.
fonte