Como o operador de difusão Grover funciona e por que é ideal?

15

Em esta resposta , o algoritmo de Grover é explicado. A explicação indica que o algoritmo depende muito do operador de difusão de Grover , mas não fornece detalhes sobre o funcionamento interno desse operador.

Resumidamente, o Operador de difusão de Grover cria uma 'inversão sobre a média' para iterativamente fazer as pequenas diferenças nas etapas anteriores grandes o suficiente para serem mensuráveis.

As perguntas são agora:

  1. Como o operador de difusão Grover consegue isso?
  2. Por que o O resultante ( O(n)em tempo total para pesquisar um banco de dados não ordenado ideal?
Lagarto discreto
fonte
1
Apenas um comentário sobre a segunda pergunta. Existem trabalhos para mostrar que a trilha do estado no algoritmo de Grover segue exatamente a geodésica que conecta o estado inicial do algoritmo e o estado de destino. Então é ótimo.
XXDD 30/10

Respostas:

5

Como a pergunta original era sobre a descrição de um leigo, ofereço uma solução ligeiramente diferente que talvez seja mais fácil de entender (dependente do background), com base em um tempo contínuo evolução. (Não pretendo que seja adequado para um leigo, no entanto.)

Começamos com um estado inicial que é uma superposição uniforme de todos os estados, e nosso objetivo é encontrar um estado que possa ser reconhecido como a resposta correta (assumindo que exista exatamente um desses estados, embora isso possa ser generalizado). Para fazer isso, evoluímos no tempo sob a ação de um Hamiltoniano O recurso realmente bonito da pesquisa de Grover é que, neste ponto, podemos reduzir a matemática a um subespaço de apenas dois estados , em vez de exigir todos os . É mais fácil descrever se fizermos uma base ortonormal a partir desses estados, em que | xH=| xx| +| ipip| . {| x,| ip}2n{| x,| ip}| ip=1

|ψ=12ny{0 0,1}n|y
|x
H=|xx|+|ψψ|.
{|x,|ψ}2n{|x,|ψ}e-iHt| ipe-it(Eu+2-NZ+
|ψ=12n-1y{0 0,1}n:yx|y.
Usando essa base, a evolução no tempo pode ser escrita como onde e são as matrizes Pauli padrão. Isso pode ser reescrito como Portanto, se evoluirmos por um tempoe-EuHt|ψXZe-it(Icos(t
e-Eut(Eu+2-nZ+2n-12nX)(12n1-12n),
XZt=π
e-Eut(Euporque(t2n/2)-Eu12n/2pecado(t2n/2)(Z+X2n-1))(12n1-12n).
t=π22n/2e ignorando as fases globais, o estado final é Em outras palavras, com probabilidade 1, obtemos o estado que estávamos procurando. A descrição habitual em circuito da pesquisa de Grover é realmente apenas essa evolução contínua do tempo dividida em etapas discretas, com a leve desvantagem de que você geralmente não pode obter exatamente a probabilidade 1 para o seu resultado, apenas muito próxima.
12n/2(Z+X2n-1)(12n1-12n)=(12n-2n-12n)+(1-12n2n-12n)=(10 0).
|x

Uma ressalva é a seguinte: você pode redefinir e evoluir usando e o tempo de evolução seria 5 vezes menor. Se você queria ser realmente radical, substitua o 5 por , e a pesquisa de Grover é executada em tempo constante! Mas você não tem permissão para fazer isso arbitrariamente. Qualquer experimento teria uma força máxima de acoplamento fixa (ou seja, um multiplicador fixo). Portanto, experimentos diferentes têm tempos de execução diferentes, mas sua escala é a mesma, . É como dizer que o custo do portão no modelo de circuito é constante, em vez de assumir que, se usarmos um circuito de profundidade cada portão poderá ser executado no tempo .H~=5HH~2n/22n/2k1/k

A prova de otimização envolve essencialmente mostrar que, se você tornasse a detecção de um possível estado marcado mais rápido, tornaria a detecção de um estado marcado diferente, , mais lento. Como o algoritmo deve funcionar igualmente bem, qualquer que seja o estado marcado, esta solução é a melhor.|x|y

DaftWullie
fonte
4

Uma maneira de definir o operador de difusão é 1 , em que é o oráculo de faseD=-Hnvocê0 0Hnvocê0 0

você0 0|0 0n=-|0 0n,você0 0|x=|xpara|x|0 0n.

Isso mostra que também pode ser escrito como, dando onde .você0 0você0 0=Eu-2|0 0n0 0n|

D=2|++|-Eu,
|+=2-n/2(|0 0+|1)n

Escrevendo um estado onde é ortogonal a (ou seja, fornece que .|ψ=α|++β|+|+|+++=0 0)D|ψ=α|+-β|+

Isso mostra 2 que o operador de difusão é uma reflexão sobre|+

Como a outra parte do algoritmo de Grover também é um reflexo, eles se combinam para girar o estado atual mais próximo do valor 'procurado' . Esse ângulo diminui linearmente com o número de rotações (até exceder o valor pesquisado), fornecendo que a probabilidade de medir corretamente o valor correto aumente quadraticamente.x0 0

Bennet et. al. mostrou que isso é ótimo. Ao levar uma solução clássica para um problema NP, o algoritmo de Grover pode ser usado para acelerar quadraticamente isso. No entanto, usando um idioma para uma função de preservação de comprimento (aqui, um oráculo), qualquer A máquina de quantum turing baseada em oracle não pode aceitar esse idioma em um tempo .euUMA={y:xUMA(x)=y}UMAT(n)=o(2n/2)

Isso é obtido usando um conjunto de oráculos onde não tem inverso (portanto, não está contido no idioma). No entanto, isso está contido em algum novo idioma por definição. A diferença nas probabilidades de uma máquina aceitar e uma máquina diferente aceitar no tempo é então menor que e, portanto, nenhuma linguagem é aceita e o algoritmo de Grover é realmente assintoticamente ideal. 3|1neuUMAyeuUMAeuUMAyT(n)1/3

Zalka mais tarde mostrou que o algoritmo de Grover é exatamente ideal.


1 No algoritmo de Grover, os sinais de menos podem ser movidos em volta, portanto, onde o sinal de menos é, é um tanto arbitrário e não precisa necessariamente estar na definição do operador de difusão

2 alternativamente, definir o operador de difusão sem o sinal de menos gera uma reflexão sobre|+

3 Definindo a máquina usando o oráculo como e a máquina usando o oráculo como , isso se deve ao fato de haver um conjunto de cadeias de bits, onde os estados de e cada vez é -close 4 , com uma cardinalidade . Cada oráculo em que decide corretamente se está em pode ser mapeado para oráculos em que falhaUMAMUMAUMAyMUMAySMUMAMUMAytϵ<2T2/ϵ2MUMA|1neuUMA2n-Cartão(S)MUMA para decidir corretamente se está no idioma desse oráculo. No entanto, ele deve fornecer uma das outras respostas em potencial e, se , a máquina não consegue determine a associação de .|1n2n-1T(n)=o(2n/2)euUMA

4 Usando a distância euclidiana, o dobro da distância do traço

Mithrandir24601
fonte