¿Qué aplicaciones tiene el algoritmo de búsqueda de Grover?

14

El algoritmo de búsqueda de Grover generalmente se habla en términos de encontrar una entrada marcada en una base de datos sin clasificar. Este es un formalismo natural que le permite aplicarse directamente a la búsqueda de soluciones a los problemas de NP (donde una buena solución se reconoce fácilmente).

Estaba interesado en conocer otras aplicaciones de la búsqueda de Grover para encontrar el mínimo, la media y la mediana de un conjunto de números. Eso me deja preguntándome si ya hay otras aplicaciones menos obvias de la búsqueda de Grover (o aplicaciones de sus generalizaciones, como la amplificación de amplitud). Cualquier idea breve sobre cómo se hace esto sería apreciada.

DaftWullie
fuente

Respuestas:

7

Además de los que mencionó, otra aplicación del algoritmo de Grover (modificado) que conozco es resolver el problema de colisión en la teoría de la complejidad, la computación cuántica y las matemáticas computacionales . También se llama algoritmo BHT .

Introducción :

El problema de colisión se refiere con mayor frecuencia a la versión 2 a 1 que fue descrita por Scott Aaronson en su tesis doctoral. Dado que es par y una función f : { 1 , . . . , N } { 1 , . . . , n } sabemos de antemano que f es 1 a 1 o 2 a 1. Solo se nos permite hacer consultas sobre el valor de f ( i ) para cualquier i { 1 , 2 ,nF:{1,...,norte}{1,...,norte}FF(yo) . El problema luego pregunta cuántas consultas debemos hacer para determinar con certeza si f es 1 a 1 o 2 a 1.yo{1,2,...,norte}F

Resolver la versión 2-a-1 de manera determinista requiere consultas, y en general distinguir las funciones r-a-1 de las funciones 1-a-1 requiere n / r + 1 consultas.n/2+1n/r+1

Solución determinista clásica :

Esta es una aplicación directa del principio de casillero: si una función es r-a-1, entonces después de consultas, se garantiza que hemos encontrado una colisión. Si una función es 1 a 1, entonces no existe colisión. Si no tenemos suerte, entonces las consultas n / r podrían devolver respuestas distintas. Por lo tanto, n / r + 1 consultas son necesarias.n/r+1n/rn/r+1

Solución clásica aleatorizada :

Si permitimos la aleatoriedad, el problema es más fácil. Según la paradoja del cumpleaños, si elegimos consultas (distintas) al azar, entonces con alta probabilidad encontramos una colisión en cualquier función fija 2 a 1 después de consultas.Θ(n)

Solución Quantum BHT :

Intuitivamente, el algoritmo combina la aceleración de la raíz cuadrada de la paradoja del cumpleaños usando aleatoriedad (clásica) con la aceleración de la raíz cuadrada del algoritmo de Grover (cuántico).

En primer lugar, entradas a f se seleccionan al azar y f se consulta a todos ellos. Si hay una colisión entre estas entradas, entonces devolvemos el par de entradas en colisión. De lo contrario, todas estas entradas se asignan a valores distintos por f . Luego, el algoritmo de Grover se usa para encontrar una nueva entrada para f que colisiona. Dado que sólo hay n 2 / 3 tales entradas a f , el algoritmo de Grover puede encontrar uno (si existe) haciendo solamente O ( n1/3ffffn2/3fO(n2/3)=O(n1/3)f

Fuentes:

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

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

  3. Algoritmo cuántico para el problema de colisión - Gilles Brassard, Peter Hoyer, Alain Tapp

Sanchayan Dutta
fuente
norte1/ /3FXF(X). Ahora siF(X) es 2 a 1, hay norte1/ /3 valores XTodavía no probado que colisionan con los probados. Entonces, defina una función que verifique "no probado y colisiona". Esto define las entradas marcadas. La colisión es fácil de probar con la lista ordenada de valoresF(X). Al conocer el número exacto de entradas marcadas (si es 2 a 1), Grover's (casi) garantiza una solución.
DaftWullie
@DaftWullie Sí, eso tiene sentido. El algoritmo de Grover no garantiza una solución, pero tiene una alta probabilidad de proporcionar la solución correcta. ¿Pero no es eso bastante obvio de la descripción de Wikipedia en sí? No estoy seguro de entender el punto o la objeción que estás haciendo. ¿Me estoy perdiendo de algo?
Sanchayan Dutta
Todo lo que puedo decir es que no era obvio para mí . En la primera lectura, entendí (falsamente) que para Grover, en lugar de preparar una superposición de todos los estados posibles, solo preparó una superposición sobre los que aún no se han probado. Pero eso parecía crucial para la forma en que se explicaba la aceleración. Además, inicialmente me preocupaba cómo se verificaban las colisiones: ¿qué pares se verificaban para detectar colisiones y qué tan eficientemente se podía calcular la colisión?
DaftWullie
@DaftWullie Ah, está bien. Entiendo tu punto. Wikipedia no entra en tantos detalles del algoritmo. Siempre puede consultar el documento original ( arxiv.org/abs/quant-ph/9705002 ) para obtener los detalles (lo que supongo que ya hizo). Más adelante, intentaré ampliar esta respuesta para incluir todos los detalles. Todavía estoy leyendo el periódico.
Sanchayan Dutta
1
A menos que los qubits y las puertas cuánticas resulten increíblemente más baratas que los bits y las puertas clásicas, cualquier discusión sobre BHT debe incluir la advertencia de que los costos superan la búsqueda de colisión clásica de vanguardia con la máquina van Oorschot-Wiener. Consulte cr.yp.to/papers.html#collisioncost o blog.cr.yp.to/20171017-collisions.html para más detalles. (Esta última es una respuesta a una supuesta mejora en BHT que dice ser más rentable que la búsqueda de colisión clásica.)
Squeamish Ossifrage
4

El algoritmo de Grover también se usa ampliamente en criptografía cuántica. Se puede utilizar para resolver problemas como el problema del logaritmo trascendental, el problema de la búsqueda de raíces polinómicas, etc.

da281
fuente
¿Te importaría elaborar un poco? ¿Cuáles son estos problemas? ¿Dónde puedo leer más sobre ellos?
DaftWullie
1
ieeexplore.ieee.org/document/7016940 Este es un artículo de ieee que busca desarrollar un algoritmo cuántico para resolver el problema de búsqueda de raíces polinomiales. Puede leer más al respecto allí
da281
0

El algoritmo de Grover se puede usar para resolver cualquier problema de optimización numérica más rápido que la búsqueda de fuerza bruta, porque cualquier problema de optimización se puede formular como un problema de búsqueda (donde está buscando una salida de función mayor / menor que alguna fija METRO dentro de cada ejecución, y repite para un número logarítmico de ejecuciones utilizando la búsqueda binaria para llegar al punto óptimo METRO): https://epubs.siam.org/doi/abs/10.1137/040605072?journalCode=sjope8 .

De hecho, el algoritmo de Grover es el algoritmo cuántico más conocido para muchos problemas de optimización difíciles (como los que completan NP) que no tienen mucha estructura que sea capaz de un algoritmo clásico más inteligente que la búsqueda de fuerza bruta: https: // link.springer.com/chapter/10.1007/978-3-540-78773-0_67 .

tparker
fuente