Está en la página 1de 5

Algoritmo de Deutsh-Jozsa

El algoritmo de Deutsch (1985) fue el primer


ejemplo explcito de cmo un ordenador
cuntico puede ganar a uno clsico. Fue
extendido por Deutsch y Jozsa (1992).

Orculo cuntico
Consideremos 4 funciones fj:
f1(0) = 0,

f1(1) = 0;

f2(0) = 0 ,

f2(1) = 1;

f3(0) = 1 ,

f3(1) = 0;

f4(0) = 1,

f4(1) = 1.

En un ordenador cuntico cada fj se implementa mediante


una transformacin unitaria Uj que acta sobre un estado
cuntico de 2 qubits:
U1 |00> = |00>,
U1 |10> = |10>;
U2 |00> = |00>,

U2 |10> = |11>;

U3 |00> = |01>,

U3 |10> = |10>;

U4 |00> = |01>,

U4 |10> = |11>.

El input es el estado del primer qubit. El otput es el estado


del segundo qubit.

Problema
Nos dan un orculo que computa una de las fj, pero no nos dicen cul. El
problema es averiguar si la funcin que nos dan es o no constante (f1 y f4 son
constantes, f2 y f3 no) haciendo el menor nmero de preguntas al orculo.
En un ordenador clsico habra que hacer dos consultas al orculo (una para
saber fj(0) y otra para saber fj(1)).
En un ordenador cuntico basta con hacer una consulta al orculo (una
medida sobre un qubit).

Algoritmo de Deutsh-Jozsa

|0>

|1>

Estado
inicial

Uj

H
H

Puertas lgicas cunticas

(H H) U1 (H H) |01> = |01>,
(H H) U2 (H H) |01> = |11>,
(H H) U3 (H H) |01> = |11>,
(H H) U4 (H H) |01> = |01>.

Medida

Deutsh-Jozsa generalizado
La ventaja de un ordenador cuntico es todava mayor si nos dan un orculo que
cacula una funcin desconocida de n inputs, f:{0,1}n {0,1} (por ejemplo, si n = 3,
f(0,0,0) = 0, f(0,0,1) = 1, ., f(1,1,1) = 0), de la que sabemos que es constante o
balanceada (i.e., el nmero de inputs que dan 0 es igual al nmero de inputs
que dan 1), y se trata de averiguar si la funcin es constante o balanceada
haciendo el menor nmero de preguntas al orculo.
En un ordenador clsico habra que hacer 1+2 n-1 preguntas al orculo, en el peor
caso.
En un ordenador cuntico basta con hacer una consulta al orculo (una medida
sobre un qubit).

También podría gustarte