Przejdź do głównej treści

Implementacja w Qiskit

W tej lekcji zaimplementujemy niektóre z koncepcji z lekcji o splątaniu w działaniu, używając 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

Oto implementacja protokołu teleportacji w postaci obwodu kwantowego.

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

Wynik poprzedniej komórki z kodem

Obwód wykorzystuje kilka funkcji Qiskit, których nie widzieliśmy jeszcze w poprzednich lekcjach, w tym funkcje barrier i if_test. Funkcja barrier tworzy wizualne rozdzielenie, dzięki czemu diagram obwodu jest bardziej czytelny, a także uniemożliwia Qiskit przeprowadzanie różnych uproszczeń i optymalizacji w poprzek bariery podczas kompilacji, gdy obwody są uruchamiane na prawdziwym sprzęcie. Funkcja if_test stosuje operację warunkowo w zależności od bitu lub rejestru klasycznego.

Obwód najpierw inicjalizuje (A,B)(\mathsf{A},\mathsf{B}) w stanie ϕ+\vert \phi^+\rangle (co nie jest częścią samego protokołu), następnie wykonuje operacje Alicji, potem jej pomiary, a na koniec operacje Boba. Aby przetestować, czy protokół działa poprawnie, zastosujemy losowo wygenerowaną bramkę jednokubitową do zainicjalizowanego stanu 0\vert 0\rangle kubitu Q\mathsf{Q}, aby otrzymać losowy wektor stanu kwantowego, który zostanie teleportowany. Stosując odwrotność (czyli transpozycję sprzężoną) tej bramki do B\mathsf{B} po wykonaniu protokołu, możemy zweryfikować, że stan został teleportowany, mierząc, czy powrócił do stanu 0\vert 0\rangle.

Najpierw losowo wybierzemy unitarną bramkę kubitową.

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}

Teraz utworzymy nowy obwód testowy, który najpierw stosuje naszą losową bramkę do Q,\mathsf{Q}, następnie uruchamia obwód teleportacji, a na koniec stosuje odwrotność naszej losowej bramki do kubitu B\mathsf{B} i wykonuje pomiar. Wynik powinien być 00 z pewnością.

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

Wynik poprzedniej komórki z kodem

Na koniec uruchommy symulator Aer na tym obwodzie i narysujmy histogram wyników. Zobaczymy statystyki dla wszystkich trzech bitów klasycznych: dolny/najbardziej lewy bit powinien zawsze wynosić 0,0, co wskazuje, że kubit Q\mathsf{Q} został pomyślnie teleportowany do B,\mathsf{B}, podczas gdy pozostałe dwa bity powinny być w przybliżeniu rozłożone równomiernie.

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

Wynik poprzedniej komórki z kodem

Możemy również filtrować statystyki, aby skupić się wyłącznie na kubicie wyniku testu, jeśli chcemy, w ten sposób:

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

Wynik poprzedniej komórki z kodem

Superkodowanie

Superkodowanie to protokół, który w pewnym sensie osiąga cel komplementarny do teleportacji. Zamiast umożliwiać przesłanie jednego kubitu przy użyciu dwóch klasycznych bitów komunikacji (kosztem jednego e-bitu splątania), pozwala na przesłanie dwóch klasycznych bitów przy użyciu jednego kubitu komunikacji kwantowej (ponownie kosztem jednego e-bitu splątania).

Mówiąc bardziej szczegółowo, mamy nadawcę (Alicję) oraz odbiorcę (Boba), którzy dzielą jeden e-bit splątania. Zgodnie z konwencjami przyjętymi w tej lekcji oznacza to, że Alicja ma kubit A,\mathsf{A}, Bob ma kubit B,\mathsf{B}, a wspólnie para (A,B)(\mathsf{A},\mathsf{B}) jest w stanie ϕ+.\vert\phi^+\rangle. Alicja chce przesłać Bobowi dwa klasyczne bity, które oznaczymy jako cc i d,d, i osiągnie to, wysyłając mu jeden kubit.

Rozsądne jest uznanie tego osiągnięcia za mniej interesujące niż to, które umożliwia teleportacja. Wysyłanie kubitów będzie prawdopodobnie o wiele trudniejsze niż wysyłanie klasycznych bitów w dającej się przewidzieć przyszłości, więc wymiana jednego kubitu komunikacji kwantowej na dwa bity komunikacji klasycznej, na dodatek kosztem e-bitu, wydaje się niewiele warta. Nie oznacza to jednak, że superkodowanie nie jest interesujące, ponieważ z pewnością jest.

Pasując do tematu lekcji, jednym z powodów, dla których superkodowanie jest interesujące, jest to, że demonstruje ono konkretne i (w kontekście teorii informacji) dość uderzające wykorzystanie splątania. Słynne twierdzenie w teorii informacji kwantowej, znane jako twierdzenie Holevo, implikuje, że bez użycia współdzielonego stanu splątanego niemożliwe jest przesłanie więcej niż jednego bitu klasycznej informacji przez wysłanie pojedynczego kubitu. (Twierdzenie Holevo jest ogólniejsze niż to. Jego precyzyjne sformułowanie jest techniczne i wymaga wyjaśnienia, ale jest to jedna z jego konsekwencji.) Tak więc poprzez superkodowanie współdzielone splątanie efektywnie pozwala na podwojenie klasycznej pojemności informacyjnej wysyłanych kubitów.

Protokół

Poniższy diagram obwodu kwantowego opisuje protokół superkodowania:

Obwód superkodowania

Słownie, oto co robi Alicja:

  1. Jeśli d=1,d=1, Alicja wykonuje bramkę ZZ na swoim kubicie A\mathsf{A} (a jeśli d=0,d=0, nie wykonuje).

  2. Jeśli c=1,c=1, Alicja wykonuje bramkę XX na swoim kubicie A\mathsf{A} (a jeśli c=0,c=0, nie wykonuje).

Następnie Alicja wysyła swój kubit A\mathsf{A} do Boba.

Kiedy Bob otrzymuje kubit A,\mathsf{A}, najpierw wykonuje bramkę controlled-NOT, gdzie A\mathsf{A} jest bramką sterującą, a B\mathsf{B} jest bramką celu, a następnie stosuje bramkę Hadamard na A.\mathsf{A}. Potem mierzy B,\mathsf{B}, aby uzyskać c,c, oraz A,\mathsf{A}, aby uzyskać d,d, w obu przypadkach dokonując pomiarów w bazie standardowej.

Analiza

Idea stojąca za tym protokołem jest prosta: Alicja efektywnie wybiera, który stan Bella chciałaby współdzielić z Bobem, wysyła Bobowi swój kubit, a Bob dokonuje pomiaru, aby określić, który stan Bella wybrała Alicja.

Oznacza to, że początkowo współdzielą stan ϕ+,\vert\phi^+\rangle, a w zależności od bitów cc i d,d, Alicja albo pozostawia ten stan bez zmian, albo przekształca go w jeden z pozostałych stanów Bella, stosując I,\mathbb{I}, X,X, ZZ lub XZXZ na swoim kubicie 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}

Działania Boba mają następujące efekty na czterech stanach Bella:

ϕ+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}

Można to sprawdzić bezpośrednio, obliczając wyniki operacji Boba na tych stanach pojedynczo.

Tak więc, gdy Bob dokonuje pomiarów, jest w stanie określić, który stan Bella wybrała Alicja. Weryfikacja, że protokół działa poprawnie, sprowadza się do sprawdzenia każdego przypadku:

  • Jeśli cd=00,cd = 00, to stan (B,A)(\mathsf{B},\mathsf{A}) w chwili, gdy Bob otrzymuje A,\mathsf{A}, to ϕ+.\vert \phi^+\rangle. Przekształca ten stan w 00\vert 00\rangle i uzyskuje cd=00.cd = 00.

  • Jeśli cd=01,cd = 01, to stan (B,A)(\mathsf{B},\mathsf{A}) w chwili, gdy Bob otrzymuje A,\mathsf{A}, to ϕ.\vert \phi^-\rangle. Przekształca ten stan w 01\vert 01\rangle i uzyskuje cd=01.cd = 01.

  • Jeśli cd=10,cd = 10, to stan (B,A)(\mathsf{B},\mathsf{A}) w chwili, gdy Bob otrzymuje A,\mathsf{A}, to ψ+.\vert \psi^+\rangle. Przekształca ten stan w 10\vert 10\rangle i uzyskuje cd=10.cd = 10.

  • Jeśli cd=11,cd = 11, to stan (B,A)(\mathsf{B},\mathsf{A}) w chwili, gdy Bob otrzymuje A,\mathsf{A}, to ψ.\vert \psi^-\rangle. Przekształca ten stan w 11-\vert 11\rangle i uzyskuje cd=11.cd = 11. (Czynnik fazowy minus jeden nie ma tu żadnego wpływu.)

Implementacja superkodowania

Oto prosta implementacja superkodowania, w której specyfikujemy sam obwód w zależności od bitów, które mają być przesłane. Najpierw wybierzemy dwa bity do przesłania. (Później wybierzemy je losowo, ale na razie dokonamy arbitralnego wyboru.)

c = "1"
d = "0"

Teraz odpowiednio zbudujemy obwód. Pozwolimy Qiskit używać domyślnych nazw dla kubitów: q0\mathsf{q}_0 dla górnego kubitu i q1\mathsf{q}_1 dla dolnego.

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

Wynik poprzedniej komórki kodu

Niewiele tu nowego, z wyjątkiem funkcji measure_all, która mierzy wszystkie kubity i umieszcza wyniki w pojedynczym rejestrze klasycznym (mającym zatem w tym przypadku dwa bity).

Uruchomienie symulatora Aer daje oczekiwany wynik.

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

Wynik poprzedniej komórki kodu

Teraz użyjmy dodatkowego kubitu jako generatora losowych bitów — w istocie do rzucania uczciwymi monetami. Użyjemy go, aby losowo wybrać cc i d,d, a następnie uruchomić protokół superkodowania.

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

Wynik poprzedniej komórki kodu

Uruchomienie symulatora Aer pokazuje wyniki: klasyczne bity Alicji i Boba zawsze się zgadzają.

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

Wynik poprzedniej komórki kodu

Gra CHSH

Ostatnim przykładem omawianym w tej lekcji nie jest protokół, lecz gra znana jako gra CHSH.

Gdy mówimy w tym kontekście o grze, nie mamy na myśli czegoś, w co gra się dla zabawy lub sportu, ale raczej matematyczną abstrakcję w rozumieniu teorii gier. Matematyczne abstrakcje gier są badane na przykład w ekonomii i informatyce i są zarówno fascynujące, jak i użyteczne.

Litery CHSH odnoszą się do autorów — Johna Clausera, Michaela Horne'a, Abnera Shimony'ego i Richarda Holta — artykułu z 1969 roku, w którym po raz pierwszy opisano ten przykład. Nie opisali go jako gry, lecz jako eksperyment. Jego opis jako gry jest jednak zarówno naturalny, jak i intuicyjny.

Gra CHSH należy do klasy gier znanych jako gry nielokalne. Gry nielokalne są niezwykle interesujące i mają głębokie powiązania z fizyką, informatyką i matematyką — kryjąc tajemnice, które wciąż pozostają nierozwiązane. Rozpoczniemy tę sekcję od wyjaśnienia, czym są gry nielokalne, a następnie skupimy się na grze CHSH i na tym, co czyni ją interesującą.

Gry nielokalne

Gra nielokalna to gra kooperacyjna, w której dwóch graczy, Alicja i Bob, współpracuje, aby osiągnąć określony rezultat. Gra jest prowadzona przez sędziego, który postępuje zgodnie ze ścisłymi wytycznymi znanymi Alicji i Bobowi.

Alicja i Bob mogą przygotować się do gry w dowolny wybrany przez siebie sposób, ale gdy gra się rozpocznie, nie wolno im się komunikować. Możemy sobie wyobrazić, że gra toczy się w jakimś zabezpieczonym obiekcie — tak jakby sędzia grał rolę detektywa, a Alicja i Bob byli podejrzanymi przesłuchiwanymi w różnych pokojach. Innym sposobem myślenia o tej konfiguracji jest to, że Alicję i Boba dzieli ogromna odległość, a komunikacja jest zabroniona, ponieważ prędkość światła nie pozwala na nią w czasie trwania gry. To znaczy, że jeśli Alicja spróbuje wysłać wiadomość do Boba, gra się skończy, zanim on ją otrzyma, i odwrotnie.

Gra nielokalna działa w ten sposób, że sędzia najpierw zadaje Alicji i Bobowi po jednym pytaniu. Użyjemy litery xx do oznaczenia pytania Alicji oraz yy do oznaczenia pytania Boba. Tutaj traktujemy xx i yy jako stany klasyczne, a w grze CHSH xx i yy są bitami.

Sędzia wykorzystuje losowość do wyboru tych pytań. Dokładniej, z każdą możliwą parą (x,y)(x,y) pytań związane jest pewne prawdopodobieństwo p(x,y)p(x,y), a sędzia zobowiązał się wybierać pytania losowo, w chwili gry, w ten właśnie sposób. Wszyscy, włącznie z Alicją i Bobem, znają te prawdopodobieństwa — ale nikt nie wie konkretnie, która para (x,y)(x,y) zostanie wybrana, dopóki gra się nie rozpocznie.

Po otrzymaniu pytań Alicja i Bob muszą udzielić odpowiedzi: odpowiedź Alicji to aa, a odpowiedź Boba to b.b. Ponownie, są to ogólnie stany klasyczne, a w grze CHSH bity.

W tym momencie sędzia podejmuje decyzję: Alicja i Bob albo wygrywają, albo przegrywają w zależności od tego, czy para odpowiedzi (a,b)(a,b) zostanie uznana za poprawną dla pary pytań (x,y)(x,y) zgodnie z pewnym ustalonym zestawem reguł. Różne reguły oznaczają różne gry, a reguły specyficznie dla gry CHSH są opisane w następnej sekcji. Jak już wspomniano, reguły są znane wszystkim.

Poniższy diagram przedstawia graficzną reprezentację tych interakcji.

Gra nielokalna

To właśnie niepewność co do tego, jakie pytania zostaną zadane, a w szczególności fakt, że każdy z graczy nie zna pytania drugiego gracza, sprawia, że gry nielokalne stanowią wyzwanie dla Alicji i Boba — podobnie jak zmawiający się podejrzani w różnych pokojach starający się zachować spójność swoich zeznań.

Precyzyjny opis sędziego definiuje konkretną instancję gry nielokalnej. Obejmuje to specyfikację prawdopodobieństw p(x,y)p(x,y) dla każdej pary pytań wraz z regułami, które określają, czy każda para odpowiedzi (a,b)(a,b) wygrywa, czy przegrywa dla każdej możliwej pary pytań (x,y).(x,y).

Za chwilę przyjrzymy się grze CHSH, ale wcześniej krótko zaznaczmy, że warto również rozważyć inne gry nielokalne. W istocie jest to niezwykle interesujące; istnieją dość proste gry nielokalne, dla których nie jest obecnie znane, jak dobrze Alicja i Bob mogą grać, korzystając ze splątania. Konfiguracja jest prosta, ale w grę wchodzi złożoność — a dla niektórych gier obliczenie najlepszych lub prawie najlepszych strategii dla Alicji i Boba może być niewyobrażalnie trudne. Taka jest zaskakująco nieintuicyjna natura modelu gier nielokalnych.

Opis gry CHSH

Oto precyzyjny opis gry CHSH, gdzie (jak wyżej) xx jest pytaniem Alicji, yy jest pytaniem Boba, aa jest odpowiedzią Alicji, a bb jest odpowiedzią Boba:

  • Pytania i odpowiedzi są bitami: x,y,a,b{0,1}.x,y,a,b\in\{0,1\}.

  • Sędzia wybiera pytania (x,y)(x,y) jednostajnie losowo. To znaczy, że każda z czterech możliwości, (0,0),(0,0), (0,1),(0,1), (1,0),(1,0), i (1,1),(1,1), jest wybierana z prawdopodobieństwem 1/4.1/4.

  • Odpowiedzi (a,b)(a,b) wygrywają dla pytań (x,y)(x,y), jeśli ab=xya\oplus b = x\wedge y, a w przeciwnym razie przegrywają. Poniższa tabela wyraża tę regułę, wymieniając warunki wygranej i przegranej dla odpowiedzi (a,b)(a,b) dla każdej pary pytań (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}

Ograniczenie strategii klasycznych

Rozważmy teraz strategie dla Alicji i Boba w grze CHSH, zaczynając od strategii klasycznych.

Strategie deterministyczne

Zaczniemy od strategii deterministycznych, w których odpowiedź Alicji aa jest funkcją pytania xx, które otrzymuje, i podobnie odpowiedź Boba bb jest funkcją pytania yy, które on otrzymuje. Na przykład możemy zapisać a(0)a(0), aby oznaczyć odpowiedź Alicji, gdy jej pytaniem jest 0,0, oraz a(1)a(1), aby oznaczyć odpowiedź Alicji, gdy jej pytaniem jest 1.1.

Żadna strategia deterministyczna nie może wygrywać gry CHSH za każdym razem. Jednym ze sposobów zrozumienia tego jest po prostu przejście kolejno przez wszystkie możliwe strategie deterministyczne i sprawdzenie, że każda z nich przegrywa dla przynajmniej jednej z czterech możliwych par pytań. Alicja i Bob mogą wybierać z czterech możliwych funkcji z jednego bitu na jeden bit — z którymi zetknęliśmy się w lekcji o Pojedynczych systemach — a zatem w sumie do sprawdzenia jest 1616 różnych strategii deterministycznych.

Możemy również uzasadnić to analitycznie. Jeśli strategia Alicji i Boba wygrywa, gdy (x,y)=(0,0),(x,y) = (0,0), to musi być a(0)=b(0);a(0) = b(0); jeśli ich strategia wygrywa, gdy (x,y)=(0,1),(x,y) = (0,1), to a(0)=b(1);a(0) = b(1); i podobnie, jeśli strategia wygrywa dla (x,y)=(1,0)(x,y)=(1,0), to a(1)=b(0).a(1) = b(0). Tak więc, jeśli ich strategia wygrywa dla wszystkich trzech możliwości, to

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

Oznacza to, że strategia przegrywa w ostatnim przypadku (x,y)=(1,1),(x,y) = (1,1), a tutaj wygrana wymaga, aby a(1)b(1).a(1) \neq b(1). Nie może więc istnieć strategia deterministyczna, która wygrywa za każdym razem.

Z drugiej strony łatwo znaleźć strategie deterministyczne, które wygrywają w trzech z czterech przypadków, takie jak a(0)=a(1)=b(0)=b(1)=0.a(0)=a(1)=b(0)=b(1)=0. Stąd wnioskujemy, że maksymalne prawdopodobieństwo wygranej Alicji i Boba przy użyciu strategii deterministycznej wynosi 3/4.3/4.

Strategie probabilistyczne

Jak właśnie ustaliliśmy, Alicja i Bob nie mogą osiągnąć lepszego wyniku niż wygrywanie gry CHSH w 75% przypadków przy użyciu strategii deterministycznej. A co ze strategią probabilistyczną? Czy wykorzystanie losowości — włącznie z możliwością wspólnej losowości, gdzie ich losowe wybory są skorelowane — mogłoby pomóc Alicji i Bobowi?

Okazuje się, że strategie probabilistyczne wcale nie pomagają zwiększyć prawdopodobieństwa wygranej Alicji i Boba. Dzieje się tak, ponieważ każdą strategię probabilistyczną można alternatywnie postrzegać jako losowy wybór strategii deterministycznej, podobnie jak (co wspomniano w lekcji Pojedyncze systemy) operacje probabilistyczne można postrzegać jako losowe wybory operacji deterministycznych. Średnia nigdy nie jest większa niż maksimum, a zatem wynika stąd, że strategie probabilistyczne nie oferują żadnej przewagi pod względem ogólnego prawdopodobieństwa wygranej.

Zatem wygrywanie z prawdopodobieństwem 3/43/4 jest najlepszym, co Alicja i Bob mogą osiągnąć przy użyciu jakiejkolwiek strategii klasycznej, czy to deterministycznej, czy probabilistycznej.

Strategia w grze CHSH

Naturalnym pytaniem, jakie można postawić w tym momencie, jest to, czy Alicja i Bob mogą osiągnąć lepszy wynik, używając strategii kwantowej. W szczególności, jeśli dzielą splątany stan kwantowy, jak sugeruje poniższy rysunek, który mogli przygotować przed rozpoczęciem gry, czy mogą zwiększyć swoje prawdopodobieństwo wygranej?

Gra nielokalna ze splątaniem

Odpowiedź brzmi: tak, i to jest główny sens tego przykładu oraz powód, dla którego jest tak interesujący. Zobaczmy więc dokładnie, jak Alicja i Bob mogą osiągnąć lepszy wynik w tej grze dzięki splątaniu.

Wymagane wektory i macierze

Pierwszą rzeczą, którą musimy zrobić, jest zdefiniowanie wektora stanu kubitu ψθ,\vert \psi_{\theta}\rangle, dla każdej liczby rzeczywistej θ\theta (o której będziemy myśleć jako o kącie mierzonym w radianach) w następujący sposób.

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

Oto kilka prostych przykładów:

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

Mamy również następujące przykłady, które pojawiają się w poniższej analizie:

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

Patrząc na ogólną postać, widzimy, że iloczyn skalarny dowolnych dwóch z tych wektorów wyraża się następującym wzorem:

ψαψβ=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}

Dokładniej, w tych wektorach występują wyłącznie liczby rzeczywiste, więc nie musimy przejmować się sprzężeniami zespolonymi: iloczyn skalarny jest iloczynem cosinusów plus iloczynem sinusów. Skorzystanie z jednego ze wzorów na sumę kątów z trygonometrii prowadzi do powyższego uproszczenia. Wzór ten ujawnia geometryczną interpretację iloczynu skalarnego rzeczywistych wektorów jednostkowych jako cosinusa kąta między nimi.

Jeśli obliczymy iloczyn skalarny iloczynu tensorowego dowolnych dwóch z tych wektorów ze stanem ϕ+\vert \phi^+\rangle, otrzymamy podobne wyrażenie, z tą różnicą, że w mianowniku pojawi się 2\sqrt{2}:

ψαψβϕ+=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}

Powód naszego zainteresowania tym konkretnym iloczynem skalarnym wkrótce stanie się jasny, ale na razie po prostu zauważamy, że jest to taki wzór.

Następnie zdefiniujmy macierz unitarną UθU_{\theta} dla każdego kąta θ\theta w następujący sposób.

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

Intuicyjnie mówiąc, ta macierz przekształca ψθ\vert\psi_{\theta}\rangle w 0\vert 0\rangle oraz ψθ+π/2\vert \psi_{\theta + \pi/2}\rangle w 1.\vert 1\rangle. Aby sprawdzić, że jest to macierz unitarna, kluczową obserwacją jest to, że wektory ψθ\vert\psi_{\theta}\rangle i ψθ+π/2\vert\psi_{\theta + \pi/2}\rangle są ortogonalne dla każdego kąta θ\theta:

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

Stąd otrzymujemy

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}

Macierz tę możemy alternatywnie zapisać w jawnej postaci jako

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

Jest to przykład macierzy obrotu, a konkretnie obraca ona dwuwymiarowe wektory o rzeczywistych współrzędnych o kąt θ-\theta wokół początku układu współrzędnych. Jeśli zastosujemy standardową konwencję nazewnictwa i parametryzacji obrotów różnych postaci, mamy Uθ=Ry(2θ)U_{\theta} = R_y(-2\theta), gdzie

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

Opis strategii

Teraz możemy opisać strategię kwantową.

  • Przygotowanie: Alicja i Bob rozpoczynają grę, dzieląc się e-bitem: Alicja trzyma kubit A,\mathsf{A}, Bob trzyma kubit B,\mathsf{B}, a razem oba kubity (X,Y)(\mathsf{X},\mathsf{Y}) są w stanie ϕ+\vert\phi^+\rangle.

  • Działania Alicji:

    • Jeśli Alicja otrzyma pytanie x=0,x=0, stosuje U0U_{0} do swojego kubitu A.\mathsf{A}.
    • Jeśli Alicja otrzyma pytanie x=1,x=1, stosuje Uπ/4U_{\pi/4} do swojego kubitu A.\mathsf{A}.

    Operację, którą Alicja wykonuje na A\mathsf{A}, można alternatywnie opisać tak:

    {U0jesˊli x=0Uπ/4jesˊli x=1\begin{cases} U_0 & \text{jeśli $x = 0$}\\ U_{\pi/4} & \text{jeśli $x = 1$} \end{cases}

    Po wykonaniu tej operacji Alicja mierzy A\mathsf{A} pomiarem w bazie standardowej i ustawia swoją odpowiedź aa na wynik pomiaru.

  • Działania Boba:

    • Jeśli Bob otrzyma pytanie y=0,y=0, stosuje Uπ/8U_{\pi/8} do swojego kubitu B.\mathsf{B}.
    • Jeśli Bob otrzyma pytanie y=1,y=1, stosuje Uπ/8U_{-\pi/8} do swojego kubitu B.\mathsf{B}.

    Podobnie jak w przypadku Alicji, operację Boba na B\mathsf{B} możemy wyrazić tak:

    {Uπ/8jesˊli y=0Uπ/8jesˊli y=1\begin{cases} U_{\pi/8} & \text{jeśli $y = 0$}\\ U_{-\pi/8} & \text{jeśli $y = 1$} \end{cases}

    Po wykonaniu tej operacji Bob mierzy B\mathsf{B} pomiarem w bazie standardowej i ustawia swoją odpowiedź bb na wynik pomiaru.

Oto schemat obwodu kwantowego opisujący tę strategię:

Obwód gry CHSH

Na tym schemacie widzimy dwie zwykłe bramki sterowane, jedną dla Uπ/8U_{-\pi/8} na górze i jedną dla Uπ/4U_{\pi/4} na dole. Mamy również dwie bramki wyglądające jak bramki sterowane, jedną dla Uπ/8U_{\pi/8} na górze i jedną dla U0U_{0} na dole, z tą różnicą, że kółko reprezentujące sterowanie nie jest wypełnione. Oznacza to inny rodzaj bramki sterowanej, gdzie bramka jest wykonywana, jeśli sterowanie jest ustawione na 00 (a nie na 11, jak w zwykłej bramce sterowanej). Tak więc, w praktyce, Bob wykonuje Uπ/8U_{\pi/8} na swoim kubicie, jeśli y=0y=0, i Uπ/8U_{-\pi/8}, jeśli y=1;y=1; a Alicja wykonuje U0U_0 na swoim kubicie, jeśli x=0x=0, i Uπ/4U_{\pi/4}, jeśli x=1,x=1, co jest zgodne z opisem protokołu słownym powyżej.

Pozostaje ustalić, jak dobrze ta strategia Alicji i Boba działa. Zrobimy to, przechodząc kolejno przez cztery możliwe pary pytań.

Analiza przypadek po przypadku

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

    W tym przypadku Alicja wykonuje U0U_{0} na swoim kubicie, a Bob wykonuje Uπ/8U_{\pi/8} na swoim, więc stan dwóch kubitów (A,B)(\mathsf{A},\mathsf{B}) po wykonaniu przez nich tych operacji jest następujący

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

    Prawdopodobieństwa dla czterech możliwych par odpowiedzi (a,b)(a,b) są zatem następujące.

    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}

    Prawdopodobieństwa, że a=ba=b i aba\neq b, możemy następnie uzyskać przez sumowanie.

    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}

    Dla pary pytań (0,0)(0,0) Alicja i Bob wygrywają, jeśli a=b,a=b, a zatem wygrywają w tym przypadku z prawdopodobieństwem

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

    W tym przypadku Alicja wykonuje U0U_{0} na swoim kubicie, a Bob wykonuje Uπ/8U_{-\pi/8} na swoim, więc stan dwóch kubitów (A,B)(\mathsf{A},\mathsf{B}) po wykonaniu przez nich tych operacji jest następujący

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

    Prawdopodobieństwa dla czterech możliwych par odpowiedzi (a,b)(a,b) są zatem następujące.

    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}

    Ponownie możemy otrzymać prawdopodobieństwa, że a=ba=b oraz aba\neq b, poprzez sumowanie.

    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}

    Dla pary pytań (0,1)(0,1) Alicja i Bob wygrywają, gdy a=b,a=b, a zatem w tym przypadku wygrywają z prawdopodobieństwem

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

    W tym przypadku Alicja wykonuje Uπ/4U_{\pi/4} na swoim kubicie, a Bob wykonuje Uπ/8U_{\pi/8} na swoim, więc stan dwóch kubitów (A,B)(\mathsf{A},\mathsf{B}) po wykonaniu ich operacji jest

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

    Prawdopodobieństwa dla czterech możliwych par odpowiedzi (a,b)(a,b) są więc następujące.

    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}

    Ponownie stwierdzamy, że prawdopodobieństwa, iż a=ba=b oraz aba\neq b, są następujące.

    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}

    Dla pary pytań (1,0)(1,0) Alicja i Bob wygrywają, gdy a=b,a=b, więc w tym przypadku wygrywają z prawdopodobieństwem

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

    Ostatni przypadek jest nieco inny, czego możemy się spodziewać, ponieważ warunek wygranej jest w tym przypadku odmienny. Gdy xx i yy są oba równe 1,1, Alicja i Bob wygrywają, gdy aa i bb różnią się. W tym przypadku Alicja wykonuje Uπ/4U_{\pi/4} na swoim kubicie, a Bob wykonuje Uπ/8U_{-\pi/8} na swoim, więc stan dwóch kubitów (A,B)(\mathsf{A},\mathsf{B}) po wykonaniu ich operacji jest

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

    Prawdopodobieństwa dla czterech możliwych par odpowiedzi (a,b)(a,b) są więc następujące.

    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}

    Prawdopodobieństwa zamieniły się miejscami w stosunku do trzech innych przypadków. Otrzymujemy prawdopodobieństwa, że a=ba=b oraz aba\neq b, poprzez sumowanie.

    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}

    Dla pary pytań (1,1)(1,1) Alicja i Bob wygrywają, gdy ab,a\neq b, a zatem w tym przypadku wygrywają z prawdopodobieństwem

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

Wygrywają w każdym przypadku z tym samym prawdopodobieństwem:

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

Jest to zatem prawdopodobieństwo, z jakim wygrywają w całości. Jest to znacząco lepiej niż jakakolwiek strategia klasyczna może osiągnąć w tej grze; strategie klasyczne mają prawdopodobieństwo wygranej ograniczone przez 3/4.3/4. I to właśnie czyni ten przykład bardzo interesującym.

Tak się składa, że jest to optymalne prawdopodobieństwo wygranej dla strategii kwantowych; nie możemy uzyskać lepszego wyniku, niezależnie od tego, jaki stan splątany czy pomiary wybierzemy. Fakt ten znany jest jako nierówność Cirelsona, nazwana na cześć Borisa Cirelsona, który jako pierwszy ją udowodnił — i który jako pierwszy opisał eksperyment CHSH jako grę.

Obraz geometryczny

Można myśleć o opisanej powyżej strategii geometrycznie, co może być pomocne w zrozumieniu zależności pomiędzy różnymi kątami wybranymi dla operacji Alicji i Boba.

To, co Alicja w istocie robi, to wybór kąta α,\alpha, zależnego od jej pytania x,x, a następnie zastosowanie UαU_{\alpha} do swojego kubita i pomiar. Podobnie Bob wybiera kąt β,\beta, zależny od y,y, a następnie stosuje UβU_{\beta} do swojego kubita i dokonuje pomiaru. Wybraliśmy α\alpha i β\beta w następujący sposób.

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

Na razie jednak przyjmijmy, że α\alpha i β\beta są dowolne. Wybierając α,\alpha, Alicja w istocie definiuje ortonormalną bazę wektorów, która wygląda następująco:

Baza dla Alicji

Bob postępuje podobnie, z tym że jego kąt to β\beta:

Baza dla Boba

Kolory wektorów odpowiadają odpowiedziom Alicji i Boba: niebieski dla 00 i czerwony dla 1.1.

Teraz, jeśli połączymy ze sobą (33) i (44), otrzymujemy wzór

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

działa to dla wszystkich liczb rzeczywistych α\alpha i β.\beta.

Postępując zgodnie z tą samą analizą, którą przeprowadziliśmy powyżej, ale przy α\alpha i β\beta jako zmiennych, otrzymujemy:

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

Wyciągamy te dwa wzory:

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}

Równania te można powiązać z powyższymi rysunkami, wyobrażając sobie, że nakładamy na siebie bazy wybrane przez Alicję i Boba.

Analiza strategii

Gdy (x,y)=(0,0),(x,y) = (0,0), Alicja i Bob wybierają α=0\alpha = 0 oraz β=π/8,\beta = \pi/8, a nakładając na siebie ich bazy otrzymujemy poniższy rysunek:

Bazy Alicji i Boba, przypadek 1

Kąt między czerwonymi wektorami wynosi π/8,\pi/8, czyli tyle samo, co kąt między dwoma niebieskimi wektorami. Prawdopodobieństwo, że wyniki Alicji i Boba są zgodne, to kosinus tego kąta podniesiony do kwadratu,

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

natomiast prawdopodobieństwo, że są one niezgodne, to sinus tego kąta podniesiony do kwadratu,

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

Gdy (x,y)=(0,1),(x,y) = (0,1), Alicja i Bob wybierają α=0\alpha = 0 oraz β=π/8,\beta = -\pi/8, a nakładając na siebie ich bazy otrzymujemy poniższy rysunek:

Bazy Alicji i Boba, przypadek 1

Kąt między czerwonymi wektorami wynosi ponownie π/8,\pi/8, tak samo jak kąt między wektorami niebieskimi. Prawdopodobieństwo, że wyniki Alicji i Boba są zgodne, jest znowu kosinusem tego kąta podniesionym do kwadratu,

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

natomiast prawdopodobieństwo, że są one niezgodne, to sinus tego kąta podniesiony do kwadratu,

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

Gdy (x,y)=(1,0),(x,y) = (1,0), Alicja i Bob wybierają α=π/4\alpha = \pi/4 oraz β=π/8,\beta = \pi/8, a nakładając na siebie ich bazy otrzymujemy poniższy rysunek:

Bazy Alicji i Boba, przypadek 1

Bazy się zmieniły, ale kąty pozostały takie same — ponownie kąt między wektorami tego samego koloru wynosi π/8.\pi/8. Prawdopodobieństwo, że wyniki Alicji i Boba są zgodne, to

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

a prawdopodobieństwo, że są one niezgodne, to

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

Gdy (x,y)=(1,1),(x,y) = (1,1), Alicja i Bob wybierają α=π/4\alpha = \pi/4 oraz β=π/8.\beta = -\pi/8. Po nałożeniu ich baz widzimy, że zaszło coś innego:

Bazy Alicji i Boba, przypadek 1

Ze względu na sposób wyboru kątów, tym razem kąt między wektorami tego samego koloru wynosi 3π/83\pi/8 zamiast π/8.\pi/8. Prawdopodobieństwo, że wyniki Alicji i Boba są zgodne, jest nadal kosinusem tego kąta podniesionym do kwadratu, ale tym razem wartość ta wynosi

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

Prawdopodobieństwo, że wyniki są niezgodne, to sinus tego kąta podniesiony do kwadratu, co w tym przypadku daje:

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

Uwagi

Podstawowy pomysł eksperymentu takiego jak gra CHSH, w którym splątanie prowadzi do statystycznych wyników niezgodnych z czysto klasycznym rozumowaniem, pochodzi od Johna Bella, od którego imienia wzięły swoją nazwę stany Bella. Z tego powodu eksperymenty tego typu są często nazywane testami Bella. Czasami mówi się również o twierdzeniu Bella, które można sformułować na różne sposoby — ale jego istota polega na tym, że mechanika kwantowa nie jest zgodna z tak zwanymi teoriami lokalnych zmiennych ukrytych. Gra CHSH jest szczególnie przejrzystym i prostym przykładem testu Bella, a można ją traktować jako dowód lub demonstrację twierdzenia Bella.

Gra CHSH oferuje sposób na eksperymentalne przetestowanie teorii informacji kwantowej. Możemy przeprowadzać eksperymenty, które implementują grę CHSH, i testować rodzaje strategii opartych na splątaniu opisane powyżej. Daje nam to wysoki stopień pewności, że splątanie jest rzeczywiste — i w przeciwieństwie do czasem niejasnych lub poetyckich sposobów, w jakie próbujemy wyjaśniać splątanie, gra CHSH dostarcza nam konkretnego i testowalnego sposobu obserwowania splątania. Nagroda Nobla w dziedzinie fizyki z 2022 roku stanowi uznanie dla tego kierunku badań: nagrodę otrzymali Alain Aspect, John Clauser (C w skrócie CHSH) oraz Anton Zeilinger za obserwowanie splątania poprzez testy Bella na splątanych fotonach.

Implementacja w Qiskit

Grę CHSH wraz ze zdefiniowaną powyżej strategią kwantową możemy zaimplementować w Qiskit w następujący sposób.

Najpierw definicja samej gry, która pozwala na podłączenie dowolnej strategii jako argumentu.

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

Teraz utworzymy funkcję, która zwraca obwód zależny od pytań zadanych Alicji i Bobowi. Dla uproszczenia pozostawimy kubitom ich domyślne nazwy, a do działań Alicji i Boba wykorzystamy wbudowaną bramkę Ry(θ).R_y(\theta).

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

Oto cztery możliwe obwody w zależności od tego, jakie pytania zostały zadane.

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

Wynik poprzedniej komórki kodu

(x,y) = (0,1)

Wynik poprzedniej komórki kodu

(x,y) = (1,0)

Wynik poprzedniej komórki kodu

(x,y) = (1,1)

Wynik poprzedniej komórki kodu

Teraz utworzymy zadanie (job) przy użyciu symulatora Aer, które uruchamia obwód jeden raz dla danej pary wejściowej (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

Na koniec rozegramy grę 1000 razy i obliczymy, jaką część gier strategia wygrywa.

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

Możemy również zdefiniować strategię klasyczną i zobaczyć, jak dobrze ona działa. Jest to tylko jedna strategia — inne można przetestować, modyfikując kod — ale należy ona do optymalnych strategii klasycznych.

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

Ponownie rozegrajmy grę 1000 razy, aby zobaczyć, jak dobrze działa.

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