האלגוריתם של דויטש פותר את בעיית הזוגיות עבור המקרה המיוחד שבו n=1.
בהקשר של חישוב קוונטי, בעיה זו מכונה לעיתים בעיית דויטש, ונאמץ מינוח זה לאורך השיעור.
ליתר דיוק, הקלט מיוצג על-ידי פונקציה f:Σ→Σ מביט אחד לביט אחד.
ישנן ארבע פונקציות כאלה:
הראשונה והאחרונה מבין הפונקציות הללו הן קבועות, ושתי האמצעיות הן מאוזנות, כלומר שני ערכי הפלט האפשריים של הפונקציה מופיעים מספר שווה של פעמים כשעוברים על כל הקלטים.
בעיית דויטש היא לקבוע לאיזו משתי הקטגוריות הללו שייכת פונקציית הקלט: קבועה או מאוזנת.
בעיית דויטש
קלט: פונקציה f:{0,1}→{0,1}
פלט: 0 אם f קבועה, 1 אם f מאוזנת
אם נתבונן בפונקציה f של בעיית דויטש כייצוג של גישה אקראית למחרוזת, אנחנו מדברים על מחרוזת בת שני ביטים: f(0)f(1).
functionf1f2f3f4string00011011
כשמסתכלים על זה כך, בעיית דויטש היא לחשב את הזוגיות (או, בשפה שקולה, את ה-XOR) של שני הביטים.
כל אלגוריתם קלסי המפנה שאילתות ופותר בעיה זו נכון חייב לשאול את שני הביטים: f(0) ו-f(1).
אם נדע למשל ש-f(1)=1, התשובה עדיין יכולה להיות 0 או 1, בהתאם לכך שה-f(0)=1 או f(0)=0, בהתאמה.
כך הדבר בכל מקרה אחר; ידיעת ביט אחד בלבד משניים אינה מספקת שום מידע על הזוגיות שלהם.
כך, המעגל הבוליאני שתואר בסעיף הקודם הוא הטוב ביותר שאפשר לעשות מבחינת מספר השאילתות הדרוש לפתרון הבעיה.
האלגוריתם של דויטש פותר את בעיית דויטש בשאילתה אחת בלבד, ובכך מספק יתרון מדיד של חישוב קוונטי על פני קלסי.
אמנם מדובר ביתרון צנוע — שאילתה אחת לעומת שתיים — אבל צריך להתחיל מאיפשהו.
לפעמים להתקדמות מדעית יש מקורות בלתי-מרשימים לכאורה.
כדי לנתח את האלגוריתם של דויטש, נעקוב אחר פעולת המעגל לעיל ונזהה את מצבי ה-Qubitים בנקודות המסומנות בתרשים:
המצב ההתחלתי הוא ∣1⟩∣0⟩, ושתי פעולות ה-Hadamard בצד שמאל של המעגל ממירות מצב זה ל
∣π1⟩=∣−⟩∣+⟩=21(∣0⟩−∣1⟩)∣0⟩+21(∣0⟩−∣1⟩)∣1⟩.
(כמו תמיד, אנחנו עוקבים אחר מוסכמת הסדר של Qiskit, שמציבה את ה-Qubit העליון מימין ואת התחתון משמאל.) אולי זה מרגיש לא אינטואיטיבי לכתוב את מצב המכפלה הזה באופן מבוזר חלקית (כשמצבי ה-Qubit מספר 1 נפרדים החוצה), אבל זה יקצר את הביטויים שלנו בהמשך.
לאחר מכן מתבצעת פעולת השער Uf.
לפי הגדרת השער Uf, ערך הפונקציה f עבור המצב הקלסי של ה-Qubit העליון/הימני ביותר מבוצע עליו XOR על ה-Qubit התחתון/השמאלי ביותר, מה שממיר את ∣π1⟩ למצב
קרה כאן משהו מעניין!
למרות שפעולת השער Uf על מצבי בסיס סטנדרטיים משאירה את ה-Qubit העליון/הימני כפי שהוא ומבצעת XOR של ערך הפונקציה על ה-Qubit התחתון/השמאלי, כאן אנו רואים שמצב ה-Qubit העליון/הימני השתנה (בדרך כלל) בעוד שמצב ה-Qubit התחתון/השמאלי נותר זהה — הוא נמצא במצב ∣−⟩ לפני ואחרי פעולת השער Uf.
תופעה זו ידועה בשם בעיטת הפאזה, ועוד נרחיב עליה בקרוב.
עם פישוט סופי אחד — הוצאת הגורם (−1)f(0) מחוץ לסכום — מקבלים את הביטוי הבא למצב ∣π2⟩:
שימו לב שבביטוי זה יש לנו f(0)⊕f(1) בחזקה של −1 ולא f(1)−f(0), שהיינו עשויים לצפות לו מנקודת מבט אלגברית טהורה, אבל מקבלים את אותה תוצאה בכל דרך.
הסיבה היא שהערך (−1)k לכל מספר שלם k תלוי רק בשאלה האם k זוגי או אי-זוגי.
הפעלת שער Hadamard הסופי על ה-Qubit העליון מותירה אותנו עם המצב