Suponga que una función tiene la siguiente propiedad curiosa: existe s ∈ { 0 , 1 } n tal que f ( x ) = f ( y ) si y solo si x + y = s . Si s = 0 es la única solución, esto significa que f es 1 a 1; de lo contrario, hay un valor distinto de cerof:F2n→F2ns∈{0,1}nF( x ) = f( y)x + y= ss = 0F tal que f ( x )s para todo x , lo cual, debido a que 2 = 0 , significa que f es 2 a 1.F( x ) = f( x + s )X2 = 0F
¿Cuál es el costo para cualquier probabilidad prescrita de éxito, en una computadora clásica o cuántica, de distinguir una función aleatoria uniforme 1 a 1 de una función aleatoria uniforme 2 a 1 que satisfaga esta propiedad, si cada opción (1 a -1 o 2 a 1) tiene la misma probabilidad?
Es decir, en secreto lanzo una moneda de manera justa; si obtengo caras, te entrego un circuito de caja negra (clásica o cuántica, resp.) para una función aleatoria uniforme 1 a 1 , mientras que si obtengo colas, te entrego un circuito de caja negra para un aleatorio uniforme de 2 a -1 función f . ¿Cuánto tiene que pagar para obtener una probabilidad determinada de éxito p de saber si llegué a cara o cruz?FFpags
Este es el escenario del algoritmo de Simon . Tiene aplicaciones esotéricas en criptoanálisis sin sentido , * y fue un instrumento temprano en el estudio de las clases de complejidad BQP y BPP y una inspiración temprana para el algoritmo de Shor.
Simon presentó un algoritmo cuántico (§3.1, p. 7) que cuesta qubits y el tiempo esperado de O ( n ⋅ T f ( n ) + G ( n ) ) para una probabilidad cercana a 1 de éxito, donde T f ( n ) es el tiempo para calcular una superposición de valores de f en una entrada de tamaño ny donde G n × nO ( n + | fEl | )O ( n ⋅ TF(n)+G(n))Tf(n)fn es el tiempo para resolver unG(n)n×n sistema de ecuaciones lineales en .F2
Simon esbozó además una prueba (Teorema 3.1, p. 9) de que un algoritmo clásico que evalúa en no más de 2 n / 4 valores discretos distintos no puede adivinar la moneda con ventaja mejor que 2 - n /f2n/4 sobre una suposición aleatoria uniforme.2−n/2
En cierto sentido, esto responde positivamente a su pregunta: un cálculo cuántico que requiere un número lineal de evaluaciones de función aleatoria en una superposición cuántica de entradas puede lograr una probabilidad de éxito mucho mejor que un cálculo clásico que requiere un número exponencial de evaluaciones de una función aleatoria en modo discreto entradas , en el tamaño de las entradas. Pero en otro sentido, no responde a su pregunta en absoluto, porque podría ser que para cada función particular haya una forma más rápida de calcular la búsqueda.f
El algoritmo Deutsch-Jozsa sirve como una ilustración similar para un problema artificial ligeramente diferente al estudiar diferentes clases de complejidad, P y EQP, descubriendo los detalles que quedan como ejercicio para el lector.
* Simon no tiene sentido para el criptoanálisis porque solo un idiota inconcebiblemente confundido introduciría su clave secreta en el circuito cuántico del adversario para usarlo en una superposición cuántica de entradas, pero por alguna razón causa un revuelo cada vez que alguien publica un nuevo artículo sobre el uso del algoritmo de Simon romper las llaves de los idiotas con hardware imaginario, que es cómo funcionan todos estos ataques. Excepción: es posible que esto pueda romper la criptografía de caja blanca , pero la historia de seguridad para la criptografía de caja blanca incluso contra adversarios clásicos no es prometedora.