בתשובה לגדי אלכסנדרוביץ', 13/07/07 19:46
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451843
ספר על צבינגי.
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451892
אני מקווה שדוד הראל לא יכעס שאני מצטט. זה דיאלוג בין בוחן במבחן טיורינג ("אורי") ובין נבחן ("בועז"):

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

דוד הראל מוסיף ש"כדי לנהל שיחה כזאת על בועז להפגין יכולות מתוחכמות מאוד. הוא חייב להיות בעל *ידע* רב בנושאים ספציפיים כמו לוויתנים, תעופה, כתיבת רומנים וכוח המשיכה. עליו להיות מסוגל *ללמוד* מושג חדש לחלוטין, לקלוט את ההגדרות ולקשר ביניהן לבין מה שהוא יודע. לבסוף, עליו להיות מסוגל *להסיק* דברים מן הידע החדש שרכש, כמו למשל את העובדה שהנדסה גנטית רלוונטית יותר לצבינגים מאשר, נאמר, מתמטיקה או פילוסופיה סינית".
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451897
כלומר, סתם דוגמה סטנדרטית לקושי הבעיה, ושום דבר חדש.
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451905
למה בדיוק ציפית? להוכחה ניצחת שהאדם עליון על המכונה? לך נסה לשרוד את הספרים של רוג'ר פנרוז.
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451908
אני לא יודע למה דורפל ציפה, אני ציפיתי לדו-שיח הרבה יותר בסיסי בו המחשב נופל על הפנים וילד ממוצע בכיתה א' מצליח בלי בעיה.
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451915
אישית, הייתי הולך בעיקר על משפטים בסגנון של: "הז טפשמב תיעצמאה הלימה המ?"
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451918
למה שהמחשב יפול כאן?

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

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

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

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

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

לא כל כך הבנתי מה אמרת על בדיקת התדירות. מה זה משנה אם תחליף את "2" ב"3"? בכל מקרה זה יהיה אותו הג'יבריש. בכל מקרה, זכור שאלו השיטות שבהן מפצחים צפנים. יש תוכנות שיודעות להתמודד עם התחכמויות שכאלו (בסופו של דבר, רק בטקסטים גדולים שבהם קשה לערוך חיפוש ממצה יש בעיה אמיתית - וכדי "לסבך" אותם תצטרך להמציא איזה אלגוריתם שיבצע את החלפת האותיות - כלומר, המצאת שיטת הצפנה חדשה, וכנראה לא אחת חזקה במיוחד כי לא חשבת עליה עד הסוף).
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451981
משנה אם אכתוב "זרה זרה זיר זמח" או "7רה 7רה 7יר 7מח", בגלל שברור ש-‏7 היא אחד התווים שצריך להחליף, אבל לא ברור באותה המיידיות ש-ז' היא האחת שלא במקום.

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

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

''תוכל להגיד'' - אל חשש, אין לי כוונה לנצל את האפשרות הזאת.

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

בכל אופן, ברור לך שהתוכנה לא צריכה לרוץ על *כל* המילון בכל פעם שיש איזו מילה שהיא צריכה להשלים, נכון? עם מבני הנתונים המתאימים, היא תעשה חיפוש פשוט הרבה יותר. אם אתה לא משוכנע שיודעים לעשות חיפוש מהיר בימינו גם במאגרי נתונים עצומים, יש אתר בשם "גוגל" שלא מזיק לבקר בו לפעמים.
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 452029
גוגל לא מספק תוצאות מדוייקות כמו שנדרש מהתוכנה שלנו, לא באותה הליגה בכלל.
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 452031
...ומצד שני, הוא עובד עם מסד נתונים גדול הרבה יותר. אתה מבין את העיקרון - אפשר לעשות חיפוש מהיר גם במסדי נתונים גדולים. כאן כל מה שצריך הוא להחזיר את מעט האופציות האפשריות למילה שמתקבלת עם החלפת האותיות הבעייתיות. לא נשמע לי קשה במיוחד ולדעתי גם למדתי פעם מבני נתונים ייעודיים לבעיות דומות, ושכחתי.
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 452035
אוקיי, אני נכנע.
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 452046
נכנע? כלומר, אתה מודה שאתה מחשב?
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451968
הבעיה שלך דומה מאד לשתי בעיות דיי ותיקות:
1. תיקון טקסט שהוא פלט של OCR
2. מתקני שגיאות כתיב (למשל במעבד תמלילים)

לשתי הבעיות יש כבר פתרונות דיי מוצלחים, כולל כאלה שמסתכלים על כל המשפט ומחשבות מה ההסתברות למילה מסויימת. בקיצור, לא הייתי אומר שזה מבחן טוב..
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451973
לא כאלו מוצלחים.
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451986
לא כזה מבחן טוב.
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 452003
הפיכת הסדר שלי? לא טענתי שהוא מי-יודע-מה, פשוט שהוא עדיף על האלטרנטיבות. היות והוא אדיטיבי (אפשר להחליף אותיות *וגם* לנסות איזה טריקים אחרים שאתה רק רוצה), טריוויאלי שאני צודק.
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 452070
"לנסות איזה טריקים אחרים שאתה רק רוצה" - נו, כאן טמון הכלב. "איזה טריקים שאתה רוצה" זה משפט כללי מדי. גם המחשב יכול לנסות "איזה אפשרות שהוא רוצה" ולעשות את זה הרבה יותר מהר מכל בן אנוש.

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

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

אגב, לקחתי את את הגרסא האנגלית ל"שרה שרה שיר שמח" ושיבשתי כמה אותיות כמו שהצעת:

zhe zells zea zhells by the zea zhore

גוגל תיקן את זה בצורה מושלמת.

מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 452085
אצלי הוא "תרגם" את המילה הראשונה ל he, לא she. גם כן אינטליגנט.
תפסתי ראש על הבאר 452267
זה לא היא, וזה לא הוא, זה הא.
תפסתי ראש על הבאר 452278
אני לא זוכר ממי שמעתי את זה לראשונה:
HE is she,
who is ME
he is WHO
DOG is fish
and when you want to call a girl you say BOY.
תפסתי ראש על הבאר 452280
ANI is Me
ME is Who
WHO is He
HE is She
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451921
אתה יודע איך הבוטים מתמודדים עם זה?
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451924
אם מאגר הפונטים הוא סופי, הם פשוט צריכים לזכור אותו. אני מניח שלדברים מתוחכמים יותר הם משתמשים באלגוריתמים לזיהוי כתב (OCR), מהסוג שגם Quicktionary ודומיו משתמשים בו.

מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451925
אתה חושב בתוך הקופסה. נסה לצאת ממנה.
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451927
?
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451930
אתה רוצה לחשוב על זה קצת?
לך חפש באנטארקטיקה 451946
אני הבנתי שפשוט מחזיקים אלפי הודים דוברי אנגלית ומבקשים מהם להדפיס מה שהם רואים.
לך חפש באנטארקטיקה 451948
כמעט.
לך חפש באנטארקטיקה 451961
יופי. חשבתי שמדברים על מחשבים והיכולת שלהם לעבור מבחנים, לא על היכולת שלהם להסתייע בעבדים אנושיים כדי לעבור מבחנים.
לך חפש באנטארקטיקה 452083
זה בדיוק היופי. במקום המחשב לשרות האדם, כאן רותמים אנשים לשרות המחשב.

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

אני צופה שהשיטה הזאת הולכת להעלם ביום בו הבוט יבין שאם הוא כבר משוחח עם אתר הפורנו הוא יכול להשאר שם עוד כמה דקות ולבדוק אם הגיעו תמונות חדשות של כבשים חשמליות. מהההה.
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451928
(כבר הוזכר פעם או פעמיים באייל לדעתי)
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451917
גם כאלו דברים יש (למיטב הבנתי, המחשבים רחוקים מלהשיג תוצאות משביעות רצון בזיהוי פנים, וגם תינוקות מצליחים בזה), אבל כל העניין הוא בכך שכדי לייחס אינטליגנציה אמיתית למחשב, הוא יצטרך להיות הרבה יותר מ''מישהו שמסוגל לעשות משהו שילד בכיתה א' מצליח בלי בעיה''.
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451923
האמנם? האם ילד בכיתה א' אינו זכאי לתואר "חושב" או "אינטליגנטי"?
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451926
התשובה הפרובוקטיבית ושמובילה לדיון מעניין היא שלא. התשובה שלי היא שבכל הנוגע למחשבים, אנו נוקטים בגישת בית שמאי, ובכל הנוגע לילדים אנו נוקטים בגישת בית הלל.
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451931
עם ילדים אי-אפשר להתחתן, אז מה להם ולדיני גירושין?
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451932
זה לא פייר!

לדעתי, מחשב שהיה מצליח להתחזות לילד ממוצע בכיתה א' היה מקבל ציון עובר.
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451933
אני לא מתחזה לבן שלוש עשרה בפורום "סקס בחטיבה", אני חוקר אינטילגנציה מלאכותית!
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451938
כן, זה די ברור לנו. אבל למה אתה מתחזה לבן שלוש עשרה באייל?
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451945
כי לפני ש''סקס בחטיבה'' נסגר, הוא הרגיל אותי לסטנדטים אינטלקטואליים גבוהים שאינני יכול עתה לוותר עליהם.
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451912
דבר ראשון, לא ציפיתי לכלום, כי אני לא חושב שהמשימה בלתי אפשרית. אבל מה שכן הייתי מצפה ממתנגד רציני לדיעה הזאת הוא לאיזשהו רעיון יותר ריגורוזי, ולא סתם שינסה להדהים אותי עם כמה שהמשימה מסובכת. משהו בסגנון של "לעולם לא ניישב את גלקסיה איקס כי כל השמשות בה צפויות לכבות בזמן שיקח לקרן אור מכדור הארץ להגיע לשם", ולא משהו בסגנון של "נסה לזרוק אבן לגובה של בנין עם שמונה קומות. קשה? עכשיו דמיין אותך זורק אותה עד לגלקסיה הבאה, עם גבר ואישה בגיל הפריון יושבים עליה."
מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות 451914
אם זה מה שמפריע לך, אני מציע שתקרא את הספר. אני הבאתי את צבינגי פשוט כי לדעתי זו הדוגמה הנחמדה והתמציתית ביותר שם. היא לא כל הטיעון - למעשה, היא בכלל לא הטיעון, אלא המחשה.
חלומות ירוקים חסרי צבע יְשֵנים בפראות 451951
איך אורי או בועז יענו לשאלות האלה:

1. האם זה משפט בעברית? (כ/ל)
2. האם יש לו משמעות? (כ/ל)
3. אתה יכול לתאר סיטואציה שמישהו ישתמש במשפט הזה?
4. מה המשפט אומר?
5. נחש מה תהיה התשובה של אורי/בועז לשאלה 1.

(קצת מתחתי את חומסקי).
חלומות ירוקים חסרי צבע יְשֵנים בפראות 451953
3) בשיר של יניב ברנר
חלומות ירוקים חסרי צבע יְשֵנים בפראות 451967
לא יודע מה אורי או בועז היו אומרים - לדעתי זו סתם התחכמות מעייפת.
חלומות ירוקים חסרי צבע יְשֵנים בפראות 451989
גם אם היו אומרים את זה, אתה לא חושב שהיית יכול ללמוד מתגובה כזו משהו (כמו שאני מנחש שלמדתי משהו מהתגובה שלך)?
חלומות ירוקים חסרי צבע יְשֵנים בפראות 451992
בוודאי. אבל זו תגובה סבירה להודעה שלך, ולא סבירה כל כך לשאלת צבינגי.

(אגב, אחד התעלולים האלמנטריים ביותר - נראה לי שגם דוד הראל מזכיר אותו - כדי להפיל מחשב בפח במבחן טיורינג הוא לשאול אותו "כמה זה 4342423 כפול 7452523" ולראות כמה זמן לוקח לו לענות).
חלומות ירוקים חסרי צבע יְשֵנים בפראות 452019
המטרה שלי לא היתה ''להפיל מחשב בפח במבחן טיורינג.'' שפה זה לא ''חיפוש במילון'' או אפילו ''חוקי הדיקדוק'' (אם מישהו יוכל להחליט מהם באופן די חותך), אבל נשמע כאילו מבחן צבינגי משתמש בשפה כאילו היא כלי עבודה ו''אמצעי'' ולא כמשהו שמצד אחד יש לו חיות משלו ומצד שני חלק אורגני מאותו ''טבע האדם'' החמקמק (לפחות האדם המודרני), וששני ה''צדדים'' הללו ארוגים זה בזה.
חלומות ירוקים חסרי צבע יְשֵנים בפראות 452026
לא הבנתי כלום.

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

השאלה היא אם ראיה אלגוריתמית מספיקה כדי להכריע או לבחון אדם/מחשב, מבלי שעדיין יש לנו תמונה מהו האדם, ותוך שימוש טכני בחלקי ידע על השפה.
חלומות ירוקים חסרי צבע יְשֵנים בפראות 452058
"ראיה אלגוריתמית"?
חלומות ירוקים חסרי צבע יְשֵנים בפראות 452711
התגובה הזו מתקשרת לי עם מה שאני עומד לענות למסביר (תגובה 452710)*

התחלת בתגובה 451694 התנגדת לדוגמה של המתודדות שח בין אדם למחשב ואמרת "שדוגמת השחמט היא המחשה נאה למרחק העצום של המחשב מחשיבה אמיתית: משחק שחמט טוב מבוסס על יכולת סריקה טובה של עץ משחק מסויים מאוד. אין כאן מאומה מהדברים הקשים באמת שנדרשים ממחשב "חושב" - היכולת לבצע קישורים בין מושגים מושפטים נפרדים לכאורה." אבל משם עברת לתגובה 452016 בה אתה מסתמך על " מבני הנתונים המתאימים...[ותוכנת ]חיפוש" כדי להגן על מבחן טיורינג (אם הבנתי אותך נכון).

גם כן, בתגובה 451694 אתה מניח "[שכשנפענח] את אופן פעולת המוח" נתקרב למחשב חושב.

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

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

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

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

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

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

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

ובכל זאת, נראה לי שבסיס המחלוקת הוא בטענה שלך של "קח מהמחשב את האלגוריתם ותישאר עם מחשבון כיס משוכלל, ואילו האדם תלוי באלגוריתם שלו לחלוטין". זה אולי נכון, אבל לא ברור לי מדוע זה מונע ממחשב שעובר את מבחן טיורינג להיות "נבון". אם כבר, זה רק מצביע על המוגבלות הגדולה יותר של האדם. אז נכון, מחשב יכול להתקיים גם בלי אלגוריתם מבחן הטיורינג שלו, אבל כנראה שלא יהיה נבון. זה לא אומר שהוא אינו נבון גם עם האלגוריתם.
חלומות ירוקים חסרי צבע יְשֵנים בפראות 564484
יש התקדמות בתחום. הנה מה שעושה מחשב עם מעט תבונה (?) והרבה ידע וחומרה:
חלומות ירוקים חסרי צבע יְשֵנים בפראות 564488
רפרוף זריז מעלה את המשפט הבא (בתרגומי) ''וואטסון...הוא ''מכונה שעונה לשאלות''...מחשב...אשר מבין שאלות בשפה טבעית ועונה עליהן''. לא הבנתי איך זה מראה התקדמות בתחום עליו כתבתי תגובה די ארוכה לפני כמה שנים.
חלומות ירוקים חסרי צבע יְשֵנים בפראות 564489
חיפוש מהיר לא העלה מקום מוצלח במיוחד. אז בחרתי באחד המקומות. הקישור לדבריך:

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

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

1 אין לי מושג באילו דרכים השתמשו החוקרים "ללמד" את הידע, כלומר: ליצור מאגר ידע ולהפוך אותו לזמין, ולפענח שאלות ועובדות בשפה טבעית. לכן יכול להיות שכן יש בהן גישות שמחקות את המוח.
חלומות ירוקים חסרי צבע יְשֵנים בפראות 564495
אבל זה העניין. אני חושב שההשוואה של התבונה האנושית למכונה טובה רק במידה מסוימת שמעבר לזה המטאפורה מאבדת את כוחה. אני כמובן מעריך מאד את היכולת של וואטסון לתקשר בשפה טבעית, אבל לא שזה רחוק מדימוי אנושי אלא שזה בפאזה שונה.
חלומות ירוקים חסרי צבע יְשֵנים בפראות 564498
הוא לא מתקשר בשפה אנושית. הוא "רק" עונה בשאלות לתשובות. אבל זה עוד צעד בדרך.

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

צריך להיזהר מאנלוגיות, וב"פאזה" לא התכוונתי למשהו כמו בחשמל, המאפשר את שאלתך על "מעבר". ניסיתי להסביר את עצמי בתגובה 452711.
חלומות ירוקים חסרי צבע יְשֵנים בפראות 564500
אין לי מושג אם הוא יכול להבין שאלות המוצגות בשפה טבעית. ברור לי שהוא הפגין יכולת לעמוד באתגר של "שאלות" (כלומר: תשובות+רמזים) Jeopardy. יכול להיות שיש לו גם יכולת להבין שפה טבעית מעבר לכך, אבל לא ברור עד כמה. אם אשאל אותו מה שמו או מה השעה, לא בטוח שהוא ידע לענות. הוא לא יכול להסיק יותר מדי מסקנות. הוא יודע בעיקר לשלוף עובדות. בדוגמת צבינגי הוא לא היה מתקרב לדיאלוג אינטליגנטי.

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

אני מנסה להבין מהם ההבדלים המהותיים מבחינתך.

אם אני מבין נכון:

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

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

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

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

דוגמה שאני מקווה שמוכרת לך היא Bayesian spam filtering [Wikipedia]. באופן כללי מדובר על דרך לסווג מסמך מסויים כדומה יותר לאחת מבין שתי קבוצות מסמכים (דואר זבל או דואר טוב). הפלט של האלגוריתם הוא מספר שמשמעותו היא עד כמה המסמך הזה חשוד כזבל (כלומר: עד כמה הוא דומה לדואר זבל ולא דומה לדואר רגיל). לא ניכנס לפרטי האלגוריתם. ניקח שני מחשבים שונים שמריצים את אותה תוכנת סינון, אבל מכירים אוספים שונים של דואר זבל ודואר טוב. שניהם יתנו תוצאה שונה למסמך נתון. האם אפשר להסביר את זה בקלות (בלי להכיר את אוסף המסמכים)? לא. "המחשב אמר".

האם מחשב כמו HAL ־2001 נראה לך בעל רצון לא רציונלי? כזה שלא יכול להיות למחשב?
חלומות ירוקים חסרי צבע יְשֵנים בפראות 564522
נראה שהבעיה העיקרית של התזה שלך, היא בהנחה שכל התוכנות פועלות באופן קשיח וקונסיסטנטי לקלטים, כך שהדרך היחידה של מחשב להבין שפה טבעית, היא ע"י סט של חוקים לינגווסטים ומושגים נתונים מראש.
העניין הוא שזה ממש לא נכון, וכל התוכנות שאנו דנים בהן (בפרט ווטסון) משתמשות בסט של חוקים מאוד פשוטים כדי לייצר מערכת דינמית, מתפתחת ולומדת - והמערכת הזו היא זאת שאחראית למה שהיינו קוראים אינטלגנציה. לדוגמא, בשום מקום לא תוכנת מראש לווטסון ש"אחרי שגרמניה פלשה להולנד" זה בתקופת מלחמת העולם השניה. או, בכלל, מה זה "תקופה". הוא הסיק את זה לבד מכמות אסטרונומית של עובדות שהוא עיבד. זה מאוד דומה לכך שגם הניורונים שלך פועלים באופן קשיח קונסיסטנטי וצפוי להחריד, ועדיין, עם תיתן להם מספיק קלט וזמן, הם יצרו מערכת שמבינה את אותה עובדה.
מערכות שפועלות על בסיס למידה ממוחשבות הם מאוד נפוצות ושימושיות, ראה http://en.wikipedia.org/wiki/Machine_learning
אגב, אחת מהשיטות הפופלריות ללמידה ממוחשבות פועלות בדיוק כמו רשת נוירונים ביולוגית.
חלומות ירוקים חסרי צבע יְשֵנים בפראות 564546
''פועלות בדיוק כמו רשת נוירונים ביולוגית.'' - פועלות כמו מודל מאוד מופשט לאיך שאנחנו חושבים שחלק מהנוירונים מבצעים חלק מהחישובים שלהם.
חלומות ירוקים חסרי צבע יְשֵנים בפראות 581350
אגב ווטסון, לאחרונה הוא החל לעשות לביתו הרחק מאור הזרקורים.
חלומות ירוקים חסרי צבע יְשֵנים בפראות 581448
לרגע נבהלתי, חשבתי שהוא הולך לעזור לחברות הביטוח לקבוע את התעריף. ככלי דיאגנוסטי/טיפולי זה דוקא יופי. מעניין כמה זמן יעבור עד שנסכים לתת לו לקבוע את הטיפול ולא רק להמליץ עליו בפני רופא אנושי, כלומר כמה משחקי "מלך הטריויה" הוא צריך לנצח נגד רופאים לפני שנאמין שהוא באמת טוב מהם ונפעל בהתאם.

אגב, המראות ונחיתות של מטוסי נוסעים עדיין מבוצעות ידנית. רק אני חושב שזה דבילי?
חלומות ירוקים חסרי צבע יְשֵנים בפראות 581505
יש כאן שתי שאלות:
1) מה אחוז ההצלחה של מחשבים בנחיתות/המראות של מטוסים כיום?
2) כמה קל לשבש את פעולתו של מחשב במהלך נחיתה/המראה באופן שיגרום למטוס להתרסק, לעומת שיבוש דומה שיגרום לטייס להתרסק?
חלומות ירוקים חסרי צבע יְשֵנים בפראות 581573
עכש''י (אבל אני לא זוכר מאיפה כך שאולי זאת סתם שמועה) בטכנולוגיה העכשווית המחשב יותר אמין מטייס אנושי בהמראות ונחיתות. לגבי השאלה השניה, אני לא רואה למה מחשב כזה (שנקרא, כידוע, ''טייס אוטומטי'') צריך להיות פגיע, כי הוא לא מחובר לעולם החיצוני, אבל אולי יש בזה משהו. זה ידרוש, מן הסתם, אמצעים קצת יותר מתוחכמים מסכין יפנית, אבל ייתכן שאלה אמצעים שיותר קל להעלות למטוס.
חלומות ירוקים חסרי צבע יְשֵנים בפראות 581577
להדליק את הטלפונים באמצע הטיסה?
חלומות ירוקים חסרי צבע יְשֵנים בפראות 581579
הרעיון שמחשב הטיסה עלול להיות מושפע מטלפונים סלולריים נראה לי דמיוני למדי. ראשית, אם זה היה המצב כי אז הטייס האוטומטי היה עלול להשתולל כבר בימינו אנו, וגם אם בגובה רב יש הזדמנות לטייס האנושי להשתלט על המצב לפני הפגישה הנרגשת עם אמא אדמה, הבעיה היתה ללא ספק זוכה להתייחסות יותר רצינית מאותה אזהרת ''נא לכבות מכשירים אלקטרוניים'' בהמראות ובנחיתות, וגם היינו ודאי קוראים בעיתון על מטוסי נוסעים שפתחו במפגן אוירי עוצר נשימה כי אזרח זה או אחר התעלם מאותה פניה, וכל מי שטס יודע שזאת לא אפשרות תיאורטית גרידא. שנית, מפני שהטייס האוטומטי אמור לקבל חיוויים רק דרך חיבורים פיזיים (נו, אני מנסה להגיד חוטי חשמל) ולא משום רשת אלחוטית שעלולה, נניח, להיות מופרעת ע''י אותם ''מכשירים אלקטרוניים''. תאר לך שהאקר היה יכול היום להשתלט על האוטומטי ולשנות את יעד הטיסה, נניח לטהרן במקום לנתב''ג, או סתם להגדיל את המהירות כי הוא ממהר לפגישה... היה יכול להיות שמח.

אותם מכשירים אולי עלולים להפריע לקשר בין המטוס למגדל הפיקוח או למטוסים אחרים (אם כי אני סקפטי גם בקשר לזה), אבל בטח לא לטייס האוטומטי.
חלומות ירוקים חסרי צבע יְשֵנים בפראות 581580
האקר (איש עם גרזן) יכול לנתק את הקשר של המחשב לאחד החיישנים.
חלומות ירוקים חסרי צבע יְשֵנים בפראות 581587
לא צריך שיהיה מחובר לעולם החיצוני. צריך שמישהו עם כוונות זדון וגישה כלשהי לתוכנה שרצה על המחשב הזה יכניס פנימה סוס טרויאני, ונגמר העניין.
חלומות ירוקים חסרי צבע יְשֵנים בפראות 581844
אולי זאת סכנה אמיתית, אבל דומני שניתן להתגבר עליה בקלות יחסית. שינוי תוכנה במחשב הזה (אמרתי windows? הזכרתי unix? אני בטוח שלא) אמור להיות שקול לכל טיפול של טכנאי תחזוקה במטוס מבחינת דרישות האבטחה, ואולי אפילו יותר (למשל, כל התוכנה צרובה וניתנת להחלפה רק במעבדת היצרן או ע"י אנשיו). אם הטייס האוטומטי העכשווי מספיק בטוח‏1, זאת לא קפיצת מדרגה לאבטח גם את יורשו הקצת יותר מתוחכם.
____________
1- או המערכת שמנתקת אותו בהתאם לדרישת הטייס...
חלומות ירוקים חסרי צבע יְשֵנים בפראות 581969
מצד שני, ב''שינוי תוכנה'' יחיד - במעבדות של בואינג - אתה משיג שליטה על הרבה מאוד מטוסים.
חלומות ירוקים חסרי צבע יְשֵנים בפראות 582048
ב,שינוי תוכנה" יחיד‏1 במעבדות של מיקרוסופט אתה יכול להשיג שליטה על העולם.
___________
1- טוב, אולי לא יחיד, אבל אם אתה יכול לשנות שינוי אחד אתה יכול גם לשנות יותר
חלומות ירוקים חסרי צבע יְשֵנים בפראות 582062
יש כמובן בעיה קטנה של הסתרת השינוי הזה עד שהוא יופץ לכל העולם או לכל המטוסים. הקוד של מחשב בקרת הטיסה עובר בדיקות רבות, מן הסתם (בעיקר כדי לגלות באגים). השינוי צריך להיות מספיק לא מזיק כדי שלא יגרום לבאגים שיזוהו ורצוי שיהיה מספיק תמים כדי שייחשב לבאג אם הוא יזוהה. ר' תנאי The Underhanded C Contest.

אנחנו לא מכירים את תהליכי הפיתוח של התוכנות האמורות, אבל יש תוכנות עם תהליכי פיתוח יותר שקופים, ולכן אפשר לנסות להסיק גם מדוגמאות שמשם. לא זכור לי כרגע שום מקרה של קוד זדוני שנכנס לתוכנה חופשית דרך תהליך הפיתוח הרגיל. ישנן תוכנות רבות שמפותחות ע"י מפתחים רבים בדרכים שונות. לא מעט מהם נמצאות בשימוש במקומות מעניינים מאוד. היו מקרים שבהם תוקף פרץ לשרתים שמשמשים להפצת קוד וניסה (במקרים ספורים‏1 גם בהצלחה) להוסיף פרצה לקוד. עדות לכך שזה מסובך עד בלתי אפשרי בתוכנה פופולרית ניתן לראות ש(לפחות לפי כל הבדיקות) לא היה שום ניסיון לשנות קוד של הליבה של לינוקס בפריצה האחרונה לשרת הראשי של kernel.org: זה צריך להיות שינוי קטן שיעבור כמה עיניים בדרך, ואין (ככל הנראה) קיצורי דרך משם להפצות ולמערכות המשתמשים.

דוגמה לסיפור קצת יותר אמתי: OpenBSD [ויקיפדיה] היא מערכת הפעלה דמוית יוניקס אשר יצאו לה מוניטין כמערכת מאובטחת מאוד. המנהיג של פיתוחה הוא המפתח הקנדי תאו דה-ראט (Theo de Raadt, עוד אפרו-אמריקאי). תאו ידוע כאדם דעתני ועקשן. בין השאר הוא תומך נלהב וקיצוני במדיניות של גילוי מלא (Full disclosure [Wikipedia] של בעיות אבטחה. בשל כך הוא התעקש לפרסם בעצמו סיפור שמישהו אחר היה אולי מחליט לא לפרסם ומשאיר לדעוך:

בשנת 2010 פנה אליו מישהו שחברתו מימנה בסביבות שנת 2000 פיתוח חלק מהתמיכה של OpenBSD בהצפנה. אותה חברה סיפקה גם שירותים ל-FBI. הוא טוען שה-FBI שכר אותם להשתיל פירצה לקוד של OpenBSD (בפרט: לחלט מקוד התקשורת - לתמיכה ב-IPSEC [Wikipedia]. אותה תמיכה ב-IPSEC הועברה מאוחר יותר מ-OpenBSD גם לכמה מערכות BSD דומות.

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

1 ר' לדוגמה תוכנה שלא מתוחזקת כיאות לעומת תוכנות יותר נורמליות.
לטוס על חוט 581575
וויליאם לאנגוויסשה מוטרד מזה שבנוסף לשבחים לקברניט סלנברגר שהנחית את מטוס הנוסעים שלו בהאדסון, לא חילקו שבחים למטוס האיירבס A320. "עידן הסופרמנים בטיס חלף מזמן" והגיבור האמיתי הוא ברנרד זייגלר שייחד עם עמיתיו שיכללו מערכת טיסה-על-חוט מהפכנית שהביאה למכונת טיסה מושלמת. מערכות האיירבס לא רק מקלות על מלכת ההטסה, הן גם מונעות מהטייס לעשות שגיאות, ובכך להגן על הנוסעים מפני טייסים ברמה נמוכה מזו של סלנברגר. ייתכן והטייסים לא נזקקו לעזרה שהמערכת סיפקה באופן אוטומטי - איזון הכנפיים והרמת האף תוך גלישה חלקה - אבל למעשה הם הטיסו את המטוס על-חוט.

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

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

כנראה זה מה שקרה באסון האיירבאס בתצוגה בפאריס ב-‏1998, המטוס המריא וטס ישר לתוך חורשה <קישור http://www.google.com/url?url=http://www.youtube.com... והתרסק>.

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

מאז היו עוד כל מיני תאונות איירבאס שמיוחסות לתוכנה, למשל <ההתרסקות‏1> לאוקיאנוס האטלנטי לפני שלוש שנים.

ויש גם <תמיהה‏1> כיצד בטיסה של סלינגר שני המנועים דממו בבת אחת בצורה כזאת כתוצאה מלהקת ציפורים. קצת משונה סטטיססטית. וגם מכאנית.

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

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

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

אל"ט אל"א

__________
1האייל האוטומטי מנע ממני להכניס שני קישורים.
לטוס על חוט 581582
אני מסכים רק חלקית. אם במקום המחשב, אסון האיירבאס היה נגרם ע"י טייס שיכור, לא היינו ממהרים לפסול פסילה גורפת את כל אוכלוסיית הטייסים האנושיים. אנשים גורמים לתאונות דרכים כל הזמן מכל מיני סיבות טיפשיות ועדיין ממשיכים לתת לאנשים רישיונות נהיגה. יכול להיות שאנחנו חשדניים מדי כלפי מחשבים?
לטוס על חוט 581585
על זה אפשר רק לומר: זה הדדי.
לטוס על חוט 581594
עם איזה חלק אתה מסכים? ולמה?
לטוס על חוט 581602
אני מסכים ויודע היטב שבמחשבים יש באגים‏1, ושאם ככל שנסתמך עליהם יותר הם יגרמו ליותר תאונות (מי שלא עושה לא טועה).

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

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

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

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

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

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

(אישית אני כמובן צריכה לפתוח חלון בשביל האוזניים של הכלבה, אחרת איך הן יתנפנפו כשהיא מוציאה ראש החוצה?)
לטוס על חוט 581846
אכן, סיפור משעשע. לענייננו, הוא מתחיל במשפט "BMW has told CNETAsia that an electronic fault caused the problem, rather than a system crash of the car's Windows-based central computer".
לטוס על חוט 581866
אכן, אך המשפט הזה לא אומר הרבה. יכול להיות שבאמת פיזית התנתק המצבר אבל הסיכוי לכך נמוך.
90% של הבאגים במערכות משובצות מתחילים ב electronic fault – חיווי יוצא דופן מהחומרה, למשל מאחד החיישנים או הלחצנים, שאין לו טיפול בדיאגרמת המצבים, ובמילים אחרות באג.

אלמלא זה היה באג תוכנה הפרוססור היה מרגיש שהוא תקוע ומאתחל עקב Watchdog_timer [Wikipedia] חומרה. פרוססור תקוע זה אחד הבאגים הכי מביכים בעולם.

תהייה: אין במכוניות האלה לחצן ריסטרט גדול אדום זרחני?
(מפתחי מערכות תמיד מתנגדים ללחצן כזה מתוך גאוותנות)

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

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

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

1 בעיקרון כל בקר קטן מכיל היום מעבד פשוט והיינו יכולים לקרוא לו "מחשב", אבל קוראים לו בקר, כי למערכת עם פחות מ-‏64k ועם מעבד כ"כ חלש (במקרים רבים מעבד 8 סיביות) אי-אפשר לקרוא "מחשב".
לטוס על חוט 581881
זה בטח די קטנוני להעיר, אבל פעולת הכפתור האדום ההוא יכולה להיות מותנית בחיישן בודד שקיים כבר היום, ההוא שמראה שהמכונית ב-P. אני מוכן לערוך (חינם!) את כל בדיקות איכות התוכנה הנדרשות כדי להבטיח שלא יהיו באגים בתת-המערכת הזאת. הרבה יותר מסוכן לאפשר לנהג לסובב את המפתח ולהשבית את המנוע תוך כדי נסיעה, ודומני שאת זה ניתן לעשות כיום. לא ניסיתי, ואני לא ממליץ לאף אחד לנסות.

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

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

הבעיה מתחילה כשתוכנה מרכזית מתערבת בפעולת הבקרים ויוצרת ביניהם קשרים, ומתייעצת עם בקר המגבים לגבי פעולת בקר ה ABS. (נניח, אף שדוגמה כזאת כנראה לא תקרה לעולם. על אף האמון הדל שלי במתכנתים, יש גבול לכל תעלול.)
לטוס על חוט 581887
אגב בקרים - 64K זה המון, 64K של קוד אני כבר לא מחשיבה כחומרה.
הפרויקט הראשון שעשיתי היה טלפון על 8051 עם 4K, שכלל תצוגה, לדים, שפופרת, הפקת צלילים, תקשורת עם מחשב מרכזי, דיאגנוזות - ובנוסף לכל ספיקרפון מלא. היה שם כר נרחב לבאגים וניצלתי אותו יפה (התחשבות, עבודתי הראשונה...)
בקר בעיניי זה כמה שורות קוד, אני מאמינה שב ABS אין יותר מכמה שורות טריויאליות.
  לטוס על חוט • האייל הקטן והבור
  לטוס על חוט • easy
  לטוס על חוט • שוטה הכפר הגלובלי
  לטוס על חוט • ג'וד
  לטוס על חוט • צפריר כהן
  לטוס על חוט • ג'וד
  לטוס על חוט • צפריר כהן
  לטוס על חוט • ג'וד
  לטוס על חוט • צפריר כהן
  לטוס על חוט • ג'וד
  לטוס על חוט • צפריר כהן
  לטוס על חוט • האלמוני המזוהה
  לטוס על חוט • ג'וד
  לטוס על חוט • רון בן-יעקב
  לטוס על חוט • האלמוני המזוהה
  לטוס על חוט • שוטה הכפר הגלובלי
  לטוס על חוט • האלמוני המזוהה
  חלומות ירוקים חסרי צבע יְשֵנים בפראות • סמיילי
  חלומות ירוקים חסרי צבע יְשֵנים בפראות • האייל האלמוני
  חלומות ירוקים חסרי צבע יְשֵנים בפראות • האייל האלמוני
  מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות • האייל האלמוני
  מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות • האייל האלמוני
  מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות • MRP
  מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות • גדי אלכסנדרוביץ'
  מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות • MRP
  מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות • גדי אלכסנדרוביץ'
  מחשב יוכל בסופו של דבר לעשות כל מה שאדם מסוגל לעשות • האייל האלמוני

חזרה לעמוד הראשי

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