Quais aplicativos o Algoritmo de Pesquisa de Grover tem?


14

O algoritmo de pesquisa de Grover é geralmente mencionado em termos de encontrar uma entrada marcada em um banco de dados não classificado. Esse é um formalismo natural que permite que ele seja aplicado diretamente na busca de soluções para problemas de NP (onde uma boa solução é facilmente reconhecida).

Eu estava interessado em aprender sobre outras aplicações da pesquisa de Grover para encontrar o mínimo, a média e a mediana de um conjunto de números. Isso me deixa pensando se existem outras aplicações menos óbvias da pesquisa de Grover (ou aplicações de suas generalizações, como amplificação de amplitude) que já são conhecidas? Qualquer breve insight sobre como isso é feito será apreciado.

Respostas:


7

Além dos que você mencionou, outra aplicação do algoritmo de Grover (modificado) que eu sei é resolver o problema de colisão na teoria da complexidade, na computação quântica e na matemática computacional . Também é chamado de algoritmo BHT .

Introdução :

O problema da colisão geralmente se refere à versão 2 para 1, descrita por Scott Aaronson em sua tese de doutorado. Dado que é mesmo e uma função f : { 1 , . . . , N } { 1 , . . . , n } sabemos de antemão que f é 1 para 1 ou 2 para 1. Só é permitido fazer consultas sobre o valor de f ( i ) para qualquer i { 1 , 2 ,nf:{1,...,n}{1,...,n}ff(Eu) . O problema, então, pergunta quantas consultas nós precisamos fazer para determinar com certeza se f é de 1 para 1 ou 2-para-1.Eu{1,2,...,n}f

A solução da versão 2 para 1 deterministicamente requer consultas e, em geral, distinguir as funções r-1 para 1 das funções 1 para 1 exige n / r + 1 consultas.n/2+1n/r+1

Solução clássica determinística :

Essa é uma aplicação direta do princípio do buraco de pombo: se uma função é r-para-1, depois de consultas, é garantido que encontramos uma colisão. Se uma função é 1 para 1, não existe colisão. Se tivermos azar, as consultas n / r poderão retornar respostas distintas. Portanto, n / r + 1 consultas são necessárias.n/r+1n/rn/r+1

Solução clássica aleatória :

Se permitirmos aleatoriedade, o problema é mais fácil. Pelo paradoxo do aniversário, se escolhermos consultas (distintas) aleatoriamente, com alta probabilidade, encontraremos uma colisão em qualquer função fixa de 2 para 1 após consultas.Θ(n)

Solução Quantum BHT :

Intuitivamente, o algoritmo combina a aceleração da raiz quadrada do paradoxo do aniversário usando aleatoriedade (clássica) com a aceleração da raiz quadrada do algoritmo de Grover (quantum).

Em primeiro lugar, entradas para f são seleccionados ao acaso e f é consultada em todos eles. Se houver uma colisão entre essas entradas, retornamos o par de entradas em colisão. Caso contrário, todas essas entradas são mapeadas para valores distintos por f . O algoritmo de Grover é usado para encontrar uma nova entrada para f que colide. Uma vez que existem apenas n 2 / 3 desses insumos para f , o algoritmo de Grover pode encontrar um (se existir), tornando única O ( n1/3ffffn2/3fconsultas paraf.O(n2/3)=O(n1/3)f

Fontes:

  1. https://en.wikipedia.org/wiki/Collision_problem

  2. https://en.wikipedia.org/wiki/BHT_algorithm

  3. Algoritmo Quântico para o Problema de Colisão - Gilles Brassard, Peter Hoyer, Alain Tapp


Alguns comentários sobre a solução BHT (eu não encontrar o artigo wikipedia muito esclarecedor): Primeiro, selecione entradas para teste f de forma aleatória. Suponha que eles não colidem. Classifique esses valores x de acordo com f ( x ) . Agora, se f ( x ) é 2-a-1, existem N 1 / 3 valores de x não já testado que colidem com os testados. Portanto, defina uma função que verifique "ainda não testado e colide". Isso define as entradas marcadas. A colisão é fácil de testar com a lista ordenada de valores f ( xn1/3fxf(x)f(x)n1/3x . Sabendo o número exato de entradas marcadas (se 2 para 1), a Grover (quase) garante uma solução. f(x)
DaftWullie

@DaftWullie Sim, isso com certeza faz sentido. O algoritmo de Grover não garante uma solução, mas tem uma alta probabilidade de fornecer a solução correta. Mas isso não é óbvio na própria descrição da Wikipedia? Não sei se entendi o argumento ou a objeção que você está fazendo. Estou esquecendo de algo?
Sanchayan Dutta

Tudo o que posso dizer é que não era óbvio para mim . Na primeira leitura, entendi (falsamente) que, para Grover, em vez de preparar uma superposição de todos os estados possíveis, apenas preparava uma superposição sobre os que ainda não haviam sido testados. Mas isso parecia crucial para a maneira como a aceleração era explicada. Além disso, fiquei inicialmente preocupado com o modo como as colisões estavam sendo verificadas: quais pares estavam sendo verificados quanto a colisões e com que eficiência a colisão poderia ser calculada?
DaftWullie

@DaftWullie Ah, tudo bem. Eu entendi o seu ponto. A Wikipedia não entra em muitos detalhes do algoritmo. Você sempre pode consultar o artigo original ( arxiv.org/abs/quant-ph/9705002 ) para obter detalhes (o que eu acho que você já fez). Mais tarde, tentarei expandir esta resposta para incluir todos os detalhes. Eu ainda estou lendo o jornal.
Sanchayan Dutta

1
A menos que qubits e portões quânticos se mostrem incrivelmente mais baratos que bits e portões clássicos, qualquer discussão sobre BHT deve incluir a ressalva de que os custos excedem a pesquisa de colisão clássica de ponta com a máquina van Oorschot – Wiener. Consulte cr.yp.to/papers.html#collisioncost ou blog.cr.yp.to/20171017-collisions.html para obter detalhes. (O último é uma resposta a uma suposta melhoria em BHT que afirma ser mais rentável do que a busca de colisão clássica.)
Delicado ossifrage

4

O algoritmo de Grover também é amplamente utilizado em criptografia quântica. Ele pode ser usado para resolver problemas como o problema do logaritmo transcendental, problema de localização de raiz polinomial etc.


Você gostaria de elaborar um pouco? Quais são esses problemas? Onde posso ler mais sobre eles?
DaftWullie

1
ieeexplore.ieee.org/document/7016940 Este é um artigo da ieee que busca desenvolver um algoritmo quântico para resolver o problema de localização polinomial da raiz. Você pode ler mais sobre isso lá
-281

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.