מהו מחשב קוונטי? מוסבר בדוגמה פשוטה.

שלום כולם!

לפני כמה ימים ביקרתי ב- D-Wave Systems בוונקובר, קנדה. זו חברה שמייצרת מחשבים קוונטיים חדשניים.

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

המטרה של מאמר זה היא לתת לך אינטואיציה מדויקת של מה שמחשב קוונטי משתמש בדוגמה פשוטה.

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

אוקיי, בוא נתחיל.

עריכה (26 בפברואר 2019): פרסמתי לאחרונה סרטון על אותו נושא בערוץ היוטיוב שלי. הייתי ממליץ לצפות בו (לחץ כאן) לפני או אחרי קריאת מאמר זה מכיוון שהוספתי כמה טיעונים נוספים וניואנסים יותר בסרטון.

מהו מחשב קוונטי?

הנה סיכום של משפט אחד מהו מחשב קוונטי:

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

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

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

כיצד מחשב רגיל מאחסן מידע

כעת, מחשב רגיל מאחסן מידע בסדרה של 0 ו- 1.

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

כל יחידה בסדרה זו של 0 ו- 1 נקראת קצת. אז ניתן להגדיר קצת ל 0 או 1.

עכשיו, מה לגבי מחשבים קוונטיים?

מחשב קוונטי אינו משתמש בסיביות לאחסון מידע. במקום זאת, הוא משתמש במשהו שנקרא qubits.

לא ניתן להגדיר כל קוביט רק ל- 1 או 0, אלא גם להגדיר אותו ל- 1 ו- 0. אבל מה זה אומר בדיוק?

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

דוגמה פשוטה להבנת האופן שבו מחשבים קוונטיים עובדים

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

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

ונניח שהזמנת 2 מוניות למטרה זו, ואתה רוצה להבין מי נכנס לאיזו מונית.

כמו כן, נניח שכאן ניתן לך מידע על מי מי מי ומי על אויבים עם מי.

הנה, בואו נגיד את זה:

  • אליס ובקי חברות
  • אליס וכריס הם אויבים
  • בקי וכריס הם אויבים

ונניח שמטרתך כאן היא לחלק קבוצה זו של 3 אנשים לשתי המוניות כדי להשיג את שתי המטרות הבאות:

  • מקסם את מספר זוגות החברים שחולקים את אותה מכונית
  • צמצם את מספר זוגות האויב החולקים את אותה מכונית

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

פתרון בעיה זו באמצעות מחשב רגיל

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

בואו נסמן את שתי המוניות מונית מספר 1 ומונית מספר 0.

לאחר מכן תוכלו לייצג מי נכנס לאיזו מכונית עם 3 ביטים.

לדוגמא, אנו יכולים להגדיר את שלוש הסיביות ל- 0 , 0 ,ו- 1 לייצג:

  • אליס נכנסת למונית מספר 0
  • בקי נכנסת למונית מספר 0
  • כריס נכנס למונית מספר 1

מכיוון שיש שתי אפשרויות לכל אדם, ישנן 2 * 2 * 2 = 8 דרכים לחלק את קבוצת האנשים הזו לשתי מכוניות.

הנה רשימה של כל התצורות האפשריות:

א | ב | ג

0 | 0 | 0

0 | 0 | 1

0 | 1 | 0

0 | 1 | 1

1 | 0 | 0

1 | 0 | 1

1 | 1 | 0

1 | 1 | 1

באמצעות 3 סיביות תוכלו לייצג כל אחד מהשילובים הללו.

מחשוב הציון עבור כל תצורה

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

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

  • מקסם את מספר זוגות החברים שחולקים את אותה מכונית
  • צמצם את מספר זוגות האויב החולקים את אותה מכונית

בואו נגדיר את הציון שלנו באופן הבא:

(הציון של תצורה נתונה) = (# זוגות חברים שחולקים את אותה מכונית) - (# זוגות אויב שחולקים את אותה מכונית)

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

במקרה זה, יש רק זוג חברים אחד החולק את אותה מכונית - אליס ובקי.

עם זאת, ישנם שני זוגות אויב החולקים את אותה מכונית - אליס וכריס, ובקי וכריס.

לכן, הציון הכולל של תצורה זו הוא 1-2 = -1.

פתרון הבעיה

עם כל ההתקנה הזו, סוף סוף נוכל לפתור את הבעיה הזו.

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

אז אתה יכול לחשוב על בניית שולחן כזה:

א | ב | ג | ציון

0 | 0 | 0 | -1

0 | 0 | 1 | 1 <- אחד הפתרונות הטובים ביותר

0 | 1 | 0 | -1

0 | 1 | 1 | -1

1 | 0 | 0 | -1

1 | 0 | 1 | -1

1 | 1 | 0 | 1 <- הפיתרון הטוב ביותר האחר

1 | 1 | 1 | -1

כפי שאתה יכול לראות, יש כאן שני פתרונות נכונים - 001 ו- 110, שניהם משיגים את הציון 1.

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

ראינו שעם 3 אנשים עלינו לעבור 8 תצורות אפשריות.

מה אם יש 4 אנשים? במקרה כזה נצטרך לעבור תצורות של 2 * 2 * 2 * 2 = 16.

עם n אנשים, נצטרך לעבור (2 בכוח של n) תצורות כדי למצוא את הפתרון הטוב ביותר.

אז אם יש 100 אנשים, נצטרך לעבור על:

  • 2¹⁰⁰ ~ = 10³⁰ = מיליון מיליון מיליון מיליון תצורות.

זה פשוט בלתי אפשרי לפתור באמצעות מחשב רגיל.

פתרון בעיה זו באמצעות מחשב קוונטי

כיצד נלך לפתור בעיה זו באמצעות מחשב קוונטי?

כדי לחשוב על זה, נחזור למקרה של חלוקת 3 אנשים לשתי מוניות.

כפי שראינו קודם, היו 8 פתרונות אפשריים לבעיה זו:

א | ב | ג

0 | 0 | 0

0 | 0 | 1

0 | 1 | 0

0 | 1 | 1

1 | 0 | 0

1 | 0 | 1

1 | 1 | 0

1 | 1 | 1

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

עם זאת, עם מחשב קוונטי, באמצעות 3 קוביטים , אנו יכולים לייצג את כל 8 הפתרונות הללו בו זמנית .

יש ויכוחים מה זה אומר בדיוק, אבל הנה הדרך שאני חושב על זה.

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

באחד מאותם עולמות מקבילים, הקוביט מוגדר ל- 0. באחרת הוא מוגדר ל- 1.

עכשיו, מה אם תגדיר את הקוביט השני גם ל- 0 ו- 1? ואז זה בערך כמו ליצור 4 עולמות מקבילים.

בעולם הראשון, שני הקוביטים נקבעים ל 00. בשני הם 01. בשלישי הם 10. ברביעי הם 11.

באופן דומה, אם אתה מגדיר את כל שלושת הקוביטים גם ל- 0 וגם ל- 1, אתה תיצור 8 עולמות מקבילים - 000, 001, 010, 011, 100, 101, 110 ו- 111.

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

עכשיו, כשאתה מיישם איזושהי חישוב על שלושת הקוביטים האלה, אתה בעצם מיישם את אותה חישוב בכל אותם 8 העולמות המקבילים בו זמנית.

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

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

א | ב | ג | ציון

0 | 0 | 0 | -1

0 | 0 | 1 | <1 - אחד הטובים soluti ons

0 | 1 | 0 | -1

0 | 1 | 1 | -1

1 | 0 | 0 | -1

1 | 0 | 1 | -1

1 | 1 | 0 | <1 - השני הכי טוב כל כך lution

1 | 1 | 1 | -1

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

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

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

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

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

שגיאות אלה הופכות בולטות יותר ככל שהבעיה הופכת מורכבת יותר ויותר.

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

כיצד מתמקד מחשב קוונטי

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

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

כאשר ישנם 4 אנשים, מספר הפעולות הוא עדיין 1.

כשיש 100 אנשים, מספר הפעולות הוא עדיין 1. בפעולה אחת מחשב קוונטי מחשב את הציונים של כל 2¹⁰⁰ ~ = 10³⁰ = מיליון מיליון מיליון מיליון תצורות בו זמנית.

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

עם זאת, זה עדיין הרבה יותר טוב מאשר להריץ את אותה הבעיה במחשב רגיל ולחזור על אותו סוג חישוב מיליון מיליון מיליון מיליון פעמים.

מסיימים

תודה מיוחדת לכולם ב- D-Wave Systems שהסבירו לי בסבלנות את כל זה.

D-Wave השיקה לאחרונה סביבת ענן לאינטראקציה עם מחשב קוונטי.

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

זה נקרא Leap, והוא נמצא בכתובת //cloud.dwavesys.com/leap. אתה יכול להשתמש בו בחינם כדי לפתור אלפי בעיות, ויש להם גם מדריכים קלים לעקוב אחר תחילת העבודה עם מחשבים קוונטיים לאחר ההרשמה.

הערת שוליים:

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