"שיטת מונטה קרלו" משמשת לסימולציה של מערכות מורכבות בהנדסה, בכלכלה ובמדעים, ונעזרת ביכולתם של מחשבים ליצור מספרים אקראיים. נדגים אותה באמצעות פתרון בעיה פשוטה בהסתברות, נראה דוגמה מתחום הפיזיקה, ואת השימוש שנעשֶה בה להדגמת סכנת התפשטות מגפת הקורונה.
הפיתוח הראשוני של שיטת מונטה קרלו מיוחס למתמטיקאי הפולני סטניסלב אוּלַם [1] (Stanislaw Ulam) בסוף שנות הארבעים. סטניסלב מספר שהרעיון צץ במוחו כשהיה חולה ושיחק בסוליטר. כשהשתעמם מהמשחק, הוא ניסה לחשב את ההסתברות להגרלת סידור אופטימלי של קלפים, אולם התקשה בכך. ואז צץ הרעיון: "ניתן למחשב לחשב בקירוב את ההסתברות באמצעות הגרלת סידורים אקראיים!" בהמשך עלה רעיון נוסף במוחו: "אולי ניתן להשתמש בשיטה זו גם לחישובים פיזיקליים מורכבים?"
למזלו של סטניסלב, הוא היה חלק מצוות הפיתוח של נשק גרעיני במעבדה הלאומית האמריקאית בלוס אלמוס, והבוס היה ג'ון פון נוימן, שנחשב לאחד מחלוצי מדעי המחשב. פון נוימן התלהב מהרעיון ותיכנת את ENIAC, המחשב המתוכנת הראשון, לביצוע הסימולציות. שם הקוד לפרויקט,"מונטה קרלו", הוצע על ידי אחד מחברי הצוות, מחווה לדודו שהיה מהמר כבד בקזינו במונטה קרלו, שנחשב אז ליוקרתי מאוד. הקזינו ירד זה מכבר מגדולתו, אולם הכינוי לשיטה נשמר עד עצם היום.
נדגים את השיטה באמצעות בעיה פשוטה בהסתברות: מצמידים ריבוע מקרטון לקיר ומשרטטים עליו מעגל שנוגע בצלעותיו. מחלקים את הריבוע לארבע ריבועים שווים, ויורים חיצים לנקודות אקראיות בריבוע הימני העליון. מה ההסתברות שהחיצים יפגעו בתוך המעגל?
אפשר לעשות ניסויים בשטח, אולם קל יותר לשבת בכורסה ולעשות סימולציה במחשב. למחשבים יש יכולת להגריל מספרים אקראיים, ובאקסל יש פונקציה בשם ()rand שמגרילה מספרים אקראיים בין 0 ל-1. נשתמש בה, ונמדל את מיקום פגיעת החץ כהגרלת ערך אקראי עבור קואורדינטת X וגם עבור Y. ניזכר במתמטיקה בסיסית ונכתוב משוואה המייצגת את התנאי לפגיעה בתוך מעגל שרדיוסו אחד:
rand()^2+rand()^2) <1)
כשנכתוב זאת בתא באקסל, המחשב יגריל שני מספרים אקראיים, הקואורדינטות, ויציג תוצאה 1 ("נכון") אם הנקודה נמצאת בתוך המעגל, ואפס אם החץ פִספס. נשכפל את המשוואה, למשל אלף פעמים, באמצעות גרירה, ונקבל בתצוגה לעִתים אפסים ולפעמים אחדות, לפי מה שהוגרל. כדי לשערך את ההסתברות לפגיעה נבדוק את אחוז האחדות מתוך אלף המשוואות.
עשינו זאת כמה פעמים. בפעם הראשונה, התוצאה היתה 78.7%, בהרצה שנייה 78.2%, אחר כך 77.8% וכולי. המיוחד בשיטת מונטה קרלו הוא שהתוצאות משתנות מריצה לריצה עקב האקראיות. לבסוף, אחרי שצברנו הרבה תוצאות ווידאנו שהשונות ביניהן די קטנה, עשינו ממוצע וקיבלנו בערך 78.5% בתור אומדן ההסתברות.
אגב, האם תוכלו למצוא את הפתרון בדרך אחרת? אפשר לראות שההסתברות לפגיעה בתוך רבע המעגל שרדיוסו אחד היא השטח שלו, שזה רבע פאי, וזה מה שקיבלנו בקירוב. עוד שיטה מגניבה לשערוך ערכו של פאי!
רוב הסימולציות בשיטת מונטה קרלו הן כמובן מסובכות הרבה יותר. כששאלנו את חברי העמותה כיצד הם משתמשים בשיטה זו בעבודתם, קיבלנו שלל תשובות, כמו למשל: סימולציה של מעגלים חשמליים, שיערוך מיקום לווינים בהתחשב בשגיאות מדידה אקראיות, סימולציה של מכתשים על הירח ומדידה של חדירת אלקטרונים לדגמים במיקרוסקופיה אלקטרונית.
סימולציות רבות, חבויות מהעין, קבורות בים של נתונים מספריים. אולם יש תחום שבו ניתן להדגים אותן גם באופן ויזואלי: סימולציות הכוללות תנועה של גופים והתנגשויות ביניהם. דוגמה מפורסמת היא סימולציה של תנועה בראונית [2], שבה מציבים כדורים קטנים במקומות אקראיים על מסך המחשב, נותנים להם לנוע במהירות בכיוונים אקראיים ולהתנגש אלו באלו ובקירות. כדורים אלו מייצגים מולקולות גז למשל. אל החגיגה שעל המסך מצרפים גם גופים גדולים יותר, המייצגים, נניח, חלקיקי אבק. גופים אלו מקבלים חבטות מכל עבר כתוצאה מהתנגשויות עם הכדורים הקטנים, והם נעים לכל הכיוונים כמו שיכורים. התנועה האקראית של הגופים על המסך מדמה את התופעה הפיזיקלית הידועה בשם "תנועה בראונית".
השנה נוספה עוד דוגמה לסימולציה הכוללת דימוי להתנגשות בין כדורים, דוגמה שהיכתה גלים: במרץ השנה פרסם העיתון "וושינגטון פוסט" כתבה על קורונה, והציג תרחישים שונים [3]. הכתבה באתר כללה אפליקציה דינמית שבה רואים על המסך כדורים נעים ומתנגשים המייצגים אנשים שנפגשים ביניהם. אחד הכדורים היה צבוע בחוּם וייצג נשא קורונה. הכדור החום מתרוצץ על המסך, מתנגש בכדורים אחרים והופך אותם לחומים, וכך נמשך התהליך עד שכל הכדורים נצבעים ("נדבקים").
מודל הסימולציה שהוצג בכתבה היה פשטני, ובינתיים חלו הרבה שינויים ונוסף הרבה מידע על המגפה. גם אנחנו פיתחנו סימולציה פשוטה להדגים מצבי הידבקות ([4]). למרות פשטותה, התבוננות בסימולציה יכולה להיות חוויה מאלפת: דמיינו את עצמכם ככדור קטן על המסך, שעשוי להפוך מיד לחוּם ("נגוע"). מבט זה יעניק אולי קצת פרספקטיבה, שהרי כל אחד מאיתנו הוא בעצם כמו הכדור הקטן, או אולי במונחי תנועה בראונית: ”All We Are is Dust in the Wind"
הערות:
[1] סטניסלב אולם
[3] מאמר ב"וושינגטון פוסט" שכלל סימולטור קורונה
[4] סימולטור שפיתחנו להתפשטות מחלה