ข้ามไปยังเนื้อหาหลัก

การใช้งาน Qiskit

ในบทเรียนนี้ เราจะนำแนวคิดบางส่วนจากบทเรียนเรื่อง entanglement in action มาสู่การปฏิบัติโดยใช้ 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

ต่อไปนี้คือการใช้งาน Circuit ควอนตัมของโปรโตคอล teleportation

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

Output of the previous code cell

Circuit นี้ใช้ฟีเจอร์บางอย่างของ Qiskit ที่เราไม่เคยเห็นในบทเรียนก่อนหน้า ได้แก่ฟังก์ชัน barrier และ if_test ฟังก์ชัน barrier สร้างการแบ่งแยกทางภาพทำให้ diagram ของ Circuit อ่านง่ายขึ้น และยังป้องกันไม่ให้ Qiskit ทำการปรับปรุงและ optimize ข้ามบริเวณ barrier ระหว่างการ compile เมื่อรัน Circuit บน hardware จริง ฟังก์ชัน if_test ใช้งาน operation แบบมีเงื่อนไขขึ้นอยู่กับ classical bit หรือ register

Circuit นี้จะเริ่มต้นด้วยการทำให้ (A,B)(\mathsf{A},\mathsf{B}) อยู่ใน state ϕ+\vert \phi^+\rangle (ซึ่งไม่ได้เป็นส่วนหนึ่งของโปรโตคอลเอง) ตามด้วย operation ของ Alice แล้วจึงเป็นการวัดผล และสุดท้าย operation ของ Bob เพื่อทดสอบว่าโปรโตคอลทำงานได้ถูกต้อง เราจะใช้ Gate เดี่ยว-Qubit ที่สร้างแบบสุ่มกับ state 0\vert 0\rangle ที่กำหนดค่าเริ่มต้นของ Q\mathsf{Q} เพื่อให้ได้ vector state ควอนตัมสุ่มที่จะทำการ teleport จากนั้นโดยการใช้ inverse (คือ conjugate transpose) ของ Gate นั้นกับ B\mathsf{B} หลังจากที่รันโปรโตคอลแล้ว เราสามารถตรวจสอบว่า state ถูก teleport ได้สำเร็จโดยวัดเพื่อดูว่ามันกลับมาอยู่ที่ state 0\vert 0\rangle หรือไม่

ขั้นแรกเราจะสุ่มเลือก Gate Qubit แบบ unitary

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}

ต่อมาเราจะสร้าง Circuit ทดสอบใหม่ที่ขั้นแรกใช้ Gate สุ่มของเรากับ Q,\mathsf{Q}, จากนั้นรัน Circuit teleportation และสุดท้ายใช้ inverse ของ Gate สุ่มของเรากับ Qubit 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"))

Output of the previous code cell

สุดท้าย ลองรัน Aer simulator บน Circuit นี้และพล็อต histogram ของผลลัพธ์ เราจะเห็น statistics สำหรับ classical bit ทั้งสามตัว: bit ล่าง/ซ้ายสุดควรเป็น 00 เสมอ ซึ่งแสดงว่า Qubit Q\mathsf{Q} ถูก teleport ไปยัง B\mathsf{B} สำเร็จ ในขณะที่ bit อีกสองตัวควรสม่ำเสมอโดยประมาณ

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

Output of the previous code cell

เราสามารถกรอง statistics เพื่อโฟกัสเฉพาะที่ Qubit ผลการทดสอบได้หากต้องการ เช่นนี้:

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

Output of the previous code cell

Superdense coding

Superdense coding คือโปรโตคอลที่ในแง่หนึ่งมีเป้าหมายที่เป็น complement กับ teleportation แทนที่จะช่วยให้ส่ง Qubit หนึ่งตัวโดยใช้การสื่อสาร classical bit สองบิต (แลกกับ e-bit ของ entanglement หนึ่งหน่วย) มันอนุญาตให้ส่ง classical bit สองบิตโดยใช้การสื่อสารควอนตัม qubit หนึ่งตัว (อีกครั้งแลกกับ e-bit ของ entanglement หนึ่งหน่วย)

ในรายละเอียดมากขึ้น เรามีผู้ส่ง (Alice) และผู้รับ (Bob) ที่แชร์ e-bit ของ entanglement หนึ่งหน่วย ตามข้อตกลงในบทเรียน นั่นหมายความว่า Alice ถือ Qubit A,\mathsf{A}, Bob ถือ Qubit B,\mathsf{B}, และคู่ (A,B)(\mathsf{A},\mathsf{B}) อยู่ใน state ϕ+\vert\phi^+\rangle Alice ต้องการส่ง classical bit สองบิตให้ Bob ซึ่งเราจะเรียกว่า cc และ d,d, และเธอจะทำสิ่งนี้โดยส่ง Qubit หนึ่งตัวให้เขา

เป็นเรื่องสมเหตุสมผลที่จะมองว่าความสำเร็จนี้น่าสนใจน้อยกว่าสิ่งที่ teleportation ทำได้ การส่ง Qubit นั้นน่าจะยากกว่าการส่ง classical bit มากในอนาคตอันใกล้ ดังนั้นการแลก quantum communication หนึ่ง Qubit กับ classical communication สองบิต โดยแลกกับ e-bit อีกด้วย แทบจะไม่คุ้มค่า อย่างไรก็ตาม สิ่งนี้ไม่ได้หมายความว่า superdense coding ไม่น่าสนใจ เพราะมันน่าสนใจอย่างแน่นอน

สอดคล้องกับธีมของบทเรียน เหตุผลหนึ่งที่ superdense coding น่าสนใจคือมันแสดงให้เห็นถึงการใช้งาน entanglement ที่เป็นรูปธรรมและ (ในบริบทของทฤษฎีสารสนเทศ) ค่อนข้างน่าประทับใจ ทฤษฎีบทที่มีชื่อเสียงในทฤษฎีสารสนเทศควอนตัม ที่รู้จักกันในชื่อ ทฤษฎีบทของ Holevo หมายความว่าหากไม่มีการใช้ state entangled ที่แชร์กัน เป็นไปไม่ได้ที่จะสื่อสาร classical information มากกว่าหนึ่งบิตโดยการส่ง Qubit เดียว (ทฤษฎีบทของ Holevo นั้นมีความทั่วไปมากกว่านี้ ถ้อยความที่แม่นยำนั้นมีความเป็นเทคนิคและต้องการการอธิบาย แต่นี่คือผลลัพธ์หนึ่งของมัน) ดังนั้น ผ่าน superdense coding entanglement ที่แชร์กันช่วยให้ เพิ่มเป็นสองเท่า ของความสามารถในการบรรจุ classical information ของการส่ง Qubit ได้อย่างมีประสิทธิภาพ

โปรโตคอล

Diagram วงจรควอนตัมต่อไปนี้อธิบายโปรโตคอล superdense coding:

Superdense coding circuit

สิ่งที่ Alice ทำในภาษาทั่วไปมีดังนี้:

  1. ถ้า d=1,d=1, Alice ทำ ZZ Gate กับ Qubit A\mathsf{A} ของเธอ (และถ้า d=0d=0 เธอไม่ทำ)

  2. ถ้า c=1,c=1, Alice ทำ XX Gate กับ Qubit A\mathsf{A} ของเธอ (และถ้า c=0c=0 เธอไม่ทำ)

จากนั้น Alice ส่ง Qubit A\mathsf{A} ของเธอให้ Bob

สิ่งที่ Bob ทำเมื่อได้รับ Qubit A\mathsf{A} คือขั้นแรกทำ controlled-NOT Gate โดยให้ A\mathsf{A} เป็น control และ B\mathsf{B} เป็น target จากนั้นเขาใช้ Hadamard Gate กับ A\mathsf{A} จากนั้นเขาวัด B\mathsf{B} เพื่อให้ได้ cc และวัด A\mathsf{A} เพื่อให้ได้ dd โดยวัดด้วย standard basis ในทั้งสองกรณี

การวิเคราะห์

แนวคิดเบื้องหลังโปรโตคอลนี้ง่าย: Alice เลือกได้อย่างมีประสิทธิภาพว่าเธอต้องการแชร์ Bell state ใดกับ Bob เธอส่ง Qubit ของเธอให้ Bob และ Bob วัดเพื่อตรวจสอบว่า Alice เลือก Bell state ใด

กล่าวคือ ในตอนแรกพวกเขาแชร์ ϕ+\vert\phi^+\rangle และขึ้นอยู่กับบิต cc และ d,d, Alice จะปล่อย state นี้ไว้ตามเดิมหรือเปลี่ยนมันไปยัง Bell state อื่นโดยการใช้ I,\mathbb{I}, X,X, Z,Z, หรือ XZXZ กับ Qubit A\mathsf{A} ของเธอ

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

การกระทำของ Bob มีผลต่อ Bell state ทั้งสี่ดังนี้:

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

สิ่งนี้สามารถตรวจสอบได้โดยตรง โดยคำนวณผลลัพธ์ของ operation ของ Bob กับ state เหล่านี้ทีละ state

ดังนั้น เมื่อ Bob ทำการวัด เขาสามารถตรวจสอบได้ว่า Alice เลือก Bell state ใด การตรวจสอบว่าโปรโตคอลทำงานได้ถูกต้องนั้นเป็นเรื่องของการตรวจแต่ละกรณี:

  • ถ้า cd=00,cd = 00, state ของ (B,A)(\mathsf{B},\mathsf{A}) เมื่อ Bob รับ A\mathsf{A} คือ ϕ+\vert \phi^+\rangle เขาแปลง state นี้เป็น 00\vert 00\rangle และได้ cd=00cd = 00

  • ถ้า cd=01,cd = 01, state ของ (B,A)(\mathsf{B},\mathsf{A}) เมื่อ Bob รับ A\mathsf{A} คือ ϕ\vert \phi^-\rangle เขาแปลง state นี้เป็น 01\vert 01\rangle และได้ cd=01cd = 01

  • ถ้า cd=10,cd = 10, state ของ (B,A)(\mathsf{B},\mathsf{A}) เมื่อ Bob รับ A\mathsf{A} คือ ψ+\vert \psi^+\rangle เขาแปลง state นี้เป็น 10\vert 10\rangle และได้ cd=10cd = 10

  • ถ้า cd=11,cd = 11, state ของ (B,A)(\mathsf{B},\mathsf{A}) เมื่อ Bob รับ A\mathsf{A} คือ ψ\vert \psi^-\rangle เขาแปลง state นี้เป็น 11-\vert 11\rangle และได้ cd=11cd = 11 (ตัวประกอบ phase ลบหนึ่งไม่มีผลในที่นี้)

การใช้งาน superdense coding

ต่อไปนี้คือการใช้งาน superdense coding แบบง่ายที่เราระบุ Circuit ตามบิตที่จะส่ง ขั้นแรกเราจะเลือกสองบิตที่จะส่ง (ในภายหลังเราจะเลือกแบบสุ่ม แต่ตอนนี้เราจะแค่เลือกแบบ arbitrary)

c = "1"
d = "0"

ตอนนี้เราจะสร้าง Circuit ตามนั้น ที่นี่เราจะให้ Qiskit ใช้ชื่อ default สำหรับ Qubit: q0\mathsf{q}_0 สำหรับ Qubit บนและ q1\mathsf{q}_1 สำหรับ Qubit ล่าง

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

Output of the previous code cell

ไม่มีอะไรใหม่มากนัก ยกเว้นฟังก์ชัน measure_all ซึ่งวัด Qubit ทั้งหมดและนำผลลัพธ์ไปใส่ใน classical register เดียว (ดังนั้นจึงมีสองบิตในกรณีนี้)

การรัน Aer simulator ให้ผลลัพธ์ที่คาดหวัง

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

Output of the previous code cell

ตอนนี้ลองใช้ Qubit เพิ่มเติมเป็นตัวสร้างบิตสุ่ม — โดยหลักแล้วเพื่อพลิก fair coin เราจะใช้มันเพื่อเลือก cc และ dd แบบสุ่ม แล้วรันโปรโตคอล superdense coding

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

Output of the previous code cell

การรัน Aer simulator แสดงผลลัพธ์: classical bit ของ Alice และ Bob ตรงกันเสมอ

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

Output of the previous code cell

เกม CHSH

ตัวอย่างสุดท้ายในบทเรียนนี้ไม่ใช่โปรโตคอล แต่เป็น เกม ที่รู้จักกันในชื่อ เกม CHSH

เมื่อพูดถึงเกมในบริบทนี้ เราไม่ได้หมายถึงสิ่งที่เล่นเพื่อความสนุกหรือกีฬา แต่หมายถึงนามธรรมทางคณิตศาสตร์ในแง่ของ ทฤษฎีเกม นามธรรมทางคณิตศาสตร์ของเกมถูกศึกษาในสาขาเศรษฐศาสตร์และวิทยาการคอมพิวเตอร์ เป็นต้น และทั้งน่าสนใจและเป็นประโยชน์อย่างมาก

ตัวอักษร CHSH ย่อมาจากชื่อผู้แต่ง — John Clauser, Michael Horne, Abner Shimony และ Richard Holt — ของบทความปี 1969 ที่อธิบายตัวอย่างนี้เป็นครั้งแรก พวกเขาไม่ได้อธิบายตัวอย่างนี้ว่าเป็นเกม แต่เป็นการทดลอง อย่างไรก็ตาม การอธิบายในรูปแบบเกมนั้นทั้งเป็นธรรมชาติและสัญชาตญาณดี

เกม CHSH อยู่ในกลุ่มเกมที่รู้จักกันว่า เกมนอนโลคัล เกมนอนโลคัลน่าสนใจอย่างยิ่งและมีความเชื่อมโยงลึกซึ้งกับฟิสิกส์ วิทยาการคอมพิวเตอร์ และคณิตศาสตร์ — ยังคงมีปริศนาที่ยังไม่ได้รับการแก้ไข เราจะเริ่มต้นส่วนนี้ด้วยการอธิบายว่าเกมนอนโลคัลคืออะไร จากนั้นจึงโฟกัสไปที่เกม CHSH และสิ่งที่ทำให้มันน่าสนใจ

เกมนอนโลคัล

เกมนอนโลคัลคือ เกมแบบร่วมมือ ที่ผู้เล่นสองคน คือ Alice และ Bob ทำงานร่วมกันเพื่อบรรลุผลลัพธ์ที่ต้องการ เกมนี้ดำเนินการโดย กรรมการ ที่ปฏิบัติตามแนวทางที่เคร่งครัดซึ่ง Alice และ Bob รู้อยู่แล้ว

Alice และ Bob สามารถเตรียมตัวสำหรับเกมได้ตามต้องการ แต่เมื่อเกมเริ่มแล้ว พวกเขา ถูกห้ามสื่อสารกัน เราอาจจินตนาการว่าเกมเกิดขึ้นในสถานที่ปลอดภัยบางแห่ง — ราวกับว่ากรรมการทำหน้าที่เป็นนักสืบและ Alice กับ Bob เป็นผู้ต้องสงสัยที่ถูกสอบสวนในห้องแยกกัน แต่อีกวิธีหนึ่งในการมองสถานการณ์นี้คือ Alice และ Bob อยู่ห่างไกลกันมาก และการสื่อสารถูกห้ามเพราะความเร็วแสงไม่อนุญาตให้ทำได้ภายในเวลาที่เกมดำเนินอยู่ กล่าวคือ ถ้า Alice พยายามส่งข้อความถึง Bob เกมจะจบก่อนที่เขาจะได้รับ และในทางกลับกันด้วย

วิธีที่เกมนอนโลคัลทำงานคือ กรรมการจะถาม Alice และ Bob คนละหนึ่งคำถามก่อน เราใช้ตัวอักษร xx แทนคำถามของ Alice และ yy แทนคำถามของ Bob ที่นี่เราคิดว่า xx และ yy เป็นสถานะแบบคลาสสิก และในเกม CHSH นั้น xx และ yy เป็นบิต

กรรมการใช้ ความสุ่ม ในการเลือกคำถามเหล่านี้ โดยเฉพาะอย่างยิ่ง มีความน่าจะเป็น p(x,y)p(x,y) สัมพันธ์กับแต่ละคู่คำถาม (x,y)(x,y) ที่เป็นไปได้ และกรรมการได้ให้คำมั่นว่าจะเลือกคำถามแบบสุ่มในวิธีนี้ตอนที่เกมเริ่ม ทุกคน รวมถึง Alice และ Bob รู้ความน่าจะเป็นเหล่านี้ — แต่ไม่มีใครรู้ว่าจะเลือกคู่ (x,y)(x,y) ใดจนกว่าเกมจะเริ่ม

หลังจาก Alice และ Bob ได้รับคำถาม พวกเขาต้องให้คำตอบ: คำตอบของ Alice คือ aa และของ Bob คือ b.b. อีกครั้ง สิ่งเหล่านี้เป็นสถานะแบบคลาสสิกโดยทั่วไป และเป็นบิตในเกม CHSH

ณ จุดนี้กรรมการจะตัดสิน: Alice และ Bob ชนะ หรือ แพ้ ขึ้นอยู่กับว่าคู่คำตอบ (a,b)(a,b) ถูกต้องสำหรับคู่คำถาม (x,y)(x,y) ตามกฎที่กำหนดไว้หรือไม่ กฎที่แตกต่างกันหมายถึงเกมที่ต่างกัน และกฎสำหรับเกม CHSH โดยเฉพาะนั้นอธิบายไว้ในส่วนถัดจากนี้ ดังที่แนะนำไว้แล้ว กฎเหล่านี้เป็นที่รู้กันของทุกคน

แผนภาพต่อไปนี้แสดงการแสดงภาพกราฟิกของการโต้ตอบ

Nonlocal game

ความไม่แน่นอนเกี่ยวกับว่าจะถามคำถามอะไร และโดยเฉพาะอย่างยิ่งข้อเท็จจริงที่ว่าผู้เล่นแต่ละคนไม่รู้คำถามของอีกฝ่าย ทำให้เกมนอนโลคัลท้าทายสำหรับ Alice และ Bob — เหมือนกับผู้ต้องสงสัยที่สมคบกันในห้องแยกกันพยายามรักษาคำให้การให้สอดคล้องกัน

การอธิบายอย่างแม่นยำของกรรมการนิยามอินสแตนซ์ของเกมนอนโลคัล ซึ่งรวมถึงข้อกำหนดของความน่าจะเป็น p(x,y)p(x,y) สำหรับแต่ละคู่คำถาม พร้อมกับกฎ ที่กำหนดว่าคู่คำตอบ (a,b)(a,b) ชนะหรือแพ้สำหรับแต่ละคู่คำถาม (x,y)(x,y) ที่เป็นไปได้

เราจะดูเกม CHSH ในอีกสักครู่ แต่ก่อนนั้นขอรับรู้ไว้สั้น ๆ ว่าการพิจารณาเกมนอนโลคัลอื่น ๆ ก็น่าสนใจเช่นกัน อันที่จริงมันน่าสนใจอย่างยิ่ง มีเกมนอนโลคัลที่ค่อนข้างง่ายบางเกมที่ปัจจุบันยังไม่ทราบว่า Alice และ Bob สามารถเล่นได้ดีเพียงใดโดยใช้การพัวพัน การตั้งค่าเรียบง่าย แต่มีความซับซ้อนในการทำงาน — และสำหรับบางเกมอาจเป็นเรื่องยากอย่างเหลือเชื่อที่จะคำนวณกลยุทธ์ที่ดีที่สุดหรือใกล้เคียงที่สุดสำหรับ Alice และ Bob นี่คือธรรมชาติที่น่าแปลกใจและขัดกับสัญชาตญาณของโมเดลเกมนอนโลคัล

คำอธิบายเกม CHSH

ต่อไปนี้คือคำอธิบายที่แม่นยำของเกม CHSH โดยที่ (ดังข้างต้น) xx คือคำถามของ Alice, yy คือคำถามของ Bob, aa คือคำตอบของ Alice และ bb คือคำตอบของ Bob:

  • คำถามและคำตอบทั้งหมดเป็นบิต: 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=xya\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}

ข้อจำกัดของกลยุทธ์แบบคลาสสิก

ตอนนี้ลองพิจารณากลยุทธ์สำหรับ Alice และ Bob ในเกม CHSH โดยเริ่มจากกลยุทธ์ แบบคลาสสิก

กลยุทธ์แบบดีเทอร์มินิสติก

เราจะเริ่มด้วยกลยุทธ์ แบบดีเทอร์มินิสติก ที่คำตอบ aa ของ Alice เป็นฟังก์ชันของคำถาม xx ที่เธอได้รับ และในทำนองเดียวกันคำตอบ bb ของ Bob เป็นฟังก์ชันของคำถาม yy ที่เขาได้รับ ตัวอย่างเช่น เราอาจเขียน a(0)a(0) เพื่อแทนคำตอบของ Alice เมื่อคำถามของเธอคือ 0,0, และ a(1)a(1) เพื่อแทนคำตอบของ Alice เมื่อคำถามของเธอคือ 1.1.

ไม่มีกลยุทธ์แบบดีเทอร์มินิสติกใดที่สามารถชนะเกม CHSH ได้ทุกครั้ง วิธีหนึ่งในการเข้าใจนี้คือการตรวจสอบกลยุทธ์แบบดีเทอร์มินิสติกที่เป็นไปได้ทั้งหมดทีละตัวและตรวจสอบว่าทุกกลยุทธ์แพ้สำหรับอย่างน้อยหนึ่งในสี่คู่คำถามที่เป็นไปได้ Alice และ Bob แต่ละคนสามารถเลือกจากฟังก์ชันสี่แบบจากหนึ่งบิตเป็นหนึ่งบิต — ที่เราพบในบทเรียนเรื่อง ระบบเดี่ยว — ดังนั้นจึงมีกลยุทธ์แบบดีเทอร์มินิสติกทั้งหมด 1616 แบบที่ต้องตรวจสอบ

เราสามารถให้เหตุผลได้เชิงวิเคราะห์เช่นกัน ถ้ากลยุทธ์ของ Alice และ Bob ชนะเมื่อ (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. จากนี้เราสรุปได้ว่าความน่าจะเป็นสูงสุดที่ Alice และ Bob จะชนะโดยใช้กลยุทธ์แบบดีเทอร์มินิสติกคือ 3/4.3/4.

กลยุทธ์แบบความน่าจะเป็น

ดังที่เราสรุปไปแล้ว Alice และ Bob ไม่สามารถทำได้ดีกว่าการชนะเกม CHSH 75% ของเวลาโดยใช้กลยุทธ์แบบดีเทอร์มินิสติก แต่กลยุทธ์แบบความน่าจะเป็นล่ะ? การใช้ความสุ่มจะช่วย Alice และ Bob ได้ไหม — รวมถึงความเป็นไปได้ของ ความสุ่มที่แชร์ร่วมกัน ที่การเลือกแบบสุ่มของพวกเขามีความสัมพันธ์กัน?

ปรากฏว่ากลยุทธ์แบบความน่าจะเป็นไม่ช่วยเพิ่มความน่าจะเป็นที่ Alice และ Bob จะชนะแต่อย่างใด เป็นเพราะว่าทุกกลยุทธ์แบบความน่าจะเป็นสามารถมองเป็นการเลือกสุ่มจากกลยุทธ์แบบดีเทอร์มินิสติกได้ เช่นเดียวกับ (ที่กล่าวถึงในบทเรียน ระบบเดี่ยว) การดำเนินการแบบความน่าจะเป็นสามารถมองเป็นการเลือกสุ่มจากการดำเนินการแบบดีเทอร์มินิสติก ค่าเฉลี่ยไม่เคยใหญ่กว่าค่าสูงสุด ดังนั้นจึงตามมาว่ากลยุทธ์แบบความน่าจะเป็นไม่ได้ให้ข้อได้เปรียบใด ๆ ในแง่ของความน่าจะเป็นการชนะโดยรวม

ดังนั้น การชนะด้วยความน่าจะเป็น 3/43/4 คือสิ่งที่ดีที่สุดที่ Alice และ Bob สามารถทำได้โดยใช้กลยุทธ์แบบคลาสสิกใด ๆ ไม่ว่าจะเป็นแบบดีเทอร์มินิสติกหรือแบบความน่าจะเป็น

กลยุทธ์เกม CHSH

คำถามที่เป็นธรรมชาติ ณ จุดนี้คือ Alice และ Bob จะทำได้ดีกว่านี้โดยใช้กลยุทธ์ แบบควอนตัม หรือไม่ โดยเฉพาะอย่างยิ่ง ถ้าพวกเขาแชร์สถานะควอนตัมแบบพัวพันดังที่รูปต่อไปนี้แสดง ซึ่งพวกเขาอาจเตรียมไว้ก่อนจะเล่นเกม พวกเขาสามารถเพิ่มความน่าจะเป็นการชนะได้ไหม?

Nonlocal game with entanglement

คำตอบคือใช่ และนี่คือประเด็นหลักของตัวอย่างและเหตุผลที่มันน่าสนใจมาก ดังนั้นลองดูว่า Alice และ Bob จะทำได้ดีกว่าในเกมนี้โดยใช้การพัวพันได้อย่างไร

เวกเตอร์และเมทริกซ์ที่จำเป็น

สิ่งแรกที่เราต้องทำคือนิยามเวกเตอร์สถานะ Qubit ψθ,\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}.

คำอธิบายกลยุทธ์

ตอนนี้เราสามารถอธิบายกลยุทธ์ควอนตัมได้แล้ว

  • การตั้งค่า: Alice และ Bob เริ่มเกมโดยแชร์ e-bit: Alice ถือ Qubit A,\mathsf{A}, Bob ถือ Qubit B,\mathsf{B}, และทั้งสอง Qubit (X,Y)(\mathsf{X},\mathsf{Y}) รวมกันอยู่ในสถานะ ϕ+\vert\phi^+\rangle

  • การกระทำของ Alice:

    • ถ้า Alice ได้รับคำถาม x=0,x=0, เธอใช้ U0U_{0} กับ Qubit A\mathsf{A} ของเธอ
    • ถ้า Alice ได้รับคำถาม x=1,x=1, เธอใช้ Uπ/4U_{\pi/4} กับ Qubit A\mathsf{A} ของเธอ

    การดำเนินการที่ Alice ทำกับ 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}

    หลังจาก Alice ใช้การดำเนินการนี้ เธอวัด A\mathsf{A} ด้วยการวัดเบสมาตรฐานและตั้งค่าคำตอบ aa ของเธอเป็นผลการวัด

  • การกระทำของ Bob:

    • ถ้า Bob ได้รับคำถาม y=0,y=0, เขาใช้ Uπ/8U_{\pi/8} กับ Qubit B\mathsf{B} ของเขา
    • ถ้า Bob ได้รับคำถาม y=1,y=1, เขาใช้ Uπ/8U_{-\pi/8} กับ Qubit B\mathsf{B} ของเขา

    เหมือนกับที่ทำกับ Alice เราสามารถแสดงการดำเนินการของ Bob กับ 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}

    หลังจาก Bob ใช้การดำเนินการนี้ เขาวัด B\mathsf{B} ด้วยการวัดเบสมาตรฐานและตั้งค่าคำตอบ bb ของเขาเป็นผลการวัด

ต่อไปนี้คือแผนภาพ Circuit ควอนตัมที่อธิบายกลยุทธ์นี้:

CHSH game circuit

ในแผนภาพนี้เราเห็น Gate แบบควบคุมธรรมดาสองอัน อันหนึ่งสำหรับ Uπ/8U_{-\pi/8} ด้านบนและอีกอันสำหรับ Uπ/4U_{\pi/4} ด้านล่าง นอกจากนี้ยังมี Gate สองอันที่ดูเหมือน Gate แบบควบคุม อันหนึ่งสำหรับ Uπ/8U_{\pi/8} ด้านบนและอีกอันสำหรับ U0U_{0} ด้านล่าง ยกเว้นว่าวงกลมที่แทนตัวควบคุมไม่ได้ถูกเติมสี นี่แสดงถึง Gate แบบควบคุมประเภทอื่นที่ Gate ทำงานถ้าตัวควบคุมถูกตั้งเป็น 00 (แทนที่จะเป็น 11 เหมือน Gate แบบควบคุมธรรมดา) ดังนั้น โดยพื้นฐาน Bob ใช้ Uπ/8U_{\pi/8} กับ Qubit ของเขาถ้า y=0y=0 และ Uπ/8U_{-\pi/8} ถ้า y=1;y=1; และ Alice ใช้ U0U_0 กับ Qubit ของเธอถ้า x=0x=0 และ Uπ/4U_{\pi/4} ถ้า x=1,x=1, ซึ่งสอดคล้องกับคำอธิบายของโปรโตคอลในรูปแบบข้อความข้างต้น

สิ่งที่เหลืออยู่คือการหาว่ากลยุทธ์นี้สำหรับ Alice และ Bob ทำงานได้ดีเพียงใด เราจะทำสิ่งนี้โดยผ่านคู่คำถามสี่คู่ที่เป็นไปได้ทีละคู่ ยังเหลืออีกหนึ่งขั้นตอนคือการหาว่ากลยุทธ์ของ Alice และ Bob ได้ผลดีแค่ไหน เราจะทำสิ่งนี้โดยไล่ดูคู่คำถามที่เป็นไปได้ทั้งสี่คู่ทีละคู่

การวิเคราะห์แบบแยกกรณี

  • กรณีที่ 1: (x,y)=(0,0).(x,y) = (0,0).

    ในกรณีนี้ Alice ดำเนินการ U0U_{0} กับ Qubit ของตัวเอง และ Bob ดำเนินการ Uπ/8U_{\pi/8} กับ Qubit ของเขา ดังนั้นสถานะของ Qubit สองตัว (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 และ aba\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), Alice และ Bob ชนะถ้า a=b,a=b, ดังนั้นในกรณีนี้พวกเขาชนะด้วยความน่าจะเป็น

    2+24.\frac{2 + \sqrt{2}}{4}.
  • กรณีที่ 2: (x,y)=(0,1).(x,y) = (0,1).

    ในกรณีนี้ Alice ดำเนินการ U0U_{0} กับ Qubit ของตัวเอง และ Bob ดำเนินการ Uπ/8U_{-\pi/8} กับ Qubit ของเขา ดังนั้นสถานะของ Qubit สองตัว (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 และ aba\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), Alice และ Bob ชนะถ้า a=b,a=b, ดังนั้นในกรณีนี้พวกเขาชนะด้วยความน่าจะเป็น

    2+24.\frac{2 + \sqrt{2}}{4}.
  • กรณีที่ 3: (x,y)=(1,0).(x,y) = (1,0).

    ในกรณีนี้ Alice ดำเนินการ Uπ/4U_{\pi/4} กับ Qubit ของตัวเอง และ Bob ดำเนินการ Uπ/8U_{\pi/8} กับ Qubit ของเขา ดังนั้นสถานะของ Qubit สองตัว (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 และ aba\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), Alice และ Bob ชนะถ้า a=b,a=b, ดังนั้นในกรณีนี้พวกเขาชนะด้วยความน่าจะเป็น

    2+24.\frac{2 + \sqrt{2}}{4}.
  • กรณีที่ 4: (x,y)=(1,1).(x,y) = (1,1).

    กรณีสุดท้ายนี้แตกต่างออกไปเล็กน้อย ซึ่งก็คาดได้อยู่แล้วเพราะเงื่อนไขการชนะในกรณีนี้ต่างออกไป เมื่อ xx และ yy เป็น 11 ทั้งคู่ Alice และ Bob ชนะเมื่อ aa และ bb ต่างกัน ในกรณีนี้ Alice ดำเนินการ Uπ/4U_{\pi/4} กับ Qubit ของตัวเอง และ Bob ดำเนินการ Uπ/8U_{-\pi/8} กับ Qubit ของเขา ดังนั้นสถานะของ Qubit สองตัว (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 และ aba\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), Alice และ Bob ชนะถ้า ab,a\neq b, ดังนั้นในกรณีนี้พวกเขาชนะด้วยความน่าจะเป็น

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

พวกเขาชนะในทุกกรณีด้วยความน่าจะเป็นเท่ากัน:

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

นี่จึงเป็นความน่าจะเป็นที่พวกเขาชนะโดยรวม ผลลัพธ์นี้ดีกว่าที่กลยุทธ์แบบคลาสสิกใดๆ จะทำได้สำหรับเกมนี้อย่างมีนัยสำคัญ กลยุทธ์แบบคลาสสิกมีความน่าจะเป็นชนะสูงสุดแค่ 3/43/4 และนั่นทำให้ตัวอย่างนี้น่าสนใจมาก

นี่คือความน่าจะเป็นชนะที่ดีที่สุดสำหรับกลยุทธ์เชิงควอนตัม ไม่ว่าจะเลือกสถานะ entangled หรือการวัดแบบไหนก็ทำได้ดีกว่านี้ไม่ได้อีกแล้ว ข้อเท็จจริงนี้เรียกว่า อสมการของ Tsirelson (Tsirelson's inequality) ตั้งชื่อตาม Boris Tsirelson ผู้พิสูจน์เป็นคนแรก และยังเป็นผู้แรกที่อธิบายการทดลอง CHSH ในรูปแบบเกม

ภาพเชิงเรขาคณิต

สามารถมองกลยุทธ์ที่อธิบายไว้ข้างต้นในเชิงเรขาคณิตได้ ซึ่งอาจช่วยให้เข้าใจความสัมพันธ์ระหว่างมุมต่างๆ ที่ Alice และ Bob เลือกสำหรับการดำเนินการของตนได้ดีขึ้น

สิ่งที่ Alice ทำในทางปฏิบัติคือการเลือกมุม α\alpha ขึ้นอยู่กับคำถาม xx ของเธอ แล้วจึงใช้ UαU_{\alpha} กับ Qubit ของเธอและวัดผล ในทำนองเดียวกัน Bob เลือกมุม β\beta ขึ้นอยู่กับ yy แล้วใช้ UβU_{\beta} กับ Qubit ของเขาและวัดผล เราเลือก α\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 เป็นค่าใดก็ได้ เมื่อ Alice เลือก α\alpha เธอกำลังกำหนดฐานออร์โธนอร์มัลของเวกเตอร์ที่มีลักษณะดังนี้

Basis for Alice

Bob ก็ทำเช่นเดียวกัน แต่ใช้มุม β\beta ของเขา

Basis for Bob

สีของเวกเตอร์สอดคล้องกับคำตอบของ Alice และ Bob คือสีน้ำเงินสำหรับ 00 และสีแดงสำหรับ 11

ตอนนี้ ถ้าเรารวม (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}

สมการเหล่านี้สามารถเชื่อมโยงกับภาพข้างต้นได้โดยการจินตนาการว่าเราซ้อนทับฐานที่ Alice และ Bob เลือกเข้าด้วยกัน

สำรวจกลยุทธ์

เมื่อ (x,y)=(0,0),(x,y) = (0,0), Alice และ Bob เลือก α=0\alpha = 0 และ β=π/8\beta = \pi/8 และเมื่อเราซ้อนทับฐานของพวกเขา จะได้ภาพดังนี้

Alice and Bob bases case 1

มุมระหว่างเวกเตอร์สีแดงคือ π/8\pi/8 ซึ่งเท่ากับมุมระหว่างเวกเตอร์สีน้ำเงินสองตัว ความน่าจะเป็นที่ผลลัพธ์ของ Alice และ Bob จะตรงกันคือค่าโคไซน์กำลังสองของมุมนี้

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), Alice และ Bob เลือก α=0\alpha = 0 และ β=π/8\beta = -\pi/8 และเมื่อเราซ้อนทับฐานของพวกเขา จะได้ภาพดังนี้

Alice and Bob bases case 1

มุมระหว่างเวกเตอร์สีแดงยังคงเป็น π/8\pi/8 เช่นเดียวกับมุมระหว่างเวกเตอร์สีน้ำเงิน ความน่าจะเป็นที่ผลลัพธ์ของ Alice และ Bob จะตรงกันยังคงเป็นค่าโคไซน์กำลังสองของมุมนี้

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), Alice และ Bob เลือก α=π/4\alpha = \pi/4 และ β=π/8\beta = \pi/8 และเมื่อเราซ้อนทับฐานของพวกเขา จะได้ภาพดังนี้

Alice and Bob bases case 1

ฐานเปลี่ยนไปแต่มุมไม่เปลี่ยน — มุมระหว่างเวกเตอร์ที่มีสีเดียวกันยังคงเป็น π/8\pi/8 ความน่าจะเป็นที่ผลลัพธ์ของ Alice และ Bob จะตรงกันคือ

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), Alice และ Bob เลือก α=π/4\alpha = \pi/4 และ β=π/8\beta = -\pi/8 เมื่อเราซ้อนทับฐานของพวกเขา จะเห็นว่าสิ่งที่แตกต่างออกไปเกิดขึ้น

Alice and Bob bases case 1

เนื่องจากวิธีที่มุมถูกเลือก คราวนี้มุมระหว่างเวกเตอร์ที่มีสีเดียวกันคือ 3π/83\pi/8 แทนที่จะเป็น π/8\pi/8 ความน่าจะเป็นที่ผลลัพธ์ของ Alice และ Bob จะตรงกันยังคงเป็นค่าโคไซน์กำลังสองของมุมนี้ แต่ค่าที่ได้คือ

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 game ที่ entanglement นำไปสู่ผลทางสถิติที่ขัดแย้งกับการใช้เหตุผลแบบคลาสสิกล้วนๆ นั้น มาจาก John Bell ซึ่งเป็นชื่อของ Bell states ด้วยเหตุนี้ ผู้คนจึงมักเรียกการทดลองประเภทนี้ว่า Bell tests บางครั้งผู้คนยังอ้างถึง Bell's theorem ซึ่งสามารถระบุได้หลายรูปแบบ แต่แก่นของมันคือกลศาสตร์ควอนตัมไม่เข้ากันกับที่เรียกว่า local hidden variable theories CHSH game เป็นตัวอย่างที่ชัดเจนและเรียบง่ายโดยเฉพาะของ Bell test และสามารถมองได้ว่าเป็นการพิสูจน์หรือการสาธิต Bell's theorem

CHSH game เป็นวิธีทดสอบทฤษฎีข้อมูลควอนตัมเชิงทดลอง เราสามารถทำการทดลองที่ใช้งาน CHSH game และทดสอบกลยุทธ์ประเภทที่อิงบน entanglement ที่อธิบายไว้ข้างต้น สิ่งนี้ทำให้เรามั่นใจในระดับสูงว่า entanglement นั้นมีจริง — และต่างจากวิธีที่คลุมเครือหรือกวีนิพนธ์ที่เราคิดขึ้นเพื่ออธิบาย entanglement CHSH game ให้วิธีที่เป็นรูปธรรมและทดสอบได้สำหรับการ สังเกต entanglement รางวัลโนเบลสาขาฟิสิกส์ปี 2022 ยอมรับความสำคัญของงานในแนวทางนี้ โดยมอบรางวัลให้กับ Alain Aspect, John Clauser (ตัว C ใน CHSH) และ Anton Zeilinger สำหรับการสังเกต entanglement ผ่าน Bell tests บนโฟตอนที่พันกัน

การใช้งานใน Qiskit

เราสามารถใช้งาน CHSH game พร้อมกับกลยุทธ์ควอนตัมที่กำหนดไว้ข้างต้นใน Qiskit ได้ดังนี้

ก่อนอื่น นี่คือนิยามของเกมเอง ซึ่งอนุญาตให้เสียบกลยุทธ์ใดก็ได้เป็น argument

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 ขึ้นอยู่กับคำถามสำหรับ Alice และ Bob เราจะให้ Qubit ใช้ชื่อดีฟอลต์เพื่อความเรียบง่าย และจะใช้ Gate Ry(θ)R_y(\theta) ที่มีอยู่แล้วสำหรับการกระทำของ Alice และ Bob

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

qc = QuantumCircuit(2, 2)

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

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

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

return qc

นี่คือ 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)

Output of the previous code cell

(x,y) = (0,1)

Output of the previous code cell

(x,y) = (1,0)

Output of the previous code cell

(x,y) = (1,1)

Output of the previous code cell

ตอนนี้เราจะสร้าง job โดยใช้ Aer simulator ที่รัน 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

แม้จะมีความสุ่มเข้ามาเกี่ยวข้อง แต่สถิติก็ไม่น่าจะเบี่ยงเบนมากนักหลังจาก 1000 รัน กลยุทธ์ควอนตัมชนะประมาณ 85% ของเวลา ในขณะที่กลยุทธ์คลาสสิกไม่สามารถชนะได้มากกว่าประมาณ 75% ของเวลา

Source: IBM Quantum docs — updated 9 ก.พ. 2569
English version on doQumentation — updated 7 พ.ค. 2569
This translation based on the English version of approx. 26 มี.ค. 2569