El algoritmo de Deutsch
El algoritmo de Deutsch resuelve el problema de la paridad para el caso especial en que En el contexto de la computación cuántica, este problema a veces se denomina problema de Deutsch, y seguiremos esa nomenclatura en esta lección.
Para ser precisos, la entrada se representa mediante una función de un bit a un bit. Existen cuatro funciones de este tipo:
La primera y la última de estas funciones son constantes, mientras que las dos del medio son balanceadas, lo que significa que los dos posibles valores de salida de la función aparecen el mismo número de veces al recorrer las entradas. El problema de Deutsch consiste en determinar a cuál de estas dos categorías pertenece la función de entrada: constante o balanceada.
Si vemos la función de entrada del problema de Deutsch como un acceso aleatorio a una cadena, estamos pensando en una cadena de dos bits:
Visto de esta manera, el problema de Deutsch consiste en calcular la paridad (o, de forma equivalente, el OR exclusivo) de los dos bits.
Todo algoritmo de consulta clásico que resuelva correctamente este problema debe consultar ambos bits: y Si aprendemos que por ejemplo, la respuesta podría seguir siendo o , dependiendo de si o , respectivamente. Todos los demás casos son similares; conocer solo uno de los dos bits no proporciona ninguna información sobre su paridad. Por lo tanto, el circuito booleano descrito en la sección anterior es lo mejor que podemos hacer en términos del número de consultas necesarias para resolver este problema.
Descripción del circuito cuántico
El algoritmo de Deutsch resuelve el problema de Deutsch con una sola consulta, lo que proporciona una ventaja cuantificable de la computación cuántica sobre la clásica. Puede parecer una ventaja modesta —una consulta en vez de dos— pero hay que empezar por algún sitio. Los avances científicos a veces tienen orígenes aparentemente humildes.
Aquí se muestra un circuito cuántico que describe el algoritmo de Deutsch:
Análisis
Para analizar el algoritmo de Deutsch, recorreremos la acción del circuito anterior e identificaremos los estados de los qubits en los momentos indicados por esta figura:
El estado inicial es y las dos operaciones Hadamard en el lado izquierdo del circuito transforman este estado en
(Como siempre, seguimos la convención de ordenamiento de qubits de Qiskit, que coloca el qubit superior a la derecha y el qubit inferior a la izquierda.) Puede resultar poco intuitivo escribir este estado producto parcialmente distribuido (dejando los estados del qubit 1 factorizados), pero esto hará que nuestras expresiones posteriores sean más compactas.
A continuación, se aplica la compuerta . De acuerdo con la definición de la compuerta , el valor de la función para el estado clásico del qubit superior/más a la derecha se aplica con XOR al qubit inferior/más a la izquierda, lo que transforma en el estado
Podemos simplificar esta expresión observando que la fórmula
es válida para ambos valores posibles Más explícitamente, los dos casos son los siguientes.
Así, podemos expresar de forma alternativa de la siguiente manera:
¡Algo interesante acaba de ocurrir! Aunque la acción de la compuerta sobre los estados de la base estándar deja intacto el qubit superior/más a la derecha y aplica el XOR del valor de la función al qubit inferior/más a la izquierda, aquí vemos que el estado del qubit superior/más a la derecha ha cambiado (en general) mientras que el estado del qubit inferior/más a la izquierda permanece igual, estando específicamente en el estado antes y después de que se aplique la compuerta . Este fenómeno se conoce como phase kickback (retroceso de fase), y hablaremos más sobre él en breve.
Con una última simplificación, que consiste en extraer el factor fuera de la suma, obtenemos esta expresión del estado :
Observa que en esta expresión tenemos en el exponente de en lugar de que es lo que podríamos esperar desde un punto de vista puramente algebraico, pero obtenemos el mismo resultado de cualquier forma. Esto se debe a que el valor para cualquier entero depende únicamente de si es par o impar.
Aplicar la compuerta Hadamard final al qubit superior nos deja con el estado