Перейти до основного вмісту

Реалізація в Qiskit

У цьому уроці ми реалізуємо деякі ідеї з уроку про заплутаність у дії, використовуючи 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

Ось реалізація протоколу квантової телепортації у вигляді квантової схеми.

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

Вивід попередньої комірки коду

У схемі використовується кілька можливостей Qiskit, яких ми ще не бачили в попередніх уроках: функції barrier та if_test. Функція barrier створює візуальне розділення, що робить діаграму схеми більш читабельною, а також забороняє Qiskit виконувати різноманітні спрощення та оптимізації через бар'єр під час компіляції, коли схеми запускаються на реальному залізі. Функція if_test застосовує операцію умовно — залежно від значення класичного біта або регістра.

Спочатку схема ініціалізує (A,B)(\mathsf{A},\mathsf{B}) у стан ϕ+\vert \phi^+\rangle (що не є частиною самого протоколу), потім виконуються операції Аліси, потім її вимірювання, і нарешті — операції Боба. Щоб перевірити правильність роботи протоколу, ми застосуємо випадково згенерований одно-кубітний Gate до ініціалізованого стану 0\vert 0\rangle кубіта Q\mathsf{Q}, отримавши таким чином випадковий квантовий вектор стану для телепортації. Застосувавши інверсію (тобто спряжено-транспоновану матрицю) цього Gate до B\mathsf{B} після виконання протоколу, ми можемо перевірити, що стан було телепортовано, вимірявши та переконавшись, що він повернувся до стану 0\vert 0\rangle.

Спочатку ми випадково оберемо унітарний Gate для кубіта.

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}

Тепер ми створимо нову тестову схему, яка спочатку застосовує наш випадковий Gate до Q,\mathsf{Q}, потім запускає схему телепортації, і нарешті застосовує інверсію нашого випадкового Gate до кубіта B\mathsf{B} та виконує вимірювання. Результат повинен бути 00 з повною певністю.

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

Вивід попередньої комірки коду

Нарешті, запустимо симулятор Aer для цієї схеми та побудуємо гістограму результатів. Ми побачимо статистику для всіх трьох класичних бітів: нижній/лівий біт завжди повинен бути 0,0, що вказує на успішну телепортацію кубіта Q\mathsf{Q} у B,\mathsf{B}, тоді як два інших біти мають бути приблизно рівномірними.

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

Вивід попередньої комірки коду

Якщо хочеш, можна також відфільтрувати статистику, щоб зосередитися виключно на кубіті тестового результату, ось так:

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

Вивід попередньої комірки коду

Надщільне кодування

Надщільне кодування — це протокол, який, у певному сенсі, досягає мети, комплементарної до телепортації. Замість того щоб передавати один кубіт за допомогою двох класичних бітів зв'язку (ціною одного е-біта заплутаності), він дозволяє передавати два класичних біти за допомогою одного кубіта квантового зв'язку (знову ж таки, ціною одного е-біта заплутаності).

Детальніше: є відправник (Аліса) і одержувач (Боб), які розділяють один е-біт заплутаності. Відповідно до угод, прийнятих у цьому уроці, це означає, що Аліса тримає кубіт A,\mathsf{A}, Боб тримає кубіт B,\mathsf{B}, і разом пара (A,B)(\mathsf{A},\mathsf{B}) перебуває у стані ϕ+.\vert\phi^+\rangle. Аліса хоче передати Бобу два класичних біти, які ми позначимо як cc і d,d, і зробить це, надіславши йому один кубіт.

Можна вважати, що це досягнення менш вражаюче, ніж те, чого досягає телепортація. Надсилання кубітів, найімовірніше, буде значно складнішим, ніж надсилання класичних бітів у найближчому майбутньому, тому обмін одним кубітом квантового зв'язку на два класичних біти — та ще й ціною е-біта — навряд чи здається варним. Однак це не означає, що надщільне кодування нецікаве — навпаки, воно дуже навіть цікаве.

Відповідно до теми уроку, одна з причин, чому надщільне кодування цікаве, полягає в тому, що воно демонструє конкретне і (в контексті теорії інформації) досить разюче використання заплутаності. Відома теорема в квантовій теорії інформації, відома як теорема Голєво, стверджує, що без спільного заплутаного стану неможливо передати більше одного біта класичної інформації, надіславши один кубіт. (Теорема Голєво є більш загальною за це. Її точне формулювання технічне й потребує пояснень, але це один із її наслідків.) Отже, завдяки надщільному кодуванню спільна заплутаність фактично дозволяє подвоїти пропускну здатність класичної інформації при надсиланні кубітів.

Протокол

Наступна діаграма квантової схеми описує протокол надщільного кодування:

Схема надщільного кодування

Словами, ось що робить Аліса:

  1. Якщо d=1,d=1, Аліса застосовує Gate ZZ до свого кубіта A\mathsf{A} (а якщо d=0d=0 — не застосовує).

  2. Якщо c=1,c=1, Аліса застосовує Gate XX до свого кубіта A\mathsf{A} (а якщо c=0c=0 — не застосовує).

Після цього Аліса надсилає свій кубіт A\mathsf{A} Бобу.

Коли Боб отримує кубіт A\mathsf{A}, він спочатку застосовує Gate controlled-NOT, де A\mathsf{A} є контрольним, а B\mathsf{B} — цільовим, а потім застосовує Gate Адамара до A.\mathsf{A}. Потім він вимірює B\mathsf{B}, щоб отримати c,c, і A\mathsf{A}, щоб отримати d,d, — в обох випадках за допомогою вимірювань у стандартному базисі.

Аналіз

Ідея цього протоколу проста: Аліса фактично обирає, в якому стані Белла вона хотіла б перебувати разом із Бобом, надсилає Бобу свій кубіт, і Боб вимірює, щоб визначити, який стан Белла обрала Аліса.

Тобто спочатку вони розділяють ϕ+,\vert\phi^+\rangle, і залежно від бітів cc та d,d, Аліса або залишає цей стан незмінним, або переводить його в один із інших станів Белла, застосовуючи I,\mathbb{I}, X,X, Z,Z, або XZXZ до свого кубіта 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}

Дії Боба мають такий вплив на чотири стани Белла:

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

Це можна перевірити безпосередньо, обчислюючи результати операцій Боба над цими станами по одному.

Отже, коли Боб виконує свої вимірювання, він може визначити, який стан Белла обрала Аліса. Перевірка правильності роботи протоколу зводиться до розгляду кожного випадку:

  • Якщо cd=00,cd = 00, то стан (B,A)(\mathsf{B},\mathsf{A}) на момент отримання Бобом A\mathsf{A} дорівнює ϕ+.\vert \phi^+\rangle. Він перетворює цей стан на 00\vert 00\rangle і отримує cd=00.cd = 00.

  • Якщо cd=01,cd = 01, то стан (B,A)(\mathsf{B},\mathsf{A}) на момент отримання Бобом A\mathsf{A} дорівнює ϕ.\vert \phi^-\rangle. Він перетворює цей стан на 01\vert 01\rangle і отримує cd=01.cd = 01.

  • Якщо cd=10,cd = 10, то стан (B,A)(\mathsf{B},\mathsf{A}) на момент отримання Бобом A\mathsf{A} дорівнює ψ+.\vert \psi^+\rangle. Він перетворює цей стан на 10\vert 10\rangle і отримує cd=10.cd = 10.

  • Якщо cd=11,cd = 11, то стан (B,A)(\mathsf{B},\mathsf{A}) на момент отримання Бобом A\mathsf{A} дорівнює ψ.\vert \psi^-\rangle. Він перетворює цей стан на 11-\vert 11\rangle і отримує cd=11.cd = 11. (Фазовий множник мінус один тут жодного впливу не має.)

Реалізація надщільного кодування

Ось проста реалізація надщільного кодування, де ми задаємо схему залежно від бітів, які потрібно передати. Спочатку оберемо два біти для передачі. (Пізніше ми оберемо їх випадково, але поки що зробимо довільний вибір.)

c = "1"
d = "0"

Тепер побудуємо схему відповідно. Тут ми дозволимо Qiskit використовувати стандартні назви для кубітів: q0\mathsf{q}_0 для верхнього кубіта та q1\mathsf{q}_1 для нижнього.

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

Вивід попередньої комірки коду

Тут мало що нового, крім функції measure_all, яка вимірює всі кубіти і поміщає результати в єдиний класичний регістр (тому в цьому випадку маємо два біти).

Запуск симулятора Aer дає очікуваний результат.

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

Вивід попередньої комірки коду

Тепер скористаємося додатковим кубітом як генератором випадкових бітів — по суті, щоб підкидати чесну монету. Використаємо його для випадкового вибору cc і d,d, а потім запустимо протокол надщільного кодування.

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

Вивід попередньої комірки коду

Запуск симулятора Aer показує результати: класичні біти Аліси та Боба завжди збігаються.

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

Вивід попередньої комірки коду

Гра CHSH

Останній приклад, який розглядається в цьому уроці, — це не протокол, а гра, відома як гра CHSH.

Коли ми говоримо про гру в цьому контексті, ми маємо на увазі не щось, у що грають заради задоволення чи змагань, а математичну абстракцію в сенсі теорії ігор. Математичні абстракції ігор вивчаються, наприклад, в економіці та інформатиці, і вони водночас захопливі та корисні.

Абревіатура CHSH відноситься до авторів — Джона Клозера, Майкла Хорна, Абнера Шімоні та Річарда Холта — статті 1969 року, де цей приклад був уперше описаний. Вони описали його не як гру, а як експеримент. Однак його опис у вигляді гри є і природним, і інтуїтивно зрозумілим.

Гра CHSH належить до класу ігор, відомих як нелокальні ігри. Нелокальні ігри неймовірно цікаві та мають глибокі зв'язки з фізикою, інформатикою та математикою — і зберігають таємниці, які досі залишаються нерозгаданими. Ми розпочнемо цей розділ із пояснення того, що таке нелокальні ігри, а потім зосередимося на грі CHSH та на тому, що робить її цікавою.

Нелокальні ігри

Нелокальна гра — це кооперативна гра, у якій два гравці, Аліса та Боб, співпрацюють задля досягнення певного результату. Гра проводиться арбітром, який діє відповідно до суворих правил, відомих Алісі та Бобу.

Аліса та Боб можуть готуватися до гри як завгодно, але після початку гри їм заборонено спілкуватися. Можна уявити, що гра проходить у якомусь закритому приміщенні — ніби арбітр грає роль детектива, а Аліса та Боб — підозрюваних, яких допитують у різних кімнатах. Але інший спосіб думати про цю ситуацію — це що Аліса та Боб розділені величезною відстанню, і спілкування заборонено, бо швидкість світла не дозволяє цього зробити протягом часу проведення гри. Тобто, якщо Аліса спробує надіслати повідомлення Бобу, гра закінчиться до того, як він його отримає, і навпаки.

Нелокальна гра працює так: арбітр спочатку ставить по одному запитанню Алісі та Бобу. Будемо позначати запитання Аліси буквою x,x, а запитання Боба — буквою y.y. Тут ми розглядаємо xx і yy як класичні стани, а в грі CHSH xx і yy є бітами.

Арбітр використовує випадковість для вибору цих запитань. Точніше, існує деяка ймовірність p(x,y),p(x,y), пов'язана з кожною можливою парою запитань (x,y),(x,y), і арбітр пообіцяв обирати запитання випадково, у момент гри, саме таким чином. Усі, включно з Алісою та Бобом, знають ці ймовірності — але ніхто конкретно не знає, яка пара (x,y)(x,y) буде обрана, допоки гра не розпочнеться.

Після того як Аліса та Боб отримали свої запитання, вони повинні надати відповіді: відповідь Аліси — a,a, відповідь Боба — b.b. Знову ж таки, це класичні стани в загальному випадку, а в грі CHSH — біти.

На цьому етапі арбітр приймає рішення: Аліса та Боб або виграють, або програють залежно від того, чи є пара відповідей (a,b)(a,b) правильною для пари запитань (x,y)(x,y) згідно з фіксованим набором правил. Різні правила означають різні ігри, а правила для гри CHSH зокрема описані в наступному розділі. Як вже було зазначено, правила відомі всім.

Наступна діаграма показує графічне зображення взаємодій.

Нелокальна гра

Саме невизначеність щодо того, які запитання будуть поставлені, і зокрема той факт, що кожен гравець не знає запитання іншого гравця, робить нелокальні ігри складними для Аліси та Боба — зовсім як підозрювані в різних кімнатах, які намагаються узгодити свої показання.

Точний опис арбітра визначає конкретну нелокальну гру. Це включає вказівку ймовірностей p(x,y)p(x,y) для кожної пари запитань, а також правил, що визначають, чи виграє чи програє кожна пара відповідей (a,b)(a,b) для кожної можливої пари запитань (x,y).(x,y).

Ми незабаром розглянемо гру CHSH, але перш за це коротко зазначимо, що розглядати інші нелокальні ігри також цікаво. Насправді це надзвичайно цікаво; є досить прості нелокальні ігри, для яких досі невідомо, наскільки добре Аліса та Боб можуть грати, використовуючи заплутаність. Постановка проста, але за нею криється складність — і для деяких ігор обчислення найкращих або близьких до найкращих стратегій для Аліси та Боба може бути неможливо важким. Це і є напрочуд контрінтуїтивна природа моделі нелокальних ігор.

Опис гри CHSH

Ось точний опис гри CHSH, де (як і вище) xx — питання Аліси, yy — питання Боба, aa — відповідь Аліси, а bb — відповідь Боба:

  • Питання та відповіді — це біти: x,y,a,b{0,1}.x,y,a,b\in\{0,1\}.

  • Суддя обирає питання (x,y)(x,y) рівномірно випадково. Тобто кожна з чотирьох можливостей, (0,0),(0,0), (0,1),(0,1), (1,0)(1,0) та (1,1),(1,1), вибирається з імовірністю 1/4.1/4.

  • Відповіді (a,b)(a,b) виграють для питань (x,y),(x,y), якщо ab=xy,a\oplus b = x\wedge y, і програють в іншому разі. Наведена нижче таблиця виражає це правило, перераховуючи умови виграшу та програшу для відповідей (a,b)(a,b) для кожної пари питань (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}

Обмеження класичних стратегій

Тепер розглянемо стратегії для Аліси та Боба в грі CHSH, починаючи з класичних стратегій.

Детерміновані стратегії

Почнемо з детермінованих стратегій, де відповідь aa Аліси є функцією питання x,x, яке вона отримує, і так само відповідь bb Боба є функцією питання y,y, яке він отримує. Так, наприклад, ми можемо записати a(0)a(0) для позначення відповіді Аліси, коли її питання — 0,0, і a(1)a(1) — коли питання 1.1.

Жодна детермінована стратегія не може гарантовано виграти в грі CHSH кожного разу. Один зі способів зрозуміти це — просто перебрати всі можливі детерміновані стратегії одну за одною і перевірити, що кожна з них програє хоча б для однієї з чотирьох можливих пар питань. Аліса і Боб можуть кожен обрати одну з чотирьох можливих функцій з одного біта в один біт — з якими ми стикалися в уроці про Одиночні системи — тож всього є 1616 різних детермінованих стратегій для перевірки.

Можна також міркувати аналітично. Якщо стратегія Аліси і Боба виграє при (x,y)=(0,0),(x,y) = (0,0), то має бути a(0)=b(0);a(0) = b(0); якщо їхня стратегія виграє при (x,y)=(0,1),(x,y) = (0,1), то a(0)=b(1);a(0) = b(1); і аналогічно, якщо стратегія виграє при (x,y)=(1,0),(x,y)=(1,0), то a(1)=b(0).a(1) = b(0). Отже, якщо їхня стратегія виграє для всіх трьох можливостей, то

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

Це означає, що стратегія програє в останньому випадку (x,y)=(1,1),(x,y) = (1,1), де для виграшу потрібно, щоб a(1)b(1).a(1) \neq b(1). Таким чином, не існує детермінованої стратегії, яка б вигравала кожного разу.

З іншого боку, легко знайти детерміновані стратегії, що виграють у трьох з чотирьох випадків, наприклад a(0)=a(1)=b(0)=b(1)=0.a(0)=a(1)=b(0)=b(1)=0. Звідси робимо висновок, що максимальна імовірність виграшу для Аліси і Боба при використанні детермінованої стратегії становить 3/4.3/4.

Ймовірнісні стратегії

Як ми щойно з'ясували, Аліса і Боб не можуть виграти в грі CHSH більш ніж у 75% випадків, використовуючи детерміновану стратегію. А що з ймовірнісною стратегією? Чи може використання випадковості — включно з можливістю спільної випадковості, де випадкові вибори скорельовані, — допомогти Алісі та Бобу?

Виявляється, ймовірнісні стратегії взагалі не допомагають підвищити імовірність виграшу Аліси і Боба. Це тому, що будь-яку ймовірнісну стратегію можна розглядати як випадковий вибір детермінованої стратегії, — так само як (згадувалося в уроці про Одиночні системи) ймовірнісні операції можна розглядати як випадковий вибір детермінованих операцій. Середнє ніколи не перевищує максимум, тому ймовірнісні стратегії не дають жодної переваги з точки зору загальної імовірності виграшу.

Отже, виграш з імовірністю 3/43/4 — найкраще, на що можуть розраховувати Аліса і Боб, використовуючи будь-яку класичну стратегію, детерміновану чи ймовірнісну.

Стратегія для гри CHSH

На цьому етапі виникає природне запитання: чи можуть Аліса і Боб досягти кращого результату за допомогою квантової стратегії? Зокрема, якщо вони поділяють заплутаний квантовий стан, як показано на наступному рисунку, — а такий стан вони могли підготувати до початку гри, — чи зможуть вони підвищити свою імовірність виграшу?

Нелокальна гра з заплутаністю

Відповідь — так, і в цьому і полягає головна суть прикладу та його особлива цікавість. Отже, давай подивимося, як саме Аліса і Боб можуть досягти кращого результату в цій грі завдяки заплутаності.

Необхідні вектори та матриці

Перше, що потрібно зробити, — визначити вектор стану кубіта ψθ\vert \psi_{\theta}\rangle для кожного дійсного числа θ\theta (яке ми вважатимемо кутом у радіанах) таким чином:

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

Ось кілька простих прикладів:

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

Також маємо такі приклади, які виникають в аналізі нижче:

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

Дивлячись на загальний вигляд, бачимо, що скалярний добуток будь-яких двох таких векторів задається формулою:

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

Детальніше: всі компоненти цих векторів — дійсні числа, тому про комплексне спряження можна не турбуватися: скалярний добуток — це добуток косинусів плюс добуток синусів. Застосування однієї з формул суми кутів тригонометрії дає спрощення, наведене вище. Ця формула розкриває геометричний зміст скалярного добутку між дійсними одиничними векторами як косинуса кута між ними.

Якщо обчислити скалярний добуток тензорного добутку будь-яких двох таких векторів зі станом ϕ+,\vert \phi^+\rangle, отримаємо схожий вираз, але з 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}

Навіщо нам цей конкретний скалярний добуток, стане зрозуміло невдовзі, а поки що ми просто фіксуємо цю формулу.

Далі визначимо унітарну матрицю UθU_{\theta} для кожного кута θ\theta так:

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

Інтуїтивно ця матриця перетворює ψθ\vert\psi_{\theta}\rangle на 0\vert 0\rangle, а ψθ+π/2\vert \psi_{\theta + \pi/2}\rangle — на 1.\vert 1\rangle. Щоб переконатися, що це унітарна матриця, ключове спостереження полягає в тому, що вектори ψθ\vert\psi_{\theta}\rangle і ψθ+π/2\vert\psi_{\theta + \pi/2}\rangle ортогональні для будь-якого кута θ\theta:

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

Таким чином, отримуємо

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}

Цю матрицю можна також записати явно у вигляді

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

Це приклад матриці обертання, яка зокрема повертає двовимірні вектори з дійсними компонентами на кут θ-\theta навколо початку координат. Якщо дотримуватися стандартних угод для іменування і параметризації обертань різного вигляду, маємо Uθ=Ry(2θ),U_{\theta} = R_y(-2\theta), де

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

Опис стратегії

Тепер можемо описати квантову стратегію.

  • Підготовка: Аліса і Боб починають гру, поділяючи e-біт: Аліса тримає кубіт A,\mathsf{A}, Боб тримає кубіт B,\mathsf{B}, і разом два кубіти (X,Y)(\mathsf{X},\mathsf{Y}) перебувають у стані ϕ+.\vert\phi^+\rangle.

  • Дії Аліси:

    • Якщо Аліса отримує питання x=0,x=0, вона застосовує U0U_{0} до свого кубіта A.\mathsf{A}.
    • Якщо Аліса отримує питання x=1,x=1, вона застосовує Uπ/4U_{\pi/4} до свого кубіта A.\mathsf{A}.

    Операцію, яку Аліса виконує над A,\mathsf{A}, можна описати і так:

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

    Після того як Аліса застосовує цю операцію, вона вимірює A\mathsf{A} у стандартному базисі і встановлює свою відповідь aa рівною результату вимірювання.

  • Дії Боба:

    • Якщо Боб отримує питання y=0,y=0, він застосовує Uπ/8U_{\pi/8} до свого кубіта B.\mathsf{B}.
    • Якщо Боб отримує питання y=1,y=1, він застосовує Uπ/8U_{-\pi/8} до свого кубіта B.\mathsf{B}.

    Як і для Аліси, операцію Боба над B\mathsf{B} можна виразити так:

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

    Після того як Боб застосовує цю операцію, він вимірює B\mathsf{B} у стандартному базисі і встановлює свою відповідь bb рівною результату вимірювання.

Ось схема квантового Circuit, що описує цю стратегію:

Circuit гри CHSH

На цій схемі ми бачимо два звичайних керованих вентилі, один для Uπ/8U_{-\pi/8} угорі й один для Uπ/4U_{\pi/4} унизу. Ще є два вентилі, що схожі на керовані, — один для Uπ/8U_{\pi/8} угорі й один для U0U_{0} унизу, — але кружечок, що позначає керуючий стан, не зафарбований. Це позначає інший тип керованого вентиля, де вентиль спрацьовує, коли керуючий кубіт дорівнює 00 (а не 1,1, як у звичайному керованому вентилі). Отже, фактично Боб застосовує Uπ/8U_{\pi/8} до свого кубіта, якщо y=0,y=0, і Uπ/8,U_{-\pi/8}, якщо y=1;y=1; а Аліса застосовує U0,U_0, якщо x=0,x=0, і Uπ/4,U_{\pi/4}, якщо x=1,x=1, — що відповідає словесному опису протоколу вище.

Залишається з'ясувати, наскільки добре ця стратегія спрацьовує для Аліси і Боба. Зробимо це, розглянувши всі чотири можливі пари питань окремо.

Аналіз по випадках

  • Випадок 1: (x,y)=(0,0).(x,y) = (0,0).

    У цьому випадку Аліса застосовує U0U_{0} до свого кубіта, а Боб застосовує Uπ/8U_{\pi/8} до свого, тому стан двох кубітів (A,B)(\mathsf{A},\mathsf{B}) після виконання їхніх операцій такий:

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

    Імовірності для чотирьох можливих пар відповідей (a,b)(a,b) такі:

    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}

    Після цього можна отримати імовірності того, що a=ba=b і ab,a\neq b, підсумовуючи:

    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}

    Для пари питань (0,0)(0,0) Аліса і Боб виграють, якщо a=b,a=b, тому вони виграють у цьому випадку з імовірністю

    2+24.\frac{2 + \sqrt{2}}{4}.
  • Випадок 2: (x,y)=(0,1).(x,y) = (0,1).

    У цьому випадку Аліса застосовує U0U_{0} до свого кубіта, а Боб застосовує Uπ/8U_{-\pi/8} до свого, тому стан двох кубітів (A,B)(\mathsf{A},\mathsf{B}) після виконання їхніх операцій такий:

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

    Імовірності для чотирьох можливих пар відповідей (a,b)(a,b) такі:

    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}

    Знову отримуємо імовірності того, що a=ba=b і ab,a\neq b, підсумовуючи:

    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}

    Для пари питань (0,1)(0,1) Аліса і Боб виграють, якщо a=b,a=b, тому вони виграють у цьому випадку з імовірністю

    2+24.\frac{2 + \sqrt{2}}{4}.
  • Випадок 3: (x,y)=(1,0).(x,y) = (1,0).

    У цьому випадку Аліса застосовує Uπ/4U_{\pi/4} до свого кубіта, а Боб застосовує Uπ/8U_{\pi/8} до свого, тому стан двох кубітів (A,B)(\mathsf{A},\mathsf{B}) після виконання їхніх операцій такий:

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

    Імовірності для чотирьох можливих пар відповідей (a,b)(a,b) такі:

    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}

    Ще раз переконуємося, що імовірності того, що a=ba=b і ab,a\neq b, такі:

    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}

    Для пари питань (1,0)(1,0) Аліса і Боб виграють, якщо a=b,a=b, тому вони виграють у цьому випадку з імовірністю

    2+24.\frac{2 + \sqrt{2}}{4}.
  • Випадок 4: (x,y)=(1,1).(x,y) = (1,1).

    Останній випадок дещо відрізняється, чого й слід очікувати, адже умова виграшу тут інша. Коли xx і yy обидва рівні 1,1, Аліса і Боб виграють, коли aa і bb різні. У цьому випадку Аліса застосовує Uπ/4U_{\pi/4} до свого кубіта, а Боб застосовує Uπ/8U_{-\pi/8} до свого, тому стан двох кубітів (A,B)(\mathsf{A},\mathsf{B}) після виконання їхніх операцій такий:

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

    Імовірності для чотирьох можливих пар відповідей (a,b)(a,b) такі:

    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}

    Імовірності фактично помінялися місцями порівняно з трьома іншими випадками. Отримуємо імовірності того, що a=ba=b і ab,a\neq b, підсумовуючи:

    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}

    Для пари питань (1,1)(1,1) Аліса і Боб виграють, якщо ab,a\neq b, тому вони виграють у цьому випадку з імовірністю

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

В усіх випадках вони виграють з однаковою імовірністю:

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

Це і є загальна імовірність їхнього виграшу. Це значно краще, ніж будь-яка класична стратегія може забезпечити в цій грі; для класичних стратегій імовірність виграшу обмежена 3/4.3/4. І саме це робить даний приклад таким цікавим.

До речі, ця імовірність є оптимальною для квантових стратегій: не можна зробити краще, яким би заплутаним станом чи вимірюваннями ми не скористалися. Цей факт відомий як нерівність Цірельсона — на честь Бориса Цірельсона, який першим довів її і першим описав експеримент CHSH як гру.

Геометричне зображення

Стратегію, описану вище, можна уявити геометрично — це допомагає зрозуміти зв'язки між різними кутами, які обирають Аліса та Боб для своїх операцій.

По суті, Аліса обирає кут α,\alpha, залежно від свого питання x,x, а потім застосовує UαU_{\alpha} до свого кубіта й вимірює його. Аналогічно, Боб обирає кут β,\beta, залежно від y,y, а потім застосовує UβU_{\beta} до свого кубіта й вимірює. Ми вибрали α\alpha і β\beta таким чином.

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

Поки що, однак, розглянемо α\alpha і β\beta як довільні. Обираючи α,\alpha, Аліса фактично визначає ортонормований базис векторів, що виглядає так:

Базис для Аліси

Боб робить те саме, але його кут — β\beta:

Базис для Боба

Кольори векторів відповідають відповідям Аліси та Боба: синій для 00 і червоний для 1.1.

Якщо тепер поєднати (33) і (44), отримаємо формулу

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

вона справедлива для всіх дійсних чисел α\alpha і β.\beta.

Провівши такий самий аналіз, як вище, але вже зі змінними α\alpha і β,\beta, отримаємо:

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

Звідси випливають дві формули:

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}

Ці рівняння можна пов'язати з наведеними вище рисунками, якщо уявити, що ми накладаємо базиси Аліси та Боба один на одного.

Дослідження стратегії

При (x,y)=(0,0)(x,y) = (0,0) Аліса та Боб обирають α=0\alpha = 0 і β=π/8,\beta = \pi/8, і, накладаючи їхні базиси, отримуємо такий рисунок:

Базиси Аліси та Боба, випадок 1

Кут між червоними векторами дорівнює π/8,\pi/8, так само як і кут між двома синіми векторами. Імовірність того, що результати Аліси та Боба збіжаться, дорівнює квадрату косинуса цього кута,

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

а імовірність розбіжності — квадрату синуса,

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

При (x,y)=(0,1)(x,y) = (0,1) Аліса та Боб обирають α=0\alpha = 0 і β=π/8,\beta = -\pi/8, і, накладаючи їхні базиси, отримуємо такий рисунок:

Базиси Аліси та Боба, випадок 1

Кут між червоними векторами знову дорівнює π/8,\pi/8, так само як і кут між синіми. Імовірність збігу результатів Аліси та Боба знову дорівнює квадрату косинуса цього кута,

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

а імовірність розбіжності — квадрату синуса,

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

При (x,y)=(1,0)(x,y) = (1,0) Аліса та Боб обирають α=π/4\alpha = \pi/4 і β=π/8,\beta = \pi/8, і, накладаючи їхні базиси, отримуємо такий рисунок:

Базиси Аліси та Боба, випадок 1

Базиси змінилися, але кути — ні: знову кут між векторами одного кольору дорівнює π/8.\pi/8. Імовірність того, що результати Аліси та Боба збіжаться, дорівнює

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

а імовірність розбіжності —

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

При (x,y)=(1,1)(x,y) = (1,1) Аліса та Боб обирають α=π/4\alpha = \pi/4 і β=π/8.\beta = -\pi/8. Накладаючи їхні базиси, бачимо, що ситуація змінилася:

Базиси Аліси та Боба, випадок 1

Через спосіб вибору кутів цього разу кут між векторами одного кольору дорівнює 3π/8,3\pi/8, а не π/8.\pi/8. Імовірність збігу результатів Аліси та Боба, як і раніше, є квадратом косинуса цього кута, але тепер значення таке:

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

Імовірність розбіжності результатів — квадрат синуса цього кута, що в даному випадку дорівнює:

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

Зауваження

Базову ідею такого типу експериментів, як гра CHSH — де заплутаність призводить до статистичних результатів, несумісних із суто класичним мисленням — запропонував Джон Белл, на честь якого й названо стани Белла. Тому подібні експерименти часто називають тестами Белла. Іноді говорять також про теорему Белла, яку можна формулювати по-різному, — але суть її в тому, що квантова механіка несумісна з так званими теоріями прихованих локальних змінних. Гра CHSH є особливо чітким і простим прикладом тесту Белла й може розглядатися як доведення, або демонстрація, теореми Белла.

Гра CHSH дає змогу експериментально перевірити теорію квантової інформації. Можна провести експерименти, що реалізують гру CHSH, і перевірити стратегії на основі заплутаності, описані вище. Це дає нам велику впевненість у реальності заплутаності — і на відміну від іноді розпливчастих або поетичних способів пояснити заплутаність, гра CHSH пропонує конкретний і перевірений спосіб спостерігати заплутаність. Нобелівська премія з фізики 2022 року підкреслює важливість цього напряму досліджень: вона була присуджена Алену Аспе, Джону Клаузеру (буква C у CHSH) та Антону Цайлінгеру за спостереження заплутаності через тести Белла на заплутаних фотонах.

Реалізація в Qiskit

Гру CHSH разом із описаною вище квантовою стратегією можна реалізувати в Qiskit таким чином.

По-перше, ось визначення самої гри, яке приймає довільну стратегію як аргумент.

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

Тепер створимо функцію, що генерує Circuit залежно від питань для Аліси та Боба. Для простоти залишимо кубітам стандартні імена, а для дій Аліси та Боба використаємо вбудований Gate 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

Ось чотири можливі Circuit залежно від того, які питання ставляться.

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

Вивід попередньої комірки коду

(x,y) = (0,1)

Вивід попередньої комірки коду

(x,y) = (1,0)

Вивід попередньої комірки коду

(x,y) = (1,1)

Вивід попередньої комірки коду

Тепер створимо завдання за допомогою симулятора Aer, що запускає Circuit один раз для заданої пари вхідних значень (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

Нарешті, зіграємо в гру 1000 разів і обчислимо частку виграшів стратегії.

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

Також можна визначити класичну стратегію й перевірити, наскільки добре вона працює. Це лише одна стратегія — інші можна перевірити, змінивши код, — але вона належить до оптимальних класичних стратегій.

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

Знову зіграємо в гру 1000 разів, щоб побачити, наскільки вона ефективна.

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