טכנולוגיה מסובכת היא מציאות לא הכרחית

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

בסוף שנת 2000 (ליתר דיוק, ב-19 בנובמבר 2000) כתב פרופ' אדסחר דייקסטרה מאמר קצר על "סוף מדעי החישוב" (תוכלו לאתר אותו ברשת באמצעות איתור הקוד "AWD1304") ובו הוא תיאר תובנות מטרידות אשר, לדעתי, רלוונטיות למצבה של "טכנולוגיית המידע" גם בימינו. דייקסטרה ראה במדעי החישוב את הבסיס המדעי של טכנולוגיות המידע, וזאת בהתאם למקובל באקדמיה המדעית והטכנולוגית כהגדרת המונח "טכנולוגיה". כמו טיורינג ב-1950, דייקסטרה קיבל כמובן מאליו שמדעי החישוב הם פרק במתמטיקה היישומית החדישה. מכאן הוא הסיק שהעוסקים במדעי החישוב אמורים לספק ליצרני הטכנולוגיות החדישות ביותר לפחות שיטות להוכחת נכונותן. לפי תצפיותיו, העוסקים במדעי החישוב מתמקדים רק במטרות שהושגו ולא מנסים להתמודד עם המטרות שלא הושגו (למעשה, לפחות משנות ה-50) למרות חשיבותן.

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

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

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

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

סבלנות רבה נדרשת בהתמודדות זו. לדוגמה, כמה זמן נדרש היה לפיתוח המתמטיקה השימושית של המספרים הממשיים? במאה ה-5 לפני הספירה גילו מתמטיקאים יוונים את קיומם של המספרים הממשיים כאשר גילו את חוסר הרציונליות של השורש הריבועי של 2 ושל 5. אפלטון דיווח שתאיתטוס הוכיח שלכל המספרים השלמים שאינם רבועים, אין שורש רציונלי. כמאה שנים אחרי כן גילה אאודוקסוס שיטה להגדיר את כל המספרים האלה. שיטה זו תוארה על ידי אויקלידס בסוף ספרו על "היסודות", אך היא הייתה מסובכת מדי ולא הובנה עד למאה ה-19. היא הובנה כאשר ויירשטראס וקושי גילו מחדש את שיטתו של אאודוקסוס כדי לנקות את יסודות שיטות החשבון האינפיניטסימלי (שפותח בידי ניוטון ולייבניץ במאה ה-17) מאלמנטים פרדוקסליים כמו הגדלים האינפיניטסימליים. היום אנו קוראים למספרים כגון השורש הריבועי של 2 "מספרים ממשיים", ושיטות השימוש במספרים אלה הורכבו במסגרת המתמטיקה השימושית, הקלאסית. למתמטיקה הזאת קוראים, עד היום, "אנליזה מתמטית". והנה היום מתגלה צורך במתמטיקה שימושית אחרת.

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

Facebook
Twitter
LinkedIn
WhatsApp
Email

8 תגובות

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

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

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

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

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

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

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

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

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

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

עשוי לעניין אותך

שאול אייזנברג

רומן שהצליח

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

תמונה של שי

יום הדין

ישראל זקוקה לחזון מדיני אמיץ ולאסטרטגיה לאומית

תמונה של אבי

המתרץ

טיפולוגיה של שחקני ברידג' (5)

דילוג לתוכן