מחשב קוונטי – הבדלי גרסאות
תוכן שנמחק תוכן שנוסף
הסרת קישורים עודפים, החלפה (אף על פי ש) |
|||
שורה 5:
== רקע ==
המחקר בנוגע לעיבוד אינפורמציה ולמחשבים קוונטיים החל בשנות השבעים של המאה העשרים. בשנת [[1973]] פרסם [[אלכסנדר חולבו]] את המאמר הראשון בתחום, ובו ההבחנה שעל אף ההבדלים ביניהם, n [[קיוביט
בשנת [[1985]] ניסח [[דיוויד דויטש]] מודל תאורטי אוניברסלי למחשב קוונטי, [[מכונת טיורינג קוונטית]]. בדומה ל[[מכונת טיורינג]] קלאסית מדובר במודל תאורטי פשוט המגלם בתוכו את כל העצמה החישובית של מחשב קוונטי, בלי תלות באופן המימוש שלו. דויטש הראה שעל אף ההבדלים בין המודלים השונים, מבחינה [[חישוביות|חישובית]] מכונת טיורינג קוונטית שקולה למכונת טיורינג קלאסית ולמעשה מחשב קוונטי לא מפר את [[תזת צ'רץ'-טיורינג]].
שורה 13:
יחידת המידע הבסיסית במחשב קלאסי נקראת [[סיבית]] או "ביט", כל ביט יכול להיות באחד משני מצבים: 0 או 1. לעומת זאת, יחידת המידע הבסיסית במחשב קוונטי נקראת [[קיוביט]] (ביט קוונטי), כל קיוביט יכול להיות במצב 0 או 1, אך גם בכל [[סופרפוזיציה]] קוונטית שלהם. באופן דומה, [[אוגר (מחשבים)|רגיסטר]] קלאסי בן n ביטים יכול לייצג כל אחד מ-<math>2^n</math> מצבים שונים, רגיסטר קוונטי יכול לייצג כל סופרפוזיציה של <math>2^n</math> מצבים שונים.
סופרפוזיציה של קיוביט בודד מיוצגת על ידי - <math>\alpha |0\rangle + \beta |1\rangle</math> כאשר המשמעות היא שבעת [[בעיית המדידה|מדידה קוונטית]] יש הסתברות של <math>|\alpha |^2</math> למצוא את הקיוביט במצב 0 והסתברות של <math>|\beta |^2</math> למצוא את הקיוביט במצב 1. כיוון שניתן למצוא את הקיוביט רק באחד מבין שני המצבים, <math>\alpha,\ \beta</math> שהם [[מספר מרוכב|מספרים מרוכבים]], מקיימים <math>|\alpha |^2 + |\beta |^2 = 1</math>. קיוביט בודד מיוצג לצרכים תאורטיים על ידי שני מספרים מרוכבים, ולכן יכול לכאורה לייצג כמות אינסופית של מידע. אכן ניתן לבצע חישובים ומניפולציות שונות על קיוביט המייצג סופרפוזיציה בין מספר מצבים, אך בסופו של דבר
==שערים קוונטיים==
שורה 19:
במחשב קלאסי, הפעולות הבסיסיות שניתן לבצע על ביטים מיוצגות באמצעות [[שער לוגי|שערים לוגיים]], ואלו יכולים לממש כל פונקציה בוליאנית שהקלט שלה הוא מספר כלשהו של ביטים, והפלט שלה יכול להיות כל מספר אחר של ביטים. המנגנון המקביל במחשב קוונטי נקרא [[שער קוונטי]], שער כזה יכול לממש כל [[אופרטור יוניטרי]] על מספר קיוביטים, והתוצאה שלו תהיה בת מספר זהה של קיוביטים. נהוג לייצג שערים קוונטיים כ[[מטריצה|מטריצות]] יוניטריות, כאשר שער קוונטי הפועל על <math>n</math> קיוביטים ייוצג על ידי מטריצה מגודל <math>2^n\times 2^n</math> (כאמור, מצב אוגר קוונטי המכיל <math>n</math> קיוביטים מיוצג על ידי וקטור במרחב ממימד <math>2^n</math>).
== הכח החישובי של מודלים
=== [[אלגוריתם חיפוש|חיפוש]] ===
נניח שנרצה למצוא מספר העומד בקריטריון מסוים. לדוגמה, נאמר שקלטנו תשדורת המוצפנת בשיטת ההצפנה [[DES]], ואנו מחפשים את מפתח ההצפנה, שהוא מספר אקראי שאורכו 56 [[סיבית|ביטים]]. קל לבדוק אם מספר נתון הוא המפתח הנכון, אבל כדי למצוא את המפתח הנכון (באופן ישיר) נאלץ לבדוק <math>2^{56}</math> אפשריות, וזהו תהליך ארוך מאד. אם ברשותנו מחשב קוונטי, נוכל לתכנת אותו לפתור את בעיית החיפוש באופן יעיל יותר. ניקח 56 [[קיוביט
במבט ראשון נראה שהשגנו שיפור אדיר במהירות ([[פונקציה מעריכית|מעריכי]] באורך המפתח שמחפשים). ואולם, נשאר אתגר נוסף - כיצד נחלץ את המפתח הנכון, כלומר זה שעבורו הבדיקה הצליחה, מתוך הסופרפוזיציה? בשנת [[1996]] פיתח [[לוב גרובר]] [[אלגוריתם גרובר|אלגוריתם חיפוש קוונטי]] המאפשר לעשות זאת בעזרת כ-<math>2^{28}</math> פעולות קוונטיות (ובאופן כללי <math>2^{k/2}</math> פעולות, כאשר <math>k</math> הוא אורך המפתח). מסתבר שבאופן כללי, לא ניתן לבצע את החיפוש מהר יותר, כלומר, למחשב הקוונטי יש יתרון (ריבועי) על פני מחשב קלאסי בפתרון בעיות חיפוש כלליות, אך לא יותר מכך.
שורה 29 ⟵ 28:
=== מציאת גורמים ראשוניים ===
אחת הבעיות החשובות שניתנות לפתרון באמצעות מחשב קוונטי היא
=== מגבלות עקרוניות ===
== ראו גם ==
{{קישורי פורטל|מדעי המחשב}}
* [[תורת האינפורמציה]]
* [[אינפורמציה קוונטית]]
|