Tempo de execução do algoritmo de Grover


19

Qual é a complexidade do tempo (não a complexidade da consulta) do algoritmo de Grover? Parece-me claro que é pois existem iterações e cada iteração requer o uso da operação de reflexão que, por sua vez, leva tempo usando qualquer conjunto padrão de portas universais.Ω( √Ω(log⁡(N)N)Ω(log(N))Ω(N)Ω(log⁡(N))

O problema é que não consigo encontrar nem uma única referência que diga que a complexidade de tempo do algoritmo de Grover é . A Wikipedia e várias outras páginas da Web dizem a complexidade do tempo . O artigo de Grover reivindica "etapas".O( √Ω(log⁡(N)N)O( √O(N)O(N)

Estou esquecendo de algo? Talvez as pessoas definam a operação de reflexão para levar o tempo da unidade. Mas isso não faz sentido para mim, porque se pudermos jogar o jogo de permitir que os unitários arbitrários levem tempo unitário, não haveria diferença entre a complexidade da consulta e a complexidade do tempo.


11
Não consigo pensar em uma referência que fale sobre a complexidade temporal do algoritmo de Grover, mas o que você escreveu é verdade. De fato, em qualquer conjunto de portas finitas, as operações executadas entre as consultas no algoritmo de Grover requerem pelo menos portas , pois cada porta tem largura finita, mas precisamos executar uma porta que afete todos os qubitslog NΩ(log⁡N)log⁡N
— Robin Kothari 29/03

Respostas:


11

Geralmente, a questão é discutida pelo seguinte motivo. O algoritmo de Grover é um algoritmo de busca combinatória para encontrar uma solução para um predicado arbitrário. Enquanto, sim, é a complexidade da porta quântica em cada estágio do algoritmo de caixa preta, o predicado também precisa ser calculado. A complexidade do portão quântico é , porque, caso contrário, não leria toda a entrada e você poderia descartar alguns bits de entrada da pesquisa. Por outro lado, um predicado interessante pode levar muito mais tempo que isso. Portanto, o número de chamadas para o predicado é considerado a moeda padrão, assim como para o análogo clássico do algoritmo de Grover, ou seja, a adivinhação aleatória.Ω ( log N )Θ(log⁡N)Ω(log⁡N)


6

Acontece que existe uma maneira de implementar o algoritmo de Grover com menos de portas! É por isso que você não conseguiu encontrar uma referência alegando que as portas são necessárias. Pelo menos no caso em que há um item marcado, é possível fazer melhor.Ω( √O(Nlog⁡N)Ω(Nlog⁡N)

Uma pré-impressão recente de Arunachalam e de Wolf fornece um novo algoritmo para resolver o problema de pesquisa com um item marcado com complexidade de consulta e apenas portões (do portão, defina Toffoli + todos os portões de um qubit).O( √O(N)O(Nlog⁡(log∗⁡N))

Observe que a função cresce tão lentamente que, mesmo que seja o número de átomos no universo, é no máximo 3.N log ( log ∗ N )log⁡(log∗⁡N)Nlog⁡(log∗⁡N)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.