QUANTUM COMPUTATION By Uri Kanonov 8..4
תוכן עניינים רקע מתמטי מערכות קוונטיות מדידות מעגלים קוונטיים עיקרון אי ההעתקה טלפורטציה טרנספורם הפוריה הקוונטי פירוק מספרים לגורמים ראשוניים )האלג' של שור( חישוב קוונטי מקביליות קוונטית
רקע מתמטי טרנספורמציה אוניטירית U היא מטריצה ריבועית מעל שדה * המרוכבים המקיימת לפי הגדרה טרנספורמציה אוניטרית היא הפיכה מכפלה פנימית מעל המרוכבים: שני וקטורים מאונכים זה לזה אם המכפלה הפנימית ביניהם היא בסיס אורתונורמלי בסיס )פורס את כל המרחב(, כל זוג ווקטורים בו מאונכים זה לזה כל הווקטורים באורך UU x y x y..., I x n y n
רקע מתמטי הטלה בהטלה של ווקטור על תת-מרחב כלשהו למעשה מתאפסים כל הרכיבים של הוקטור שאינם מאותו המרחב
מערכות קוונטיות מצבים קוונטיים באופן כללי מיוצגים כפונקציות גל לצרכינו יספיק לייצג מצב קוונטי בתור ווקטור של מספרים מרוכבים bra-ket ket bra סימון הסימון הסימון הסימון מייצג ווקטור עמודה בגודל x מייצג את הווקטור המשוחלף הצמוד bra-ket מייצג את המכפלה הפנימית: בד"כ נעבוד עם הבסיס האורתונורמלי x x y,, T T
מערכות קוונטיות קיוביט הוא ווקטור דו-מימדי בבסיס מסוים )בד"כ ), כאשר a b כך ש נדרוש שמצב קוונטי תמיד יהיה ווקטור באורך יחידה a b
מערכות קוונטיות הרבה קיוביטים אנו נתעסק במצבים קוונטיים שהם איברים של מרחב. מרחב כנ"ל נותן לנו ייצוג של n n הילברט בגודל קיוביטים שילוב של הקיוביטים לכדי ווקטור אחד נעשה לא ע"י מכפלה קרטזית אלא ע"י מכפלה טנזורית במכפלה קרטזית של איברים נוצר מרחב בגודל לעומת זאת במכפלה טנזורית המרחב הוא בגודל לדוגמא בסיס של מרחב בעל n n n,,, קיוביטים הוא
מערכות קוונטיות מצבים שונים מצב קוונטי יכול להיות מיוצג ע"י שילוב של ווקטורי הבסיס, לדוגמא: במצב כזה אפשר להסתכל על המערכת כ"מכפלה" ולהתייחס לכל קיוביט בנפרד לעומת זאת מצב שלא ניתן לייצוג ע"י שילוב ווקטורי הבסיס נקרא entangled ולדוגמא מצב מאוד שימושי כנ"ל שנקרא :EPR
מדידות מדידה באה לענות לנו על השאלה התשובה היא שאין לקיוביט תמיד ערך מוגדר נקבל במדידה של a b "מהו ערכו של הקיוביט"? a בהסתברות מדידה של מצב קוונטי היא הטלה של הווקטור על תת-מרחב אבל הטלה מאבדת מידע )כל מה שהוא לא מתת-המרחב( זו "הבעיה" בחישוב קוונטי. ניתן ללמוד ממצב כלשהו רק פיסת מידע אחת ואז המצב נהרס. לדוגמא אם נמדוד את הקיוביט הראשון של ה- EPR אז ניפול ל- בהסתברות חצי וכנ"ל לגבי אך תשימו לב שלאחר מכן תוצאת המדידה של הקיוביט השני היא ודאית ) או (. המדידה הראשונה השפיעה על המצב!
מעגלים קוונטיים מעגלים קוונטיים הם ה"אלגוריתמים" בעולם הקוונטי מה מותר לעשות במעגל קוונטי? לקחת אנסילה )קיוביטים נוספים לצורך שמירת מידע( להפעיל טרנספורמציות אוניטריות למדוד הבחנה: מאחר וטרנספורמציות אוניטריות הפיכות אז החישוב עצמו הוא הפיך!
םיטושפ םייטנווק םירעש תוהז NOT הזאפ יוניש I : I X : X Y : Y
םיטושפ םייטנווק םירעש יוניש + NOT הזאפ Hadamard XY Z : Z : H
שערים קוונטיים פשוטים )XOR )בפועל Controlled-not C not : C not נשים לב שכל השערים הנ"ל הם טרנספורמציות אוניטריות
מעגלים קוונטיים מעגלים קוונטיים הם ה"אלגוריתמים" בעולם הקוונטי מה מותר לעשות במעגל קוונטי? לקחת אנסילה )קיוביטים נוספים לצורך שמירת מידע( להפעיל טרנספורמציות אוניטריות למדוד הבחנה: מאחר וטרנספורמציות אוניטריות הפיכות אז החישוב עצמו הוא הפיך!
עקרון אי ההעתקה אמרנו שמדידה הורסת את המצב, אבל מה אם היינו יכולים לשכפל את המצב לפני המדידה וכך לשמר אותו? הבעיה היא שאי אפשר להעתיק מצבים קוונטיים נוכיח זאת: תהי טרנספורמציה לינארית שמעתיקה, U a aa U כלומר: יהיו יהי שני מצבים קוונטיים אורתוגונליים c a a, b b
עקרון אי ההעתקה - המשך U U c U a U b aa bb לפי הלינאריות אבל c cc aa ab ba bb ושני הביטויים הם שונים! מכאן שלא ניתן להעתיק מצב קוונטי
טלפורטציה המטרה: ל- A יש מצב קוונטי לא ידוע והיא רוצה להעביר אותו ל- B הרעיון: A ו- B יחלקו ביניהם מצב EPR וע"י העברת שני ביטים קלאסיים הם יצליחו להעביר קיוביט בודד המעגל המדובר הוא: a b EPR
טלפורטציה - המשך אפשר להסתכל על המעגל כרצף הפעולות הבא: הפעלת הטרנספורמציה A מדידת שני הקיוביטים הראשונים ע"י H I I C I not B ושליחת התוצאה ל- B מפעיל טרנספורמציה על הקיוביט השלישי בהתאם לערכים שקיבל טרנספורמציה I ביטים שהתקבלו X Z Y
טלפורטציה - המשך דוגמא: המצב של אליס היה מצב המערכת הוא A אחרי הטרנספורמציה של תוצאה טרנספ' הקיוביט של B תוצאת המדידה B הטרנספ' של - - I X Z Y H I I C I H I I not
מקביליות קוונטית הכוח של אלגורתמים קוונטיים הוא ביכולת לחשב פונקציות על סופרפיזיציה של מצבים )למשל ) וזאת תודות ללינאריות של הטרנספורמציות האוניטריות אם נרצה, נוכל לחשב הפעלה של פונקציה f )שמוציאה ערך עם k ביטים( על כל הערכים ב- n ביטים ע"י: התחלה ממצב שכולו הפיכת המצב לסופרפוזיציה של כל המצבים ב- n ביטים ע"י Hadamard הוספת אנסילה של k קיוביטים שכולם חישוב הפונקציה על הסופרפוזיציה n מה הבעיה? איך נשתמש בכל ה- ערכים אם נוכל למדוד רק פעם אחת וגם אז לא נדע מראש איזו תוצאה נקבל?
טרנספורם הפוריה הקוונטי מפתח להרבה מהאלגוריתמים הקוונטיים הוא טרנספורם הפוריה הקוונטי באופן כללי, טרנספורם פוריה ממפה פונקציות ממישור הזמן למישור התדר מכאן שעבור פונקציה עם חזרתיות r תתקבל פונקציה עם ערכים שאינם אפס בכפולות של התדר DFT )טרנספורם פוריה דיסקרטי( פועל על N דגימות, בטווח ובהתאם יהיו ערכים שאינם אפס בסביבות של כפולות של DFT הוא FFT כאשר הוא חזקה של N r r N
טרנספורם הפוריה הקוונטי - המשך טרנספורם פוריה הקוונטי מקביל ל- FFT חזקות של ( באופן כללי הוא ה- DFT של, x x x c g ( ) G( c) c )עובד גם כן על כאשר מכאן שבעת מדידה ההסתברות לקבל תוצאה c היא G(x) G(x) g(x) נשים לב שאם נפעיל את הטרנספורם על פונקציה עם N חזרתיות r אז כאשר נמדוד נקבל תוצאה שהיא כפולה של r בפועל בצורה הזאת הדיוק מובטח רק כאשר r הוא חזקה של, אחרת מתקבלת הערכה שטיבה תלוי בגודלו של N
טרנספורם הפוריה הקוונטי - המשך m הטרמספורם הקוונטי N מוגדר באופן הבא: U QFT : x m m c e icx m c m( m ) ניתן לממש את הטרנספורם באמצעות שערים המכילים שערי,Hadamard ושתי טרנספורמציה אוניטריות נוספות
האלגוריתם של שור ב- 994 פיטר שור הציע אלגוריתם קוונטי לפרוק מספר לגורמים ראשוניים שרץ בזמן פולינומיאלי האלגוריתם הוא למעשה רדוקציה לבעיה אחרת )מציאת הסדר של חבורה כפלית( אשר אותה ניתן לפתור ביעילות ע"י אלגוריתם קוונטי בשימוש ב- Quantum Phase Estimation )אשר עושה שימוש בטרנספורם פוריה( בעיית מציאת הסדר: ומספר, מספר נתון: x * xz n פלט: ord(x), כלומר המספר הקטן ביותר ש- נותן את איבר היחידה בחבורה n בחזקה שלו
האלגוריתם של שור - המשך n( האלגוריתם של שור: )קלט מספר x,..., n בחר באקראי ניצחנו )מחלקים וממשיכים הלאה( - אם x, gcd( ו- n) אחרת ראשוני או חזקה של ראשוני ניצחנו. n אם נחשב אחרת אי זוגי אם. אם הפסדנו הפסדנו )כאשר שני הביטויים אינם אפס( - ) לכן מכאן ש- n מחלק את המכפלה )כי אחרת ניצחנו x t mod n x t mod n * xz n k k t gcd( x, n) k ord(x) t x t t x x mod n t x x t gcd( n, t x ) בהכרח 5
חישוב קוונטי אלגוריתמים קוונטיים יכולים להציע שיפור אקספוננציאלי בזמני ריצה עבור בעיות מסוימות בעוד שעבור בעיות אחרות ניתן לקבל לכל היותר שיפור פולינומיאלי Problems( )Blackbox הבעיה העיקרית היום להשתמש באלגוריתמים הנ"ל היא חוסר היכולת לבנות מחשב הקוונטי שמסוגל לעבוד עם מספר קיוביטים שרירותי התחום קיבל בשנים האחרונות המון תשומת לב וכנראה שנראה עוד הרבה שיפורים בעתיד...
שאלות?