תשעה אלגוריתמים ששינו את העתיד

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

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

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

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

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

ולסיכום – חידה, האם תוכלו לזהות את האנשים הבאים? (תרגום חופשי שלי, בקיצורים נדרשים, מתוך הפרק הראשון של הספר):

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

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

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

–          ב-1969, חוקר ב-IBM מגלה דרך חדשה ואלגנטית לשמור מידע מובנה במסד נתונים.

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

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

תשובות בהמשך….