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