Pular para o conteúdo principal

Implementação com Qiskit

Nesta aula, implementamos algumas das ideias da aula sobre entrelaçamento em ação, usando o 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 seguir, uma implementação em Circuit quântico do protocolo de teleportação.

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"))

Saída da célula de código anterior

O Circuit utiliza alguns recursos do Qiskit que ainda não havíamos visto nas aulas anteriores, incluindo as funções barrier e if_test. A função barrier cria uma separação visual que torna o diagrama do Circuit mais legível, e também impede que o Qiskit realize diversas simplificações e otimizações através da barreira durante a compilação, quando os Circuits são executados em hardware real. A função if_test aplica uma operação de forma condicional, dependendo de um bit ou registrador clássico.

O Circuit primeiro inicializa (A,B)(\mathsf{A},\mathsf{B}) no estado ϕ+\vert \phi^+\rangle (o que não faz parte do protocolo em si), seguido pelas operações de Alice, depois suas medições e, por fim, as operações de Bob. Para testar que o protocolo funciona corretamente, aplicaremos uma Gate de um único Qubit gerada aleatoriamente ao estado 0\vert 0\rangle inicializado de Q\mathsf{Q}, obtendo um vetor de estado quântico aleatório a ser teleportado. Ao aplicar a inversa (ou seja, a transposta conjugada) dessa Gate em B\mathsf{B} após a execução do protocolo, podemos verificar que o estado foi teleportado medindo para confirmar que ele retornou ao estado 0\vert 0\rangle.

Primeiro, vamos escolher aleatoriamente uma Gate unitária de um 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}

Agora criaremos um novo Circuit de teste que primeiro aplica nossa Gate aleatória a Q,\mathsf{Q}, depois executa o Circuit de teleportação e, por fim, aplica a inversa da nossa Gate aleatória ao Qubit B\mathsf{B} e realiza a medição. O resultado deve ser 00 com 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"))

Saída da célula de código anterior

Por fim, vamos executar o simulador Aer neste Circuit e plotar um histograma das saídas. Veremos as estatísticas para todos os três bits clássicos: o bit inferior/mais à esquerda deve ser sempre 0,0, indicando que o Qubit Q\mathsf{Q} foi teleportado com sucesso para B,\mathsf{B}, enquanto os outros dois bits devem ser aproximadamente uniformes.

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

Saída da célula de código anterior

Também podemos filtrar as estatísticas para focar apenas no Qubit de resultado do teste, se desejarmos, assim:

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

Saída da célula de código anterior

Codificação superdensa

A codificação superdensa é um protocolo que, em certo sentido, alcança um objetivo complementar ao da teleportação. Em vez de permitir a transmissão de um Qubit usando dois bits clássicos de comunicação (ao custo de um e-bit de entrelaçamento), ela permite a transmissão de dois bits clássicos usando um Qubit de comunicação quântica (novamente, ao custo de um e-bit de entrelaçamento).

Em mais detalhes, temos um remetente (Alice) e um receptor (Bob) que compartilham um e-bit de entrelaçamento. De acordo com as convenções estabelecidas para a aula, isso significa que Alice possui um Qubit A,\mathsf{A}, Bob possui um Qubit B,\mathsf{B}, e juntos o par (A,B)(\mathsf{A},\mathsf{B}) está no estado ϕ+.\vert\phi^+\rangle. Alice deseja transmitir dois bits clássicos a Bob, que denotaremos por cc e d,d, e ela fará isso enviando a ele um Qubit.

É razoável considerar essa façanha menos interessante do que a que a teleportação realiza. Enviar Qubits provavelmente será muito mais difícil do que enviar bits clássicos no futuro previsível, de modo que trocar um Qubit de comunicação quântica por dois bits de comunicação clássica, ao custo de um e-bit, mal parece valer a pena. No entanto, isso não implica que a codificação superdensa não seja interessante, pois ela certamente é.

Em consonância com o tema da aula, uma das razões pelas quais a codificação superdensa é interessante é que ela demonstra um uso concreto e (no contexto da teoria da informação) bastante notável do entrelaçamento. Um famoso teorema da teoria quântica da informação, conhecido como teorema de Holevo, implica que, sem o uso de um estado entrelaçado compartilhado, é impossível comunicar mais de um bit de informação clássica enviando um único Qubit. (O teorema de Holevo é mais geral do que isso. Sua declaração precisa é técnica e requer explicação, mas essa é uma de suas consequências.) Portanto, por meio da codificação superdensa, o entrelaçamento compartilhado efetivamente permite a duplicação da capacidade de transmissão de informação clássica ao enviar Qubits.

Protocolo

O seguinte diagrama de Circuit quântico descreve o protocolo de codificação superdensa:

Circuit de codificação superdensa

Em palavras, eis o que Alice faz:

  1. Se d=1,d=1, Alice aplica uma Gate ZZ ao seu Qubit A\mathsf{A} (e se d=0d=0 ela não faz nada).

  2. Se c=1,c=1, Alice aplica uma Gate XX ao seu Qubit A\mathsf{A} (e se c=0c=0 ela não faz nada).

Alice então envia seu Qubit A\mathsf{A} a Bob.

O que Bob faz ao receber o Qubit A\mathsf{A} é primeiro aplicar uma Gate NOT controlada, com A\mathsf{A} sendo o controle e B\mathsf{B} sendo o alvo, e depois aplica uma Gate de Hadamard a A.\mathsf{A}. Ele então mede B\mathsf{B} para obter cc e A\mathsf{A} para obter d,d, usando medições na base padrão em ambos os casos.

Análise

A ideia por trás deste protocolo é simples: Alice efetivamente escolhe qual estado de Bell ela deseja compartilhar com Bob, ela envia a ele seu Qubit, e Bob mede para determinar qual estado de Bell Alice escolheu.

Ou seja, eles inicialmente compartilham ϕ+,\vert\phi^+\rangle, e dependendo dos bits cc e d,d, Alice deixa esse estado inalterado ou o desloca para um dos outros estados de Bell aplicando I,\mathbb{I}, X,X, Z,Z, ou XZXZ ao seu 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}

As ações de Bob têm os seguintes efeitos sobre os quatro 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}

Isso pode ser verificado diretamente, calculando os resultados das operações de Bob sobre esses estados um a um.

Portanto, quando Bob realiza suas medições, ele consegue determinar qual estado de Bell Alice escolheu. Verificar que o protocolo funciona corretamente é uma questão de checar cada caso:

  • Se cd=00,cd = 00, então o estado de (B,A)(\mathsf{B},\mathsf{A}) quando Bob recebe A\mathsf{A} é ϕ+.\vert \phi^+\rangle. Ele transforma esse estado em 00\vert 00\rangle e obtém cd=00.cd = 00.

  • Se cd=01,cd = 01, então o estado de (B,A)(\mathsf{B},\mathsf{A}) quando Bob recebe A\mathsf{A} é ϕ.\vert \phi^-\rangle. Ele transforma esse estado em 01\vert 01\rangle e obtém cd=01.cd = 01.

  • Se cd=10,cd = 10, então o estado de (B,A)(\mathsf{B},\mathsf{A}) quando Bob recebe A\mathsf{A} é ψ+.\vert \psi^+\rangle. Ele transforma esse estado em 10\vert 10\rangle e obtém cd=10.cd = 10.

  • Se cd=11,cd = 11, então o estado de (B,A)(\mathsf{B},\mathsf{A}) quando Bob recebe A\mathsf{A} é ψ.\vert \psi^-\rangle. Ele transforma esse estado em 11-\vert 11\rangle e obtém cd=11.cd = 11. (O fator de fase negativo não tem efeito aqui.)

Implementação da codificação superdensa

A seguir, uma implementação simples da codificação superdensa, em que especificamos o Circuit em si de acordo com os bits a serem transmitidos. Primeiro, escolheremos dois bits a serem transmitidos. (Mais adiante os escolheremos aleatoriamente, mas por enquanto faremos apenas uma escolha arbitrária.)

c = "1"
d = "0"

Agora construiremos o Circuit de acordo com isso. Aqui permitiremos que o Qiskit use os nomes padrão para os Qubits: q0\mathsf{q}_0 para o Qubit superior e q1\mathsf{q}_1 para o 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"))

Saída da célula de código anterior

Não há muitas novidades aqui, exceto a função measure_all, que mede todos os Qubits e coloca os resultados em um único registrador clássico (neste caso, com dois bits).

Executar o simulador Aer produz a saída 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

Saída da célula de código anterior

Agora vamos usar um Qubit adicional como gerador de bits aleatórios — essencialmente para lançar moedas justas. Vamos usá-lo para escolher aleatoriamente cc e d,d, e então executar o protocolo de codificação 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"))

Saída da célula de código anterior

Executar o simulador Aer mostra os resultados: os bits clássicos de Alice e Bob sempre concordam.

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

Saída da célula de código anterior

O jogo CHSH

O último exemplo a ser discutido nesta lição não é um protocolo, mas um jogo conhecido como jogo CHSH.

Quando falamos de jogo neste contexto, não estamos falando de algo que se joga por diversão ou esporte, mas sim de uma abstração matemática no sentido da teoria dos jogos. Abstrações matemáticas de jogos são estudadas em economia e ciência da computação, por exemplo, e são ao mesmo tempo fascinantes e úteis.

As letras CHSH se referem aos autores — John Clauser, Michael Horne, Abner Shimony e Richard Holt — de um artigo de 1969 onde o exemplo foi descrito pela primeira vez. Eles não descreveram o exemplo como um jogo, mas como um experimento. Sua descrição como jogo, porém, é natural e intuitiva.

O jogo CHSH pertence a uma classe de jogos conhecidos como jogos não-locais. Jogos não-locais são incrivelmente interessantes e têm conexões profundas com física, ciência da computação e matemática — guardando mistérios que ainda permanecem sem solução. Começaremos a seção explicando o que são jogos não-locais, e então nos concentraremos no jogo CHSH e no que o torna interessante.

Jogos não-locais

Um jogo não-local é um jogo cooperativo em que dois jogadores, Alice e Bob, trabalham juntos para alcançar um determinado resultado. O jogo é conduzido por um árbitro, que age de acordo com regras rígidas conhecidas por Alice e Bob.

Alice e Bob podem se preparar para o jogo como quiserem, mas uma vez que o jogo começa eles estão proibidos de se comunicar. Podemos imaginar o jogo acontecendo em algum tipo de instalação segura — como se o árbitro fosse um detetive e Alice e Bob fossem suspeitos sendo interrogados em salas separadas. Mas outra forma de pensar na configuração é que Alice e Bob estão separados por uma grande distância, e a comunicação é proibida porque a velocidade da luz não permite isso dentro do tempo de execução do jogo. Ou seja, se Alice tentar enviar uma mensagem para Bob, o jogo já terá terminado quando ele a receber, e vice-versa.

O modo como um jogo não-local funciona é que o árbitro primeiro faz uma pergunta a Alice e uma a Bob. Usaremos a letra xx para a pergunta de Alice e yy para a pergunta de Bob. Aqui estamos pensando em xx e yy como estados clássicos, e no jogo CHSH xx e yy são bits.

O árbitro usa aleatoriedade para selecionar essas perguntas. Mais precisamente, existe uma probabilidade p(x,y)p(x,y) associada a cada par possível (x,y)(x,y) de perguntas, e o árbitro se comprometeu a escolher as perguntas aleatoriamente, no momento do jogo, dessa forma. Todos, incluindo Alice e Bob, conhecem essas probabilidades — mas ninguém sabe especificamente qual par (x,y)(x,y) será escolhido até que o jogo comece.

Após Alice e Bob receberem suas perguntas, eles devem fornecer respostas: a resposta de Alice é aa e a de Bob é b.b. Novamente, esses são estados clássicos em geral, e bits no jogo CHSH.

Nesse ponto o árbitro toma uma decisão: Alice e Bob ganham ou perdem dependendo de o par de respostas (a,b)(a,b) ser considerado correto para o par de perguntas (x,y)(x,y) de acordo com um conjunto fixo de regras. Regras diferentes significam jogos diferentes, e as regras do jogo CHSH especificamente são descritas na seção seguinte. Como já foi sugerido, as regras são conhecidas por todos.

O diagrama a seguir fornece uma representação gráfica das interações.

Nonlocal game

É a incerteza sobre quais perguntas serão feitas, e especificamente o fato de que cada jogador não sabe a pergunta do outro, que torna os jogos não-locais desafiadores para Alice e Bob — assim como suspeitos conluiados em salas diferentes tentando manter a mesma versão da história.

Uma descrição precisa do árbitro define uma instância de um jogo não-local. Isso inclui uma especificação das probabilidades p(x,y)p(x,y) para cada par de perguntas, juntamente com as regras que determinam se cada par de respostas (a,b)(a,b) ganha ou perde para cada par de perguntas possível (x,y).(x,y).

Vamos dar uma olhada no jogo CHSH em um momento, mas antes disso vamos reconhecer brevemente que também é interessante considerar outros jogos não-locais. Na verdade, é extremamente interessante; há alguns jogos não-locais bastante simples para os quais atualmente não se sabe o quão bem Alice e Bob podem jogar usando entrelaçamento. A configuração é simples, mas há complexidade em ação — e para alguns jogos pode ser impossivelmente difícil calcular as melhores estratégias ou estratégias próximas das melhores para Alice e Bob. Essa é a natureza surpreendentemente contraintuitiva do modelo de jogos não-locais.

Descrição do jogo CHSH

Aqui está a descrição precisa do jogo CHSH, onde (como acima) xx é a pergunta de Alice, yy é a pergunta de Bob, aa é a resposta de Alice e bb é a resposta de Bob:

  • As perguntas e respostas são todas bits: x,y,a,b{0,1}.x,y,a,b\in\{0,1\}.

  • O árbitro escolhe as perguntas (x,y)(x,y) uniformemente ao acaso. Ou seja, cada uma das quatro possibilidades, (0,0),(0,0), (0,1),(0,1), (1,0)(1,0) e (1,1),(1,1), é selecionada com probabilidade 1/4.1/4.

  • As respostas (a,b)(a,b) vencem para as perguntas (x,y)(x,y) se ab=xya\oplus b = x\wedge y e perdem caso contrário. A tabela a seguir expressa essa regra listando as condições de vitória e derrota sobre as respostas (a,b)(a,b) para cada par de perguntas (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}

Limitação das estratégias clássicas

Agora vamos considerar estratégias para Alice e Bob no jogo CHSH, começando pelas estratégias clássicas.

Estratégias determinísticas

Começaremos com estratégias determinísticas, onde a resposta aa de Alice é uma função da pergunta xx que ela recebe, e igualmente a resposta bb de Bob é uma função da pergunta yy que ele recebe. Assim, por exemplo, podemos escrever a(0)a(0) para representar a resposta de Alice quando sua pergunta é 0,0, e a(1)a(1) para representar a resposta de Alice quando sua pergunta é 1.1.

Nenhuma estratégia determinística pode vencer o jogo CHSH todas as vezes. Uma forma de entender isso é simplesmente percorrer uma a uma todas as estratégias determinísticas possíveis e verificar que cada uma delas perde para pelo menos um dos quatro pares de perguntas possíveis. Alice e Bob podem cada um escolher entre quatro funções possíveis de um bit para um bit — que encontramos na lição sobre Sistemas únicos — e portanto há 1616 estratégias determinísticas diferentes no total para verificar.

Também podemos raciocinar analiticamente. Se a estratégia de Alice e Bob vence quando (x,y)=(0,0),(x,y) = (0,0), então deve ser que a(0)=b(0);a(0) = b(0); se a estratégia deles vence quando (x,y)=(0,1),(x,y) = (0,1), então a(0)=b(1);a(0) = b(1); e similarmente, se a estratégia vence para (x,y)=(1,0)(x,y)=(1,0) então a(1)=b(0).a(1) = b(0). Portanto, se a estratégia deles vence para as três possibilidades, então

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

Isso implica que a estratégia perde no caso final (x,y)=(1,1),(x,y) = (1,1), pois vencer aqui requer a(1)b(1).a(1) \neq b(1). Assim, não pode existir uma estratégia determinística que vença sempre.

Por outro lado, é fácil encontrar estratégias determinísticas que vencem em três dos quatro casos, como a(0)=a(1)=b(0)=b(1)=0.a(0)=a(1)=b(0)=b(1)=0. Com isso concluímos que a probabilidade máxima de Alice e Bob vencerem usando uma estratégia determinística é 3/4.3/4.

Estratégias probabilísticas

Como acabamos de concluir, Alice e Bob não conseguem fazer melhor do que vencer o jogo CHSH 75% das vezes usando uma estratégia determinística. Mas e uma estratégia probabilística? Poderia ajudar Alice e Bob usar aleatoriedade — incluindo a possibilidade de aleatoriedade compartilhada, onde suas escolhas aleatórias são correlacionadas?

Acontece que estratégias probabilísticas não ajudam em nada a aumentar a probabilidade de Alice e Bob vencerem. Isso ocorre porque toda estratégia probabilística pode ser alternativamente vista como uma seleção aleatória de uma estratégia determinística, assim como (como foi mencionado na lição de Sistemas únicos) operações probabilísticas podem ser vistas como seleções aleatórias de operações determinísticas. A média nunca é maior que o máximo, e por isso estratégias probabilísticas não oferecem nenhuma vantagem em termos de probabilidade de vitória geral.

Portanto, vencer com probabilidade 3/43/4 é o melhor que Alice e Bob podem fazer usando qualquer estratégia clássica, seja determinística ou probabilística.

Estratégia para o jogo CHSH

Uma pergunta natural a se fazer neste ponto é se Alice e Bob podem se sair melhor usando uma estratégia quântica. Em particular, se eles compartilham um estado quântico entrelaçado como a figura a seguir sugere, que eles poderiam ter preparado antes de jogar, eles conseguem aumentar sua probabilidade de vitória?

Nonlocal game with entanglement

A resposta é sim, e esse é o ponto principal do exemplo e o motivo pelo qual é tão interessante. Então vamos ver exatamente como Alice e Bob podem se sair melhor neste jogo usando entrelaçamento.

Vetores e matrizes necessários

A primeira coisa que precisamos fazer é definir um vetor de estado de Qubit ψθ,\vert \psi_{\theta}\rangle, para cada número real θ\theta (que vamos pensar como um ângulo medido em radianos) da seguinte forma.

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

Aqui estão alguns exemplos 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}

Também temos os exemplos a seguir, que surgem na análise abaixo:

ψπ/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}

Observando a forma geral, vemos que o produto interno entre quaisquer dois desses vetores tem 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}

Em detalhes, há apenas entradas de números reais nesses vetores, portanto não há conjugados complexos com os quais se preocupar: o produto interno é o produto dos cossenos mais o produto dos senos. Usar uma das fórmulas de adição de ângulos da trigonometria leva à simplificação acima. Essa fórmula revela a interpretação geométrica do produto interno entre vetores unitários reais como o cosseno do ângulo entre eles.

Se calcularmos o produto interno do produto tensorial de quaisquer dois desses vetores com o estado ϕ+,\vert \phi^+\rangle, obtemos uma expressão similar, exceto que tem um 2\sqrt{2} no 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}

Nosso interesse neste produto interno específico ficará claro em breve, mas por ora estamos simplesmente observando isso como uma fórmula.

Em seguida, defina uma matriz unitária UθU_{\theta} para cada ângulo θ\theta da seguinte forma.

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

Intuitivamente, essa matriz transforma ψθ\vert\psi_{\theta}\rangle em 0\vert 0\rangle e ψθ+π/2\vert \psi_{\theta + \pi/2}\rangle em 1.\vert 1\rangle. Para verificar que essa é uma matriz unitária, uma observação fundamental é que os vetores ψθ\vert\psi_{\theta}\rangle e ψθ+π/2\vert\psi_{\theta + \pi/2}\rangle são ortogonais para todo ângulo θ\theta:

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

Assim, 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}

Podemos também escrever essa matriz explicitamente 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}.

Esse é um exemplo de matriz de rotação, e especificamente ela rotaciona vetores bidimensionais com entradas de números reais em um ângulo de θ-\theta em torno da origem. Se seguirmos uma convenção padrão para nomear e parametrizar rotações de várias formas, temos Uθ=Ry(2θ)U_{\theta} = R_y(-2\theta) onde

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}.

Descrição da estratégia

Agora podemos descrever a estratégia quântica.

  • Configuração: Alice e Bob começam o jogo compartilhando um e-bit: Alice possui um Qubit A,\mathsf{A}, Bob possui um Qubit B,\mathsf{B}, e juntos os dois Qubits (X,Y)(\mathsf{X},\mathsf{Y}) estão no estado ϕ+\vert\phi^+\rangle.

  • Ações de Alice:

    • Se Alice receber a pergunta x=0,x=0, ela aplica U0U_{0} ao seu Qubit A.\mathsf{A}.
    • Se Alice receber a pergunta x=1,x=1, ela aplica Uπ/4U_{\pi/4} ao seu Qubit A.\mathsf{A}.

    A operação que Alice realiza em A\mathsf{A} pode ser descrita alternativamente assim:

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

    Depois que Alice aplica essa operação, ela mede A\mathsf{A} com uma medição na base padrão e define sua resposta aa como o resultado da medição.

  • Ações de Bob:

    • Se Bob receber a pergunta y=0,y=0, ele aplica Uπ/8U_{\pi/8} ao seu Qubit B.\mathsf{B}.
    • Se Bob receber a pergunta y=1,y=1, ele aplica Uπ/8U_{-\pi/8} ao seu Qubit B.\mathsf{B}.

    Assim como fizemos para Alice, podemos expressar a operação de Bob em B\mathsf{B} assim:

    {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}

    Depois que Bob aplica essa operação, ele mede B\mathsf{B} com uma medição na base padrão e define sua resposta bb como o resultado da medição.

Aqui está um diagrama de circuito quântico que descreve essa estratégia:

CHSH game circuit

Neste diagrama vemos dois Gates controlados comuns, um para Uπ/8U_{-\pi/8} na parte superior e um para Uπ/4U_{\pi/4} na parte inferior. Também temos dois Gates que parecem Gates controlados, um para Uπ/8U_{\pi/8} na parte superior e um para U0U_{0} na parte inferior, exceto que o círculo que representa o controle não está preenchido. Isso denota um tipo diferente de Gate controlado onde o Gate é executado se o controle está definido como 00 (em vez de 11 como um Gate controlado comum). Portanto, efetivamente, Bob realiza Uπ/8U_{\pi/8} em seu Qubit se y=0y=0 e Uπ/8U_{-\pi/8} se y=1;y=1; e Alice realiza U0U_0 em seu Qubit se x=0x=0 e Uπ/4U_{\pi/4} se x=1,x=1, o que é consistente com a descrição do protocolo em palavras acima.

Resta descobrir o quão bem essa estratégia para Alice e Bob funciona. Faremos isso passando pelos quatro pares de perguntas possíveis individualmente.

Análise caso a caso

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

    Neste caso Alice realiza U0U_{0} em seu Qubit e Bob realiza Uπ/8U_{\pi/8} no dele, então o estado dos dois Qubits (A,B)(\mathsf{A},\mathsf{B}) depois que eles realizam suas operaçõ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}

    As probabilidades para os quatro pares de respostas possíveis (a,b)(a,b) são portanto as seguintes.

    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 então obter as probabilidades de a=ba=b e aba\neq b somando.

    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 o par de perguntas (0,0),(0,0), Alice e Bob vencem se a=b,a=b, e portanto vencem neste caso com probabilidade

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

    Neste caso Alice realiza U0U_{0} em seu Qubit e Bob realiza Uπ/8U_{-\pi/8} no dele, então o estado dos dois Qubits (A,B)(\mathsf{A},\mathsf{B}) depois que eles realizam suas operaçõ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}

    As probabilidades para os quatro pares de respostas possíveis (a,b)(a,b) são portanto as seguintes.

    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}

    Novamente, podemos obter as probabilidades de a=ba=b e aba\neq b somando.

    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 o par de perguntas (0,1),(0,1), Alice e Bob vencem se a=b,a=b, e portanto vencem neste caso com probabilidade

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

    Neste caso Alice realiza Uπ/4U_{\pi/4} em seu Qubit e Bob realiza Uπ/8U_{\pi/8} no dele, então o estado dos dois Qubits (A,B)(\mathsf{A},\mathsf{B}) depois que eles realizam suas operaçõ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}

    As probabilidades para os quatro pares de respostas possíveis (a,b)(a,b) são portanto as seguintes.

    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, mais uma vez, que as probabilidades de a=ba=b e aba\neq b são as seguintes.

    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 o par de perguntas (1,0),(1,0), Alice e Bob vencem se a=b,a=b, então vencem neste caso com probabilidade

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

    O último caso é um pouco diferente, como podemos esperar pois a condição de vitória é diferente neste caso. Quando xx e yy são ambos 1,1, Alice e Bob vencem quando aa e bb são diferentes. Neste caso Alice realiza Uπ/4U_{\pi/4} em seu Qubit e Bob realiza Uπ/8U_{-\pi/8} no dele, então o estado dos dois Qubits (A,B)(\mathsf{A},\mathsf{B}) depois que eles realizam suas operaçõ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}

    As probabilidades para os quatro pares de respostas possíveis (a,b)(a,b) são portanto as seguintes.

    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}

    As probabilidades efetivamente trocaram de lugar em relação aos três outros casos. Obtemos as probabilidades de a=ba=b e aba\neq b somando.

    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 o par de perguntas (1,1),(1,1), Alice e Bob vencem se ab,a\neq b, e portanto vencem neste caso com probabilidade

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

Eles vencem em todos os casos com a mesma probabilidade:

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

Essa é portanto a probabilidade de eles vencerem no geral. Isso é significativamente melhor do que qualquer estratégia clássica pode fazer neste jogo; estratégias clássicas têm probabilidade de vitória limitada a 3/4.3/4. E isso torna este um exemplo muito interessante.

Esta é a probabilidade de vitória ótima para estratégias quânticas; não podemos fazer melhor do que isso, não importa qual estado entrelaçado ou medições escolhamos. Esse fato é conhecido como desigualdade de Tsirelson, nomeada em homenagem a Boris Tsirelson que a provou pela primeira vez — e que também descreveu pela primeira vez o experimento CHSH como um jogo.

Interpretação geométrica

É possível pensar sobre a estratégia descrita acima de forma geométrica, o que pode ser útil para entender as relações entre os vários ângulos escolhidos para as operações de Alice e Bob.

O que Alice efetivamente faz é escolher um ângulo α,\alpha, dependendo de sua pergunta x,x, e então aplicar UαU_{\alpha} ao seu Qubit e medir. Da mesma forma, Bob escolhe um ângulo β,\beta, dependendo de y,y, e então ele aplica UβU_{\beta} ao seu Qubit e mede. Escolhemos α\alpha e β\beta da seguinte 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 ora, porém, vamos tomar α\alpha e β\beta como arbitrários. Ao escolher α,\alpha, Alice efetivamente define uma base ortonormal de vetores que se parece com isso:

Basis for Alice

Bob faz o mesmo, exceto que seu ângulo é β\beta:

Basis for Bob

As cores dos vetores correspondem às respostas de Alice e Bob: azul para 00 e vermelho para 1.1.

Agora, se combinarmos (33) e (44) obtemos a fórmula

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

isso funciona para todos os números reais α\alpha e β.\beta.

Seguindo o mesmo tipo de análise que fizemos acima, mas com α\alpha e β\beta sendo variáveis, encontramos o seguinte:

(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}

Concluímos estas duas 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}

Essas equações podem ser conectadas às figuras acima imaginando que sobrepomos as bases escolhidas por Alice e Bob.

Explorar a estratégia

Quando (x,y)=(0,0),(x,y) = (0,0), Alice e Bob escolhem α=0\alpha = 0 e β=π/8,\beta = \pi/8, e ao sobrepor suas bases obtemos esta figura:

Alice and Bob bases case 1

O ângulo entre os vetores vermelhos é π/8,\pi/8, que é o mesmo que o ângulo entre os dois vetores azuis. A probabilidade de os resultados de Alice e Bob concordarem é o cosseno ao quadrado deste ângulo,

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

enquanto a probabilidade de discordarem é o seno ao quadrado deste ângulo,

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

Quando (x,y)=(0,1),(x,y) = (0,1), Alice e Bob escolhem α=0\alpha = 0 e β=π/8,\beta = -\pi/8, e ao sobrepor suas bases obtemos esta figura:

Alice and Bob bases case 1

O ângulo entre os vetores vermelhos é novamente π/8,\pi/8, assim como o ângulo entre os vetores azuis. A probabilidade de os resultados de Alice e Bob concordarem é novamente o cosseno ao quadrado deste ângulo,

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

enquanto a probabilidade de discordarem é o seno ao quadrado deste ângulo,

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

Quando (x,y)=(1,0),(x,y) = (1,0), Alice e Bob escolhem α=π/4\alpha = \pi/4 e β=π/8,\beta = \pi/8, e ao sobrepor suas bases obtemos esta figura:

Alice and Bob bases case 1

As bases mudaram mas os ângulos não — mais uma vez o ângulo entre vetores da mesma cor é π/8.\pi/8. A probabilidade de os resultados de Alice e Bob concordarem é

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

e a probabilidade de discordarem é

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

Quando (x,y)=(1,1),(x,y) = (1,1), Alice e Bob escolhem α=π/4\alpha = \pi/4 e β=π/8.\beta = -\pi/8. Quando sobrepomos suas bases, vemos que algo diferente aconteceu:

Alice and Bob bases case 1

Pela forma como os ângulos foram escolhidos, desta vez o ângulo entre vetores da mesma cor é 3π/83\pi/8 em vez de π/8.\pi/8. A probabilidade de os resultados de Alice e Bob concordarem ainda é o cosseno ao quadrado deste ângulo, mas desta vez o valor é

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

A probabilidade de os resultados discordarem é o seno ao quadrado deste ângulo, que neste caso é:

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

Observações

A ideia básica de um experimento como o jogo CHSH, no qual o entrelaçamento produz resultados estatísticos incompatíveis com o raciocínio puramente clássico, é de autoria de John Bell — o nome por trás dos estados de Bell. Por essa razão, experimentos desse tipo são frequentemente chamados de testes de Bell. Às vezes as pessoas também se referem ao teorema de Bell, que pode ser formulado de diferentes maneiras — mas a essência é que a mecânica quântica é incompatível com as chamadas teorias de variáveis ocultas locais. O jogo CHSH é um exemplo particularmente claro e simples de um teste de Bell, e pode ser visto como uma prova, ou demonstração, do teorema de Bell.

O jogo CHSH oferece uma forma de testar experimentalmente a teoria da informação quântica. Podemos realizar experimentos que implementam o jogo CHSH e testar os tipos de estratégias baseadas em entrelaçamento descritas acima. Isso nos dá um alto grau de confiança de que o entrelaçamento é real — e, ao contrário das formas às vezes vagas ou poéticas que usamos para explicá-lo, o jogo CHSH nos oferece uma maneira concreta e testável de observar o entrelaçamento. O Prêmio Nobel de Física de 2022 reconhece a importância dessa linha de pesquisa: o prêmio foi concedido a Alain Aspect, John Clauser (o C de CHSH) e Anton Zeilinger, pela observação do entrelaçamento por meio de testes de Bell em fótons entrelaçados.

Implementação em Qiskit

Podemos implementar o jogo CHSH, junto com a estratégia quântica definida acima, em Qiskit da seguinte forma.

Primeiro, veja a definição do próprio jogo, que aceita uma estratégia arbitrária 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

Agora vamos criar uma função que retorna um Circuit dependendo das perguntas feitas a Alice e Bob. Vamos deixar os Qubits com seus nomes padrão para simplificar, e usaremos o Gate embutido Ry(θ)R_y(\theta) para as ações de Alice e 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

Aqui estão os quatro Circuits possíveis, dependendo de quais perguntas são feitas.

# 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)

Output of the previous code cell

(x,y) = (0,1)

Output of the previous code cell

(x,y) = (1,0)

Output of the previous code cell

(x,y) = (1,1)

Output of the previous code cell

Agora vamos criar um job usando o simulador Aer que executa o Circuit uma única vez para um par de entradas (x,y)(x,y) fornecido.

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 fim, vamos jogar o jogo 1000 vezes e calcular a fração de vitórias da estratégia.

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

Também podemos definir uma estratégia clássica e ver como ela se sai. Esta é apenas uma estratégia — outras podem ser testadas alterando o código — mas ela está entre as estratégias clássicas ótimas.

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

Vamos jogar o jogo mais 1000 vezes para ver como ela se sai.

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