|
||||
|
||||
ההייפ הגדול סביב בינה מלאכותית ומחשבים שיעברו את מבחן טיורינג באמת לא מימש את התקוות שתלו בו בשנות השבעים והשמונים. עם זאת, עקרונות שבאו מעולם הבינה המלאכותית דווקא כן חדרו בפועל לתוך יישומים שונים מבוססי-מחשב. התחום המוכר ביותר של יישומים מכונה fuzzy logic, וזה מן הסתם מה שכינית בשם "מערכות מומחה". בפשטות, הרעיון מאחורי "לוגיקה עמומה" הוא שאפשר ללמד מחשב לבצע פעולה כמו אדם מומחה לנושא בלי שיהיה צורך להבין עד הסוף איך בדיוק עובד מוחו של המומחה. המחשב לומד מהמומחה כיצד להתנהג בכל סיטואציה, ובחקותו התנהגות זו הוא למעשה יכול להחליף את המומחה בביצוע משימות פשוטות יחסית. היישום של השיטה הוא באמצעות משתנים שאינם בוליאניים במהותם (אפס או אחד) אלא הם משקפים סבירות של פעולה מסוימת ולא משהו מוחלט. לכל פעולה במערכת כזאת יכולה להיות לא רק תוצאה של "כן" או "לא" אלא גם ערכי ביניים כגון "נראה שכן", "כמעט בטוח שלא", וכו'. בלא מעט מצלמות וידאו מובנה היום מנגנון ייצוב-תמונה שפועל תוך שימוש בטכניקה כזו כדי לנטרל באופן מדויק את רעידות המצלמה שנגרמות ע"י האוחז בה. היו בעבר גם תנורי מיקרוגל שהשתמשו באלגוריתם כזה כדי לווסת את עוצמת הבישול באופן דינמי תוך כדי פעולתם, אך עד כמה שידוע לי מחירם הגבוה יחסית לא הצדיק את היתרון האיכותי שהיה די זניח והשיטה לא הפכה לסטנדרט במיקרוגלים הביתיים. התחום מעולם הבינה המלאכותית שבאמת מבטיח גדולות ונצורות הוא רשתות הנוירונים המלאכותיות (artificial neural networks) שבנויות על בסיס רשת הנוירונים האנושית המתוארת יפה במאמר. רשתות אלה מנסות לחקות את הדרך בה פועל מוח האדם על מנת להשיג תשובות לבעיות ברמת סיבוכיות גבוהה שמחשב רגיל מתקשה להתמודד עמן בזמן סביר. בניגוד למחשב סטנדרטי, בו נעשה החישוב במספר קטן של מעבדים שכל אחד מהם בעל מורכבות פנימית גבוהה מאד, רשת נוירונים בנויה מכמות עצומה של מעבדים פשוטים מאד שכל אחד מהם מחובר לאלפי מעבדים אחרים כאלה ומסוגל לבצע מולם פעולה בסיסית ביותר של העברת חלקיק מידע עם משקל מסוים הצמוד אליו. בניגוד למחשב טיפוסי, בו מאוחסן כל הידע של המערכת בזכרון המרכזי, הידע (או התודעה) של רשת נוירונים אינו מוחזק בשום מקום מרכזי אלא הוא מבוזר על פני הרשת כולה באמצעות מתן משקלות שונים לשדרים מסוגים שונים העוברים בין המעבדים. על מנת לתכנת רשת נוירונים לא כותבים אלגוריתם שבו ממודלת הדרך הידועה לפתרון הבעיה, אלא מאמנים אותן באמצעות הכנסת סט קלטים ידוע וכוונון המשקלים כך שהפלט יהיה הפלט הרצוי בתהליך איטרטיבי ארוך של ניסוי וטעייה. עם הזמן לומדת הרשת את ההתנהגות המבוקשת ממנה ומספר הטעויות שלה הולך ויורד. היישום של רשתות כאלה הוא בדרך כלל על מנת להתמודד עם משימות שבני אדם פותרים באופן אינטואיטיבי אך מחשב רגיל מתקשה להתמודד עמן, כמו למשל זיהוי של תמונות, דיבור אנושי או כתב יד. עוד יתרון גדול של רשת נוירונים על פני מחשב מרכזי הוא שרידותה הגבוהה, שכן אין ברשת הזאת שום נקודת כשל מרכזית שהשמדתה תביא לעצירה מוחלטת של פעולת הרשת. דבר זה גורם לכך שהמודל אטרקטיבי במיוחד למערכות צבאיות הנדרשות, למשל, לזהות תבניות בעלות משמעות באותות שמחזיר רדאר. כאנקדוטה אוסיף שלפני כמה שנים התפרסמה תוכנה למשחק שש-בש המיושמת באמצעות רשת נוירונים (!) ולמיטב ידיעתי לא היה בנמצא אדם שהיה מסוגל לנצח אותה באופן עקבי. |
|
||||
|
||||
כפי שאמרתי, כל עוד המטרה היא לפתור עבורנו בעיות ולעזור לנו, זה בסדר. אבל כשהעניין של בריאת מכונה שתחשוב כאדם הופך למטרה, בתקווה שנמצא כבר אחר כך שימוש לכך, זה לא נראה לי. אגב, לי קרה פעם תהליך הפוך. איני יודע אם אתה מכיר את המשחק "בול קליעה" שבו כל שחקן בוחר מספר בין ארבע ספרות שאינן חוזרות על עצמן, ומנסים להגיע למספר של היריב תוך מספר ניחושים הקטן ביותר. במשחק הזה היינו מרבים להשתעשע בשרותי המילואים בשעות הפנאי, כדי להעביר את הזמן. כשהייתי משחק בו לא הייתה לי שיטה ברורה. לפעמים הייתי מנצח ולפעמים מפסיד. פעם החלטתי לכתוב תכנית שמנסה לנחש מספר כזה. האלגוריתם שבו השתמשתי היה בשיטה של "ברוט פורס" כמו שמתאים למחשב: הליכה שיטתית ע"פ כל האפשרויות מהמספר הקטן ביותר האפשרי לגדול יותר הקרוב ביותר, כשבכל פעם נבחרת אפשרות שהתשובות לשאלות הקודמות לא פוסלות אותה מלהיות המספר המבוקש. מדובר באלגוריתם די פשוט לתכנות, והמשימה בוצעה בהצלחה, ודי בקלות. הבחירה הכי קשה דורשת בשיטה זו שמונה ניחושים, ובדרך כלל ניתן להגיע למטרה אחרי שישה נחושים. החלק המעניין היה שאחרי שהשלמתי את התכנית ניסיתי, כשאני משחק במשחק (אדם מול אדם) לחקות את פעולת המחשב. ואז פתחתי שיטת משחק שמבוססת בעיקרה על השיטה הנ"ל שמתאימה למחשב עם עוד מעט תוספות כדי להאיץ מעט את התהליך במצבים מסויימים. להפתעתי גיליתי שהשיטה הזאת מתאימה גם לאדם, ואפשרה לי לגבור ברוב המקרים על יריביי. |
|
||||
|
||||
כאחד שבתור ילד היה שכן של ממציא המשחק (ישראלי ד"א)שעליו דובר (בול פגיעה ולא בול קליעה:)) והצלחנו בפחות משמונה ניחושים ואפילו משישה למיטב זכרוני. אבל זכרוני אולי מטעה ני. אפרופו זכרון.. נדבך חשוב בהתפתחות התודעה של האדם או שמה רק כלי להשרדות בסיסית? |
|
||||
|
||||
תלוי איזה זכרון - זכרון של ''איפה החבאתי את האגוזים שלי'' הוא זכרון השרדותי. אבל זכרון של פרצופים ויחסים חברתיים - הוא גם השרדותי וגם חלק מהתפתחות התודעה (ומכיוון שהסוג הראשון הוא חלק מהסוג השני, הרי שגם הזכרון הראשון הוא נדבך בפיתוח התודעה). |
|
||||
|
||||
כדי שתהיה בתור ילד שכן של ממציא המשחק, עליך להיות מבוגר לפחות ממני ולא נראה לי שכך הוא. אני לא הכרתי את הממציא ובכל זאת שחקתי במשחק הזה לפני למעלה מארבעים שנה. מכל מקום אפשר להצליח גם בניחוש אחד, אם במקרה תנחש בפעם הראשונה. אבל אם יש בידיך שיטה סיסטמטית לפיה תוכל לנחש *כל מספר* בפחות משמונה ניחושים אשמח לראותה. זה מעניין אותי. |
|
||||
|
||||
לפני שנים רבות (הכל יחסי) כתבתי תוכנת מחשב שמשחקת במשחק זה, והצלחתי לבנות לה אלגוריתם שפותר כל צירוף בפחות ממספר מקסימלי קבוע של ניחושים (אינני זוכר איזה...). נראה לי שהתוכנה הזו אבדה לי באחד מקריסות המחשב התכופות שקורות לכולנו, אך אשתדל למצוא אותה. |
|
||||
|
||||
לא נראה לי שיש שיטה כזאת. גם לי יצא לכתוב פעם תוכנית שמנחשת את המספר בבול פגיעה (ועוד באסמבלר של מיינפריים, תאר לך) וגם אני זוכר שמספר הניחושים המקסימלי היה שמונה. |
|
||||
|
||||
למישהו אכפת להזכיר מהם חוקי המשחק? |
|
||||
|
||||
כל משתתף בוחר צירוף אקראי של 4 פינים מתוך 6 צבעים אפשריים (החמישה שכתבתי מקודם, ועוד אחד ששכחתי). אסור להשתמש באותו צבע פעמיים בבחירה. המשתתף השני צריך לנחש את הצירוף במספר מינימלי של ניחושים, כאשר בכל תור הוא יוצר צירוף על הלוח שלו, והיריב "עונה" לו בצורת פינים לבנים ושחורים קטנים. פין לבן - "פגיעה", כלומר צבע נכון במיקום לא נכון. פין שחור - "בול", כלומר צבע נכון במיקום נכון. היריב איננו יודע איזה פין מייצג איזה צבע ובתור הבא עליו להתבסס על כל המידע שצבר בתורות הקודמים, על מנת ליצור צירוף הגיוני. המשחק נגמר כשאחד מהמשתתפים מקבל 4 פינים שחורים, כלומר: ניחוש ארבעת הצבעים, במיקום המדויק שלהם. |
|
||||
|
||||
המשחק כפי שאני מכיר הוא מעט אחר. בחירת מספר בן ארבע ספרות. מותרות כל הספרות חוץ מהספרה אפס. אסור שבמספר תהיינה ספרות זהות. התשובות לכל ניחוש הן מספר הקליעות כלומר כמה מתוך הספרות נוחשו נכון, וכמה מתוכן בולים כלומר הספרות שבמספר הניחוש ממוקמות בדיוק במקומות הנכונים. למשל נניח שהמספר שנבחר הוא 4537 אם שואלים: 1234 (באלגוריתם של תכנית המחשב שלי זו תמיד השאלה הראשונה כי זה המספר הקטן ביותר שאפשרי לפי הכללים) התשובה היא: שתי קליעות (3 ו 4) שמתוכן אחת בול (3). אבל איך אתה לא מכיר את זה ? הייתה לך ממש ילדות קשה . . . |
|
||||
|
||||
זה מסביר למה לכם נדרש מספר מקסימלי גבוה יותר של ניסויים... |
|
||||
|
||||
בגירסה שאני שיחקתי היה מותר 0, אך לא כספרה השמאלית ביותר. |
|
||||
|
||||
אפשר למצוא את המצב-הסודי של המשחק באמצעות שבעה ניחושים. אני מתייחס כאן לווריאציות של ארבע מתשע או עשר ספרות שונות (שבעה ניחושים מספיקים בשני המקרים). בווריאציה הנפוצה של ששה צבעים, מספיקים חמישה ניחושים. כדי לפשט את הסיפור, אתייחס בהמשך רק למקרה של תשע ספרות. יש 9*8*7*6=3024 אפשרויות למצב הסודי, ועל כל שאלה יש 14 תשובות אפשריות (00, 01, 02, 03, 04, 10, 11, 12, 13, 20, 21, 22, 30, 40, כאשר 13 פירושו בול אחד ושלוש פגיעות, וכן הלאה. חלקן, כמו 00, אינן אפשריות במקרה של ששה צבעים.) מכאן ברור שצריכים לפחות 4 ניחושים - מספר התשובות האפשריות על שלושה ניחושים הוא רק 14*14*14=2744, וזה לא מספיק כדי להפריד בין 3024 אפשרויות. למעשה, אפשר בקלות יחסית להוכיח שצריך לפחות 5 ניחושים. הרעיון הוא ש- 14 התשובות האפשריות אינן שוות הסתברות (הרבה יותר סביר לקבל 02 מאשר 30), ולכן כמות ה"אינפורמציה" בכל תשובה אינה כזו של אחת-מתוך-14, אלא קרובה יותר ל- 1-מתוך-7.1. כעת, גם בארבע תשובות אין מספיק אינפורמציה כדי להפריד בין 3024 אפשרויות (אבל בחמש, עקרונית, יש). השיטה האופטימלית במשחק כזה תהיה להכין עץ של שאלות: לפי התשובה הראשונה קובעים את השאלה השניה, לפי התשובה השניה את השאלה השלישית, וכן הלאה. כדי לחסוך בזמן, בדקתי מה יקרה אם צריך לקבוע את כל השאלות מראש. אי-אפשר לעבור על כל השביעיות (או שמיניות) האפשריות של שאלות, ולכן העדפתי לצבור את השאלות בזו אחר זו, כאשר בכל פעם קובעים את השאלה שמשפרת את מצב הידע שלנו במידה הרבה ביותר. בתהליך כזה, מתברר, צריך שמונה שאלות כדי לדעת את המצב הסודי (מספיקות שמונה גם אם יש עשרה צבעים, וצריך שש אם יש ששה צבעים). אלא שקביעת כל השאלות מראש מגבילה אותנו מאד. במקום, אפשר לשאול כמה שאלות מראש, ואז לקבוע את ההמשך על-פי התשובות שקיבלנו. מסתבר שאם שואלים ארבע שאלות (את ארבע הראשונות מבין השמונה שהוזכרו לעיל), מספר האפשרויות יורד מ- 3024 ל- 1 עד 29 (תלוי בתשובות, כמובן), ואז מספיקות שלוש שאלות נוספות בכל המקרים. במקרה של 10 ספרות, אפשר לשאול חמש שאלות מראש, ואז - בכל מקרה - מספיקות שתיים נוספות. ועם ששה צבעים, אחרי ארבע השאלות הראשונות מספיקה רק שאלה אחת. |
|
||||
|
||||
במחשבה נוספת, המאמץ בהכנת עץ שאלות אינו גדול יותר מאשר בקביעת השאלות מראש. במשחק עם 6 צבעים מספיקים 4 ניחושים. במשחק עם 7 צבעים מספיקים 5 ניחושים. במשחק עם 8 צבעים מספיקים 6 ניחושים (5 מספיקים בכל מקרה, פרט לזוג אחד שהם מתקשים להפריד). במשחק עם 9 צבעים מספיקים 6 ניחושים (5 מספיקים, פרט לשמונה זוגות). במשחק עם 10 צבעים מספיקים 6 ניחושים. מדובר כאן על הגרסה המתמטית של המשחק (ממשיכים עד שהמנחש יכול להוכיח שהוא יודע את התשובה), ולא זו הפופולרית (שבה הוא צריך ממש לומר את התשובה, וזה עולה לו בניחוש נוסף). אם דווקא הגרסה השניה מעניינת אתכם, הוסיפו ניחוש אחד בכל ווריאציה. זה עדיין עונה לשאלה המקורית (פחות משמונה ניחושים בווריאציה של 9 צבעים). בניגוד לחכמה המקובלת, ניחוש טוב בדרך-כלל אינו תואם את הניחושים הקודמים. בווריאציה ה 9-צבעית, רק 74 מתוך כ- 1000 ניחושים "מוקדמים" בעץ שלי (כאלה שאינם מאפשרים זיהוי מיידי של הסוד) עשויים להיות זהים לסוד על-פי המידע בזמן הניחוש. בחרו את המספרים הסודיים שלכם. הניחוש הראשון שלי: 1234. |
|
||||
|
||||
אני מגשים חלום ישן (לשחק באתר הרציני הזה). |
|
||||
|
||||
השגות על התשובות יש להפנות לאדונים ה' ו-ר'. מתכופף... |
|
||||
|
||||
(בחפזוני, הקובץ מחזיק רק את השאלות - כך שהמחשב שלי מסיר אחריות מן הצעד האחרון). |
|
||||
|
||||
העץ שלך בנוי להתמודד עם התשובה "שלושה בולים ופגיעה"? לדעתי התגובה הזו עברה בין אחותי לביני מתישהו בילדותי הרחוקה. שמח שעזרתי להגשים חלום! תבלו במפגש, וד"ש... |
|
||||
|
||||
לו רק הייתי רואה את הדיאלוג הזה בזמן אמת, כי אז הייתי מדהים את עולם הבול-פגיעה במט במסע אחד. ניחא. |
|
||||
|
||||
תגובה 186018. |
|
||||
|
||||
סליחה על הבורות אבל מה זה בול פגיעה? אני מניח שאתם לא מדברים על בית שימוש טורקי |
|
||||
|
||||
החלטת להשאיר את המט לאינטלקט הקולקטיווי הרצחני, או שדווקא עכשיו נשרף המחשב? |
|
||||
|
||||
שלום רב אני אותה לך אם תעביר אלי את אלגוריתם של עץ השאלות |
|
||||
|
||||
''בכל פעם קובעים את השאלה שמשפרת את מצב הידע שלנו במידה הרבה ביותר''. זה האלגוריתם. (''מצב הידע'' זה האנטרופיה של ההתפלגות, ו''משפרת'' זה מורידה את האנטרופיה). |
|
||||
|
||||
אני בטוח שעזרת לו מאד. |
|
||||
|
||||
שאלת תם: האם ברור שהשיטה הזו אופטימלית? כלומר, האם ייתכן שיש שיטה חסכונית יותר במספר השאלות הממוצע אשר מדי פעם מוותרת על הזכות להרוויח הכי הרבה אינפורמציה לטובת שאלות מאוחרות יותר? איכשהו? |
|
||||
|
||||
והשאלה הגדולה היא איך לוקחים בחשבון את העובדה שיש שאלות שמניבות הרבה יותר אינפורמציה משאלות אחרות? |
|
||||
|
||||
מה הבעייה עם זה? השיטה שעוזי מציע היא לסרוק בכל שלב את כל השאלות האפשריות ולבחור בזו שמניבה הכי הרבה אינפורמציה. |
|
||||
|
||||
זו שאלת השאלות. |
|
||||
|
||||
אני די בטוח שזה נכון (כלומר, שאפשר לקבל את התשובה מהר יותר אם משקיעים מחשבה מראש, ולא בוחרים בכל צעד את השאלה החמדנית ביותר). הבעיה היא שזה דורש לעבור על יותר אפשרויות. |
|
||||
|
||||
נתקלתי (במקרה) בדיונצ'יק הזה, והחלטתי לבדוק. אליבא דויקיפדיה, המשחק הומצא ב-1970, באמת ע"י ממציא ישראלי בשם מרדכי מאירוביץ'. דב, אתה משוכנע ששיחקת "בול פגיעה" לפני 1960? |
|
||||
|
||||
מאירוביץ' אולי המציא את זה כמשחק לוח, אבל בלי לוח הוא היה קיים הרבה קודם. |
|
||||
|
||||
בטוח? |
|
||||
|
||||
הספק הוא מאושיות אישיותי.:) |
|
||||
|
||||
נתקלתי כאן במאמר נחמד על טיורינג חשבתי לשתף |
חזרה לעמוד הראשי | המאמר המלא |
מערכת האייל הקורא אינה אחראית לתוכן תגובות שנכתבו בידי קוראים | |
RSS מאמרים | כתבו למערכת | אודות האתר | טרם התעדכנת | ארכיון | חיפוש | עזרה | תנאי שימוש | © כל הזכויות שמורות |