המחשב וההיגיון

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

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

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

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

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

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

1.הקלט יהיה מדויק כי הוא תמיד מורכב מתווים.

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

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

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

3.הפלט יהיה מדויק כי הוא תמיד מורכב מתווים.

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

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

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

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

לכן, שפות תכנות שפותחו במטרה לשקף את הלוגיקה (כמו LISP) נמנעות מניסוח שכזה. במקום הניסוח המטעה של "אם, אז", הן מכילות במפורש את הניסוח "בתנאי… יבוצע…".

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

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

שיתוף ב facebook
Facebook
שיתוף ב twitter
Twitter
שיתוף ב linkedin
LinkedIn
שיתוף ב whatsapp
WhatsApp
שיתוף ב email
Email

8 תגובות

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

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

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

  3. השימוש במחשבים כבר מזמן יצא מנגבולות המינהל והארגונים. אנחנו מדברים על תופעה תרבותית עצומה. ובימינו, אנו עדיין נגועים במחשבות פגומות פופולריות ("באגים"????:)) לגבי היבטים מעשייים שונים הנוגעים לשימוש במחשב.המתן למאמרים הבאים שלי…
    שנה טובה

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

כתיבת תגובה

האימייל לא יוצג באתר.

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

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

מייצג כסאות

רות הישראלית

תובנות אקטואליות מקריאה ישראלית במגילת רות

מהי שחיתות?

הגיגים על מה שמתרחש אצלנו בצמרת ההנהגה

מדביר מועך חרק

הדברת נמלים

למה כדאי לעשות את זה בצורה מקצועית?