Nota: me imagino que esta será una simple pregunta de sí/no para las personas mejor versadas en este tema que yo, pero sin embargo, proporcionaré un poco de información primero para la edificación de cualquiera que pueda encontrar esto más tarde. Como tal, es posible que desee pasar al final de la pregunta real.
Esencialmente, cualquier texto de introducción a la computación cuántica (por ejemplo, el libro clásico de Nielsen y Chuang , 1.4.4) incluirá una discusión sobre el algoritmo Deutsch-Jozsa , cuya idea es bastante sencilla. Es (siguiendo aproximadamente a Nielsen y Chuang por conveniencia) una solución al problema de Deutsch :
Problema de Deutsch: Bob tiene un circuito de oráculo (implementando una transformación unitaria) que, dada alguna -entrada de bits , da , con , como una salida para alguna función desconocida . Esquemáticamente tenemos:
Ahora, supongamos que es constante o balanceada (es decir, la salida es 0 la mitad del tiempo, 1 para la otra mitad). Entonces uno puede preguntar: si Alice vive muy, muy lejos de Bob y quiere enviar a Bob bits, que luego los mete en su ingenioso oráculo y le envía los bits resultantes, entonces, ¿cuántas consultas de este tipo tiene que hacer Alice para identificar como constante o balanceada?
En el caso de bit clásico, la respuesta es sencilla: Alice solo puede enviar un valor para a la vez, por lo que necesita al menos Consultas para saber qué tipo de están tratando.
En el caso cuántico, podemos utilizar la interferencia y esta pregunta se puede responder utilizando el algoritmo Deutsch-Jozsa, como se mencionó anteriormente. Explícitamente:
Algoritmo de Deutsch-Jozsa: Alice toma , los mete en la transformación de Hadamard (es decir, aplica una puerta de Hadamard a cada uno de los qubits que se tensan), envía eso a Bob y luego aplica a lo que Bob envía de vuelta. Esquemáticamente se tiene:
Luego se queda con (después de un cálculo breve, vea el libro de N&C para más detalles):
Finalmente, se observa que el coeficiente de estado en la suma anterior es
lo que significa que una medida todos los demás coeficientes son 0 si es constante, y al menos uno de los otros coeficientes es distinto de cero si es equilibrado; por lo tanto, una medida que da como resultado todos Los medios le dicen a Alice que es constante, y cualquier otro resultado significa que está equilibrado. Por lo tanto, Alice solo necesita una única consulta para identificar qué tipo de función se esconde en el oráculo de Bob, ¡una mejora significativa en el caso clásico!
Con todo eso fuera del camino, finalmente podemos llegar a la pregunta:
Pregunta: Me parece que la mayoría de las funciones booleanas como anteriores no son constantes ni equilibrados. El matemático que hay en mí no puede evitar preguntarse: ¿puede este algoritmo realmente permitirle distinguir también entre otras funciones booleanas? ¿Es esta una pregunta interesante para hacer?
No, el algoritmo de Deutsch-Jozsa solo le permite distinguir de manera determinista entre funciones constantes y balanceadas. Por supuesto, uno esperaría que, hasta cierto punto, todavía se puedan distinguir probabilísticamente otras funciones.
El algoritmo de Deutsch-Jozsa es, por lo tanto, un ejemplo de un "problema de promesa", que solo funciona en entradas que satisfacen una promesa determinada (aquí, siendo constante o balanceada).
craig gidney
ÓperaDreamland
Sayán Dey