Resumen
- Existe una teoría de la complejidad de los problemas de búsqueda (también conocidos como problemas de relación). Esta teoría incluye clases llamadas FP , FNP y FBQP que tratan de resolver problemas de búsqueda con diferentes tipos de recursos.
- A partir de los problemas de búsqueda, también puede definir problemas de decisión, lo que le permite relacionar los problemas de búsqueda con las clases habituales P , NP y BQP .
- Ya sea que considere la versión de búsqueda de la versión de decisión del problema, la forma en que considere la entrada al problema de Búsqueda no estructurada determinará qué límites superiores puede poner en su complejidad.
La complejidad de los problemas de relación.
Como observa, el problema de Grover resuelve un problema de búsqueda , que en la literatura de complejidad a veces también se conoce como un problema de relación . Es decir, es un problema del siguiente tipo:
La estructura de un problema de búsqueda general.
Dada una entrada una relación binaria , encuentre a tal que mantenga.R y R ( x , y )XRyR ( x , y)
Las clases de complejidad FP y FNP se definen en términos de tales problemas, donde en particular uno está interesado en el caso donde tiene longitud como máximo una función polinómica de la longitud de , y donde la relación puede por sí misma se calculará en una cantidad de tiempo limitada por algún polinomio en la longitud de .x R ( x , y ) ( x , y )yxR(x,y)(x,y)
En particular: el ejemplo del problema de 'búsqueda en la base de datos' para el que generalmente se aplica la búsqueda de Grover se puede describir de la siguiente manera.
Búsqueda no estructurada.
Dado un oráculo de entrada tal que para alguna función , encuentre un tal que . O | un ⟩ | b ⟩ = | un ⟩ | b ⊕ f ( a ) ⟩ f : { 0 , 1 } m → { 0 , 1 } y O | y ⟩ | 0 ⟩ = | y ⟩ | 1 ⟩O:H⊗m+12→H⊗m+12O|a⟩|b⟩=|a⟩|b⊕f(a)⟩f:{0,1}m→{0,1}yO|y⟩|0⟩=|y⟩|1⟩
Aquí, el oráculo mismo es la entrada al problema: desempeña el papel de , y la relación que estamos calculando es
R ( O , y )x
R(O,y)≡[O|y⟩|0⟩=|y⟩|1⟩]≡[f(y)=1].
Supongamos que, en lugar de un oráculo, se nos proporciona una entrada específica que describe cómo se debe calcular la función , entonces podemos considerar a qué clase de complejidad pertenece este problema. Como indica , la clase de complejidad apropiada que obtenemos depende de cómo se proporciona la entrada.fxfpyramids
Suponga que la función de entrada se proporciona como una base de datos (como a veces se describe el problema), donde cada entrada a la base de datos tiene cierta longitud . Si es la longitud de la cadena utilizada para describir la base de datos completa , entonces la base de datos tiene entradas. Entonces es posible buscar exhaustivamente en toda la base de datos consultando cada una de las entradas en secuencia, y detenerse si encontramos una entrada tal que . Suponiendo que cada consulta a la base de datos toma algo como tiempo, este procedimiento se detiene en el tiempon x N = n / ℓ N y f ( y ) = 1 O ( log N ) ⊆ O ( log n ) O ( N log N ) ⊆ O ( n log n )ℓnxN=n/ℓNyf(y)=1O(logN)⊆O(logn)O(NlogN)⊆O(nlogn), por lo que el problema está en FP .
Suponiendo que la búsqueda en la base de datos se puede realizar en superposición coherente, el algoritmo de Grover permite que este problema esté en FBQP . Sin embargo, como FP ⊆ FBQP , la búsqueda exhaustiva clásica también demuestra que este problema está en FBQP . Todo lo que obtenemos (hasta factores de registro) es una aceleración cuadrática debido a un ahorro en el número de consultas a la base de datos.
Suponga que la función de entrada se describe sucintamente, mediante un algoritmo de tiempo polinómico que toma una especificación y un argumento calculasobre una base estándar, , donde puede ser mucho más grande que . Un ejemplo sería donde especifica la forma CNF de alguna función booleana para , en cuyo caso podemos evaluar eficientemente en una entrada y ∈ { 0 , 1 } m O : H m + 1 2x∈{0,1}ny∈{0,1}mO:Hm+12→Hm+12m Ω ( log n ) x f : { 0 , 1 } m → { 0 , 1 } m ∈ O ( n ) f ( y ) y ∈ { 0 , 1 } m O|y⟩|b⟩mΩ(logn)xf:{0,1}m→{0,1}m∈O(n)f(y)y∈{0,1}my de ese modo evaluar eficientemente en estados de base estándar. Esto pone el problema en FNP .O
Dado un procedimiento para evaluar desde en el tiempo para , el algoritmo de Grover resuelve el problema de la búsqueda no estructurada de en el tiempo . Esto no es polinomial en , por lo que no es suficiente para poner este problema en FBQP : solo obtenemos una aceleración cuadrática, aunque esto sigue siendo un ahorro potencialmente enorme de tiempo de cálculo, suponiendo que la ventaja proporcionada por el algoritmo de Grover no se pierda la sobrecarga requerida para el cálculo cuántico tolerante a fallas.( x , y ) O ( p ( n ) ) n = | x | O O ( p ( n ) √f(y)(x,y)O(p(n))n=|x|O⊆O(p(n)√O(p(n)2m−−−√) n⊆O(p(n)2n−−√)n
En ambos casos, la complejidad se determina en función de la longitud de la cadena *, que especifica cómo calcular el oráculo . En el caso de que represente una tabla de consulta, tenemos , en cuyo caso el rendimiento en función de es similar al rendimiento en función de ; pero en el caso de que especifique de manera sucinta , y , el mensaje general de que Grover resuelve el problema ennxOxN=n/ℓNnxON∈O(2n/2)O(N−−√) las consultas oscurecen el mensaje más detallado de que este algoritmo sigue siendo tiempo exponencial para una computadora cuántica.
Complejidad de decisión por problemas de relación
Hay una forma directa de obtener problemas de decisión a partir de problemas de relación, que es bien conocido por la teoría de los problemas completos de NP : convertir el problema de búsqueda en una cuestión de la existencia de una solución válida.
La versión de decisión de un problema de búsqueda general.
Dada una entrada una relación binaria , determine si cumple.xR∃y:R(x,y)
La clase de complejidad NP se puede definir esencialmente en términos de tales problemas, cuando la relación es eficientemente computable: los problemas completos NP más famosos (CNF-SAT, HAMCYCLE, 3-COLORING) se refieren a la mera existencia de una solución válida para Un problema de relación eficientemente verificable. Este cambio de producir soluciones a simplemente afirmar la existencia de soluciones es también lo que nos permite describir versiones de factorización entera que están en BQP (preguntando si existen factores no triviales, en lugar de preguntar por los valores de factores no triviales) .R
En el caso de la búsqueda no estructurada, nuevamente qué clase de complejidad describe mejor el problema depende de cómo esté estructurada la entrada. Determinar si existe una solución a un problema de relación puede reducirse a encontrar y verificar una solución a ese problema. Por lo tanto, en el caso de que la entrada sea una cadena especifica el oráculo como una tabla de búsqueda, el problema de la búsqueda no estructurada está en P ; y más generalmente si especifica un medio eficiente de evaluar el oráculo, el problema está en NP . También es posible que haya una forma de determinar si existexx una solución para la búsqueda no estructurada que lo hace sin encontrar una solución, aunque en general no está claro cómo hacerlo de una manera que ofrezca una ventaja sobre la búsqueda real de una solución.
Complejidad de Oracle
Me visiblemente han ido cambiando de hablar sobre el oráculo , de manera que una entrada se puede utilizar para especificar (y evalúo) el oráculo . Pero, por supuesto, la forma principal en la que consideramos el algoritmo de Grover es como un resultado de oráculo en el que evaluar el oráculo toma un solo paso de tiempo y no requiere especulación. ¿Cómo consideramos la complejidad del problema en este caso?OxO
En este caso, estamos tratando con un modelo relativizado de cómputo, en el que evaluar este oráculo específico (que, recuerden, es la entrada al problema) es una operación primitiva. Este oráculo se define en todos los tamaños de entrada: para considerar el problema al buscar cadenas de longitud , debe especificar que está considerando cómo actúa el oráculo matemático en las entradas de longitud , lo que de nuevo se haría considerando la longitud de una cadena booleana tomada como entrada. En este caso, la forma en que presentaríamos el problema podría ser la siguiente.OnOnx
Buscar no estructurada en relación con Oracle . O
Dada una entrada de longitud ,x=11⋯1n
encuentre un (problema de relación) oy∈{0,1}n
determinar si existe un (problema de decisión)y∈{0,1}n
tal que .O|y⟩|0⟩=|y⟩|1⟩
Este problema está en (para el problema de decisión) o (para el problema de relación), dependiendo de la versión del problema que desee considerar. Debido a que el algoritmo de Grover no es un algoritmo de tiempo polinómico, no se sabe que este problema esté en o . De hecho, podemos decir algo más fuerte, como pronto veremos.NPOFNPOBQPOFBQPO
La razón por la que pasé por alto la descripción real, basada en Oracle, de la búsqueda no estructurada fue para tocar su punto de complejidad, y en particular para tocar la cuestión del tamaño de entrada . La complejidad de los problemas depende en gran medida de cómo se especifican las entradas: como una especificación sucinta (en el caso de cómo se especifica una función en CNF-SAT), como una especificación explícita (en el caso de una tabla de búsqueda para un función), o incluso como un número entero especificado en unario, es decir, como la longitud de una cadena de 1s como arriba (como en "Búsqueda no estructurada relativa a Oracle " arriba).O
Como podemos ver en el último caso, si tratamos la entrada solo como un oráculo, la situación parece un poco poco intuitiva, y ciertamente hace imposible hablar sobre las formas en que se puede realizar la "base de datos". Pero una virtud de considerar la versión relativizada del problema, con un oráculo real, es que podemos probar cosas que de lo contrario no tenemos idea de cómo probar. Si pudiéramos demostrar que la versión de decisión del sucinto problema de búsqueda no estructurada estaba en BQP , entonces podríamos darnos cuenta de un enorme avance en la computación práctica; y si pudiéramos demostrar que el problema de decisión no estaba realmente en BQP , entonces habríamos demostrado que P ≠ PSPACE, lo que sería un gran avance en la complejidad computacional. Tampoco sabemos cómo hacerlo. Pero para el problema relativizado, podemos mostrar que hay oráculos para los cuales la versión de decisión de "Búsqueda no estructurada relativa a " está en pero no en . Esto nos permite mostrar que, si bien la computación cuántica es potencialmente poderosa, hay razones para esperar que BQP probablemente no contenga NP , y que la versión de relación de Búsqueda no estructurada en particular es poco probable que esté contenida en FBQP sin imponer fuertes restricciones sobre cómo La entrada está representada.OONPOBQPO
\text{}
para escribir nombres de clases de complejidad. Por ejemplo\text{NP}
o\text{BQP}