General Problem Solver
הגדרה
תוכנית המחשב שאלן ניואל וקליף שו מ-RAND פיתחו החל מ-1957, יחד עם הרברט סיימון ממכון קרנגי לטכנולוגיה: ניסיון לבנות "פותר בעיות כללי" אחד, שמפריד בין שיטת הפתרון לבין הידע על בעיה מסוימת.
💡 דוגמה
מתכננים להגיע לחתונה באילת. מה ההבדל בין איפה שאני עכשיו לאיפה שאני רוצה להיות? מרחק. מה מקצר מרחק? טיסה. מה צריך בשביל טיסה? כרטיס.
זו המחשה של עקרון העבודה של התוכנית: מזהים הבדל, בוחרים פעולה שמצמצמת אותו, ופותרים קודם את התנאים לביצועה.
מהתיאורטיקן הלוגי לפותר כללי
אחרי ההצלחה של התיאורטיקן הלוגי, התוכנית שהוכיחה משפטים בלוגיקה, ניסו אלן ניואל, קליף שו והרברט סיימון ללכת צעד גדול יותר. לפי ויקיפדיה, ב-1957 הם יצרו תוכנית שנועדה לפעול כ"פותר בעיות אוניברסלי". ניואל ושו עבדו ב-RAND Corporation, וסיימון במכון קרנגי לטכנולוגיה. הדוח הרשמי שלהם, P-1584, נושא את התאריך 30 בדצמבר 1958 ותוקן בפברואר 1959, והוא מציג את הגרסה הראשונה של התוכנית. הם כותבים שם בגלוי מה היה חסר בתוכנית הקודמת: כללי האצבע של התיאורטיקן הלוגי נשענו בעיקר על ההתבוננות העצמית של מתכנניו, והיו קשורים בחוזקה ללוגיקה סמלית בלבד. התוכנית החדשה נכתבה, כמו קודמתה, בשפת IPL שפיתחו בעצמם.
הרעיון: להפריד בין הידע לבין שיטת הפתרון
התוכנית ראתה כל בעיה כעולם של "עצמים" ושל "אופרטורים", כלומר פעולות שהופכות עצם אחד לעצם אחר. בדוח מובאת דוגמה משחמט: העצמים הם מצבי לוח, והאופרטורים הם המהלכים החוקיים. הוכחת משפט נראית אותו דבר: מתחילים מאקסיומות ומגיעים, בעזרת כללי היסק, למשפט המבוקש. מי שרצה להשתמש בתוכנית בתחום חדש היה צריך לספק לה תיאור פורמלי של אותו תחום: העצמים והאופרטורים שלו, ההבדלים שאפשר למצוא בין עצמים, ואיזה אופרטור מתאים לצמצום כל הבדל. מנגנון הפתרון עצמו נשאר זהה. לדברי המחברים, ההצדקה לשם "כללי" נמצאת בדיוק בהפרדה הזו בין כללי האצבע לפתרון בעיות לבין התוכן של הבעיה. בדוח הם מדגימים אותה על לוגיקה סמלית ועל זהויות בטריגונומטריה. פיטר נורוויג מתאר אותה כתוכנית הראשונה שהפרידה בין אסטרטגיית הפתרון שלה לבין הידע על בעיות מסוימות.
ניתוח אמצעים-מטרות: מה ההבדל בין מה שיש למה שרוצים
שיטת העבודה המרכזית נקראת ניתוח אמצעים-מטרות. בספרם משנת 1972 נתנו ניואל וסיימון דוגמה יומיומית: אני רוצה להביא את הבן שלי לגן. מה ההבדל בין מה שיש לי למה שאני רוצה? מרחק. מה משנה מרחק? המכונית. המכונית לא עובדת? צריך מצבר חדש, וכן הלאה. התוכנית עשתה אותו דבר: מצאה הבדל בין המצב הנוכחי למטרה, חיפשה פעולה שמצמצמת אותו, ואם הפעולה דרשה תנאי מוקדם, הציבה אותו כתת-מטרה חדשה. בדוגמת הטריגונומטריה שבדוח, הוכחה שהביטוי (tan x + cot x) sin x cos x שווה ל-1 עברה דרך 33 מטרות ותתי-מטרות. שיטה שנייה הייתה תכנון: לפתור קודם גרסה מופשטת ופשוטה של הבעיה, ולהשתמש בפתרון שלה כמפה. לפי המחברים, פירוק בעיה גדולה לכמה קטנות כך "עשוי להקטין את קושי הבעיה בסדרי גודל שלמים".
תוכנית שהיא גם תאוריה על החשיבה האנושית
ניואל, שו וסיימון לא רצו רק תוכנית שפותרת בעיות. הם ביקשו מסטודנטים לפתור בעיות בלוגיקה ולחשוב בקול, ובנו את התוכנית כך שתתאר מקרוב ככל האפשר את מה שהנבדקים אמרו וכתבו. במאמר משנת 1961 הדגישו ניואל וסיימון שהתוכנית משלבת בכוונה בין בניית מכונה שמבצעת משימות של בני אדם לבין הדמיית הדרך שבה בני אדם מבצעים אותן, לתועלת שתי גישות המחקר. באותו מאמר הם השוו שלב אחר שלב את מהלך התוכנית לתמליל של סטודנט להנדסה. הם הראו נקודות התאמה, וגם כתבו בגלוי על פערים ביניהם. הספר המשותף שלהם משנת 1972, Human Problem Solving, חזר לתוכנית ולשיטה שלה, והציג אותן כחלק מתאוריה על האופן שבו אנשים פותרים בעיות.
הגבולות של "כללי", והמורשת
סיימון לא חסך בהבטחות. נורוויג מצטט אותו אומר שיש עכשיו בעולם "מכונות שחושבות, שלומדות ויוצרות", ושטווח הבעיות שהן יוכלו לטפל בהן ישתווה בעתיד הנראה לעין לזה של המוח האנושי. בפועל, לפי ויקיפדיה, התוכנית פתרה בעיות פשוטות שאפשר לנסח במדויק, כמו מגדלי האנוי, אבל לא הצליחה לפתור בעיות מהעולם האמיתי, כי החיפוש הלך לאיבוד בהתפוצצות קומבינטורית של אפשרויות. נורוויג מסכם שהיא כללית רק במובן שאפשר להחליף לה תחום, ושהיא "מוגבלת לטריקים ומשחקים קטנים". החוקר דרו מקדרמוט הציע בלעג שם אחר, שנורוויג מצטט: חיפוש ברשת המונחה בתכונות מקומיות. ובכל זאת, הרעיונות לא נעלמו. ארנסט וניואל פרסמו ב-1969 ספר מחקר על התוכנית, ולפי ויקיפדיה הגישה התפתחה בסופו של דבר לארכיטקטורה Soar, שהחלה ב-1983 כעבודת הדוקטורט של John Laird באוניברסיטת קרנגי מלון.
📬 הגיליון השבועי של Wiki-AI
פעם בשבוע, ביום ראשון: שלושת הדברים החשובים שקרו בעולם הבינה המלאכותית, בעברית פשוטה, וערכים חדשים באנציקלופדיה. לגיליונות
שאלות נפוצות ❓
מי פיתח את פותר הבעיות הכללי, ומתי?
אלן ניואל וקליף שו מ-RAND Corporation, יחד עם הרברט סיימון ממכון קרנגי לטכנולוגיה. לפי ויקיפדיה התוכנית נוצרה ב-1957, והדוח הרשמי עליה נושא את התאריך 30 בדצמבר 1958.
מה היה החידוש העיקרי שלה?
ההפרדה בין שיטת הפתרון הכללית לבין הידע על בעיה מסוימת. כדי לעבור לתחום חדש, כמו טריגונומטריה במקום לוגיקה, היה צריך לספק לה תיאור פורמלי של התחום: העצמים, הפעולות והמידע שמאפשר לבחור ביניהן. מנגנון הפתרון נשאר אותו מנגנון.
מה זה ניתוח אמצעים-מטרות?
דרך לפתור בעיה על ידי זיהוי ההבדל בין המצב הנוכחי למטרה, בחירת פעולה שמצמצמת את ההבדל, ופתרון מה שהפעולה דורשת כתת-מטרה. זו השיטה המרכזית של התוכנית.
מה היו המגבלות שלה?
היא הצליחה רק בבעיות קטנות ומוגדרות היטב, כמו מגדלי האנוי. בבעיות אמיתיות מספר האפשרויות גדל מהר מדי והחיפוש הלך לאיבוד. היא השפיעה בעיקר דרך הרעיונות והמחקר שעוררה, למרות היקף הבעיות המצומצם שפתרה.