El algoritmo de conteo cuántico es un algoritmo cuántico para contar de manera eficiente el número de soluciones para un problema de búsqueda determinado. El algoritmo se basa en el algoritmo de estimación de fase cuántica y en el algoritmo de búsqueda de Grover .
Los problemas de conteo son comunes en diversos campos como la estimación estadística, la física estadística, las redes, etc. En cuanto a la computación cuántica , se necesita la capacidad de realizar un conteo cuántico de manera eficiente para poder utilizar el algoritmo de búsqueda de Grover (porque ejecutar el algoritmo de búsqueda de Grover requiere saber cuántos existen soluciones). Además, este algoritmo resuelve el problema de existencia cuántica (es decir, decidir si existe alguna solución) como un caso especial.
El algoritmo fue ideado por Gilles Brassard , Peter Høyer y Alain Tapp en 1998.
Considere un conjunto finito de tamaño y un conjunto de "soluciones" (que es un subconjunto de ). Definir:
En otras palabras, es la función indicadora de .
Calcula el número de soluciones . [1]
Sin ningún conocimiento previo sobre el conjunto de soluciones (o la estructura de la función ), una solución determinista clásica no puede funcionar mejor que , porque se deben inspeccionar todos los elementos (considere un caso en el que el último elemento a inspeccionar es una solución) .
La entrada consta de dos registros (es decir, dos partes): los qubits superiores comprenden el primer registro y los qubits inferiores son el segundo registro .
El estado inicial del sistema es . Después de aplicar la operación de puerta Hadamard de múltiples bits en cada uno de los registros por separado, el estado del primer registro es
y el estado del segundo registro es
un estado de superposición igual en la base computacional.
Como el tamaño del espacio es y el número de soluciones es , podemos definir los estados normalizados: [2] : 252
Tenga en cuenta que
que es el estado del segundo registro después de la transformada de Hadamard.
La visualización geométrica del algoritmo de Grover muestra que en el espacio bidimensional abarcado por y , el operador de Grover es una rotación en sentido antihorario ; por lo tanto, se puede expresar como
en la base ortonormal . [2] : 252 [3] : 149
Por las propiedades de las matrices de rotación sabemos que es una matriz unitaria con dos valores propios . [2] : 253
De aquí en adelante, seguimos el esquema del algoritmo de estimación de fase cuántica : aplicamos operaciones de Grover controladas seguidas de transformada cuántica inversa de Fourier ; y según el análisis encontraremos la mejor aproximación de bits al número real (perteneciente a los valores propios del operador Grover) con probabilidad superior a . [4] : 348 [3] : 157
Tenga en cuenta que el segundo registro está en realidad en una superposición de los vectores propios del operador Grover (mientras que en el algoritmo de estimación de fase cuántica original, el segundo registro es el vector propio requerido). Esto significa que con cierta probabilidad aproximamos y con cierta probabilidad aproximamos ; esas dos aproximaciones son equivalentes. [2] : 224–225
Suponiendo que el tamaño del espacio es al menos el doble del número de soluciones (es decir, suponiendo que ), un resultado del análisis del algoritmo de Grover es: [2] : 254
Por lo tanto, si encontramos , también podemos encontrar el valor de (porque se conoce).
El error
está determinado por el error en la estimación del valor de . El algoritmo de estimación de fase cuántica encuentra, con alta probabilidad, la mejor aproximación de bits de ; esto significa que si es lo suficientemente grande, tendremos , por lo tanto . [2] : 263
En el algoritmo de búsqueda de Grover, el número de iteraciones que se deben realizar es . [2] : 254 [3] : 150
Por lo tanto, si se conoce y se calcula mediante el algoritmo de conteo cuántico, el número de iteraciones del algoritmo de Grover se calcula fácilmente.
El algoritmo de conteo cuántico se puede utilizar para acelerar la solución de problemas que son NP-completos .
Un ejemplo de problema NP-completo es el problema del ciclo hamiltoniano , que es el problema de determinar si una gráfica tiene un ciclo hamiltoniano .
Una solución sencilla al problema del ciclo hamiltoniano es comprobar, para cada orden de los vértices de , si se trata de un ciclo hamiltoniano o no. La búsqueda en todos los ordenamientos posibles de los vértices del gráfico se puede realizar con el conteo cuántico seguido del algoritmo de Grover, logrando una aceleración de la raíz cuadrada, similar al algoritmo de Grover. [2] : 264 Este enfoque encuentra un ciclo hamiltoniano (si existe); Para determinar si existe un ciclo hamiltoniano, el algoritmo de conteo cuántico en sí es suficiente (e incluso el algoritmo de existencia cuántica, que se describe a continuación, es suficiente).
El problema de existencia cuántica es un caso especial de conteo cuántico en el que no queremos calcular el valor de , solo queremos saber si lo es o no. [5] : 147
Una solución trivial a este problema es utilizar directamente el algoritmo de conteo cuántico: el algoritmo produce , comprobando si obtenemos la respuesta al problema de existencia. Este enfoque implica cierta información general porque no estamos interesados en el valor de . La estimación de la fase cuántica se puede optimizar para eliminar esta sobrecarga. [5] : 148
Si no está interesado en el control de la probabilidad de error, utilizar una configuración con una pequeña cantidad de qubits en el registro superior no producirá una estimación precisa del valor de , pero será suficiente para determinar si es igual a cero o no. [2] : 263
Pruebas de relaciones cuánticas . es una extensión de la prueba de existencia cuántica, decide si se puede encontrar al menos una entrada en la base de datos que cumpla la relación con un determinado valor de referencia. [6] Por ejemplo, devuelve SÍ si la base de datos contiene algún valor mayor que 5; de lo contrario, devuelve NO. Las pruebas de relaciones cuánticas combinadas con la búsqueda logarítmica clásica forman un algoritmo de búsqueda cuántica mínimo/máximo eficiente. [5] : 152 [7]
{{cite book}}
: CS1 maint: location (link){{cite book}}
: CS1 maint: multiple names: authors list (link)