אלגוריתם דויטש-ג'וזה

אלגוריתם חישוב קוונטי
גרסה מ־09:27, 23 ביולי 2011 מאת Matanyabot (שיחה | תרומות) (בוט: החלפת טקסט אוטומטית (-<references /> +{{הערות שוליים}}))

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

הגדרה

תהי   פונקציה המקבלת קלט באורך   ביטים, ופולטת פלט באורך ביט יחיד, כך שמתקיים אחד מהשניים:

  1.   הינה פונקציה קבועה, כלומר, לכל   מתקיים  , או
  2.   הינה פונקציה מאוזנת, כלומר למחצית מה  -ים מתקיים   ולשאר  

אלגוריתם דויטש-ג'וזה מקבל כקלט את הפונקציה   ‏‏[1], ומחזיר כפלט האם היא קבועה או מאוזנת. האלוגריתם עושה זאת על ידי הפעלה הפונקציה   פעם יחידה בלבד.

פתרון קלאסי

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

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

תאור האלגוריתם

 
מעגל קוונטי המממש את אלגוריתם דויטש-ג'וזה

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

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

כעת נפעיל בשנית שער הדמר על האוגר ונבדוק את שני המצבים האפשריים:

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

הערות שוליים

  1. ^ ‏ליתר דיוק, האלגוריתם מקבל קופסה שחורה‏ המממשת את הפונקציה