עצלנות יצירתית
חלק מהמהנדסים הטובים ביותר ניחנים בסוג של עצלנות: כאשר הם נדרשים לבצע משימה כלשהי שתארך שעות, הם יחפשו דרך לקצר את התהליך לדקות. מציאת דרך זו והבאתה למצב שימושי יכולה לארוך שנים, אבל לאחר מאמץ זה יוכלו רבים אחרים ליהנות.
מתכנתי מחשבים נאלצים לכתוב בפעם המאה תוכנה דומה לכאלו שכבר כתבו. לפעמים הם יודעים בדיוק איך לעשות זאת, צעד אחר צעד, אבל נרתעים מהתהליך המשעמם והיקר של הכתיבה. במקרים קשים יותר, הם יודעים שייאלצו לכתוב גרסאות רבות של תוכנה המנסה לפתור את הבעיה, לבדוק את הצלחות וכישלונות כל גרסה כזו, ולחזור על התהליך עד שתהיה בידם תוכנה העונה לדרישותיהם. במוחם של מתכנתים רבים עולה השאלה "מה היה קורה אם היינו יכולים לכתוב פעם אחת תוכנה שתוכל לכתוב כל תוכנה כזו?". אם הם בעלי אותה עצלנות ייחודית, הם גם ינסו לכתוב תוכנה כזו.
מקרה פשוט יחסית של כתיבה אוטומטית של תוכנה מבוטא על ידי ה"אשפים" (Wizards) הכלולים בכלי פיתוח תוכנה רבים. הדוגמה האופיינית ביותר היא אשף לכתיבת חלק ממשק המשתמש: האשף מאפשר למתכנת להגדיר בצורה וויזואלית את הכפתורים, התפריטים והטקסט שיוצגו על המסך בתגובה לפעולה מסוימת של המשתמש, ואז בונה בצורה אוטומטית סידרה של קבצים ופקודות תוכנה שיגרמו לתצוגה כזו. החיסכון במאמץ נובע מכך שהתוכנה הנוצרת מתוך ההגדרה הוויזואלית היא הרבה יותר ארוכה, וקשה להבנה ולתחזוקה, מאשר ההגדרה הוויזואלית המקורית. למרות שלא קל לכתוב אשף טוב כזה, קשה למצוא אלמנט אינטליגנטי כלשהו באשף עצמו: המתכנתים שכתבו את האשף בנו אותו מתוך הבינה הטבעית שלהם.
כדורגל וירטואלי
במקרים אחרים, למתכנת יש מושג מוגבל יותר לגבי דרך הפתרון. לדוגמה, איך צריכה להיראות תוכנה עבור רובוט המשחק כדורגל? תחרות RoboCup השנתית החליטה ליצור עד שנת 2050 קבוצה של רובוטים אוטונומיים (כלומר שאינם נשלטים מבחוץ) דמויי אדם שיכולה לנצח קבוצות אנושיות שהן אלופות העולם בכדורגל. תחרות זו משלבת אתגרים אקדמיים הנמצאים בתחומים החמים ביותר של בינה מלאכותית, רובוטיקה, ראייה ממוחשבת וכו'.
חלק מההמצאות המעניינות מופיעות בחלק בנקרא "סימולציה". בחלק זה מתחרות קבוצות של רובוטים "וירטואליים", כלומר רובוטים הממומשים רק כתוכנות המתחרות בתוך מגרש כדורגל מדומה, בתוך מחשב. רובוטים אלה פטורים מבעיות תכנון מערכות החומרה עבור תנועה וחישה - מנועים, גלגלים, חיישנים וכו', ומתכנניהם יכולים להתרכז בתהליכי ההחלטה של כל רובוט, למשל: לאן לנוע, מתי ולאן למסור או לבעוט.
קבוצת חוקרים מאוניברסיטת מרילנד החליטה לפתח את הקבוצה המועמדת שלה לתחרות ההדמיה לא על ידי הגדרת ההתנהגות של כל רובוט עבור כל מצב, אלא על ידי יצירה אוטומטית של תוכנה כזו. הם בחרו בגישה הנקראת לפעמים "תכנות גנטי" או "חישוב אבולוציוני". בגישה זו, המפתחים צריכים להגדיר רק את אבני הבניין של התוכנה. אבני בניין עבור רובוט כדורגל כוללות התייחסות למצב המשחק ופעולות אפשריות. מצב המשחק כולל מיקום הכדור, קירבה יחסית של הכדור לרובוט ולשחקנים עמיתים או יריבים, וכיסוי שטחים מסוימים במגרש על ידי כל קבוצה. פעולות אפשריות כוללות בעיטה לשער, מסירה, חסימה ותנועה עם כדור. החוקרים ידעו את המבנה הכללי של התוכנה שהם מחפשים: היא מורכבת מתנאים שאם הם מתקיימים יש לבצע פעולה מסוימת, כך שחלק מהתוכנה עשוי להיות: "אם אני במרחק של פחות מ-14 יחידות מהשער, והכדור אצלי, ואין יותר משני שחקנים יריבים ביני לבין השער, אז הפעולה היא בעיטה לשער".
אבולוציה והישרדות
לאחר שנבחרו אבני הבניין של התוכנה, אפשר ליצור בצורה אקראית אוסף של תוכנות אפשריות הבנויות מאבני בניין אלה. תוכנות אלו מגדירות רובוטים אקראיים המשחקים כדורגל חוקי, אך אין לצפות להצלחה מרשימה: תוכנה אופיינית לשלב זה עשויה להורות לרובוט לברוח מהכדור, או לבעוט לשער של קבוצתו.
כאן נכנסת לפעולה האבולוציה. כזכור מתורתו של דארווין, נדרשים שלושה יסודות להתפתחות המינים-הביולוגיים: ראשית, במסגרת המין-הביולוגי יש צורך באוסף פרטים השונים זה מזה. תנאי זה מתקיים כי כל קבוצה מורכבת מרובוטים שהתוכנה שלהם נבחרה אקראית בצורה שונה משל כל רובוט אחר, ולכן כל הקבוצות שונות. שנית, יש צורך בסביבה שההצלחה ("הישרדות") של כל פרט בה תלויה בשוני שלו בהשוואה לפרטים האחרים. תנאי זה מולא על ידי סימולציה של משחק כדורגל, שהעמידה שתי קבוצות זו מול זו, כאשר כל רובוט בכל קבוצה פועל בהתאם לתוכנה שנבחרה עבורו. ההדמיה מפעילה את המשחק למשך זמן קצוב ומכריזה על הקבוצה המנצחת. נזכיר כי בניגוד לרובוטים פיזיים, הכוללים גם חומרה ופועלים בעולם האמיתי, משחק בסביבת הדמיה יכול להיות מהיר מאוד ולכן אפשר לבדוק ולהשוות מספר גדול של קבוצות. שלישית, נדרש תהליך יצירה של פרטים חדשים ("ילדים") מתוך פרטים קיימים ("הורים"), בצורה המעדיפה שימור של תכונות של הורים מוצלחים יותר. תנאי זה התקיים על ידי בחירה של פרטים מוצלחים לזיווג, ויצירת "ילדים" על ידי שילוב תוכנות של שני ההורים ("התרבות מינית") יחד עם כמות קטנה של שינויים אקראיים ("מוטציות").
כפי שמתואר בקישור בתמונות (שחלקן משעשעות למדי), התוכנות הראשונות שהגיעו להצלחה יחסית בתהליך התפתחות זה היו בנויות על אסטרטגיה פשוטה ביותר: כל רובוט שהכדור לא היה אצלו נע לעבר הכדור. רובוט שקיבל את הכדור ניסה לבעוט אותו לכיוון השער. התנהגות זו הביאה למשחקים שבהם כל השחקנים מתקבצים סביב הכדור או רודפים אחריו. החוקרים קראו לשיטה זו "כדורגל ילדים" או "כדורגל עדר". רק לאחר התפתחות ממושכת הופיעו קבוצות שיכלו להביס "קבוצות ילדים". קבוצות אלו החלו לנצל את היכולת לחסום את הכדור ולהגן על השער, ולכן התפצלו ל"תוקפים" ול"מגינים". בשלב זה עדיין לא למדו הקבוצות לשאוף לשליטה בשטחים שונים של המגרש, או לבעוט שלא לכיוון השער, והמשחקים התאפיינו בהתמקמות כל השחקנים על קו ישר המקשר בין השערים. התופעה יצרה יתרון עבור קבוצות שבעקבות מוטציה כלשהי ניצלו שטחים בצידי המגרש להובלת הכדור. קבוצות אלו שיתפו ביניהן את "החומר הגנטי" עד ליצירת קבוצות שבהן כל שחקן נשאר באזור משלו כאשר אין צורך בו במקום אחר, מחליט אם למסור או לבעוט לשער, מזהה שטחים פתוחים ועוד.
זכור מתורתו של דארווין, נדרשים שלושה יסודות להתפתחות המינים-הביולוגיים: ראשית, במסגרת המין-הביולוגי יש צורך באוסף פרטים השונים זה מזה. תנאי זה מתקיים
ASAP photos
המצאות עצמאיות
רובוטי הכדורגל שנוצרו על ידי הצוות מאוניברסיטת מרילנד הגיעו למקומות מכובדים בתחרויות RoboCup לפני כמה שנים, אך מעולם לא זכו במקומות הראשונים. המפתחים שזכו בתחרויות השקיעו הרבה יותר ידע והבנה בתכנות הרובוטים. למשל, הם כבר ידעו על הצורך בזיהוי וניצול שטחים פנויים, וכתבו תוכנה שמימשה תהליכים אלה; וכאשר נתקלו בבעיה או בהזדמנות לשיפור, הם שינו בצורה מתאימה את התוכנה של הרובוטים, על ידי התערבות ישירה. לכאורה, יש לראות בכך תבוסה של רעיון התכנות הגנטי, שבו המפתחים האנושיים יוצרים רק את התנאים ההתחלתיים ואז "משאירים לטבע לעשות את שלו". לא כך חשבו השופטים בתחרות, שהעניקו לאנשי מרילנד את פרס האתגר המדעי: הם ראו את החשיבות הגדולה של תכנות גנטי לפתרון בעיות שעבורן לא קיים עדיין ידע אנושי מקיף, ואת הפוטנציאל של גישה זו.
בהקשר זה, מעניין להשוות את שיטת המשחק שהומצאה באופן עצמאי על ידי הרובוטים, ללא כל עזרה אנושית, לשיטות משחק שפותחו בכדורגל האנושי, כמו חלוקה לתפקידים כגון בלם וחלוץ, פרישת שחקנים (שיטות כמו 5:3:2 ו- 4:4:2), תנועה ללא כדור וכו'.
המצאות כאלו מהוות את העדויות הטובות ביותר ליסוד כלשהו של בינה מלאכותית: אם היינו יודעים כי תוכנת מחשב המציאה רעיונות המשפרים את הפתרונות הטובים ביותר הידועים בתחום הנדסי מסוים, או חזרה על המצאות שזיכו את בעליהן האנושיים בפטנטים, היינו ודאי פתוחים קצת יותר להכיר בתוכנות אלו כאינטליגנטיות, לפחות באותו תחום שבו הן עוסקות. עדויות אלו קיימות כבר היום: אחד האתרים המרכז מידע על תכנות גנטי מונה 15 מקרים שבהם תכנות גנטי הצליח ליצור המצאה הזהה בפרטיה או בהצלחתה להמצאה אנושית שעליה הוענק פטנט במאה העשרים; שש הצלחות כאלו בהשוואה להמצאות אנושיות במאה ה-21; ושתי המצאות אוטומטיות חדשות לחלוטין, שעליהן אפשר להעניק פטנט.
ההמצאות המוזכרות באתר הופיעו בתחומים כמו יצירת אלגוריתמים לחישוב קוואנטי ובתכנון מעגלים אלקטרוניים דיגיטליים ואנלוגיים. בהתבסס עליהן, אפשר לראות בשיטה זו את הגרעין הראשון למה שהאתר מכנה "מכונות המצאה אוטומטיות".
האתר של EvoWeb (הרשת האירופאית למצוינות בחישוב אבולוציוני) מראה את החשיבות שמייחסת הקהילה האירופאית למחקר בגישות אבולוציוניות שונות לפתרון בעיות. בין השימושים של תכנות גנטי המוזכרים באתר נמצאות יצירה אוטומטית של כללים לזיהוי תביעות ביטוח שמקורן בהונאה; כתיבה אוטומטית של תוכנה לסימולציה מדויקת של מתקן לשריפת אשפה; והסקת כמות פלנקטון בים לפי צילומי לוויין.
האם היכולת של המצאה אוטומטית והתבטאותה בכתיבה עצמאית של תוכנה מסתכמת רק בתחומים מתמטיים והנדסיים? כנראה שלא. מבט אחד בגלריית הציורים של EvoWeb מראה את היכולת של תוכנות כאלה ליצור ציורים מורכבים, שחלק מאיתנו יהיו מוכנים לקבל כאמנות. מי שמעוניין ליצור ציורים כאלה בעצמו מוזמן לנסות את תוכנת Kandid. הציורים נוצרים על ידי הפעלה של תוכנה, כך שבחירת התוכנה או הפרמטרים שלה היא המגדירה את הציור על כל מורכבותו. ציורים "טובים" זוכים להיות ההורים של הדור הבא של הציורים, עד שמתקבלת תמונה מעניינת מספיק. מי מחליט מהם ציורים טובים או מעניינים? זהו תפקידו של האמן האנושי המשתמש בתוכנה זו. לכן אי אפשר לטעון כי התוכנה הגיעה לדרגת אמן עצמאי, אבל מצד שני גם האמן האנושי אינו יכול להיחשב כיוצר הבלעדי של התמונות, כי בהתחלת התהליך סביר שלא יכול היה אפילו לתאר בערך את היצירה שהתכוון ליצור - תפקידו עשוי להתמצות בהצבעה על ציורים מסוימים כמעניינים מספיק.
בעתיד יש לצפות ליותר שיתופי פעולה כאלה - במדע, בהנדסה או בציור - שבהם לא נוכל לקבוע מי היוצר, אדם או מכונה, אבל נוכל בהחלט ליהנות מקצב התקדמות מואץ, מעבר ליכולת שעמדה עד כה לרשותנו.
מתוך: מגזין גליליאו
לעשיית מנוי, לקבלת גיליון מתנה
17.01.07
(עודכן ב - 24.02.09)