Saltar al contenido principal

Implementación con Qiskit

En esta lección implementamos algunas de las ideas de la lección sobre entrelazamiento en acción, usando Qiskit.

# Added by doQumentation — required packages for this notebook
!pip install -q numpy qiskit qiskit-aer
from qiskit import __version__

print(__version__)
2.1.1
from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister
from qiskit_aer import AerSimulator
from qiskit.visualization import plot_histogram, array_to_latex
from qiskit.result import marginal_distribution
from qiskit.circuit.library import UGate
from numpy import pi, random

A continuación se muestra una implementación del protocolo de teleportación mediante un circuito cuántico.

qubit = QuantumRegister(1, "Q")
ebit0 = QuantumRegister(1, "A")
ebit1 = QuantumRegister(1, "B")
a = ClassicalRegister(1, "a")
b = ClassicalRegister(1, "b")

protocol = QuantumCircuit(qubit, ebit0, ebit1, a, b)

# Prepare ebit used for teleportation
protocol.h(ebit0)
protocol.cx(ebit0, ebit1)
protocol.barrier()

# Alice's operations
protocol.cx(qubit, ebit0)
protocol.h(qubit)
protocol.barrier()

# Alice measures and sends classical bits to Bob
protocol.measure(ebit0, a)
protocol.measure(qubit, b)
protocol.barrier()

# Bob uses the classical bits to conditionally apply gates
with protocol.if_test((a, 1)):
protocol.x(ebit1)
with protocol.if_test((b, 1)):
protocol.z(ebit1)

display(protocol.draw(output="mpl"))

Salida de la celda de código anterior

El circuito utiliza algunas características de Qiskit que aún no habíamos visto en lecciones anteriores, como las funciones barrier e if_test. La función barrier crea una separación visual que hace el diagrama del circuito más legible, y además impide que Qiskit aplique diversas simplificaciones y optimizaciones a través de la barrera durante la compilación cuando los circuitos se ejecutan en hardware real. La función if_test aplica una operación de forma condicional dependiendo de un bit o registro clásico.

El circuito primero inicializa (A,B)(\mathsf{A},\mathsf{B}) en el estado ϕ+\vert \phi^+\rangle (lo cual no forma parte del protocolo en sí), seguido de las operaciones de Alice, luego sus mediciones y, finalmente, las operaciones de Bob. Para verificar que el protocolo funciona correctamente, aplicaremos una compuerta de un solo qubit generada aleatoriamente al estado inicializado 0\vert 0\rangle de Q\mathsf{Q}, con el fin de obtener un vector de estado cuántico aleatorio para teleportar. Al aplicar la inversa (es decir, la transpuesta conjugada) de esa compuerta a B\mathsf{B} después de ejecutar el protocolo, podemos verificar que el estado fue teleportado midiendo para comprobar que ha vuelto al estado 0\vert 0\rangle.

Primero elegiremos aleatoriamente una compuerta unitaria de un qubit.

random_gate = UGate(
theta=random.random() * 2 * pi,
phi=random.random() * 2 * pi,
lam=random.random() * 2 * pi,
)

display(array_to_latex(random_gate.to_matrix()))
[0.98972121580.01950801030.141673401i0.0603319186+0.1296609988i0.8319925233+0.5360378028i] \begin{bmatrix} 0.9897212158 & -0.0195080103 - 0.141673401 i \\ 0.0603319186 + 0.1296609988 i & -0.8319925233 + 0.5360378028 i \\ \end{bmatrix}

Ahora crearemos un nuevo circuito de prueba que primero aplica nuestra compuerta aleatoria a Q,\mathsf{Q}, luego ejecuta el circuito de teleportación y, finalmente, aplica la inversa de nuestra compuerta aleatoria al qubit B\mathsf{B} y mide. El resultado debería ser 00 con certeza.

# Create a new circuit including the same bits and qubits used in the
# teleportation protocol.

test = QuantumCircuit(qubit, ebit0, ebit1, a, b)

# Start with the randomly selected gate on Q

test.append(random_gate, qubit)
test.barrier()

# Append the entire teleportation protocol from above.

test = test.compose(protocol)
test.barrier()

# Finally, apply the inverse of the random unitary to B and measure.

test.append(random_gate.inverse(), ebit1)
result = ClassicalRegister(1, "Result")
test.add_register(result)
test.measure(ebit1, result)

display(test.draw(output="mpl"))

Salida de la celda de código anterior

Por último, ejecutemos el simulador Aer en este circuito y grafiquemos un histograma de las salidas. Veremos las estadísticas de los tres bits clásicos: el bit inferior/más a la izquierda siempre debería ser 0,0, lo que indica que el qubit Q\mathsf{Q} fue teleportado exitosamente a B,\mathsf{B}, mientras que los otros dos bits deberían ser aproximadamente uniformes.

result = AerSimulator().run(test).result()
statistics = result.get_counts()
display(plot_histogram(statistics))

Salida de la celda de código anterior

También podemos filtrar las estadísticas para centrarnos únicamente en el qubit de resultado de la prueba si lo deseamos, de esta manera:

filtered_statistics = marginal_distribution(statistics, [2])
display(plot_histogram(filtered_statistics))

Salida de la celda de código anterior

Codificación superdensa

La codificación superdensa es un protocolo que, en cierto sentido, persigue un objetivo complementario al de la teletransportación. En lugar de permitir la transmisión de un qubit usando dos bits clásicos de comunicación (al costo de un e-bit de entrelazamiento), permite la transmisión de dos bits clásicos usando un qubit de comunicación cuántica (también al costo de un e-bit de entrelazamiento).

En detalle, tenemos un emisor (Alicia) y un receptor (Bob) que comparten un e-bit de entrelazamiento. Según las convenciones de la lección, esto significa que Alicia tiene un qubit A,\mathsf{A}, Bob tiene un qubit B,\mathsf{B}, y juntos el par (A,B)(\mathsf{A},\mathsf{B}) se encuentra en el estado ϕ+.\vert\phi^+\rangle. Alicia desea transmitirle a Bob dos bits clásicos, que denotaremos como cc y d,d, y lo logrará enviándole un qubit.

Es razonable considerar esta hazaña como menos impresionante que la de la teletransportación. Enviar qubits seguirá siendo mucho más difícil que enviar bits clásicos en el futuro previsible, así que intercambiar un qubit de comunicación cuántica por dos bits de comunicación clásica, con el costo de un e-bit encima, no parece valer la pena. Sin embargo, esto no implica que la codificación superdensa no sea interesante, porque sin duda lo es.

Siguiendo el tema de la lección, una razón por la que la codificación superdensa es interesante es que demuestra un uso concreto y (en el contexto de la teoría de la información) bastante llamativo del entrelazamiento. Un famoso teorema de la teoría de la información cuántica, conocido como el teorema de Holevo, implica que sin el uso de un estado entrelazado compartido, es imposible comunicar más de un bit de información clásica enviando un único qubit. (El teorema de Holevo es más general que esto. Su enunciado preciso es técnico y requiere explicación, pero esta es una de sus consecuencias.) Así, mediante la codificación superdensa, el entrelazamiento compartido permite efectivamente duplicar la capacidad de transmisión de información clásica al enviar qubits.

Protocolo

El siguiente diagrama de circuito cuántico describe el protocolo de codificación superdensa:

Circuito de codificación superdensa

En palabras, esto es lo que hace Alicia:

  1. Si d=1,d=1, Alicia aplica una compuerta ZZ a su qubit A\mathsf{A} (y si d=0d=0 no hace nada).

  2. Si c=1,c=1, Alicia aplica una compuerta XX a su qubit A\mathsf{A} (y si c=0c=0 no hace nada).

Luego, Alicia le envía su qubit A\mathsf{A} a Bob.

Cuando Bob recibe el qubit A\mathsf{A}, primero aplica una compuerta NOT controlada, con A\mathsf{A} como control y B\mathsf{B} como objetivo, y luego aplica una compuerta de Hadamard a A.\mathsf{A}. Después mide B\mathsf{B} para obtener cc y A\mathsf{A} para obtener d,d, usando mediciones en la base estándar en ambos casos.

Análisis

La idea detrás de este protocolo es sencilla: Alicia elige efectivamente qué estado de Bell quiere compartir con Bob, le envía su qubit, y Bob mide para determinar cuál estado de Bell eligió Alicia.

Es decir, inicialmente comparten ϕ+,\vert\phi^+\rangle, y dependiendo de los bits cc y d,d, Alicia deja ese estado intacto o lo transforma en uno de los otros estados de Bell aplicando I,\mathbb{I}, X,X, Z,Z, o XZXZ a su qubit A.\mathsf{A}.

(II)ϕ+=ϕ+(IZ)ϕ+=ϕ(IX)ϕ+=ψ+(IXZ)ϕ+=ψ\begin{aligned} (\mathbb{I} \otimes \mathbb{I}) \vert \phi^+ \rangle & = \vert \phi^+\rangle \\ (\mathbb{I} \otimes Z) \vert \phi^+ \rangle & = \vert \phi^-\rangle \\ (\mathbb{I} \otimes X) \vert \phi^+ \rangle & = \vert \psi^+\rangle \\ (\mathbb{I} \otimes XZ) \vert \phi^+ \rangle & = \vert \psi^-\rangle \end{aligned}

Las acciones de Bob producen los siguientes efectos sobre los cuatro estados de Bell:

ϕ+00ϕ01ψ+10ψ11\begin{aligned} \vert \phi^+\rangle & \mapsto \vert 00\rangle\\ \vert \phi^-\rangle & \mapsto \vert 01\rangle\\ \vert \psi^+\rangle & \mapsto \vert 10\rangle\\ \vert \psi^-\rangle & \mapsto -\vert 11\rangle\\ \end{aligned}

Esto puede verificarse directamente calculando los resultados de las operaciones de Bob sobre cada uno de estos estados por separado.

Así, cuando Bob realiza sus mediciones, puede determinar cuál estado de Bell eligió Alicia. Verificar que el protocolo funciona correctamente consiste en revisar cada caso:

  • Si cd=00,cd = 00, entonces el estado de (B,A)(\mathsf{B},\mathsf{A}) cuando Bob recibe A\mathsf{A} es ϕ+.\vert \phi^+\rangle. Él transforma este estado en 00\vert 00\rangle y obtiene cd=00.cd = 00.

  • Si cd=01,cd = 01, entonces el estado de (B,A)(\mathsf{B},\mathsf{A}) cuando Bob recibe A\mathsf{A} es ϕ.\vert \phi^-\rangle. Él transforma este estado en 01\vert 01\rangle y obtiene cd=01.cd = 01.

  • Si cd=10,cd = 10, entonces el estado de (B,A)(\mathsf{B},\mathsf{A}) cuando Bob recibe A\mathsf{A} es ψ+.\vert \psi^+\rangle. Él transforma este estado en 10\vert 10\rangle y obtiene cd=10.cd = 10.

  • Si cd=11,cd = 11, entonces el estado de (B,A)(\mathsf{B},\mathsf{A}) cuando Bob recibe A\mathsf{A} es ψ.\vert \psi^-\rangle. Él transforma este estado en 11-\vert 11\rangle y obtiene cd=11.cd = 11. (El factor de fase negativo no tiene ningún efecto aquí.)

Implementación de codificación superdensa

A continuación se presenta una implementación simple de la codificación superdensa donde se especifica el circuito en función de los bits a transmitir. Primero elegiremos dos bits para transmitir. (Más adelante los elegiremos de forma aleatoria, pero por ahora simplemente haremos una elección arbitraria.)

c = "1"
d = "0"

Ahora construiremos el circuito correspondiente. Aquí le dejaremos a Qiskit usar los nombres por defecto para los qubits: q0\mathsf{q}_0 para el qubit superior y q1\mathsf{q}_1 para el inferior.

protocol = QuantumCircuit(2)

# Prepare ebit used for superdense coding
protocol.h(0)
protocol.cx(0, 1)
protocol.barrier()

# Alice's operations
if d == "1":
protocol.z(0)
if c == "1":
protocol.x(0)
protocol.barrier()

# Bob's actions
protocol.cx(0, 1)
protocol.h(0)
protocol.measure_all()

display(protocol.draw(output="mpl"))

Salida de la celda de código anterior

Aquí no hay mucho de nuevo, excepto la función measure_all, que mide todos los qubits y coloca los resultados en un único registro clásico (que en este caso contiene dos bits).

Al ejecutar el simulador Aer se obtiene la salida esperada.

result = AerSimulator().run(protocol).result()
statistics = result.get_counts()

for outcome, frequency in statistics.items():
print(f"Measured {outcome} with frequency {frequency}")

display(plot_histogram(statistics))
Measured 10 with frequency 1024

Salida de la celda de código anterior

Ahora usaremos un qubit adicional como generador de bits aleatorios — esencialmente para lanzar monedas justas. Lo utilizaremos para elegir cc y dd de forma aleatoria, y luego ejecutaremos el protocolo de codificación superdensa.

rbg = QuantumRegister(1, "coin")
ebit0 = QuantumRegister(1, "A")
ebit1 = QuantumRegister(1, "B")

Alice_c = ClassicalRegister(1, "Alice c")
Alice_d = ClassicalRegister(1, "Alice d")

test = QuantumCircuit(rbg, ebit0, ebit1, Alice_d, Alice_c)

# Initialize the ebit
test.h(ebit0)
test.cx(ebit0, ebit1)
test.barrier()

# Use the 'coin' qubit twice to generate Alice's bits c and d.
test.h(rbg)
test.measure(rbg, Alice_c)
test.h(rbg)
test.measure(rbg, Alice_d)
test.barrier()

# Now the protocol runs, starting with Alice's actions, which depend
# on her bits.
with test.if_test((Alice_d, 1), label="Z"):
test.z(ebit0)
with test.if_test((Alice_c, 1), label="X"):
test.x(ebit0)
test.barrier()

# Bob's actions
test.cx(ebit0, ebit1)
test.h(ebit0)
test.barrier()

Bob_c = ClassicalRegister(1, "Bob c")
Bob_d = ClassicalRegister(1, "Bob d")
test.add_register(Bob_d)
test.add_register(Bob_c)
test.measure(ebit0, Bob_d)
test.measure(ebit1, Bob_c)

display(test.draw(output="mpl"))

Salida de la celda de código anterior

Al ejecutar el simulador Aer se muestran los resultados: los bits clásicos de Alicia y Bob siempre coinciden.

result = AerSimulator().run(test).result()
statistics = result.get_counts()
display(plot_histogram(statistics))

Salida de la celda de código anterior

El juego CHSH

El último ejemplo que veremos en esta lección no es un protocolo, sino un juego conocido como el juego CHSH.

Cuando hablamos de un juego en este contexto, no nos referimos a algo pensado para divertirse o competir, sino a una abstracción matemática en el sentido de la teoría de juegos. Las abstracciones matemáticas de juegos se estudian en economía y ciencias de la computación, por ejemplo, y son a la vez fascinantes y útiles.

Las letras CHSH hacen referencia a los autores — John Clauser, Michael Horne, Abner Shimony y Richard Holt — de un artículo de 1969 donde se describió el ejemplo por primera vez. Ellos no lo describieron como un juego, sino como un experimento. Sin embargo, su descripción como juego es natural e intuitiva.

El juego CHSH pertenece a una clase de juegos conocidos como juegos no locales. Los juegos no locales son increíblemente interesantes y tienen conexiones profundas con la física, las ciencias de la computación y las matemáticas — guardando misterios que aún permanecen sin resolver. Comenzaremos la sección explicando qué son los juegos no locales y luego nos centraremos en el juego CHSH y en lo que lo hace interesante.

Juegos no locales

Un juego no local es un juego cooperativo donde dos jugadores, Alice y Bob, trabajan juntos para lograr un resultado particular. El juego está dirigido por un árbitro, que actúa según reglas estrictas conocidas por Alice y Bob.

Alice y Bob pueden prepararse para el juego como deseen, pero una vez que comienza, tienen prohibido comunicarse. Podemos imaginar el juego tomando lugar en algún tipo de instalación segura — como si el árbitro jugara el papel de un detective y Alice y Bob fueran sospechosos siendo interrogados en habitaciones separadas. Pero otra forma de pensar en la configuración es que Alice y Bob están separados por una gran distancia, y la comunicación está prohibida porque la velocidad de la luz no lo permite dentro del tiempo de ejecución del juego. Es decir, si Alice intenta enviar un mensaje a Bob, el juego habrá terminado antes de que él lo reciba, y viceversa.

La forma en que funciona un juego no local es que el árbitro primero le hace una pregunta a cada uno. Usaremos la letra xx para referirnos a la pregunta de Alice e yy para referirnos a la de Bob. Aquí estamos pensando en xx e yy como estados clásicos, y en el juego CHSH xx e yy son bits.

El árbitro usa aleatoriedad para seleccionar estas preguntas. Para ser precisos, existe una probabilidad p(x,y)p(x,y) asociada con cada par posible (x,y)(x,y) de preguntas, y el árbitro se ha comprometido a elegir las preguntas aleatoriamente, en el momento del juego, de esta manera. Todos, incluyendo Alice y Bob, conocen estas probabilidades — pero nadie sabe específicamente qué par (x,y)(x,y) será elegido hasta que comience el juego.

Después de que Alice y Bob reciben sus preguntas, deben proporcionar respuestas: la respuesta de Alice es aa y la de Bob es b.b. De nuevo, estos son estados clásicos en general, y bits en el juego CHSH.

En este punto el árbitro toma una decisión: Alice y Bob ganan o pierden dependiendo de si el par de respuestas (a,b)(a,b) es considerado correcto para el par de preguntas (x,y)(x,y) según un conjunto fijo de reglas. Distintas reglas significan distintos juegos, y las reglas del juego CHSH en particular se describen en la sección siguiente. Como ya se sugirió, las reglas son conocidas por todos.

El siguiente diagrama ofrece una representación gráfica de las interacciones.

Juego no local

La incertidumbre sobre qué preguntas se harán, y específicamente el hecho de que cada jugador desconoce la pregunta del otro, es lo que hace que los juegos no locales sean un desafío para Alice y Bob — igual que sospechosos que conspiran en habitaciones separadas intentando mantener una historia coherente.

Una descripción precisa del árbitro define una instancia de un juego no local. Esto incluye una especificación de las probabilidades p(x,y)p(x,y) para cada par de preguntas junto con las reglas que determinan si cada par de respuestas (a,b)(a,b) gana o pierde para cada par de preguntas posible (x,y).(x,y).

Veremos el juego CHSH en un momento, pero antes reconozcamos brevemente que también es interesante considerar otros juegos no locales. De hecho, es extremadamente interesante; hay algunos juegos no locales bastante simples para los cuales actualmente se desconoce qué tan bien pueden jugar Alice y Bob usando entrelazamiento. La configuración es sencilla, pero hay complejidad en juego — y para algunos juegos puede ser imposiblemente difícil calcular las mejores estrategias o estrategias cercanas a las óptimas para Alice y Bob. Esta es la naturaleza sorprendentemente contraintuitiva del modelo de juegos no locales.

Descripción del juego CHSH

Aquí está la descripción precisa del juego CHSH, donde (como antes) xx es la pregunta de Alice, yy es la pregunta de Bob, aa es la respuesta de Alice y bb es la respuesta de Bob:

  • Las preguntas y respuestas son todas bits: x,y,a,b{0,1}.x,y,a,b\in\{0,1\}.

  • El árbitro elige las preguntas (x,y)(x,y) uniformemente al azar. Es decir, cada una de las cuatro posibilidades, (0,0),(0,0), (0,1),(0,1), (1,0),(1,0), y (1,1),(1,1), se selecciona con probabilidad 1/4.1/4.

  • Las respuestas (a,b)(a,b) ganan para las preguntas (x,y)(x,y) si ab=xya\oplus b = x\wedge y y pierden en caso contrario. La siguiente tabla expresa esta regla listando las condiciones de victoria y derrota sobre las respuestas (a,b)(a,b) para cada par de preguntas (x,y).(x,y).

(x,y)winlose(0,0)a=bab(0,1)a=bab(1,0)a=bab(1,1)aba=b\begin{array}{ccc} (x,y) & \text{win} & \text{lose} \\[1mm]\hline \rule{0mm}{4mm}(0,0) & a = b & a \neq b \\[1mm] (0,1) & a = b & a \neq b \\[1mm] (1,0) & a = b & a \neq b \\[1mm] (1,1) & a \neq b & a = b \end{array}

Limitación de las estrategias clásicas

Ahora consideremos estrategias para Alice y Bob en el juego CHSH, comenzando con las estrategias clásicas.

Estrategias deterministas

Empezaremos con las estrategias deterministas, donde la respuesta aa de Alice es una función de la pregunta xx que recibe, y del mismo modo la respuesta bb de Bob es una función de la pregunta yy que él recibe. Así, por ejemplo, podemos escribir a(0)a(0) para representar la respuesta de Alice cuando su pregunta es 0,0, y a(1)a(1) para representar su respuesta cuando su pregunta es 1.1.

Ninguna estrategia determinista puede ganar el juego CHSH todas las veces. Una manera de entender esto es simplemente ir uno por uno a través de todas las estrategias deterministas posibles y verificar que cada una pierde para al menos uno de los cuatro pares de preguntas posibles. Alice y Bob pueden elegir entre cuatro funciones posibles de un bit a un bit — que encontramos en la lección sobre Sistemas individuales — y por eso hay 1616 estrategias deterministas diferentes en total que verificar.

También podemos razonarlo analíticamente. Si la estrategia de Alice y Bob gana cuando (x,y)=(0,0),(x,y) = (0,0), entonces debe ser que a(0)=b(0);a(0) = b(0); si su estrategia gana cuando (x,y)=(0,1),(x,y) = (0,1), entonces a(0)=b(1);a(0) = b(1); y del mismo modo, si la estrategia gana para (x,y)=(1,0)(x,y)=(1,0) entonces a(1)=b(0).a(1) = b(0). Así, si su estrategia gana para las tres posibilidades, entonces

b(1)=a(0)=b(0)=a(1).b(1) = a(0) = b(0) = a(1).

Esto implica que la estrategia pierde en el caso final (x,y)=(1,1),(x,y) = (1,1), donde ganar requiere que a(1)b(1).a(1) \neq b(1). Por lo tanto, no puede existir una estrategia determinista que gane siempre.

Por otro lado, es fácil encontrar estrategias deterministas que ganen en tres de los cuatro casos, como a(0)=a(1)=b(0)=b(1)=0.a(0)=a(1)=b(0)=b(1)=0. De esto concluimos que la probabilidad máxima de que Alice y Bob ganen usando una estrategia determinista es 3/4.3/4.

Estrategias probabilistas

Como acabamos de concluir, Alice y Bob no pueden hacer mejor que ganar el juego CHSH el 75% de las veces usando una estrategia determinista. ¿Pero qué pasa con una estrategia probabilista? ¿Podría ayudar a Alice y Bob usar aleatoriedad — incluyendo la posibilidad de aleatoriedad compartida, donde sus elecciones aleatorias están correlacionadas?

Resulta que las estrategias probabilistas no ayudan en absoluto a aumentar la probabilidad de que Alice y Bob ganen. Esto se debe a que toda estrategia probabilista puede verse alternativamente como una selección aleatoria de una estrategia determinista, igual que (como se menciónó en la lección de Sistemas individuales) las operaciones probabilistas pueden verse como selecciones aleatorias de operaciones deterministas. El promedio nunca es mayor que el máximo, por lo que se sigue que las estrategias probabilistas no ofrecen ninguna ventaja en términos de su probabilidad global de victoria.

Así, ganar con probabilidad 3/43/4 es lo mejor que Alice y Bob pueden hacer usando cualquier estrategia clásica, ya sea determinista o probabilista.

Estrategia para el juego CHSH

Una pregunta natural en este punto es si Alice y Bob pueden hacerlo mejor usando una estrategia cuántica. En particular, si comparten un estado cuántico entrelazado como sugiere la siguiente figura, que podrían haber preparado antes de jugar el juego, ¿pueden aumentar su probabilidad de victoria?

Juego no local con entrelazamiento

La respuesta es sí, y ese es el punto principal del ejemplo y la razón por la que es tan interesante. Así que veamos exactamente cómo Alice y Bob pueden hacerlo mejor en este juego usando entrelazamiento.

Vectores y matrices necesarios

Lo primero que debemos hacer es definir un vector de estado de qubit ψθ,\vert \psi_{\theta}\rangle, para cada número real θ\theta (que pensaremos como un ángulo medido en radianes) de la siguiente forma.

ψθ=cos(θ)0+sin(θ)1\vert\psi_{\theta}\rangle = \cos(\theta)\vert 0\rangle + \sin(\theta) \vert 1\rangle

Aquí hay algunos ejemplos simples:

ψ0=0ψπ/2=1ψπ/4=+ψπ/4=\begin{aligned} \vert\psi_{0}\rangle & = \vert 0\rangle \\ \vert\psi_{\pi/2}\rangle & = \vert 1\rangle \\ \vert\psi_{\pi/4}\rangle & = \vert + \rangle \\ \vert\psi_{-\pi/4}\rangle & = \vert - \rangle \end{aligned}

También tenemos los siguientes ejemplos, que aparecen en el análisis de más adelante:

ψπ/8=2+2202221ψπ/8=2+220+2221ψ3π/8=2220+2+221ψ5π/8=2220+2+221\begin{aligned} \vert\psi_{-\pi/8}\rangle & = \frac{\sqrt{2 + \sqrt{2}}}{2}\vert 0\rangle -\frac{\sqrt{2 - \sqrt{2}}}{2}\vert 1\rangle \\[1mm] \vert\psi_{\pi/8}\rangle & = \frac{\sqrt{2 + \sqrt{2}}}{2}\vert 0\rangle + \frac{\sqrt{2 - \sqrt{2}}}{2}\vert 1\rangle \\[1mm] \vert\psi_{3\pi/8}\rangle & = \frac{\sqrt{2 - \sqrt{2}}}{2}\vert 0\rangle + \frac{\sqrt{2 + \sqrt{2}}}{2}\vert 1\rangle \\[1mm] \vert\psi_{5\pi/8}\rangle & = -\frac{\sqrt{2 - \sqrt{2}}}{2}\vert 0\rangle + \frac{\sqrt{2 + \sqrt{2}}}{2}\vert 1\rangle \end{aligned}

Al observar la forma general, vemos que el producto interno entre dos cualesquiera de estos vectores tiene esta fórmula:

ψαψβ=cos(α)cos(β)+sin(α)sin(β)=cos(αβ).(3)\langle \psi_{\alpha} \vert \psi_{\beta} \rangle = \cos(\alpha)\cos(\beta) + \sin(\alpha)\sin(\beta) = \cos(\alpha-\beta). \tag{3}

En detalle, como las entradas de estos vectores son solo números reales, no hay conjugados complejos de los cuales preocuparse: el producto interno es el producto de los cosenos más el producto de los senos. Usar una de las fórmulas de adición de ángulos de trigonometría conduce a la simplificación anterior. Esta fórmula revela la interpretación geométrica del producto interno entre vectores unitarios reales como el coseno del ángulo entre ellos.

Si calculamos el producto interno del producto tensorial de dos cualesquiera de estos vectores con el estado ϕ+\vert \phi^+\rangle, obtenemos una expresión similar, excepto que tiene un 2\sqrt{2} en el denominador:

ψαψβϕ+=cos(α)cos(β)+sin(α)sin(β)2=cos(αβ)2.(4)\langle \psi_{\alpha} \otimes \psi_{\beta} \vert \phi^+ \rangle = \frac{\cos(\alpha)\cos(\beta) + \sin(\alpha)\sin(\beta)}{\sqrt{2}} = \frac{\cos(\alpha-\beta)}{\sqrt{2}}. \tag{4}

Nuestro interés en este producto interno en particular quedará claro en breve, pero por ahora simplemente lo observamos como una fórmula.

A continuación, definamos una matriz unitaria UθU_{\theta} para cada ángulo θ\theta de la siguiente manera.

Uθ=0ψθ+1ψθ+π/2U_{\theta} = \vert 0 \rangle \langle \psi_{\theta} \vert + \vert 1\rangle\langle \psi_{\theta+\pi/2} \vert

Intuitivamente, esta matriz transforma ψθ\vert\psi_{\theta}\rangle en 0\vert 0\rangle y ψθ+π/2\vert \psi_{\theta + \pi/2}\rangle en 1.\vert 1\rangle. Para verificar que es una matriz unitaria, una observación clave es que los vectores ψθ\vert\psi_{\theta}\rangle y ψθ+π/2\vert\psi_{\theta + \pi/2}\rangle son ortogonales para todo ángulo θ\theta:

ψθψθ+π/2=cos(π/2)=0.\langle \psi_{\theta} \vert \psi_{\theta + \pi/2} \rangle = \cos(\pi/2) = 0.

Así, encontramos que

UθUθ=(0ψθ+1ψθ+π/2)(ψθ0+ψθ+π/21)=0ψθψθ0+0ψθψθ+π/21+1ψθ+π/2ψθ0+1ψθ+π/2ψθ+π/21=00+11=I.\begin{aligned} U_{\theta} U_{\theta}^{\dagger} & = \bigl(\vert 0 \rangle \langle \psi_{\theta} \vert + \vert 1\rangle\langle \psi_{\theta+\pi/2} \vert\bigr) \bigl(\vert \psi_{\theta} \rangle \langle 0 \vert + \vert \psi_{\theta+\pi/2}\rangle\langle 1 \vert\bigr) \\[1mm] & = \vert 0 \rangle \langle \psi_{\theta} \vert \psi_{\theta} \rangle \langle 0 \vert + \vert 0 \rangle \langle \psi_{\theta} \vert \psi_{\theta+\pi/2} \rangle \langle 1 \vert + \vert 1 \rangle \langle \psi_{\theta+\pi/2} \vert \psi_{\theta} \rangle \langle 0 \vert + \vert 1 \rangle \langle \psi_{\theta+\pi/2} \vert \psi_{\theta+\pi/2} \rangle \langle 1 \vert \\[1mm] & = \vert 0 \rangle \langle 0 \vert + \vert 1 \rangle \langle 1 \vert\\[1mm] & = \mathbb{I}. \end{aligned}

También podemos escribir esta matriz explícitamente como

Uθ=(cos(θ)sin(θ)cos(θ+π/2)sin(θ+π/2))=(cos(θ)sin(θ)sin(θ)cos(θ)).U_{\theta} = \begin{pmatrix} \cos(\theta) & \sin(\theta)\\[1mm] \cos(\theta+ \pi/2) & \sin(\theta + \pi/2) \end{pmatrix} = \begin{pmatrix} \cos(\theta) & \sin(\theta)\\[1mm] -\sin(\theta) & \cos(\theta) \end{pmatrix}.

Este es un ejemplo de una matriz de rotación, y específicamente rota vectores bidimensionales con entradas de números reales en un ángulo de θ-\theta alrededor del origen. Si seguimos una convención estándar para nombrar y parametrizar rotaciones de diversas formas, tenemos Uθ=Ry(2θ)U_{\theta} = R_y(-2\theta) donde

Ry(θ)=(cos(θ/2)sin(θ/2)sin(θ/2)cos(θ/2)).R_y(\theta) = \begin{pmatrix} \cos(\theta/2) & -\sin(\theta/2)\\[1mm] \sin(\theta/2) & \cos(\theta/2) \end{pmatrix}.

Descripción de la estrategia

Ahora podemos describir la estrategia cuántica.

  • Configuración: Alice y Bob comienzan el juego compartiendo un e-bit: Alice tiene un qubit A,\mathsf{A}, Bob tiene un qubit B,\mathsf{B}, y juntos los dos qubits (X,Y)(\mathsf{X},\mathsf{Y}) están en el estado ϕ+\vert\phi^+\rangle.

  • Acciones de Alice:

    • Si Alice recibe la pregunta x=0,x=0, aplica U0U_{0} a su qubit A.\mathsf{A}.
    • Si Alice recibe la pregunta x=1,x=1, aplica Uπ/4U_{\pi/4} a su qubit A.\mathsf{A}.

    La operación que Alice realiza sobre A\mathsf{A} puede describirse alternativamente así:

    {U0if x=0Uπ/4if x=1\begin{cases} U_0 & \text{if $x = 0$}\\ U_{\pi/4} & \text{if $x = 1$} \end{cases}

    Después de aplicar esta operación, Alice mide A\mathsf{A} con una medición en la base estándar y establece su respuesta aa como el resultado de la medición.

  • Acciones de Bob:

    • Si Bob recibe la pregunta y=0,y=0, aplica Uπ/8U_{\pi/8} a su qubit B.\mathsf{B}.
    • Si Bob recibe la pregunta y=1,y=1, aplica Uπ/8U_{-\pi/8} a su qubit B.\mathsf{B}.

    Al igual que hicimos con Alice, podemos expresar la operación de Bob sobre B\mathsf{B} así:

    {Uπ/8if y=0Uπ/8if y=1\begin{cases} U_{\pi/8} & \text{if $y = 0$}\\ U_{-\pi/8} & \text{if $y = 1$} \end{cases}

    Después de aplicar esta operación, Bob mide B\mathsf{B} con una medición en la base estándar y establece su respuesta bb como el resultado de la medición.

Aquí hay un diagrama de circuito cuántico que describe esta estrategia:

Circuito del juego CHSH

En este diagrama vemos dos compuertas controladas ordinarias, una para Uπ/8U_{-\pi/8} en la parte superior y otra para Uπ/4U_{\pi/4} en la parte inferior. También tenemos dos compuertas que parecen compuertas controladas, una para Uπ/8U_{\pi/8} arriba y otra para U0U_{0} abajo, excepto que el círculo que representa el control no está relleno. Esto denota un tipo diferente de compuerta controlada donde la compuerta se ejecuta si el control está en 00 (en lugar de 11 como en una compuerta controlada ordinaria). Entonces, efectivamente, Bob aplica Uπ/8U_{\pi/8} a su qubit si y=0y=0 y Uπ/8U_{-\pi/8} si y=1;y=1; y Alice aplica U0U_0 a su qubit si x=0x=0 y Uπ/4U_{\pi/4} si x=1,x=1, lo cual es consistente con la descripción del protocolo en palabras anterior.

Ahora queda determinar qué tan bien funciona esta estrategia para Alice y Bob. Lo haremos repasando los cuatro pares de preguntas posibles individualmente.

Análisis caso por caso

  • Caso 1: (x,y)=(0,0).(x,y) = (0,0).

    En este caso Alice aplica U0U_{0} a su qubit y Bob aplica Uπ/8U_{\pi/8} al suyo, por lo que el estado de los dos qubits (A,B)(\mathsf{A},\mathsf{B}) después de que realizan sus operaciones es

    (U0Uπ/8)ϕ+=00ψ0ψπ/8ϕ++01ψ0ψ5π/8ϕ++10ψπ/2ψπ/8ϕ++11ψπ/2ψ5π/8ϕ+=cos(π8)00+cos(5π8)01+cos(3π8)10+cos(π8)112.\begin{aligned} \bigl(U_0 \otimes U_{\pi/8}\bigr) \vert \phi^+\rangle & = \vert 00 \rangle \langle \psi_0 \otimes \psi_{\pi/8}\vert \phi^+\rangle + \vert 01 \rangle \langle \psi_0 \otimes\psi_{5\pi/8}\vert \phi^+\rangle \\ & \qquad + \vert 10 \rangle \langle \psi_{\pi/2} \otimes \psi_{\pi/8}\vert \phi^+\rangle + \vert 11 \rangle \langle \psi_{\pi/2} \otimes \psi_{5\pi/8}\vert \phi^+\rangle\\[2mm] & = \frac{ \cos\bigl(-\frac{\pi}{8}\bigr) \vert 00\rangle + \cos\bigl(-\frac{5\pi}{8}\bigr) \vert 01\rangle + \cos\bigl(\frac{3\pi}{8}\bigr) \vert 10\rangle + \cos\bigl(-\frac{\pi}{8}\bigr) \vert 11\rangle}{\sqrt{2}}. \end{aligned}

    Las probabilidades para los cuatro pares de respuestas posibles (a,b)(a,b) son entonces las siguientes.

    Pr((a,b)=(0,0))=12cos2(π8)=2+28Pr((a,b)=(0,1))=12cos2(5π8)=228Pr((a,b)=(1,0))=12cos2(3π8)=228Pr((a,b)=(1,1))=12cos2(π8)=2+28\begin{aligned} \operatorname{Pr}\bigl((a,b)=(0,0)\bigr) & = \frac{1}{2}\cos^2\Bigl(-\frac{\pi}{8}\Bigr) = \frac{2+\sqrt{2}}{8} \\[2mm] \operatorname{Pr}\bigl((a,b)=(0,1)\bigr) & = \frac{1}{2}\cos^2\Bigl(-\frac{5\pi}{8}\Bigr) = \frac{2-\sqrt{2}}{8}\\[2mm] \operatorname{Pr}\bigl((a,b)=(1,0)\bigr) & = \frac{1}{2}\cos^2\Bigl(\frac{3\pi}{8}\Bigr) = \frac{2-\sqrt{2}}{8}\\[2mm] \operatorname{Pr}\bigl((a,b)=(1,1)\bigr) & = \frac{1}{2}\cos^2\Bigl(-\frac{\pi}{8}\Bigr) = \frac{2+\sqrt{2}}{8} \end{aligned}

    Podemos obtener las probabilidades de que a=ba=b y aba\neq b sumando.

    Pr(a=b)=2+24Pr(ab)=224\begin{aligned} \operatorname{Pr}(a = b) & = \frac{2 + \sqrt{2}}{4}\\[2mm] \operatorname{Pr}(a \neq b) & = \frac{2 - \sqrt{2}}{4} \end{aligned}

    Para el par de preguntas (0,0),(0,0), Alice y Bob ganan si a=b,a=b, y por lo tanto ganan en este caso con probabilidad

    2+24.\frac{2 + \sqrt{2}}{4}.
  • Caso 2: (x,y)=(0,1).(x,y) = (0,1).

    En este caso Alice aplica U0U_{0} a su qubit y Bob aplica Uπ/8U_{-\pi/8} al suyo, por lo que el estado de los dos qubits (A,B)(\mathsf{A},\mathsf{B}) después de que realizan sus operaciones es

    (U0Uπ/8)ϕ+=00ψ0ψπ/8ϕ++01ψ0ψ3π/8ϕ++10ψπ/2ψπ/8ϕ++11ψπ/2ψ3π/8ϕ+=cos(π8)00+cos(3π8)01+cos(5π8)10+cos(π8)112.\begin{aligned} \bigl(U_0 \otimes U_{-\pi/8}\bigr) \vert \phi^+\rangle & = \vert 00 \rangle \langle \psi_0 \otimes \psi_{-\pi/8}\vert \phi^+\rangle + \vert 01 \rangle \langle \psi_0 \otimes\psi_{3\pi/8}\vert \phi^+\rangle \\ & \qquad + \vert 10 \rangle \langle \psi_{\pi/2} \otimes \psi_{-\pi/8}\vert \phi^+\rangle + \vert 11 \rangle \langle \psi_{\pi/2} \otimes \psi_{3\pi/8}\vert \phi^+\rangle\\[2mm] & = \frac{ \cos\bigl(\frac{\pi}{8}\bigr) \vert 00\rangle + \cos\bigl(-\frac{3\pi}{8}\bigr) \vert 01\rangle + \cos\bigl(\frac{5\pi}{8}\bigr) \vert 10\rangle + \cos\bigl(\frac{\pi}{8}\bigr) \vert 11\rangle}{\sqrt{2}}. \end{aligned}

    Las probabilidades para los cuatro pares de respuestas posibles (a,b)(a,b) son entonces las siguientes.

    Pr((a,b)=(0,0))=12cos2(π8)=2+28Pr((a,b)=(0,1))=12cos2(3π8)=228Pr((a,b)=(1,0))=12cos2(5π8)=228Pr((a,b)=(1,1))=12cos2(π8)=2+28\begin{aligned} \operatorname{Pr}\bigl((a,b)=(0,0)\bigr) & = \frac{1}{2}\cos^2\Bigl(\frac{\pi}{8}\Bigr) = \frac{2+\sqrt{2}}{8} \\[2mm] \operatorname{Pr}\bigl((a,b)=(0,1)\bigr) & = \frac{1}{2}\cos^2\Bigl(-\frac{3\pi}{8}\Bigr) = \frac{2-\sqrt{2}}{8}\\[2mm] \operatorname{Pr}\bigl((a,b)=(1,0)\bigr) & = \frac{1}{2}\cos^2\Bigl(\frac{5\pi}{8}\Bigr) = \frac{2-\sqrt{2}}{8}\\[2mm] \operatorname{Pr}\bigl((a,b)=(1,1)\bigr) & = \frac{1}{2}\cos^2\Bigl(\frac{\pi}{8}\Bigr) = \frac{2+\sqrt{2}}{8} \end{aligned}

    De nuevo, podemos obtener las probabilidades de que a=ba=b y aba\neq b sumando.

    Pr(a=b)=2+24Pr(ab)=224\begin{aligned} \operatorname{Pr}(a = b) & = \frac{2 + \sqrt{2}}{4}\\[2mm] \operatorname{Pr}(a \neq b) & = \frac{2 - \sqrt{2}}{4} \end{aligned}

    Para el par de preguntas (0,1),(0,1), Alice y Bob ganan si a=b,a=b, y por lo tanto ganan en este caso con probabilidad

    2+24.\frac{2 + \sqrt{2}}{4}.
  • Caso 3: (x,y)=(1,0).(x,y) = (1,0).

    En este caso Alice aplica Uπ/4U_{\pi/4} a su qubit y Bob aplica Uπ/8U_{\pi/8} al suyo, por lo que el estado de los dos qubits (A,B)(\mathsf{A},\mathsf{B}) después de que realizan sus operaciones es

    (Uπ/4Uπ/8)ϕ+=00ψπ/4ψπ/8ϕ++01ψπ/4ψ5π/8ϕ++10ψ3π/4ψπ/8ϕ++11ψ3π/4ψ5π/8ϕ+=cos(π8)00+cos(3π8)01+cos(5π8)10+cos(π8)112.\begin{aligned} \bigl(U_{\pi/4} \otimes U_{\pi/8}\bigr) \vert \phi^+\rangle & = \vert 00 \rangle \langle \psi_{\pi/4} \otimes \psi_{\pi/8}\vert \phi^+\rangle + \vert 01 \rangle \langle \psi_{\pi/4} \otimes\psi_{5\pi/8}\vert \phi^+\rangle \\ & \qquad + \vert 10 \rangle \langle \psi_{3\pi/4} \otimes \psi_{\pi/8}\vert \phi^+\rangle + \vert 11 \rangle \langle \psi_{3\pi/4} \otimes \psi_{5\pi/8}\vert \phi^+\rangle\\[2mm] & = \frac{ \cos\bigl(\frac{\pi}{8}\bigr) \vert 00\rangle + \cos\bigl(-\frac{3\pi}{8}\bigr) \vert 01\rangle + \cos\bigl(\frac{5\pi}{8}\bigr) \vert 10\rangle + \cos\bigl(\frac{\pi}{8}\bigr) \vert 11\rangle}{\sqrt{2}}. \end{aligned}

    Las probabilidades para los cuatro pares de respuestas posibles (a,b)(a,b) son entonces las siguientes.

    Pr((a,b)=(0,0))=12cos2(π8)=2+28Pr((a,b)=(0,1))=12cos2(3π8)=228Pr((a,b)=(1,0))=12cos2(5π8)=228Pr((a,b)=(1,1))=12cos2(π8)=2+28\begin{aligned} \operatorname{Pr}\bigl((a,b)=(0,0)\bigr) & = \frac{1}{2}\cos^2\Bigl(\frac{\pi}{8}\Bigr) = \frac{2+\sqrt{2}}{8} \\[2mm] \operatorname{Pr}\bigl((a,b)=(0,1)\bigr) & = \frac{1}{2}\cos^2\Bigl(-\frac{3\pi}{8}\Bigr) = \frac{2-\sqrt{2}}{8}\\[2mm] \operatorname{Pr}\bigl((a,b)=(1,0)\bigr) & = \frac{1}{2}\cos^2\Bigl(\frac{5\pi}{8}\Bigr) = \frac{2-\sqrt{2}}{8}\\[2mm] \operatorname{Pr}\bigl((a,b)=(1,1)\bigr) & = \frac{1}{2}\cos^2\Bigl(\frac{\pi}{8}\Bigr) = \frac{2+\sqrt{2}}{8} \end{aligned}

    Encontramos, una vez más, que las probabilidades de que a=ba=b y aba\neq b son las siguientes.

    Pr(a=b)=2+24Pr(ab)=224\begin{aligned} \operatorname{Pr}(a = b) & = \frac{2 + \sqrt{2}}{4}\\[2mm] \operatorname{Pr}(a \neq b) & = \frac{2 - \sqrt{2}}{4} \end{aligned}

    Para el par de preguntas (1,0),(1,0), Alice y Bob ganan si a=b,a=b, por lo que ganan en este caso con probabilidad

    2+24.\frac{2 + \sqrt{2}}{4}.
  • Caso 4: (x,y)=(1,1).(x,y) = (1,1).

    El último caso es un poco diferente, como podríamos esperar porque la condición de victoria es distinta en este caso. Cuando xx e yy son ambos 1,1, Alice y Bob ganan cuando aa y bb son diferentes. En este caso Alice aplica Uπ/4U_{\pi/4} a su qubit y Bob aplica Uπ/8U_{-\pi/8} al suyo, por lo que el estado de los dos qubits (A,B)(\mathsf{A},\mathsf{B}) después de que realizan sus operaciones es

    (Uπ/4Uπ/8)ϕ+=00ψπ/4ψπ/8ϕ++01ψπ/4ψ3π/8ϕ++10ψ3π/4ψπ/8ϕ++11ψ3π/4ψ3π/8ϕ+=cos(3π8)00+cos(π8)01+cos(7π8)10+cos(3π8)112.\begin{aligned} \bigl(U_{\pi/4} \otimes U_{-\pi/8}\bigr) \vert \phi^+\rangle & = \vert 00 \rangle \langle \psi_{\pi/4} \otimes \psi_{-\pi/8}\vert \phi^+\rangle + \vert 01 \rangle \langle \psi_{\pi/4} \otimes\psi_{3\pi/8}\vert \phi^+\rangle \\ & \qquad + \vert 10 \rangle \langle \psi_{3\pi/4} \otimes \psi_{-\pi/8}\vert \phi^+\rangle + \vert 11 \rangle \langle \psi_{3\pi/4} \otimes \psi_{3\pi/8}\vert \phi^+\rangle\\[2mm] & = \frac{ \cos\bigl(\frac{3\pi}{8}\bigr) \vert 00\rangle + \cos\bigl(-\frac{\pi}{8}\bigr) \vert 01\rangle + \cos\bigl(\frac{7\pi}{8}\bigr) \vert 10\rangle + \cos\bigl(\frac{3\pi}{8}\bigr) \vert 11\rangle}{\sqrt{2}}. \end{aligned}

    Las probabilidades para los cuatro pares de respuestas posibles (a,b)(a,b) son entonces las siguientes.

    Pr((a,b)=(0,0))=12cos2(3π8)=228Pr((a,b)=(0,1))=12cos2(π8)=2+28Pr((a,b)=(1,0))=12cos2(7π8)=2+28Pr((a,b)=(1,1))=12cos2(3π8)=228\begin{aligned} \operatorname{Pr}\bigl((a,b)=(0,0)\bigr) & = \frac{1}{2}\cos^2\Bigl(\frac{3\pi}{8}\Bigr) = \frac{2-\sqrt{2}}{8} \\[2mm] \operatorname{Pr}\bigl((a,b)=(0,1)\bigr) & = \frac{1}{2}\cos^2\Bigl(-\frac{\pi}{8}\Bigr) = \frac{2+\sqrt{2}}{8}\\[2mm] \operatorname{Pr}\bigl((a,b)=(1,0)\bigr) & = \frac{1}{2}\cos^2\Bigl(\frac{7\pi}{8}\Bigr) = \frac{2+\sqrt{2}}{8}\\[2mm] \operatorname{Pr}\bigl((a,b)=(1,1)\bigr) & = \frac{1}{2}\cos^2\Bigl(\frac{3\pi}{8}\Bigr) = \frac{2-\sqrt{2}}{8} \end{aligned}

    Las probabilidades han intercambiado efectivamente sus lugares respecto a los tres casos anteriores. Obtenemos las probabilidades de que a=ba=b y aba\neq b sumando.

    Pr(a=b)=224Pr(ab)=2+24\begin{aligned} \operatorname{Pr}(a = b) & = \frac{2 - \sqrt{2}}{4}\\[2mm] \operatorname{Pr}(a \neq b) & = \frac{2 + \sqrt{2}}{4} \end{aligned}

    Para el par de preguntas (1,1),(1,1), Alice y Bob ganan si ab,a\neq b, y por lo tanto ganan en este caso con probabilidad

    2+24.\frac{2 + \sqrt{2}}{4}.

Ganan en todos los casos con la misma probabilidad:

2+240.85. \frac{2 + \sqrt{2}}{4} \approx 0.85.

Esta es, por lo tanto, la probabilidad de que ganen en general. Eso es significativamente mejor que lo que puede lograr cualquier estrategia clásica para este juego; las estrategias clásicas tienen una probabilidad de victoria acotada por 3/4.3/4. Y eso hace que este sea un ejemplo muy interesante.

Esta resulta ser la probabilidad de victoria óptima para las estrategias cuánticas; no podemos hacerlo mejor que esto, sin importar qué estado entrelazado o mediciones elijamos. Este hecho se conoce como la desigualdad de Tsirelson, en honor a Boris Tsirelson quien la demostró por primera vez — y quien describió por primera vez el experimento CHSH como un juego.

Imagen geométrica

Es posible pensar en la estrategia descrita anteriormente de manera geométrica, lo que puede ser útil para entender las relaciones entre los diversos ángulos elegidos para las operaciones de Alice y Bob.

Lo que Alice hace efectivamente es elegir un ángulo α,\alpha, dependiendo de su pregunta x,x, y luego aplicar UαU_{\alpha} a su qubit y medir. Del mismo modo, Bob elige un ángulo β,\beta, dependiendo de y,y, y luego aplica UβU_{\beta} a su qubit y mide. Hemos elegido α\alpha y β\beta de la siguiente forma.

α={0x=0π/4x=1β={π/8y=0π/8y=1\begin{aligned} \alpha & = \begin{cases} 0 & x=0\\ \pi/4 & x=1 \end{cases}\\[4mm] \beta & = \begin{cases} \pi/8 & y = 0\\ -\pi/8 & y = 1 \end{cases} \end{aligned}

Por el momento, sin embargo, tomemos α\alpha y β\beta como arbitrarios. Al elegir α,\alpha, Alice define efectivamente una base ortonormal de vectores que se ve así:

Base para Alice

Bob hace lo mismo, excepto que su ángulo es β\beta:

Base para Bob

Los colores de los vectores corresponden a las respuestas de Alice y Bob: azul para 00 y rojo para 1.1.

Ahora, si combinamos (33) y (44) obtenemos la fórmula

ψαψβϕ+=12ψαψβ;\langle \psi_{\alpha} \otimes\psi_{\beta} \vert \phi^+ \rangle = \frac{1}{\sqrt{2}} \langle \psi_{\alpha} \vert \psi_{\beta} \rangle;

esto funciona para todos los números reales α\alpha y β.\beta.

Siguiendo el mismo tipo de análisis que realizamos anteriormente, pero con α\alpha y β\beta como variables, encontramos esto:

(UαUβ)ϕ+=00ψαψβϕ++01ψαψβ+π/2ϕ++10ψα+π/2ψβϕ++11ψα+π/2ψβ+π/2ϕ+=ψαψβ00+ψαψβ+π/201+ψα+π/2ψβ10+ψα+π/2ψβ+π/2112. \begin{aligned} & \bigl(U_{\alpha} \otimes U_{\beta}\bigr) \vert \phi^+\rangle\\[1mm] & \qquad = \vert 00 \rangle \langle \psi_{\alpha} \otimes \psi_{\beta}\vert \phi^+\rangle + \vert 01 \rangle \langle \psi_{\alpha} \otimes\psi_{\beta + \pi/2}\vert \phi^+\rangle \\ & \qquad \qquad + \vert 10 \rangle \langle \psi_{\alpha+\pi/2} \otimes \psi_{\beta}\vert \phi^+\rangle + \vert 11 \rangle \langle \psi_{\alpha+\pi/2} \otimes \psi_{\beta+\pi/2}\vert \phi^+\rangle\\[2mm] & \qquad = \frac{ \langle \psi_\alpha \vert \psi_\beta \rangle \vert 00\rangle + \langle \psi_\alpha \vert \psi_{\beta+\pi/2} \rangle \vert 01\rangle + \langle \psi_{\alpha+\pi/2} \vert \psi_\beta \rangle \vert 10\rangle + \langle \psi_{\alpha+\pi/2} \vert \psi_{\beta+\pi/2} \rangle \vert 11\rangle }{\sqrt{2}}. \end{aligned}

Concluimos estas dos fórmulas:

Pr(a=b)=12ψαψβ2+12ψα+π/2ψβ+π/22=cos2(αβ)Pr(ab)=12ψαψβ+π/22+12ψα+π/2ψβ2=sin2(αβ).\begin{aligned} \operatorname{Pr}(a = b) & = \frac{1}{2} \vert \langle \psi_\alpha \vert \psi_\beta \rangle \vert^2 + \frac{1}{2} \vert \langle \psi_{\alpha+\pi/2} \vert \psi_{\beta+\pi/2} \rangle \vert^2 = \cos^2(\alpha - \beta)\\[2mm] \operatorname{Pr}(a \neq b) & = \frac{1}{2} \vert \langle \psi_\alpha \vert \psi_{\beta+\pi/2} \rangle \vert^2 + \frac{1}{2} \vert \langle \psi_{\alpha+\pi/2} \vert \psi_\beta \rangle \vert^2 = \sin^2(\alpha - \beta). \end{aligned}

Estas ecuaciones pueden conectarse con las figuras anteriores imaginando que superponemos las bases elegidas por Alice y Bob.

Explorar la estrategia

Cuando (x,y)=(0,0),(x,y) = (0,0), Alice y Bob eligen α=0\alpha = 0 y β=π/8,\beta = \pi/8, y al superponer sus bases obtenemos esta figura:

Bases de Alice y Bob, caso 1

El ángulo entre los vectores rojos es π/8,\pi/8, que es el mismo que el ángulo entre los dos vectores azules. La probabilidad de que los resultados de Alice y Bob coincidan es el coseno al cuadrado de este ángulo,

cos2(π8)=2+24,\cos^2\Bigl(\frac{\pi}{8}\Bigr) = \frac{2 + \sqrt{2}}{4},

mientras que la probabilidad de que difieran es el seno al cuadrado de este ángulo,

sin2(π8)=224.\sin^2\Bigl(\frac{\pi}{8}\Bigr) = \frac{2 - \sqrt{2}}{4}.

Cuando (x,y)=(0,1),(x,y) = (0,1), Alice y Bob eligen α=0\alpha = 0 y β=π/8,\beta = -\pi/8, y al superponer sus bases obtenemos esta figura:

Bases de Alice y Bob, caso 1

El ángulo entre los vectores rojos es de nuevo π/8,\pi/8, al igual que el ángulo entre los vectores azules. La probabilidad de que los resultados de Alice y Bob coincidan es de nuevo el coseno al cuadrado de este ángulo,

cos2(π8)=2+24,\cos^2\Bigl(\frac{\pi}{8}\Bigr) = \frac{2 + \sqrt{2}}{4},

mientras que la probabilidad de que difieran es el seno al cuadrado de este ángulo,

sin2(π8)=224.\sin^2\Bigl(\frac{\pi}{8}\Bigr) = \frac{2 - \sqrt{2}}{4}.

Cuando (x,y)=(1,0),(x,y) = (1,0), Alice y Bob eligen α=π/4\alpha = \pi/4 y β=π/8,\beta = \pi/8, y al superponer sus bases obtenemos esta figura:

Bases de Alice y Bob, caso 1

Las bases han cambiado pero los ángulos no — una vez más el ángulo entre vectores del mismo color es π/8.\pi/8. La probabilidad de que los resultados de Alice y Bob coincidan es

cos2(π8)=2+24,\cos^2\Bigl(\frac{\pi}{8}\Bigr) = \frac{2 + \sqrt{2}}{4},

y la probabilidad de que difieran es

sin2(π8)=224.\sin^2\Bigl(\frac{\pi}{8}\Bigr) = \frac{2 - \sqrt{2}}{4}.

Cuando (x,y)=(1,1),(x,y) = (1,1), Alice y Bob eligen α=π/4\alpha = \pi/4 y β=π/8.\beta = -\pi/8. Al superponer sus bases, vemos que algo diferente ha ocurrido:

Bases de Alice y Bob, caso 1

Por la manera en que se eligieron los ángulos, esta vez el ángulo entre vectores del mismo color es 3π/83\pi/8 en lugar de π/8.\pi/8. La probabilidad de que los resultados de Alice y Bob coincidan sigue siendo el coseno al cuadrado de este ángulo, pero esta vez el valor es

cos2(3π8)=224.\cos^2\Bigl(\frac{3\pi}{8}\Bigr) = \frac{2 - \sqrt{2}}{4}.

La probabilidad de que los resultados difieran es el seno al cuadrado de este ángulo, que en este caso es:

sin2(3π8)=2+24.\sin^2\Bigl(\frac{3\pi}{8}\Bigr) = \frac{2 + \sqrt{2}}{4}.

Observaciones

La idea básica de un experimento como el juego CHSH, donde el entrelazamiento conduce a resultados estadísticos inconsistentes con el razonamiento puramente clásico, se debe a John Bell, el homónimo de los estados de Bell. Por esta razón, la gente suele referirse a los experimentos de este tipo como pruebas de Bell. A veces también se hace referencia al teorema de Bell, que puede formularse de distintas maneras — pero la esencia es que la mecánica cuántica no es compatible con las llamadas teorías de variables ocultas locales. El juego CHSH es un ejemplo particularmente claro y sencillo de una prueba de Bell, y puede verse como una demostración del teorema de Bell.

El juego CHSH ofrece una forma de probar experimentalmente la teoría de la información cuántica. Podemos realizar experimentos que implementen el juego CHSH y probar los tipos de estrategias basadas en entrelazamiento descritas anteriormente. Esto nos proporciona un alto grado de confianza en que el entrelazamiento es real — y a diferencia de las formas a veces vagas o poéticas con que intentamos explicar el entrelazamiento, el juego CHSH nos da una manera concreta y verificable de observar el entrelazamiento. El Premio Nobel de Física de 2022 reconoce la importancia de esta línea de trabajo: el premio fue otorgado a Alain Aspect, John Clauser (la C de CHSH) y Anton Zeilinger, por observar el entrelazamiento a través de pruebas de Bell en fotones entrelazados.

Implementación en Qiskit

Podemos implementar el juego CHSH, junto con la estrategia cuántica definida anteriormente, en Qiskit de la siguiente manera.

Primero, aquí está la definición del juego en sí, que permite conectar una estrategia arbitraria como argumento.

def chsh_game(strategy):
# This function runs the CHSH game, using the strategy (a function
# from two bits to two bits), returning 1 for a win and 0 for a loss.

# Choose x and y randomly
x, y = random.randint(0, 1), random.randint(0, 1)

# Use the strategy to determine a and b
a, b = strategy(x, y)

# Decide if the strategy wins or loses
if (a != b) == (x & y):
return 1 # Win
return 0 # Lose

Ahora crearemos una función que genera un circuito dependiendo de las preguntas para Alice y Bob. Dejaremos que los qubits tengan sus nombres por defecto para simplificar, y usaremos la compuerta Ry(θ)R_y(\theta) incorporada para las acciones de Alice y Bob.

def chsh_circuit(x, y):
# This function creates a `QuantumCircuit` implementing the quantum
# strategy described above (including the e-bit preparation).

qc = QuantumCircuit(2, 2)

# Prepare an e-bit
qc.h(0)
qc.cx(0, 1)
qc.barrier()

# Alice's actions
if x == 0:
qc.ry(0, 0)
else:
qc.ry(-pi / 2, 0)
qc.measure(0, 0)

# Bob's actions
if y == 0:
qc.ry(-pi / 4, 1)
else:
qc.ry(pi / 4, 1)
qc.measure(1, 1)

return qc

Aquí están los cuatro circuitos posibles, dependiendo de qué preguntas se hagan.

# Draw the four possible circuits

print("(x,y) = (0,0)")
display(chsh_circuit(0, 0).draw(output="mpl"))

print("(x,y) = (0,1)")
display(chsh_circuit(0, 1).draw(output="mpl"))

print("(x,y) = (1,0)")
display(chsh_circuit(1, 0).draw(output="mpl"))

print("(x,y) = (1,1)")
display(chsh_circuit(1, 1).draw(output="mpl"))
(x,y) = (0,0)

Salida de la celda de código anterior

(x,y) = (0,1)

Salida de la celda de código anterior

(x,y) = (1,0)

Salida de la celda de código anterior

(x,y) = (1,1)

Salida de la celda de código anterior

Ahora crearemos un trabajo usando el simulador Aer que ejecuta el circuito una sola vez para un par de entrada dado (x,y).(x,y).

def quantum_strategy(x, y):
# This function runs the appropriate quantum circuit defined above
# one time and returns the measurement results

# Setting `shots=1` to run the circuit once
result = AerSimulator().run(chsh_circuit(x, y), shots=1).result()
statistics = result.get_counts()

# Determine the output bits and return them
bits = list(statistics.keys())[0]
a, b = bits[0], bits[1]
return a, b

Por último, jugaremos el juego 1000 veces y calcularemos la fracción de veces que la estrategia gana.

NUM_GAMES = 1000
TOTAL_SCORE = 0

for _ in range(NUM_GAMES):
TOTAL_SCORE += chsh_game(quantum_strategy)

print("Fraction of games won:", TOTAL_SCORE / NUM_GAMES)
Fraction of games won: 0.867

También podemos definir una estrategia clásica y ver qué tan bien funciona. Esta es solo una estrategia — se pueden probar otras cambiando el código — pero está entre las estrategias clásicas óptimas.

def classical_strategy(x, y):
# This function implements just one example of an optimal classical
# strategy for the CHSH game. Other classical strategies can be
# implemented by changing the bit values assigned to a and b.

# Alice's answer
if x == 0:
a = 0
elif x == 1:
a = 1

# Bob's answer
if y == 0:
b = 1
elif y == 1:
b = 0

return a, b

Juguemos de nuevo el juego 1000 veces para ver qué tan bien funciona.

NUM_GAMES = 1000
TOTAL_SCORE = 0

for _ in range(NUM_GAMES):
TOTAL_SCORE += chsh_game(classical_strategy)

print("Fraction of games won:", TOTAL_SCORE / NUM_GAMES)
Fraction of games won: 0.747