דלג לתוכן הראשי

מימוש ב-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

הנה מימוש של פרוטוקול הטלפורטציה באמצעות Circuit קוונטי.

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 יוצרת הפרדה ויזואלית שהופכת את תרשים ה-Circuit לקריא יותר, וגם מונעת מ-Qiskit לבצע פישוטים ואופטימיזציות שונות דרך ה-barrier בזמן הידור כשה-Circuit רץ על חומרה אמיתית. הפונקציה if_test מפעילה פעולה באופן מותנה בהתאם לביט קלאסי או רגיסטר.

ה-Circuit מאתחל תחילה את (A,B)(\mathsf{A},\mathsf{B}) למצב ϕ+\vert \phi^+\rangle (שאינו חלק מהפרוטוקול עצמו), ולאחר מכן מגיעות פעולות אליס, אחר כך המדידות שלה, ולבסוף פעולות בוב. כדי לבדוק שהפרוטוקול עובד נכון, נפעיל Gate של Qubit בודד שנוצר באקראי על מצב 0\vert 0\rangle המאותחל של Q\mathsf{Q}, כדי לקבל וקטור מצב קוונטי אקראי שיועבר בטלפורטציה. על ידי הפעלת ההופכי (כלומר הטרנספוז המצומד) של אותו Gate על B\mathsf{B} לאחר הרצת הפרוטוקול, נוכל לאמת שהמצב אכן עבר בטלפורטציה על ידי מדידה שמראה שהוא חזר למצב 0\vert 0\rangle.

ראשית נבחר באקראי Gate של Qubit אוניטרי.

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

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

כעת ניצור Circuit בדיקה חדש שמפעיל תחילה את ה-Gate האקראי שלנו על Q,\mathsf{Q}, לאחר מכן מריץ את Circuit הטלפורטציה, ולבסוף מפעיל את ההופכי של ה-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 על ה-Circuit הזה ונציג היסטוגרמה של הפלטים. נראה את הסטטיסטיקות עבור שלושת הביטים הקלאסיים: הביט התחתון/השמאלי ביותר צריך תמיד להיות 0,0, מה שמצביע על כך שה-Qubit Q\mathsf{Q} עבר בהצלחה בטלפורטציה אל B,\mathsf{B}, בעוד ששני הביטים האחרים אמורים להיות אחידים פחות או יותר.

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

Output of the previous code cell

אפשר גם לסנן את הסטטיסטיקות כדי להתמקד אך ורק ב-Qubit של תוצאת הבדיקה, אם רוצים, כך:

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

Output of the previous code cell

קידוד על-צפוף

קידוד על-צפוף הוא פרוטוקול שמשיג, במובן מסוים, מטרה משלימה לטלפורטציה. במקום לאפשר העברה של Qubit אחד תוך שימוש בשני ביטים קלאסיים של תקשורת (במחיר של e-bit אחד של שזירה), הוא מאפשר העברה של שני ביטים קלאסיים תוך שימוש ב-Qubit אחד של תקשורת קוונטית (שוב, במחיר של e-bit אחד של שזירה).

בפירוט רב יותר, יש לנו שולח (אליס) ומקבל (בוב) שחולקים e-bit אחד של שזירה. לפי המוסכמות של השיעור, פירוש הדבר הוא שאליס מחזיקה Qubit A,\mathsf{A}, בוב מחזיק Qubit B,\mathsf{B}, ויחד הזוג (A,B)(\mathsf{A},\mathsf{B}) נמצא במצב ϕ+.\vert\phi^+\rangle. אליס רוצה להעביר לבוב שני ביטים קלאסיים, שנסמן אותם cc ו-d,d, והיא תעשה זאת על ידי שליחת Qubit אחד.

סביר להניח שמעשה זה נתפס כפחות מרשים מזה שמשיגה הטלפורטציה. שליחת Qubits צפויה להיות קשה בהרבה משליחת ביטים קלאסיים בעתיד הנראה לעין, כך שקידוד Qubit קוונטי אחד בשני ביטים קלאסיים, במחיר של e-bit לא פחות, בקושי נראה כדאי. אולם, זה לא אומר שקידוד על-צפוף אינו מעניין, כי הוא בהחלט כן.

בהתאם לנושא השיעור, סיבה אחת לכך שקידוד על-צפוף מעניין היא שהוא מדגים שימוש קונקרטי ו(בהקשר של תורת המידע) מרשים למדי בשזירה. משפט מפורסם בתורת המידע הקוונטי, הידוע כמשפט הולבו, מרמז שללא שימוש במצב שזור משותף, אי אפשר להעביר יותר מביט קלאסי אחד על ידי שליחת Qubit בודד. (משפט הולבו הוא כללי יותר מכך. הניסוח המדויק שלו טכני ומצריך הסבר, אבל זה אחד מהמסקנות שנובעות ממנו.) כך, דרך קידוד על-צפוף, שזירה משותפת למעשה מאפשרת הכפלה של קיבולת נשיאת המידע הקלאסי בשליחת Qubits.

פרוטוקול

דיאגרמת Circuit הקוונטי הבאה מתארת את פרוטוקול הקידוד הצפוף:

Superdense coding circuit

הנה מה שאליס עושה, בלשון פשוטה:

  1. אם d=1,d=1, אליס מפעילה Gate מסוג ZZ על ה-Qubit שלה A\mathsf{A} (ואם d=0d=0 היא לא עושה כלום).

  2. אם c=1,c=1, אליס מפעילה Gate מסוג XX על ה-Qubit שלה A\mathsf{A} (ואם c=0c=0 היא לא עושה כלום).

לאחר מכן אליס שולחת את ה-Qubit שלה A\mathsf{A} לבוב.

מה שבוב עושה כשהוא מקבל את ה-Qubit A\mathsf{A} הוא קודם כל להפעיל Gate מסוג controlled-NOT, כשהבקרה היא A\mathsf{A} והמטרה היא B\mathsf{B}, ואז הוא מפעיל Gate מסוג Hadamard על A.\mathsf{A}. לאחר מכן הוא מודד את B\mathsf{B} כדי לקבל את cc ואת A\mathsf{A} כדי לקבל את d,d, ובשני המקרים בבסיס הסטנדרטי.

ניתוח

הרעיון מאחורי פרוטוקול זה פשוט: אליס בעצם בוחרת איזה מצב Bell היא רוצה לשתף עם בוב, היא שולחת לבוב את ה-Qubit שלה, ובוב מודד כדי לקבוע איזה מצב Bell אליס בחרה.

כלומר, הם משתפים בהתחלה את ϕ+,\vert\phi^+\rangle, ובהתאם לביטים cc ו-d,d, אליס או משאירה את המצב כמו שהוא או משנה אותו לאחד ממצבי Bell האחרים על ידי הפעלת 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}

הפעולות של בוב גורמות לאפקטים הבאים על ארבעת מצבי Bell:

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

אפשר לאמת זאת ישירות, על ידי חישוב תוצאות הפעולות של בוב על מצבים אלה אחד אחד.

כך, כאשר בוב מבצע את המדידות שלו, הוא מסוגל לקבוע איזה מצב Bell אליס בחרה. כדי לאמת שהפרוטוקול עובד נכון מספיק לבדוק כל מקרה:

  • אם 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. (גורם הפאזה של מינוס אחד אינו משפיע כאן.)

מימוש קידוד צפוף

הנה מימוש פשוט של קידוד צפוף שבו אנחנו מגדירים את ה-Circuit עצמו בהתאם לביטים שרוצים לשדר. ראשית נבחר שני ביטים לשידור. (בהמשך נבחר אותם אקראית, אבל לעכשיו פשוט נעשה בחירה שרירותית.)

c = "1"
d = "0"

עכשיו נבנה את ה-Circuit בהתאם. כאן נאפשר ל-Qiskit להשתמש בשמות ברירת המחדל עבור ה-Qubits: q0\mathsf{q}_0 עבור ה-Qubit העליון ו-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"))

Output of the previous code cell

אין כאן הרבה חדש, פרט לפונקציה measure_all, שמודדת את כל ה-Qubits ומכניסה את התוצאות לרגיסטר קלאסי אחד (ולכן במקרה זה יהיו בו שני ביטים).

הרצת הסימולטור 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

Output of the previous code cell

עכשיו בואו נשתמש ב-Qubit נוסף כמחולל ביטים אקראיים — בעצם כדי להטיל מטבעות הוגנות. נשתמש בו לבחירה אקראית של 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"))

Output of the previous code cell

הרצת הסימולטור Aer מציגה את התוצאות: הביטים הקלאסיים של אליס ובוב תמיד מסכימים.

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 ובמה שהופך אותו למעניין.

משחקים לא-מקומיים

משחק לא-מקומי הוא משחק שיתופי שבו שני שחקנים, אליס ובוב, עובדים יחד כדי להשיג תוצאה מסוימת. המשחק מנוהל על ידי שופט, שמתנהג לפי כללים מחמירים הידועים לאליס ולבוב.

אליס ובוב יכולים להתכונן למשחק כרצונם, אך ברגע שהמשחק מתחיל הם אסורים לתקשר. אפשר לדמיין את המשחק מתרחש במתקן מאובטח כלשהו — כאילו השופט ממלא את תפקיד הבלש ואליס ובוב הם חשודים שנחקרים בחדרים נפרדים. אבל דרך נוספת לחשוב על המצב היא שאליס ובוב מופרדים במרחק עצום, ותקשורת אסורה כי מהירות האור אינה מאפשרת אותה בתוך זמן ריצת המשחק. כלומר, אם אליס מנסה לשלוח הודעה לבוב, המשחק יסתיים עד שהוא יקבל אותה, וכן להיפך.

אופן פעולתו של משחק לא-מקומי הוא שהשופט שואל קודם כל את אליס ואת בוב שאלה אחת לכל אחד. נשתמש באות xx לציון השאלה של אליס ו-yy לציון השאלה של בוב. כאן אנחנו חושבים על xx ו-yy כמצבים קלאסיים, ובמשחק CHSH ה-xx וה-yy הם ביטים.

השופט משתמש באקראיות כדי לבחור את השאלות. ליתר דיוק, קיימת הסתברות p(x,y)p(x,y) המשויכת לכל זוג אפשרי (x,y)(x,y) של שאלות, והשופט נדר לבחור את השאלות באקראי, בזמן המשחק, בדרך זו. כולם, כולל אליס ובוב, יודעים את ההסתברויות הללו — אך אף אחד לא יודע בדיוק איזה זוג (x,y)(x,y) ייבחר עד שהמשחק מתחיל.

לאחר שאליס ובוב מקבלים את שאלותיהם, עליהם לספק תשובות: התשובה של אליס היא aa והתשובה של בוב היא 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=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}

מגבלות אסטרטגיות קלאסיות

עכשיו בואו נשקול אסטרטגיות לאליס ולבוב במשחק CHSH, החל מאסטרטגיות קלאסיות.

אסטרטגיות דטרמיניסטיות

נתחיל עם אסטרטגיות דטרמיניסטיות, שבהן התשובה aa של אליס היא פונקציה של השאלה xx שהיא מקבלת, וכן התשובה bb של בוב היא פונקציה של השאלה yy שהוא מקבל. כך, לדוגמה, נוכל לכתוב 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

שאלה טבעית לשאול בשלב זה היא האם אליס ובוב יכולים לעשות טוב יותר באמצעות אסטרטגיה קוונטית. בפרט, אם הם חולקים מצב קוונטי שזור כפי שהדמות הבאה מרמזת, שיכלו להכין לפני משחק המשחק, האם הם יכולים להגדיל את הסתברות הניצחון שלהם?

משחק לא-מקומי עם שזירה

התשובה היא כן, וזו הנקודה העיקרית של הדוגמה ומדוע היא כל כך מעניינת. אז בואו נראה בדיוק כיצד אליס ובוב יכולים לעשות טוב יותר במשחק הזה באמצעות שזירה.

וקטורים ומטריצות נדרשים

הדבר הראשון שעלינו לעשות הוא להגדיר וקטור מצב 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}.

תיאור האסטרטגיה

עכשיו נוכל לתאר את האסטרטגיה הקוונטית.

  • הגדרה: אליס ובוב מתחילים את המשחק בשיתוף e-bit: אליס מחזיקה Qubit A,\mathsf{A}, בוב מחזיק Qubit B,\mathsf{B}, ויחד שני ה-Qubits (X,Y)(\mathsf{X},\mathsf{Y}) נמצאים במצב ϕ+\vert\phi^+\rangle.

  • פעולות אליס:

    • אם אליס מקבלת את השאלה x=0,x=0, היא מפעילה U0U_{0} על ה-Qubit שלה A.\mathsf{A}.
    • אם אליס מקבלת את השאלה x=1,x=1, היא מפעילה Uπ/4U_{\pi/4} על ה-Qubit שלה 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} על ה-Qubit שלו B.\mathsf{B}.
    • אם בוב מקבל את השאלה y=1,y=1, הוא מפעיל Uπ/8U_{-\pi/8} על ה-Qubit שלו 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

בדיאגרמה זו אנחנו רואים שני Gate-ים מבוקרים רגילים, אחד עבור Uπ/8U_{-\pi/8} בחלק העליון ואחד עבור Uπ/4U_{\pi/4} בחלק התחתון. יש לנו גם שני Gate-ים שנראים כמו Gate-ים מבוקרים, אחד עבור Uπ/8U_{\pi/8} בחלק העליון ואחד עבור U0U_{0} בחלק התחתון, אלא שהעיגול המייצג את הבקרה אינו ממולא. זה מציין סוג שונה של Gate מבוקר שבו ה-Gate מתבצע אם הבקרה מוגדרת ל-00 (ולא 11 כמו ב-Gate מבוקר רגיל). כך, למעשה, בוב מבצע Uπ/8U_{\pi/8} על ה-Qubit שלו אם y=0y=0 ו-Uπ/8U_{-\pi/8} אם y=1;y=1; ואליס מבצעת U0U_0 על ה-Qubit שלה אם x=0x=0 ו-Uπ/4U_{\pi/4} אם x=1,x=1, שזה עקבי עם תיאור הפרוטוקול במילים שלמעלה.

נותר להבין עד כמה האסטרטגיה הזאת עובדת עבור אליס ובוב. נעשה זאת על ידי מעבר על ארבעת זוגות השאלות האפשריים בנפרד.

ניתוח מקרה-אחר-מקרה

  • מקרה 1: (x,y)=(0,0).(x,y) = (0,0).

    במקרה זה אליס מבצעת U0U_{0} על ה-Qubit שלה ובוב מבצע Uπ/8U_{\pi/8} על ה-Qubit שלו, כך שמצב שני ה-Qubits (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), אליס ובוב מנצחים אם a=b,a=b, ולכן הם מנצחים במקרה זה בהסתברות

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

    במקרה זה אליס מבצעת U0U_{0} על ה-Qubit שלה ובוב מבצע Uπ/8U_{-\pi/8} על ה-Qubit שלו, כך שמצב שני ה-Qubits (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), אליס ובוב מנצחים אם a=b,a=b, ולכן הם מנצחים במקרה זה בהסתברות

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

    במקרה זה אליס מבצעת Uπ/4U_{\pi/4} על ה-Qubit שלה ובוב מבצע Uπ/8U_{\pi/8} על ה-Qubit שלו, כך שמצב שני ה-Qubits (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), אליס ובוב מנצחים אם 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} על ה-Qubit שלה ובוב מבצע Uπ/8U_{-\pi/8} על ה-Qubit שלו, כך שמצב שני ה-Qubits (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), אליס ובוב מנצחים אם 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} על ה-Qubit שלה ולמדוד. באופן דומה, בוב בוחר זווית β,\beta, בהתאם ל-y,y, ואז הוא מפעיל 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 כשרירותיים. על ידי בחירת α,\alpha, אליס למעשה מגדירה בסיס אורתונורמלי של וקטורים שנראה כך:

בסיס עבור אליס

בוב עושה כנ"ל, אלא שהזווית שלו היא β\beta:

בסיס עבור בוב

הצבעים של הוקטורים תואמים לתשובות של אליס ובוב: כחול עבור 00 ואדום עבור 1.1.

עכשיו, אם נשלב ביחד את (3)(3) ואת (4)(4) נקבל את הנוסחה

ψαψβϕ+=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π/83\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, שבו שזירה מובילה לתוצאות סטטיסטיות שאינן עקביות עם היגיון קלאסי בלבד, נובע מג'ון בל — שעל שמו נקראות מצבי Bell. מסיבה זו, אנשים מתייחסים לניסויים מסוג זה לעיתים קרובות כבדיקות Bell. לפעמים מתייחסים גם למשפט Bell, שניתן לנסח בדרכים שונות — אבל מהותו היא שמכניקת הקוונטים אינה תואמת את מה שנקרא תיאוריות משתנים נסתרים מקומיים. משחק CHSH הוא דוגמה נקייה ופשוטה במיוחד לבדיקת Bell, וניתן לראות בו הוכחה, או הדגמה, של משפט Bell.

משחק CHSH מציע דרך לבדוק ניסויית את תורת המידע הקוונטי. אנחנו יכולים לבצע ניסויים שמממשים את משחק CHSH, ולבדוק את סוגי האסטרטגיות מבוססות השזירה שתוארו לעיל. זה מעניק לנו רמת ביטחון גבוהה שהשזירה היא אמיתית — ובשונה מהדרכים המעורפלות לפעמים או השירותיות שאנחנו ממציאים כדי להסביר שזירה, משחק CHSH מעניק לנו דרך קונקרטית וניתנת לבדיקה לצפות בשזירה. פרס נובל לפיזיקה לשנת 2022 מכיר בחשיבות קו עבודה זה: הפרס הוענק לאלן אספה, לג'ון קלאוסר (ה-C ב-CHSH) ולאנטון צייליגר, על צפייה בשזירה דרך בדיקות Bell על פוטונים שזורים.

מימוש ב-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

הנה ארבעת ה-Circuits האפשריים, בהתאם לשאלות שנשאלות.

# 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

עכשיו ניצור עבודה באמצעות סימולטור 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