Algoritmo de Grover

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

En el cálculo cuántico, Algoritmo de Grover, también conocido como algoritmo de búsqueda cuántica, se refiere a un algoritmo cuántico para la búsqueda no estructurada que encuentra con alta probabilidad la entrada única a una función de caja negra que produce un valor de salida particular, utilizando sólo evaluaciones de la función, donde es el tamaño del dominio de la función. Fue ideado por Lov Grover en 1996.

El problema analógico de la computación clásica no puede resolverse en menos que evaluaciones (porque, en promedio, hay que comprobar la mitad del dominio para tener una probabilidad del 50% de encontrar la entrada correcta). Charles H. Bennett, Ethan Bernstein, Gilles Brassard y Umesh Vazirani demostraron que cualquier solución cuántica del problema necesita evaluar la función tiempos, por lo que el algoritmo de Grover es asintoticamente óptimo. Dado que los algoritmos clásicos para los problemas completos de NP requieren exponencialmente muchos pasos, y el algoritmo de Grover proporciona a la mayoría una velocidad cuadrática sobre la solución clásica para la búsqueda no estructurada, esto sugiere que el algoritmo de Grover por sí mismo no proporcionará soluciones polinomio-tiempo para los problemas completos de NP (como la raíz cuadrada de una función exponencial es una función exponencial, no polinomial).

A diferencia de otros algoritmos cuánticos, que pueden proporcionar velocidad exponencial sobre sus contrapartes clásicas, el algoritmo de Grover proporciona sólo una velocidad cuadrática. Sin embargo, incluso la velocidad cuadrática es considerable cuando es grande, y el algoritmo de Grover se puede aplicar para acelerar amplias clases de algoritmos. El algoritmo de Grover podría fuerza bruta una clave criptográfica simétrica de 128 bits en aproximadamente 264 iteraciones, o una llave de 256 bits en aproximadamente 2128 iteraciones. Como resultado, a veces se sugiere que se dupliquen las longitudes de clave simétricas para proteger contra futuros ataques cuánticos.

Aplicaciones y limitaciones

El algoritmo de Grover, junto con variantes como la amplificación de amplitud, se puede usar para acelerar una amplia gama de algoritmos. En particular, los algoritmos para problemas NP-completos generalmente contienen una búsqueda exhaustiva como una subrutina, que puede ser acelerada por el algoritmo de Grover. El mejor algoritmo actual para 3SAT es un ejemplo de ello. Los problemas genéricos de satisfacción de restricciones también ven aceleraciones cuadráticas con Grover. Estos algoritmos no requieren que la entrada se proporcione en forma de oráculo, ya que el algoritmo de Grover se aplica con una función explícita, p. la función que comprueba que un conjunto de bits satisface una instancia 3SAT.

El algoritmo de Grover también puede brindar aceleraciones comprobables para problemas de caja negra en la complejidad de consultas cuánticas, incluida la distinción de elementos y el problema de colisión (resuelto con el algoritmo Brassard-Høyer-Tapp). En este tipo de problemas, uno trata la función del oráculo f como una base de datos, y el objetivo es usar la consulta cuántica para esta función la menor cantidad de veces posible.

Criptografía

El algoritmo de Grover resuelve esencialmente la tarea de función de inversión. Roughly speaking, if we have a function que se puede evaluar en una computadora cuántica, el algoritmo de Grover nos permite calcular cuando se da . En consecuencia, el algoritmo de Grover da una velocidad asintotica amplia a muchos tipos de ataques de fuerza bruta contra la criptografía de clave simétrica, incluyendo ataques de colisión y ataques previos a la imagen. Sin embargo, esto puede no ser necesariamente el algoritmo más eficiente, ya que, por ejemplo, el algoritmo paralelo rho es capaz de encontrar una colisión en SHA2 más eficiente que el algoritmo de Grover.

Limitaciones

El artículo original de Grover describía el algoritmo como un algoritmo de búsqueda de base de datos, y esta descripción sigue siendo común. La base de datos en esta analogía es una tabla de todas las salidas de la función, indexadas por la entrada correspondiente. Sin embargo, esta base de datos no está representada explícitamente. En cambio, se invoca un oráculo para evaluar un elemento por su índice. Leer una base de datos completa elemento por elemento y convertirlo en una representación de este tipo puede llevar mucho más tiempo que la búsqueda de Grover. Para tener en cuenta tales efectos, el algoritmo de Grover puede verse como una solución a una ecuación o como una restricción. En tales aplicaciones, el oráculo es una forma de verificar la restricción y no está relacionado con el algoritmo de búsqueda. Esta separación suele evitar las optimizaciones algorítmicas, mientras que los algoritmos de búsqueda convencionales a menudo se basan en dichas optimizaciones y evitan la búsqueda exhaustiva.

La principal barrera para instanciar una aceleración del algoritmo de Grover es que la aceleración cuadrática lograda es demasiado modesta para superar la gran sobrecarga de las computadoras cuánticas a corto plazo. Sin embargo, las generaciones posteriores de computadoras cuánticas tolerantes a fallas con un mejor rendimiento de hardware pueden realizar estas aceleraciones para instancias prácticas de datos.

Descripción del problema

Como entrada para el algoritmo de Grover, supongamos que tenemos una función . En la analogía de la base de datos no estructurada, el dominio representa índices a una base de datos, y f()x) = 1 si y sólo si los datos x puntos para satisfacer el criterio de búsqueda. Asumimos además que sólo un índice de satisfios f()x) = 1, y llamamos este índice . Nuestro objetivo es identificar .

Podemos acceder a f con una subrutina (a veces llamada oráculo) en forma de operador unitario Uω que actúa de la siguiente manera:

Esto utiliza el -dimensional espacio estatal , que es suministrado por un registro con Cubitos. Esto a menudo se escribe como

Salidas del algoritmo de Grover con probabilidad al menos 1/2 utilizando aplicaciones de U. Esta probabilidad se puede hacer arbitrariamente grande ejecutando el algoritmo de Grover varias veces. Si uno corre el algoritmo de Grover hasta se encuentra, el número esperado de aplicaciones todavía , ya que sólo se ejecutará dos veces en promedio.

Definición alternativa de oráculo

Esta sección compara el oráculo anterior con un oráculo .

Uω es diferente del oráculo cuántico estándar para una función f. Este oráculo estándar, indicado aquí como Uf, utiliza un sistema auxiliar de qubits. La operación entonces representa una inversión (NO puerta) en el sistema principal condicionada por el valor de f(x) del sistema auxiliar:

o brevemente,

Estos oráculos generalmente se realizan sin computar.

Si nos dan Uf como nuestro oráculo, entonces también podemos implementar U, desde U es Uf cuando el codo auxiliar está en el estado :

Así que el algoritmo de Grover se puede ejecutar independientemente de cuál oráculo se da. Si Uf se da, entonces debemos mantener un cuarto adicional en el estado y aplicar Uf en lugar de U.

Algoritmo

Representación del circuito cuántico del algoritmo de Grover

Los pasos del algoritmo de Grover son los siguientes:

  1. Iniciar el sistema a la superposición uniforme en todos los estados
  2. Realizar la siguiente "información de la cosecha" veces:
    1. Aplicar el operador
    2. Aplicar el Difusión de Grover operador
  3. Medir el estado cuántico resultante en la base computacional.

Para el valor elegido correctamente , la salida será con probabilidad acercando 1 para N 1. El análisis muestra que este valor eventual satisfizo .

Implementar los pasos para este algoritmo se puede hacer utilizando una serie de puertas lineales en el número de codos. Así, la complejidad de la puerta de este algoritmo es , o por iteración.

Prueba geométrica de corrección

Imagen mostrando la interpretación geométrica de la primera iteración del algoritmo de Grover. El vector estatal se gira hacia el vector objetivo como se muestra.

Hay una interpretación geométrica del algoritmo de Grover, siguiendo la observación de que el estado cuántico del algoritmo de Grover permanece en un subespacio bidimensional después de cada paso. Considere el avión atravesado por y ; equivalentemente, el avión atravesado por y el ket perpendicular .

El algoritmo de Grover comienza con el ket inicial , que está en el subespacio. El operador es un reflejo en la ortogonal hiperplano para vectores en el plano azotado por y , es decir, actúa como un reflejo en . Esto se puede ver por escrito en la forma de una reflexión del accionistas:

El operador es un reflejo . Ambos operadores y tomar estados en el avión y a estados en el avión. Por lo tanto, el algoritmo de Grover permanece en este plano para todo el algoritmo.

Es sencillo comprobar que el operador de cada paso de iteración Grover gira el vector del estado por un ángulo . Así que, con suficientes iteraciones, uno puede girar desde el estado inicial al estado de salida deseado . El ket inicial está cerca de la ortogonal estatal :

En términos geométricos, el ángulo entre y es dado por

Tenemos que parar cuando el vector estatal pasa cerca ; después de esto, las iteraciones posteriores giran el vector estatal lejos desde , reduciendo la probabilidad de obtener la respuesta correcta. La probabilidad exacta de medir la respuesta correcta es

Donde r es el número (integer) de iteraciones Grover. La primera vez que obtenemos una medición casi óptima es por lo tanto .

Prueba algebraica de corrección

Para completar el análisis algebraico, necesitamos averiguar qué sucede cuando aplicamos repetidamente . Una manera natural de hacer esto es mediante el análisis de valor eigenvalue de una matriz. Observe que durante todo el cálculo, el estado del algoritmo es una combinación lineal de y . Podemos escribir la acción de y en el espacio abarcado por como:

Contenido relacionado

Búsqueda de información

La búsqueda de información es el proceso o actividad de intentar obtener información tanto en contextos humanos como tecnológicos. La búsqueda de...

Telégrafo óptico

Un telégrafo óptico es una línea de estaciones, típicamente torres, cuyo propósito es transmitir información textual por medio de señales visuales. Hay...

Comprobación de redundancia longitudinal

Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save