Capítulo 08 · Algoritmo de Grover
Buscar con rotaciones
Para encontrar un elemento marcado entre sin ninguna estructura que ayude, cualquier algoritmo clásico necesita unos intentos. Lov Grover encontró un algoritmo cuántico que necesita solo unos , girando un vector poco a poco en un plano de dos dimensiones. Y está demostrado que no se puede hacer mejor.
En este capítulo
Imagina una guía telefónica con entradas desordenadas y un único nombre que buscas. Sin ninguna estructura que ayude, la única estrategia clásica es mirar entrada a entrada: consultas de media, en el peor caso. En 1996 Lov Grover, en los Laboratorios Bell, demostró que un ordenador cuántico puede encontrarlo con unas consultas. Para un millón de entradas, unas 800 en lugar de medio millón.
El problema
Tenemos elementos y un oráculo que reconoce el marcado, : una función si y 0 si no. Cuánticamente, el oráculo actúa como un cambio de signo:
El oráculo cambia el signo de la amplitud del elemento marcado pero, por sí solo, no cambia ninguna probabilidad. Algo tiene que convertir ese signo en probabilidad. Ese es el trabajo de la interferencia.
El algoritmo
Se parte de la superposición uniforme y se repite veces la iteración de Grover:
El operador , llamado difusión, es una inversión respecto a la media: lleva cada amplitud a , donde es la media. Tras el oráculo, la amplitud marcada es negativa y queda muy por debajo de la media; al invertirla, sube muy por encima. Cada iteración bombea un poco más de amplitud hacia .
La geometría: dos reflexiones forman una rotación
Todo el algoritmo ocurre en un plano de dos dimensiones. Sean el estado marcado y la superposición uniforme de los no marcados. El estado inicial está en el plano que generan:
En el plano generado por y , el oráculo es la reflexión respecto a y es la reflexión respecto a . Su producto es una rotación de ángulo hacia . Tras iteraciones,
y la probabilidad de medir es .
Demostración
deja fijo y cambia de signo , así que es la reflexión respecto a la recta de . deja fijo y cambia de signo todo vector ortogonal a él: la reflexión respecto a la recta de . La composición de dos reflexiones respecto a rectas que forman un ángulo es una rotación de ángulo (un resultado clásico de geometría plana). El estado inicial forma un ángulo con ; tras rotaciones, forma .
Para llegar a queremos , es decir,
ya que para grande. Con elementos marcados, y hacen falta unas iteraciones. La aceleración cuadrática viene de que la probabilidad es el cuadrado de la amplitud: la amplitud crece linealmente con , así que solo tiene que llegar a partiendo de .
No se puede hacer mejor
Antes de que se conociera siquiera el algoritmo de Grover, Bennett, Bernstein, Brassard y Vazirani ya habían demostrado que sería óptimo.
Todo algoritmo cuántico que encuentra el elemento marcado entre con probabilidad al menos , consultando el oráculo como una caja negra, debe hacer consultas.
Idea de la demostración (argumento híbrido)
Ejecutamos el algoritmo con un oráculo que no marca nada. Tras consultas, el «peso de consulta» total que ha puesto sobre todos los elementos es , así que algún elemento ha recibido un peso de como mucho . Cambiar el oráculo para que marque perturba cada paso en una cantidad proporcional a la raíz cuadrada de ese peso, y las perturbaciones suman como mucho en norma. Para distinguir las dos situaciones, los estados finales deben diferir en una constante, así que .
Christof Zalka (1999) demostró que el algoritmo de Grover es óptimo incluso en la constante. La consecuencia es importante: para problemas sin estructura, los ordenadores cuánticos ofrecen una aceleración cuadrática, no exponencial. En particular, no se espera que resuelvan problemas NP-completos en tiempo polinómico simplemente «probando todas las respuestas a la vez».
Amplificación de amplitud
Brassard, Høyer, Mosca y Tapp (2002) generalizaron la idea. Si un algoritmo cuántico acierta con probabilidad , se puede convertir en uno que acierta con alta probabilidad usando solo repeticiones de y , frente a las que necesita la repetición clásica. Es un acelerador cuadrático para casi cualquier subrutina cuántica.
Referencias
- L. K. Grover (1996). «A fast quantum mechanical algorithm for database search». STOC.
- C. H. Bennett, E. Bernstein, G. Brassard y U. Vazirani (1997). «Strengths and Weaknesses of Quantum Computing». SIAM J. Computing, 26(5).
- M. Boyer, G. Brassard, P. Høyer y A. Tapp (1998). «Tight bounds on quantum searching». Fortschritte der Physik, 46.
- C. Zalka (1999). «Grover's quantum searching algorithm is optimal». Physical Review A, 60(4).
- G. Brassard, P. Høyer, M. Mosca y A. Tapp (2002). «Quantum amplitude amplification and estimation». Contemporary Mathematics, 305.