אבני היסוד של מחשב
המחשב הרגיל, הספרתי, מורכב ביסודו של דבר מאוסף של ביטים ומשערים לוגיים. ביט (סיבית) הוא רכיב אשר לו שני מצבים, לרוב שתי רמות של מתח חשמלי; למצבים קוראים 0 ו-1. הרכיב מסוגל לשמור על המצב שבו הוא נמצא במשך זמן מספיק ארוך כדי שנוכל לקרוא אותו או להשתמש בו בשער לוגי. שער לוגי הוא רכיב שמקבל כקלט שני ביטים, ונותן כפלט ביט יחיד. למשל, שער OR נותן פלט 1 אם לפחות אחד משני הקלטים הוא 1, ופלט 0 אם שני הקלטים הם 0. שער AND נותן פלט 1 אם שני הקלטים הם 1, ופלט 0 אם לפחות קלט אחד הוא 0. שער NAND (קיצור של NOT-AND) נותן תוצאה הפוכה: 0 אם שני הקלטים הם 1, 1 אם לפחות קלט אחד הוא 0.
קיימים 16 שערים אפשריים כאלה, ובאמצעות צירופים מתאימים שלהם ניתן לחשב פונקציות מורכבות יותר - למעשה, כל מה שהמחשב יודע לחשב. בעצם, די בשערי NAND: בעזרת צירוף של שערי NAND ניתן לממש את כל השערים האחרים. כך, לדוגמה, ניתן לממש שער OR באמצעות שכפול שני הקלטים והפעלת שלושה שערי NAND, כך:
בעולם החישוב הקוונטי, במקום ביט יש קיוביט (qubit, קיצור של quantum bit). קיוביט הוא רכיב שיכול להימצא במצב 0 או 1, כמו ביט, אבל גם בסופרפוזיציה שלהם. סופרפוזיציה היא מונח יסודי בתורת הקוונטים; פירושו שהרכיב הוא, במובן מסוים, גם במצב 0 וגם במצב 1: מין "תערובת" של שניהם.
ה"תערובת" יכולה להיות ביחסים שונים, כלומר המצב יכול להיות "יותר 0 מ-1". האפשרות לשנות את היחס פירושה שלקיוביט יש בעצם אינסוף מצבים. האפשרות של סופרפוזיציה גורמת לנו לשער שאולי למחשב קוונטי יהיו יכולות שאין למחשב רגיל.
השערים הלוגיים של מחשב קוונטי דומים לשערים של מחשב רגיל, כלומר מקלט של שני קיוביטים נקבל קיוביט עם ערך חדש (התורה הקוונטית מחייבת שנקבל שני קיוביטים, אבל תמיד ניתן להתעלם מאחד מהם). מאחר שלקיוביט יש אינסוף מצבים, יש גם אינסוף שערים אפשריים. אך מסתבר שניתן ליצור את כולם (לפחות באופן מקורב) משילובים של שער אחד הנקרא CNOT (קיצור של Controlled NOT), ושתי פעולות על קיוביט בודד, הנקראות H ו-T (שכל אחת מהן מקבלת כקלט מצב קוונטי אחד, ונותנת כפלט מצב אחר, על־פי נוסחה קבועה). כמו במחשב רגיל, ניתן לבצע כל חישוב קוונטי, לפחות בקירוב, בעזרת שלוש אבני־בניין אלו. חשוב להדגיש כי CNOT דורש אינטראקציה בין שני קיוביטי הקלט – בהמשך נראה השלכות חשובות לעובדה זו.
למה זה טוב?
התיאוריה של מדעי המחשב נוצרה עוד לפני שנבנה המחשב הראשון. "מכונת טיורינג" היא מודל מאוד אבסטרקטי ופשוט של מכונת חישוב, והיא מייצגת נכונה כל מחשב ספרתי שמוכר לנו. במודל זה ניתן לנסח בעיות מתמטיות, ולהראות כיצד המכונה יכולה לפתור אותן. ניתן גם להוכיח בקלות כי יש בעיות שניתן לנסח למכונה כזו, אך לא ניתן לפתור בעזרתה. ויש גם בעיות מתמטיות שיודעים כיצד לפתור בעזרת המכונה, אך לא בזמן סביר: הפתרון מצריך כל כך הרבה צעדי חישוב, שהוא ייקח מיליוני שנים; שיפור המהירות המרשים של המחשבים מאז המצאתם בכלל לא מדגדג את הבעיה.
דוגמה מפורסמת היא בעיית הפרוק לגורמים. קל מאוד להכפיל מספרים זה בזה. מחשבים מסוגלים להכפיל שני מספרים בני אלפי ספרות תוך פחות משניה. מצד שני אם נתון מספר בן אלפי ספרות, וידוע שהוא מכפלה של שני מספרים ראשוניים, אז קשה למצוא את שני המספרים האלו. בכל אלגוריתם שאנו מכירים, ובאמצעים של ימינו, זה ייקח יותר זמן מאשר אורך החיים של השמש. הקושי הזה מנוצל כיום להצפנה פומבית: לתהליך ההצפנה משמשת המכפלה, שהיא ידועה לכל, אבל הגורמים של המכפלה, שמשמשים לפענוח, ידועים רק למי שיצר את מפתח ההצפנה. עם זאת, לא הוכח שאין אלגוריתם יעיל יותר: יתכן שיש כזה, ורק לא גילינו אותו עד כה, ויתכן שאין.
כל זה נכון למכונת טיורינג, ולמחשבים שמהווים מימוש שלה - כאמור, כל המחשבים הרגילים שאנו מכירים. אבל מחשב קוונטי חורג מגדר מכונת טיורינג. האם הוא יכול לבצע משהו שמחשב רגיל לא יכול לבצע, או לחילופין יכול לבצע זאת יותר מהר (בפחות צעדי חישוב)? התשובה היא – אולי. אין הוכחה לכך (אם כי הוכח כי מחשב קוונטי הוא לא חלש יותר, כלומר הוא יכול לחשב כל מה שמחשב רגיל יכול; זה לא מפתיע); מצד שני, ידועים כבר מספר אלגוריתמים למחשב קוונטי שיכולים לפתור בעיות מסוימות מהר יותר מכל אלגוריתם שאנחנו מכירים למחשב רגיל.
ב-1994 פרסם פיטר שור (Shor) אלגוריתם למחשב קוונטי, שמסוגל לפרק מספר לגורמים בזמן קצר. בכך הוא הפך את החישוב הקוונטי מנושא אזוטרי של פיזיקאים תאורטיקנים לחזית המחקר של הפיזיקה הקוונטית ושל מדעי המחשב. מתברר שהיכולת של מחשב קוונטי לבצע חישוב על סופרפוזיציה של מספרים רבים מקנה לו עדיפות מסוימת על המחשב הרגיל. למעשה, מחשב קוונטי יכול לפצח את כל שיטות ההצפנה שבשימוש נפוץ כיום (אם כי יש שיטות אלטרנטיביות). תאורטיקנים משערים שהמחשב הקוונטי יהיה יותר יעיל בחישובים נוספים. יש אף הטוענים (למשל, רוג'ר פנרוז) שרק מחשב קוונטי יוכל להגיע לאינטליגנציה מלאכותית, שכן לדעתם פעולת הנוירונים במוח היא בעלת מאפיינים קוונטים, ולכן לא ניתנת לחיקוי מוצלח ע"י מחשב רגיל.
איך לבנות מחשב קוונטי
מהר מאוד גילו הפיזיקאים שהתעסקו בשאלה המעשית, שמדובר בסיפור לא פשוט. ליצור קיוביטים זה קל: לא חסרות מערכות שיש להן שני מצבים קוונטים, וניתן להכניס אותן לכל סופרפוזיציה רצויה של שני המצבים הנ"ל. הדוגמאות הפשוטות ביותר הן אלקטרון שהספין שלו נמצא בסופרפוזיציה של "למעלה" ו"למטה", ופוטון שנמצא בסופרפוזיציה של קיטוב אופקי ואנכי. את שתי המערכות האלו קל ליצור, וקל להפעיל עליהן את הפעולות H ו-T בעזרת שדות מגנטיים (אלקטרון) או חומרים מקטבים (פוטון). הבעיה נוצרה עם הדרישות האחרות.
אלקטרונים קשה מאוד לשמור במצב ספין נתון. הם מגיבים עם כל שדה אלקטרומגנטי שבסביבתם ומצב הספין שלהם משתנה בהתאם. על מנת לשמור אלקטרון במצב ספין נתון צריך לבודד אותו מסביבתו ואז קשה כמובן להשתמש בו לפעולות חישוב או לשמור אותו כזכרון. פוטונים סובלים מבעיה הפוכה, הם לא מגיבים כמעט בכלל עם פוטונים אחרים; שער CNOT מבוסס על אינטראקציה בין שני קיוביטים, כך שפוטונים לא ממש מסוגלים לשמש למטרה זו.
כל דבר אחר (פרוטון, אטום, מולקולה) שנרצה להשתמש בו יסבול מאחת משתי הבעיות – אם הוא מגיב בקלות עם בני מינו, אז הוא גם מגיב בקלות עם הסביבה שלו ומאבד את המצב שלו תוך זמן קצר. אם הוא מסוגל לשמור על המצב שלו, הרי שהוא לא מגיב בקלות עם סביבתו וקשה לבצע עליו פעולות חישוב. באופן כללי, מצבים קוונטיים לא נשמרים לאורך זמן בסביבה שיש בה הרבה אינטראקציות, ולכן כבר עכשיו ברור שה"מעבד" של מחשב קוונטי יצטרך לפעול בתנאים של ריק חזק, ואולי גם טמפרטורה נמוכה.
כיום מרבית המאמצים לבנות מחשב קוונטי מתרכזים בכיוון של אטומים או יונים בעלי מצבים אנרגטיים יציבים, שניתן לאכסן אותם בתוך שדות מגנטיים ולהעביר אותם ממצב למצב באמצעות הארה בלייזרים ממוקדים היטב. יצירת אינטראקציה בין שני קיוביטים כאלו היא מסובכת, שכן לא מספיק ליצור אינטראקציה בין שני קיוביטים ספציפיים – צריך לאפשר אינטראקציה בין כל שני קיוביטים במערכת, בלי להפריע לקיוביטים האחרים. אחד הרעיונות הוא שימוש בשורות של אטומים כאלו, ויצירת אינטראקציה באמצעות תנודות לאורך השורה. הקיוביט הראשון מואר ע"י לייזר מיוחד שגורם לו לתנודה שתלויה במצב האנרגטי שלו. שאר האטומים שבשורה מתנדנדים באותו האופן, ומעבירים את התנודה לקיוביט המטרה. אותו מאירים בלייזר אחר, שגורם לו לשנות את המצב האנרגטי שלו בהתאם לתנודה. בניסויים שנעשו עד היום הצליחו לבנות שורה של ארבעה קיוביטים, ולהפעיל שער CNOT על כל זוג מתוכם. הבעיה הקשה היא שהאטומים חייבים להיות קרובים כדי להעביר את התנודה, אבל רחוקים מספיק כדי שהלייזר יוכל לפגוע רק באטום הנכון. כמו כן צריך לייזרים מאוד מדויקים גם בכיוון, גם בתדר וגם בעוצמה, על מנת ליצור את המצב הקוונטי הרצוי ולשנות אותו במדויק. כמובן שהמערכת הזו רגישה מאוד לקרינה, לזיהומים ולתנודות, ולכן צריכה להיות בתוך ריק ובסביבה יציבה ביותר.
סיכום
חישוב קוונטי הופך מחלום למציאות עם כל יום שעובר, למרות הקשיים הטכניים והעלות הגבוהה של המכשור ושל סביבת העבודה. נראה שאב־טיפוס ראשון של מחשב קוונטי הוא כבר יותר בעיה של טכנאים ופחות של פיזיקאים, ויתכן מאוד שכבר בשנים הקרובות יוכרז על המחשב הקוונטי הראשון.
עם זאת, כפי שזה נראה כעת, היום בו נוכל לקנות מחשב קוונטי ביתי עוד רחוק מאוד. יש עוד הרבה בעיות קשות שלא נפתרו והמערכות המבטיחות ביותר עדיין זקוקות לסביבת עבודה מיוחדת ולתנאי עבודה שאף משתמש ביתי לא יסכים להם. גם לא ברור מדוע משתמש ביתי יצטרך בכלל מחשב קוונטי, ואילו יישומים הוא יוכל לעשות בו שמחשב רגיל לא יוכל לספק (ראינו שהוא טוב כדי לפצח צפנים, אבל ניתן להניח שברגע שיהיה קיים מחשב כזה יעברו לשיטות הצפנה שחסינות בפניו). עם זאת צריך לזכור שבין המצאת המחשב ועד הפיכתו למוצר ביתי שווה לכל נפש עברה כמחצית המאה, ולפני כן בכלל לא היה ברור למה אנשים צריכים דבר כזה; היום, קשה לתאר את חיינו ללא מחשב. יתכן שזהו גם העתיד הצפוי למחשב הקוונטי.
|
קישורים
תורת הקוונטים וסופרפוזיציה - הסבר מפורט יותר
רוג'ר פנרוז - מאמר ב"גלילאו" על תודעה קוונטית
מאמר ב"גלילאו" על מחשב קוונטי
רשימת מקורות לקריאה נוספת
|