|
||||
|
||||
שאלה עוקפת: קראת את GEB; בוודאי אתה יכול לזהות שהטיעון הזה של פנרוז הוא וריאציה ברורה על הטיעון של לוקאס12, שהופשטטר מתמודד איתו בספר. מה דעתך בנוגע לטיעון של לוקאס ולטיעוני הנגד של הופשטטר? 1מחשב, לצרכינו, הוא שפה פורמלית; לכל שפה פורמלית יש טענה שלא ניתנת להוכחה בה, אך היא נכונה (גֶדֶל); אנו האנשים יכולים לראות שהטענה נכונה; מכאן, אנו האנשים נבונים אינהרנטית יותר מכל מחשב. 2ואולי אפילו פנרוז נתן קרדיט כזה בעצמו? |
|
||||
|
||||
את GEB קראתי מאוד מזמן, עוד לפני שהכרתי את הטיעון של פנרוז (ולוקאס), כך שאני לא זוכר מספיק טוב את הנימוקים של הופשטטר על מנת להתמודד איתם ברצינות (אז הסכמתי עם התזה החישובית). בכל אופן, פנרוז עצמו חזר פחות או יותר על הטיעון של לוקאס בספרו הראשון בנושא "The emperor's new mind". אבל בעקבות הביקורת שהועלתה כנגד הטיעון הזה הוא פיתח את הטיעון שלו, שלא מסתמך על גדל. אני חושב שגם הטיעון המקורי של לוקאס נכון, אבל אני הייתי מסתכל עליו קצת אחרת. מה שגדל ואחרים הראו זה ששום שפה פורמלית איננה שלמה, כלומר לכל שפה פורמלית תמיד יהיו הוכחות שלא יהיה ניתן לנסח בה. אבל את כל ההוכחות (בהגדרה) ניתן לנסח בשפה טבעית. משום כך שפה טבעית איננה יכולה להיות שקולה לשום שפה פורמלית. בני אדם מבינים שפה טבעית ואילו מחשבים יכולים להבין רק שפה פורמלית. ועל כן מותר האדם מהמחשב. |
|
||||
|
||||
"מה שגדל ואחרים הראו זה ששום שפה פורמלית איננה שלמה, כלומר לכל שפה פורמלית תמיד יהיו הוכחות שלא יהיה ניתן לנסח בה." מצטער, אבל זה לא נכון. זה אפילו לא מוגדר היטב. "אבל את כל ההוכחות (בהגדרה) ניתן לנסח בשפה טבעית." איך אפשר "בהגדרה" לטעון משהו על דבר כל כך נזיל כמו "שפה טבעית"? "מחשבים יכולים להבין רק שפה פורמלית." זאת מנין? אם אתה מתעניין, אתה מוזמן לעיין בדיון 2396. הספר של פרנזן המוזכר שם מכיל דיון יסודי מאוד (יסודי מדי, לדעתי) בטיעוניו של פנרוז. |
|
||||
|
||||
"מצטער, אבל זה לא נכון. זה אפילו לא מוגדר היטב" - אינני יודע מה כוונתך ב"מוגדר היטב". דברי מוגדרים מספיק טוב כדי שירון, שהגיב להם מתחתיך, יבין אותם. דיון באייל זה לא בטאון מתמטי אקדמי, ואפשר להציג בו טענות, אפילו בנושאים מדעיים או מתמטיים, מבלי להכנס לז'ארגון טכני. ומה בדיוק לא נכון? קח שפה פורמלית. בנה את טענת-גדל עבורה. זו טענה אמיתית שלא ניתן להגיע אליה מהאקסיומות וכללי ההסק של אותה שפה פורמלית. מספיק מוגדר ונכון בשבילך? "איך אפשר 'בהגדרה' לטעון משהו על דבר כל כך נזיל כמו 'שפה טבעית'?" - האם טענתך היא שאי אפשר לטעון שום דבר על שפה טבעית? ומה בדבר הטענה ש"אי אפשר לטעון שום דבר על שפה טבעית"? האם גם זו טענה שאי אפשר לטעון בשפה טבעית? חוץ מזה, הטענה נגעה למושג "הוכחה". כל מילון מלא בטענות לגבי מושגים בשפות טבעיות, וגם אני חטאתי בכך. ואני עדיין טוען שהוכחה זה משהו שניתן לנסח בשפה טבעית (כלומר, שפה שבני אנוש מסוגלים, לפחות באופן תיאורטי גם אם לא מעשי, להבין). "הוכחות" שנהירות רק למלאכי השרת זה לא חלק מהמתמטיקה. אני חוזר בי מטענתי שמחשבים יכולים להבין רק שפות פורמליות. אפילו שפות פורמליות אין הם יכולים להבין. מה שכן, הם מסוגלים לעבד רק שפה פורמלית או משהו שעבר "פורמליזציה" - תרגום לשורת כללים חישוביים-טכנים. אם אתה טוען שמחשב מבין עברית, בהכרח אתה טוען שאפשר לבצע פורמליזציה של עברית. אני מודה לך על ההפנייה לפרנזן. לצערי, הדיונים שאני מכיר, ואפילו ה"יסודיים" שבהם, בטיעוניו של פנרוז, כאשר הם מגיעים מקהילת ה"תבונה" החישובית, נוקטים בשיטה הנפוצה של יריית החץ ושרטוט המטרה סביבו. אני מכיר את טענות הנגד. לדעתי הן שגויות, והשגיאות האלו הן לרוב פילוסופיות, לאו דווקא מתמטיות. |
|
||||
|
||||
אתה מנסה לטעון משהו על הפער בין מחשבים ואנשים. הצגת סדרה של טענות: "שפות פורמליות לוקות ב-X", "שפות טבעיות אינן לוקות ב-X". "אנשים מבינים שפות טבעיות, מחשבים מבינים רק שפות פורמליות" (אח"כ חזרת בך וטענת שמחשבים לא יכולים להבין כלום, רק לעבד. אם כך, הטענה שאנשים אינם מחשבים ברורה מראש, ובשביל מה צריך את גדל?) זה ש"ירדן הבין אותך" לא פוטר אותך מהצורך לדייק במילותיך כשאתה מציג טיעון שכזה. מערכות פורמליות החשופות למשפט גדל, אפשר לרשום עבורן טענות שאינן ניתנות לגזירה או להפרכה באופן פורמלי מן האקסיומות וכללי ההיסק. יש פה לא רק "שפה" - יש כאן אקסיומות, כללי גזירה, ועוד כל מיני דברים שאינם רלוונטיים ל"שפה טבעית". אתה משתמש ב"שפה" במובנים שונים. אנשים מדיינים בשפה טבעית, נכון. אבל אתה באמת סבור שאתה, או מישהו אחר, יודע להוכיח שכל טענה מתמטית ניתנת להוכחה ב"שפה טבעית"? מאילו אקסיומות? עם אילו כללי גזירה? משפטי גדל (ודומיו) לא שואלים האם ניתן *לנסח* הוכחה כלשהי במסגרת השפה, הם שואלים האם אפשר *להוכיח* כל טענה או את שלילתה. אתה טוען שב"שפה טבעית" זה ניתן? כלומר, אתה טוען שלמרות שב-PA לא ניתן להוכיח את השערת גולדבך (נניח), אתה כבר יודע שבשפה טבעית כן אפשר? איך אתה יודע זאת? איך ניתן בכלל לדעת דבר כזה? ולבסוף, אם אתה יוצא מתוך הנחה שמחשבים אינם יכולים "להבין", רק "לעבד", הרי לך טיעון קצרצר שהתודעה האנושית אינה חישובית: אנשים מבינים, מחשבים לא, וחסל. אין כל צורך בגדל, פנרוז וכו'. אבל איך אתה יודע זאת? "אם אתה טוען שמחשב מבין עברית, בהכרח אתה טוען שאפשר לבצע פורמליזציה של עברית" - לא מניה ולא מקצתיה. אני מדמיין מחשב המסוגל להקשיב, לזכור וללמוד, ומפתח לעצמו יכולות תקשורת בדיוק כמו ילד. למה הוא צריך "פורמליזציה"? אתה טוען כנראה שמחשב כזה לא ייתכן - טוב ויפה, אבל זה טיעון חזק הדורש נימוק. צר לי שהתנסית בדיונים לא מספקים בטיעוניו של פנרוז. אם זו סיבה מספיק טובה עבורך לא לקרוא את פרנזן, אז אל תקרא. |
|
||||
|
||||
>אני מדמיין מחשב המסוגל להקשיב, לזכור וללמוד, ומפתח לעצמו יכולות תקשורת בדיוק כמו ילד. למה הוא צריך "פורמליזציה"? אני מניח שהטענה היא שכל מחשב הוא מערכת פורמלית (במובן מסוים) ולכן מחשב ש"מבין עברית" מוכיח בפרט שניתן לבצע "פורמליזציה של עברית" (מה זה?). |
|
||||
|
||||
כיוון ש''מבין עברית'' הוא מונח לא פורמלי, ה''ולכן'' הזה לא ברור לי כלל וכלל. ייתכן שגם ''הבנת העברית'' של בני-אדם היא, בסופו של דבר, תוצא של אינספור פעולות פורמליות קטנות (נניח, בנוירונים). אולי כן ואולי לא - בכל אופן, ה''נימוק'' שמחשב לא יכול להבין עברית כי אי-אפשר לעשות לה ''פורמליזציה'' איננו נימוק, הוא משאלת-לב. |
|
||||
|
||||
מוסכם. מה עם <תגובה אתה-יודע-איזו>? |
|
||||
|
||||
שאלה: האם Deep Blue מבין שחמט? לדעתי הפרטית בהחלט כן, בכל מובן של "מבין" שאני מעלה על דעתי, וזאת למרות שככל הנראה הוא מבין אותו אחרת ממני. |
|
||||
|
||||
או קי, אני חושב שאני צריך להבהיר מה כוונתי במושג "שפה טבעית". לצורך דיון זה, שפה טבעית היא כל סוג תקשורת שבני אדם מסוגלים להבין. לא צריך להתייחס למלה "טבעית" באופן מילולי מדי. גם הוכחה מתמטית, כל הוכחה מתמטית, כתובה ב"שפה טבעית" מבחינתי משום שמתמטיקאים מסוגלים להבין אותה. לא אכפת לי בכמה סימונים והגדרות מורכבות משתמשים בהוכחה, אם מתמטיקאי אחד כותב אותה והשני קורא אותה ויכול להשתכנע בנכונותה, הרי השפה בה היא כתובה היא טבעית דיה בשבילי. למעשה, גם שפה פורמלית היא טבעית, משום שאפשר לעקוב ולהווכח שהמשפטים אכן נובעים מהאקסיומות וכללי הגזירה, אבל בהסתייגות אחת: ה"טבעיות" שלה היא פונקציה של הפרשנות שאנו נותנים לה כמתארת תורה מתמטית. היא איננה שפה טבעית ללא הפרשנות הזאת. "שואלים האם אפשר *להוכיח* כל טענה או את שלילתה. אתה טוען שב'שפה טבעית' זה ניתן?" - אינני טוען זאת כלל. אני טוען שבשפה טבעית ניתן להוכיח כל טענה מתמטית שניתן להוכיח בשפה פורמלית כלשהי (או תחת מערכת אקסיומטית וכללי גזירה כלשהם). זו טענה טריוויאלית לאור הכתוב בפסקה הקודמת. "אתה יוצא מתוך הנחה שמחשבים אינם יכולים 'להבין', רק 'לעבד"' - אני לא חושב שיש מי שחולק על כך שפעולתם של מחשבים היא עיבוד מידע. ואני לא מניח שמחשבים אינם מבינים אלא טוען זאת, וניסיתי להציג מספר נימוקים לטענה זו בדיון זה. אבל מכיוון שטרם נתקלתי בהסבר או דוגמה כיצד שורה של אופרציות לוגיות על ביטים שקולה להבנה של משהו, נדמה לי שעיקר נטל ההוכחה מונח על כתפי מי שדוגל בתזה החישובית. "אני מדמיין מחשב המסוגל להקשיב, לזכור וללמוד, ומפתח לעצמו יכולות תקשורת בדיוק כמו ילד. " - דימיון זה דבר נחמד אבל ממש לא מספיק. אני, למשל, מדמיין מכונה המפיקה אנרגיה יש מאין, או אבן ההופכת עופרת לזהב. בכל אופן, אפילו אם אפשר, עקרונית, לפתח תוכנה המתנהגת כאילו היא מקשיבה, זוכרת ולומדת, הרי התנהגות איננה מעידה על תודעה או עולם פנימי. בובה בוכה איננה עצובה וחייל וירטואלי הנפגע מכדור וירטואלי במשחק יריות וירטואלי איננו מרגיש שום כאב. "למה הוא צריך פורמליזציה?" - גם אם זה לא נעשה מפורשות על ידי המתכנת, הרי על מנת שתוכנה תבין עברית, כל השפה צריכה להיות מקודדת באופן חישובי בזכרון המחשב. זה נכון גם לתוכנה "לומדת", אלא שאז איסוף המידע נעשה באינטראקציה עם המשתמש ולא אפריורית. אני משאיר למתמטיקאים קטנוניים להוכיח שכל קידוד חישובי של השפה שקול לפורמליזציה שלה. אישית, אינני מאמין שמחשבים (קלאסיים, אלגוריתמיים) יצליחו לעמוד אפילו במבחן הביהיוויוריסטי. תוכנת "בינה" מלאכותית מתוחכמת אולי תצליח להוליך שולל חלק מאנשים כל הזמן ואת כל האנשים חלק מהזמן, אבל היא לא תצליח להוליך שולל את כל האנשים כל הזמן. למעשה, אם אפגוש תוכנה המתחזה למתמטיקאי אשאל אותה האם היא עוצרת על עצמה. מעניין מה תהיה התגובה. |
|
||||
|
||||
תוכנה כזאת בודאי תענה את אותה תשובה שמתמטיקאי יענה. לכן, אם זה מעניין אותך, אתה יכול לשאול את השאלה הזאת מתמטיקאי. ד"ר עמית: האם אתה עוצר על עצמך? |
|
||||
|
||||
מתמטיקאי יענה שהוא לא יודע משום שהוא לא מכיר את האלגוריתם של עצמו. |
|
||||
|
||||
אז זה ודאי מה שתוכנה תענה לך. |
|
||||
|
||||
אבל לתוכנה יש אפשרות פשוטה לגשת לזיכרון המחשב ולהכיר את האלגוריתם של עצמה. אני אבקש ממנה לעשות אנליזה לבעיית העצירה של האלגוריתם הזה. |
|
||||
|
||||
לרוב התוכנות אין את האפשרות הזאת (נסה לגשת לזיכרון של המחשב ממעבד התמלילים שלך למשל), ואין סיבה שדווקא למכונת טיורינג תהיה אפשרות כזאת. |
|
||||
|
||||
נדמה לי שהוא מתכוון לכך שעבור מחשב, בניגוד לעבור אדם, קל להציג למכונת טיורינג תדפיס, תוך השמעת המשפט "הנה, זה קוד המקור שלך" בנימה מזלזלת במידה ההולמת. השאלה היא, כמובן, כיצד יוכל אדם להתמודד עם תדפיס של מפת החיוט של הניורונים במוחו, פלוס מאפיינים מיוחדים של כל ניורון (זה יורה תמיד, זה דורש קלט בקצב מסוים כדי לירות בקצב אחר, וכו'). כשמניחים את התדפיס המתאים לרגלי האדם, המשפט המתאים אינו "זה קוד המקור שלך" אלא, כמובן, "זהירות על הרגל": מדובר במאה מיליארד ניורונים. |
|
||||
|
||||
או קיי. תן לד"ר עמית 500,000 שורות קוד של תוכנה שאמורה להיות מכונת טיורינג, תגיד לו שזה הקוד שלו, ותשאל אותו אם הוא עוצר על עצמו... |
|
||||
|
||||
אם ד''ר עמית הוא מתמטיקאי מוצלח, הוא יסיק מכך שהוא יכול לפתור את בעיית העצירה העצמית של הקוד, שזה איננו הקוד שלו כלל. |
|
||||
|
||||
יסיק ממה? מזה שנתת לו את קוד כלשהו? |
|
||||
|
||||
לא. על פי המשפט המתמטי של פנרוז שהצגתי בתגובה 460917, אם A אלגוריתם שקול (קרי, "מתמטיקאי מוצלח") אז הוא לא מסוגל להכריע בבעיית העצירה של עצמו על עצמו (ניסוח מדוייק יותר מופיע בתגובה הנ"ל). אם ד"ר עמית יודע שהוא מתמטיקאי מוצלח, מכיר את המשפט של פנרוז, ומצליח להכריע בבעיית העצירה של אלגוריתם מסויים, הוא יסיק מכך שזה איננו יכול להיות הקוד שלו, אחרת תתקבל סתירה. |
|
||||
|
||||
בו נשאל את זה ככה: תקח מתמטיקאי מוצלח כלשהו (A), תן לו קוד ארוך מאד (B). תטען בפניו שזה הקוד שלו (D), ותשאל אותו האם הוא עוצר עליו. האם אתה טוען ש: 1. הוא יקרא את הקוד, ויצליח להוכיח ש-D לא נכון. 2. הוא יצליח למצוא תשובה מוצלחת כלשהיא. 3. הוא יתפוצץ. 4. הוא ירביץ לך. (כל זמן שאתה טוען את טענה 1. תכפיל את אורך הקוד פי 2, ותחזור לשאלה). (אם אתה טוען את טענה 2, תסביר לי למה זה מעניין) |
|
||||
|
||||
לא הבנתי את 1. מה פירוש "D לא נכון"? D הוא קוד, לא טענה. המתמטיקאי המוצלח יטען ש: 5. "אני מתמטיקאי מוצלח! זה לא הקוד שלי!" |
|
||||
|
||||
D היא טענה, לא קוד ("תטען בפניו שזה הקוד שלו") B זה הקוד. האם הוא יטען "זה לא הקוד שלי" בלי קשר לקוד שתביא לו? |
|
||||
|
||||
כן. |
|
||||
|
||||
אז, אני לא יודע למה זה מעניין, אבל זאת התשובה שתקבל מכל מחשב שיעבור את מבחן טיוינג. |
|
||||
|
||||
אם המחשב ישיב ''זה לא הקוד שלי'' כאשר אציג לו את הקוד שלו, סימן שהוא מגיע למסקנות שגויות ולפיכך איננו מתמטיקאי מוצלח. אין לי בעייה עם חוסר-בינה מלאכותי. פיתוח כזה בהחלט אפשרי, גם אם נטול תועלת. |
|
||||
|
||||
אמרת שמתמטיקאי ישיב "זה לא הקוד שלי" *בלי קשר לקוד*. אז למה אתה קורא לזה "מסקנה"? |
|
||||
|
||||
זו מסקנה ממשפט פנרוז. ההנחה שזה הקוד שלו מובילה לסתירה: בגלל שהוא יודע שהוא מתמטיקאי מוצלח, הוא מסיק שהקוד שקול, ולפיכך הוא יודע לפתור את בעיית העצירה שלו. מצד שני, לפי אותו משפט, הקוד "שלו" לא מסוגל להכריע בבעיית העצירה הזו. |
|
||||
|
||||
אז המחשב לא ''הגיע למסקנה שגויה'', הוא דווקא הגיע למסקנה נכונה (מהעובדות הידועות לו). |
|
||||
|
||||
אם המחשב מכריז "זה לא הקוד שלי" כאשר זה *כן* הקוד שלו, אז הוא הגיע למסקנה שגויה ולא יעזור כלום. |
|
||||
|
||||
אם אתה רוצה לדרוש מיצור תבוני/מודע להיות כל-יודע, בני אדם אינם תבוניים/מודעים. |
|
||||
|
||||
(ואתה תסלח לי בבקשה על ההתערבות הפתאומית במידה והיא לא כל כך אקטואלית לדיון הנוכחי שאתה מנהל - כמו שכבר אמרתי, נמאס לי מהדיון, והפסקתי לעקוב אחריו. אבל התפתתי לקרוא את ההודעה הקצרה האחרונה שלך ולהגיב עליה.) |
|
||||
|
||||
אתה חוזר על אותו צמד שגיאות יסודי: א. אף אחד לא טוען שמחשב תבוני לא יגיע למסקנות שגויות. ב. מעטים מאוד טוענים שאנשים תבוניים לא מגיעים למסקנות שגויות (כן, גם מתמתיקאים). רוב אלה שטוענים זאת, מנסים לנופף זאת כהבדל בין אדם למחשב, אבל זה לא דבר הגיוני לעשות, בהנתן א'. כמו שכבר אמרו כאן, הדיון הזה מתחיל לחזור על עצמו. נדמה לי שאני פורש. |
|
||||
|
||||
נניח לרגע שייתכן מחשב תבוני שלמרות שיטעה במתמטיקה יוכל לנהל שיחה אינטיליגנטית על שירה ותיאטרון. אבל אני עסקתי פה בתבונה *מתמטית* וממנה אני בהחלט דורש לא להפיק שטויות. מתמטיקאים אולי יטעו מפאת חוסר סבלנות, איבוד ריכוז או עייפות. לתוכנה אין בעיות כאלו ואין שום סיבה שהיא תטעה. האם אתה תולה ברצינות את היכולת התבונית של תוכנה כזאת בטעויות שלה? זה אבסורד גמור! |
|
||||
|
||||
אבל... אבל... אני (ואנשי הבינה המלאכותית ברובם) *לא* דיברתי על "תבונה מתמטית", whatever that means. מטרת מחקר הבינה המלאכותית ליצור בינה *כמו-אנושית*, על כל היתרונות שבכך (בפרט, תודעה) אבל גם על כל החסרונות שבכך (בפרט, חוסר סבלנות, איבוד ריכוז או עייפות). האם ייתכן שהתודעה האנושית נובעת מכך שהמוח האנושי אינו מערכת פורמלית "שקולה"? אולי, איני יודע. אבל אם התשובה חיובית, הרי שגם תוכנה בעלת תודעה לא תהיה "שקולה". מה זה אומר? שהיא תוכל להיות בטוחה שהוכיחה משהו, אולי אפילו משהו מתמטי, והיא בעצם טועה? כן. זה קורה גם לבני-אדם. אם אתה מנסה לטעון שלא תתכן מערכת מחשב מודעת + חפה מטעויות ("תבונה מתמטית"), אולי אתה צודק; אין לי מושג. אבל האתגר של strong AI הוא מערכת *מודעת*, נקודה. אף אחד לא מנסה ליצור משהו טוב יותר מתבונה אנושית באופן איכותני (באופן כמותני, כן: אבל זה סיפור אחר). |
|
||||
|
||||
אם אין אפשרות ליצור בינה מתמטית ממוחשבת, איזו סיבה יש להאמין שניתן ליצור בינה ממוחשבת מסוג אחר? אחרי הכל, חשיבה מתמטית נראית משהו הרבה יותר טבעי לתוכנה מאשר שיחה על פוליטיקה. חוסר סבלנות, עייפות וכו' הם תכונות של הפיזיולוגיה האנושית שלא נראות קשורות בשום צורה לקיום מודעות או חשיבה לוגית. אתה מאמין ברצינות שצריך לגרום לתוכנה "להתעייף" כדי שתוכל לדון איתה על מתמטיקה (או היסטוריה עתיקה)? מה הקשר? כאמור, טעויות הסקה "סליקות", כלומר כאלו שניתן לאתר בחשיבה סבלנית המפרקת את הטיעון לרכיביו האלמנטריים והטריויאליים ביותר אינן רלוונטיות. לתוכנה אפשר להקנות סבלנות אינסופית. מאידך, אם יש בהסקה המתמטית טעויות מהותיות הרי זה מחריב כל אפשרות לחשיבה הגיונית בכלל, כולל בדיון זה וכולל בכל דיון בכל עניין בעולם. ההנחה שהחשיבה הלוגית האנושית בתנאים אידאליים היא נטולת פגמים עומדת ביסוד כל שיח וכל טענה שאנו מעזים להגות. בלי זה אין כלום. |
|
||||
|
||||
איננו יודעים אילו מאפיינים של המוח האנושי הם תנאים הכרחיים לתודעה. איזו סיבה יש להאמין? בינה מודעת לא-מתמטית *קיימת*, בינה מודעת "מתמטית" לא קיימת; המחקר מנסה לחקות את הקיים. די פשוט. חוסר סבלנות בהחלט יכול להיות מאפיין של המוח/התודעה. עייפות עשויה להיות מנטלית ולא רק פיזית. וכן הלאה. |
|
||||
|
||||
בקיצור, אתה מאמין שלמרות שלא ניתן לפתח תוכנה שתצליח להבין משפט מתמטי פשוט, אפשר לפתח כזו שתבין מחזה של שייקספיר. ושחוסר סבלנות הוא מרכיב הכרחי של תודעה (שהרי אנשים סבלניים הם זומבים). נו, בסדר. עם אמונה דתית אני לא מסוגל להתווכח. אגב, ''לחקות את הקיים'' זה לבנות מוח ביולוגי על בסיס נויירונים. הדבר האחרון שאנשי ה''בינה'' המלאכותית עושים זה לחקות את הקיים. |
|
||||
|
||||
נראה שאתה משוכנע שהוכחת (או שפנרוז הוכיח) שתוכנה לא יכולה "להבין משפט מתמטי פשוט". תוכל להציג, בתגובה אחת מסודרת, את ההוכחה הזו? תוכל להדגיש מהו הדבר שפנרוז (או מישהו אחר) הוכיח שמחשב לעולם לא יוכל לעשות, ואילו אנשים עושים? אגב, אם לדבר הזה יש איזושהי נגיעה למבנים אינסופיים, יידרש ממך להוכיח שלתודעות אנושיות יש איזושהי הבנה מובנית של האינסוף. אם אתה מסכים עם הטענה (שלי נראית מובנת מאליה) שלבני אדם יש יכולת "להבין", "לדעת" או "לראות" רק מבנים סופיים, אנא הסבר מדוע משפטי גדל/טיורינג/צ'ייטין/פנרוז רלוונטיים כאן בכלל, שהרי כל אחד מהמשפטים הללו נהיה לא נכון (באופן טריוויאלי) אם מצטמצמים למבנים סופיים, גדולים ככל שיהיו. אם אתה סבור שהתודעה האנושית היא נאותה (התרגום המקובל ל-sound) במובן פורמלי הקשור לזיהוי עצירה של מכונות טיורינג, הייתי מבקש שתאמר בדיוק מהו המובן הזה, ולמה אתה חושב שלאנשים יש תכונת-הנאותות הזו. תודה מראש. |
|
||||
|
||||
כבר הצגתי בתגובה 460917 סיכום מקוצר של הטיעון של פנרוז. תוצאת הטיעון הזה היא, אם לצטט את פנרוז, ש: "Human mathematicians are not using a knowably sound algorithm in order to ascertain mathematical truth." לדעתי אין שום דרך להתחמק מהמסקנה הזו. היא מוכחת מתמטית. ממנה נגזרות שלוש אפשרויות:1) שהסקה מתמטית של מתמטיקאים איננה נאותה. 2) שהסקה מתמטית של מתמטיקאים איננה *ידועה* כנאותה. 3) שהסקה מתמטית של מתמטיקאים איננה מבוססת על אלגוריתם. [הנאותות של ההסקה המתמטית היא היכולת שלא להגיע למסקנות שגויות מתוך הנחות נכונות. בהקשר למשפט של פנרוז, האלגוריתם A הממדל חשיבה מתמטית מוגדל כ"נאות" אם הוא לעולם לא נותן תשובה שגויה לבעיית אי-העצירה של אלגוריתם קלט B והקלט שלו C, כלומר (A(B,C עוצר אך ורק במקרים (אבל לא בכל המקרים, כמובן) בהם (B(C איננו עוצר.] דחייה של האפשרות הראשונה היא הכרחית משום שבלעדיה אין מתמטיקה ואין הגיון ולא ניתן להסיק שום דבר על שום דבר. שים לב שהכוונה פה היא להסקה מתמטית אידאלית, ללא הפרעות, מתוך סבלנות וזמן בלתי מוגבלים, ותוך פירוק כל טיעון לשורת הסקות אלמנטריות. אם לא ניתן לסמוך על הסקה מתמטית המבוססת על שיקולים אלמנטריים בתנאים אידאליים אז אפשר לזרוק את כל המתמטיקה לפח. דחייה של האפשרות השניה מבוססת על הבנת המשמעות של שיקול לוגי, שהיא בדיוק מה שמייחד מערכת מודעת מאלגוריתם. כאשר מתמטיקאי מבצע שיקול הוא לא רק מבצע חישוב מכני אלא הוא מבצע פעולה מחשבתית שהוא יודע שהיא *נכונה*. זו המודעות העצמית (הלולאה המוזרה של הופשטטר?) לערך האמת של הסקה. נותרנו עם האפשרות השלישית... "יידרש ממך להוכיח שלתודעות אנושיות יש איזושהי הבנה מובנית של האינסוף" - אני לא רואה מה זה קשור לעניין, אבל אני בהחלט סבור שיש לבני אדם הבנה של האינסוף. עובדה, מתמטיקאים עוסקים באינסופים כל הזמן. האם הם אינם מבינים מה הם עושים? |
|
||||
|
||||
אני דווקא בוחר ב-ב'. כנראה משום שאני צנוע יותר ממך באשר ל"ידיעה" שלי שפעולה מחשבתית היא *נכונה*. אני פשוט יודע מנסיוני שתחושת הבטן של "זה נכון" - גם לגבי צעדים לוגיים פשוטים - משתנה עם השנים. לטעמי, תחושת האמיתות המלווה להסקה לוגית כלשהי, נובעת מנסיוננו האישי (ומאלפי דורות שהתנסו לפנינו). יכול להיות שבעקבות (הרבה מאוד) צעדים לוגיים פשוטים, ובהסתמך על אקסיומות פשטוטת וברורות מאליהן, נגיע לסתירה. כל עוד הסתירה לא מתגשמת בשיקולים כמו "כיוון שהפרי אדום הוא יהיה מתוק" היא לא מפריעה לחיינו ולא משפיעה על התפתחות מוחותינו ועל תחושת הידיעה הנוצרת בתוכם. |
|
||||
|
||||
בסדר, הבה נתחיל מהטיעון של פנרוז אותו הצגת בתגובה ההיא - התיאור שלך לא מובן לי. אני מצטט פסקה מתוכו: "הנח (בשלילה) שקיים אלגוריתם בעל היכולת המתמטית של מתמטיקאי אנושי, או, בעצם, של כל הקהילה המתמטית (זה לא הבדל עקרוני). מכיוון שהוא איננו נתון למגבלות של עייפות, חוסר ריכוז וכדומה, ניתן להניח שהוא לא יעשה טעויות בהסקה לוגית אלמנטרית, כלומר שהוא שקול. כעת, אם אותו אלגוריתם מקבל את התיאור, A, של עצמו, הוא יסיק ממנו, על סמך המשפט של פנרוז, שהאלגוריתם D איננו עוצר (סעיף 1). מאידך מסעיף 2 נובע שאלגוריתם A איננו מסוגל להכריע בבעיית העצירה של D. וזו סתירה." התחלת מההנחה שקיים אלגוריתם בעל היכולת המתמטית של מתמטיקאי אנושי. באיזו תכונה של האלגוריתם הזה אתה משתמש בהמשך? עד כמה שאני רואה, רק בתכונה אחת - שהוא "נאות" (מה שאתה קורא שם "שקול"), במובן שהגדרת: לעולם לא יעצור כשמבקשים ממנו להכריע אם מכונת טיורינג מסויימת שעוצרת על קלט מסויים, והיא באמת עוצרת. בהמשך אתה מגיע לסתירה. מכאן שאין שום אלגוריתם נאות, נכון? שוב: אנו מניחים בשלילה שקיים אלגוריתם מחקה-אנוש; נובע שהוא נאות; וזה מוביל לסתירה. אני מציע להשתמש רק בחלק השני של התיאור שלך: נניח בשלילה שקיים אלגוריתם נאות; סתירה. אבל אתה עצמך ציינת שיש הרבה אלגוריתמים נאותים (עפ"י ההגדרה הזו); למשל, אלגוריתם שאינו עוצר לעולם. אז איך ניתן לגזור סתירה מתוך ההנחה שיש אלגוריתם כזה? אם כך, או שהטיעון שגוי לגמרי, או שאתה מניח עוד משהו לגבי היכולת של מתמטיקאים אנושיים, והעוד-משהו הזה הוא-הוא שמתנגש עם משפט טיורינג. אז זה מחזיר אותי לשאלה ששאלתי כבר כמה פעמים: מה הדבר הזה? מה יודעים מתמטיקאים אנושיים לעשות שמשפט טיורינג אוסר על מחשבים לעשות? זה חייב להיות משהו *פונקציונלי* - אל תאמר "מתמטיקאים אנושיים *מבינים* ומחשבים רק מבצעים חישוב מכני", שכן זו הנחת המבוקש. |
|
||||
|
||||
הסתירה שמגיעים אליה נובעת מהנחה שהאלגוריתם מודע לנאותות של עצמו ומסתמך עליה כדי להגיע למסקנה בבעיית העצירה. גם אם כל השיקולים שהאלגוריתם מפעיל כדי להכריע בבעיית העצירה הם נאותים, ברגע שהוא משתמש בעובדה שהם נאותים הוא מבצע שיקול שאיננו נאות. אינך יכול לבנות אלגוריתם נאות שיוכל להסיק שהוא נאות. מאידך, בני אדם מודעים לנאותות השיקולים הלוגיים-מתמטיים שהם עושים, ולא, לא היו אלו שיקולים בכלל אלא פעולות מכניות חסרות משמעות לוגית. זה לב העניין. ואת המודעות הזו, כפי שמוכיח המשפט של פנרוז, אי אפשר לממש באמצעים חישוביים. אתה צריך איזה אורקל שיגיד לאלגוריתם המוחי שהחישוב שהוא מבצע מהווה פעולה תקפה מבחינה לוגית, משום שאין לו שום דרך להסיק זאת בעצמו. |
|
||||
|
||||
"את המודעות הזו, כפי שמוכיח המשפט של פנרוז, אי אפשר לממש באמצעים חישוביים." איזה משפט של פנרוז? זה שאת הוכחתו תמצתת בתגובה 460917? אפשר, שוב, לבקש ממך להציג את תוכן הטיעון ואת הוכחתו באופן מסודר? הצגת הוכחה, הראיתי לך שהיא שגויה, אז אתה משיב "הסתירה שמגיעים אליה נובעת מ..." - איך היא נובעת מכך? איך אפשר להפיק סתירה על "מודעות" מתכונות *פונקציונליות* של אלגוריתמים? אני אנסה להסביר - שוב - היכן אני רואה כאן קושי מהותי: כל המשפטים הנאים והמדוייקים על אלגוריתמים (של טיורינג וכו') דנים בתכונות פונקציונליות, חיצוניות של האלגוריתמים הנדונים: האלגוריתם הזה עוצר על הקלט הזה, ההוא לא עוצר, וכו'. הם אינם אומרים - ואינם יכולים לומר - שום דבר על "עולמם הפנימי" של האלגוריתמים האלה: איך הוא מרגיש? מה הוא מבין? מה הוא חושב? אח"כ מגיע השלב בו מנסים לעמת את התכונות הללו עם משהו שאנו יודעים על בני-אדם. אם כך, גם על בני-אדם אנו צריכים לומר משהו פונקציונלי - נניח, שאנשים יודעים לזהות ללא טעות עצירה של מכונות-טיורינג. זו אמירה חזקה מאוד שאיננה נוגעת לעולמו הפנימי של בעל-התודעה אלא למה שהוא מסוגל *לעשות*, ואת זה באמת אפשר לעמת עם מה שידוע לנו על אלגוריתמים. מובן שטענה זו אינה נכונה. אז: 1. האם אתה טוען טענה אמפירית על יכולותיהם של אנשים, טענה החורגת ממגבלותיהם המוכחות של אלגוריתמים? אם כן, מהי? 2. האם אתה טוען, לחליפין, שאפשר להוכיח משהו על עולמם הפנימי של מחשבים? איך? עד כה, בסוף כל הטיעונים שלך ישבה התיזה "אנשים מבינים, מחשבים מבצעים פעולות מכניות חסרות משמעות". זו תיזה מצויינת, אבל היא אינה *נובעת* משום משפט של פנרוז שהצגת עד כה. אתה יכול להציג כאן את הטיעון, או שאנחנו מתבקשים להמשיך ולהאמין שפנרוז הצליח לעשות משהו הנשגב מבינתנו (וחלקנו סבורים שהוא בלתי-אפשרי - למרות שקראנו בשקידה בספריו ומאמריו של האיש)? |
|
||||
|
||||
אני מוכן להסתפק (בינתיים) בתגובה על תגובה 461851. |
|
||||
|
||||
ההוכחה של פנרוז, שוב: משפט: יהי (A(B,C אלגוריתם בשני קלטים*. A יכונה נאות אם מתקיים (A(B,C עוצר => (B(C איננו עוצר. נסמן ב-D את אלגוריתם האלכסון של A (בקלט אחד): (D(B)= A(B,B. אזי, אם A נאות, בהכרח: 1) (D(D אינו עוצר. 2) (A(D,D אינו עוצר. הוכחה: יהי A נאות, ו-D אלגוריתם האלכסון שלו. נניח בשלילה ש-(D(D עוצר. על פי הגדרת D, מכאן נובע ש-(A(D,D עוצר. כיוון ש-A נאות, נקבל בהכרח ש-(D(D עוצר. זו סתירה להנחת השלילה, ולפיכך (D(D אינו עוצר. מכאן, תוצאה 2 מתקבלת מהגדרת D. מ.ש.ל *למעשה, זה ניסוח רשלני. מה שצריך לעשות זה להשתמש ברשימה מספרית של האלגוריתמים המקבלים קלט מספרי יחיד (זו קבוצה בת מניה) כך ש-A יקבל כקלט שני מספרים טבעיים המייצגים אלגוריתם מהקבוצה הזו ואת הקלט שלו. זה פרט טכני שאיננו משנה דבר בהוכחה. האם יש מחלוקת על המשפט המתמטי? בהנחה שלא, אמשיך למסקנות. מהמשפט נובע שלא קיים אלגוריתם נאות המסוגל להסיק עבור האלגוריתם שלו עצמו שהוא נאות. מדוע? משום שאם A יוכל להסיק זאת עבור A (עצמו), הוא יסיק שאלגוריתם האלכסון D איננו עוצר על עצמו, כתוצאה מסעיף 1 במשפט, ולפיכך (A(D,D יעצור, בסתירה לסעיף 2. עד כאן מתמטיקה. עכשיו טיעון פילוסופי: בני אדם,ובפרט מתמטיקאים, יודעים שהשיקולים הלוגיים והמתמטיים שלהם נאותים. זו, בעצם, משמעות המושג "מודעות" בהקשר זה של חשיבה אנליטית. מהמשפט של פנרוז נובע שלא ניתן לחקות מודעות זו בתהליך חישובי. לו היית יכול למצוא תהליך חישובי המסוגל "לדעת" שהוא מבצע פעולות נאותות מבחינה לוגית, היית יכול לבנות ממנו אלגוריתם A הסותר את תוצאת המשפט. "האם אתה טוען טענה אמפירית על יכולותיהם של אנשים, טענה החורגת ממגבלותיהם המוכחות של אלגוריתמים? " - אני טוען שאנשים יודעים שהשיקולים הלוגיים שהם מבצעים הם שיקולים תקפים, ידיעה שאין לה מקבילה חישובית. התוצאה האמפירית של טיעון זה היא שכל מערכת חישובית שתנסה לחקות את החשיבה הלוגית-מתמטית האנושית תכשל מתישהו. |
|
||||
|
||||
"מהמשפט נובע שלא קיים אלגוריתם נאות המסוגל להסיק עבור האלגוריתם שלו עצמו שהוא נאות." מה פירוש "אלגוריתם המסיק עבור אלגוריתם אחר שהוא נאות"? אני מניח שכוונתך לאלגוריתם X המקבל כקלט (תיאור של) אלגוריתם אחר A, ואם A נאות אז הוא עוצר ואומר "כן". שים לב ש-X הוא אלגוריתם עם קלט אחד, ולכן אין משמעות לשאלה אם X עצמו נאות - הגדרת נאותות רק עבור אלגוריתמים עם שני קלטים. זה לא נורא, אפשר לתקן זאת בכל מיני דרכים, רק כדאי לשים לב שלאלגוריתם X יש משימה אחרת לגמרי מזה שהטלת על אלגוריתמים נאותים - הוא אמור לזהות נאותות, בעוד שהם אמורים לזהות עצירה (באופן המוזר שהם לא עוצרים כשהם מזהים אותה). עכשיו מכל הלהטוט הזה נובע שאלגוריתם X שכזה, אם הוא נאות, אז הוא לא עוצר על עצמו (ובפרט נכשל בזיהוי עצמו כאלגוריתם נאות). נו, בסדר. אז מה? הבעייה היא שהגדרת ה"נאותות" הזו שעליה נשען כל הטיעון הזה היא מאוד מלאכותית, ואין לה קשר כלשהו ל"ביצוע שיקולים לוגיים ומתמטיים נכונים". כמה דוגמאות: * קח אלגוריתם פשוט היודע להוכיח משפטים בתורה מתמטית מעניינת כלשהי, נניח ZFC. הוא מבצע שיקולים לוגיים ומתמטיים נכונים (ואפילו מוכיח שלל מסקנות מעניינות מאוד). האם הוא "נאות" במובן שלך? כלל לא - הוא לא מתיימר בכלל לזהות עצירה, וסביר מאוד שאם תתן לו שני קלטים כנ"ל הוא יעצור מיד עם הודעת שגיאה או משהו. האם הוא "יודע שהוא נאות"? לא אם מפרשים "נאות" במובן שלך - וטוב שכך, כי הוא באמת לא נאות במובן זה! האם הוא "יודע שהוא מבצע שיקולים לוגיים ומתמטיים נכונים"? בדוגמה הזו, כנראה שגם לא, אבל זה לא נובע בשום דרך ממשפט פנרוז. * קח אותי. אני סבור שאני יודע לבצע שיקולים מתמטיים נכונים. האם אני "נאות" במובן שתיארת? ודאי שלא - אין לי שום אפשרות לזהות נכונה מכונות B העוצרות עם קלט C, ובטח שאין לי אפשרות לדווח על זיהויים שכאלה ע"י אי-עצירה. האם אני "יודע שאני נאות"? שוב, לא במובן שלך - וטוב שכך, כי אני לא - וכן במובן של "יודע שהלוגיקה שלי בסדר, בדרך-כלל". * קח אלגוריתם שאינו עוצר לעולם. הוא "נאות" במובן שלך. האם הוא "שיקולים לוגיים ומתמטיים נכונים"? לא, הוא לא מבצע שיקולים לוגיים ומתמטיים בכלל. "בני אדם,ובפרט מתמטיקאים, יודעים שהשיקולים הלוגיים והמתמטיים שלהם נאותים." - במובן אחר לגמרי של "נאותים". כל מה שהמשפט המתמטי מראה הוא שאלגוריתם A בעל תכונות מסויימות אינו עוצר על קלט מסויים. השימוש הכפול שאתה עושה במילה "נאות" - פעם אחת בהגדרה טכנית, ופעם אחת בתיאור כללי של "ביצוע שיקולים נכונים" - יוצר בלבול. אין קשר בין השניים: נניח שאני יודע שהשיקולים הלוגיים שאני מפעיל הם תקינים; זה הופך אותי לאלגוריתם נאות במובן הטכני ההוא? אני יודע לזהות מכונות עוצרות? (לא). אני מביע את ידיעתי זו ע"י "אי-עצירה"? (גם לא). יש כאן עוד בעיות, עדינות יותר אבל לא פחות חמורות. העשייה המתמטית של אנשים, יכולתם להוכיח משפטים שונים, "לחשוב לוגית-מתמטית" - העשייה הזו לא נסמכת רק על "שיקולים לוגיים", היא נסמכת גם (כפי שהיטבנו לגלות במאה שעברה) על *אקסיומות*, הנחות ראשוניות שונות. האם אנשים יודעים שהאקסיומות המתמטיות איתן עובדים הן "תקפות"? שאינן מובילות לסתירה? איש לא יודע זאת. לכן שאלתי אותך לפני כמה תגובות על האינסוף. כל עוד עוסקים במבנים סופיים, גם אנשים וגם מכונות יכולים בקלות לוודא עקביות, שלמות ונאותות (במובן הרגיל של לוגיקה מתמטית!). ברגע שעוסקים במבנים אינסופיים, מה אז? איש אינו יודע אם ZFC עקבית - ואם היא לא, היא ודאי לא נאותה (למשל, אפשר אז להוכיח באמצעותה ש-0 שווה ל-1). איש אינו *יודע* שאקסיומת האינדוקציה "תקפה". יש לנו אינטואיציה (סופית!) מסויימת שהיא כן, ועל-כן עובדים איתה בשמחה ומקווים לטוב. אבל אין שום סיבה להניח שאלגוריתם לא יכול לרכוש את האינטואיציה הזו באותה מידה של הצלחה, ולשקול את אותם שיקולים כבני-אדם, ולקוות לטוב. גם מסיבה זו, הטענה הנחרצת "אנשים יודעים שהשיקולים הלוגיים שהם מבצעים הם שיקולים תקפים" היא רעועה מאוד. סיבה נוספת, אם דרושות עוד: אפילו לגבי השיקולים יש ויכוחים; אינטואיציוניסטים לא מוכנים לקבל את כלל "השלישי הנמנע", כלי פופולרי מאוד אצל רוב בני-האדם. הארכתי יתר על-המידה. אם לומר כל זאת בקצרה, אתה מתחיל מטענה מאוד מלאכותית על אלגוריתם שהכרחת אותו להיות "בלתי-עוצר במצבים מסויימים" ואז מגלה בשמחה שהוא לא עוצר על עצמו, ומנסה להשליך מכך על חוסר היכולת של תהליכים חישוביים "לחקות מודעות". זו, פשוט, קפיצה חסרת כל-הצדקה. |
|
||||
|
||||
לא הארכת יתר על המידה. תודה. |
|
||||
|
||||
ראשית הערה כללית. פנרוז מקדיש כמחצית מספרו "Shadows of the mind" לדיון מפורט בטיעון שהצגתי. אינני יכול, מטבע הדברים, לחזור פה על כל הכתוב בספר. משום כך אני מדלג על לא מעט פרטים שנראים לי טכניים או צדדיים ומשתמש בניסוחים אינטואיטיביים ולא מדוייקים די הצורך. מי שרוצה להתעמק בפרטי הפרטים הטכניים של הטיעון מוזמן לעיין בספר. אני מסתפק ב-highlights. את האלגוריתם X ההיפותטי המזהה נאותות של אלגוריתם אחר ניתן לשלב כחלק מאלגוריתם A, כך ש-(A(B,B יוכל לבחון באמצעותו האם A (הוא עצמו) הוא אלגוריתם נאות, ואם כן, להשוות את B לאלגוריתם האלכסון D של A, ואם B=D לעצור. זאת תהווה סתירה לנאותות של A, ומכאן נסיק שלא קיים X המזהה נאותות של אלגוריתם ש-X מהווה חלק ממנו. ומה הקשר בין ה"נאותות" כפי שהגדרתי לנאותות של חשיבה מתמטית? חשוב על התחום המתמטי של חקירת עצירה של אלגוריתם. בעיה בתחום זה מספקת אלגוריתם B וקלט C ושואלת האם (B(C יעצור. אלגוריתם A' שיודע להסיק מסקנות נכונות בתחום זה יכול להחזיר 3 תשובות אפשריות: "עוצר", "לא עוצר" ו-"לא יודע". כעת, בנה מאלגוריתם זה אלגוריתם A בו הפלט "עוצר" והפלט "לא יודע" יופנו ללולאה אינסופית. A הוא נאות במובן של משפט פנרוז אם ורק אם A' נאות במובן המקובל בלוגיקה. לא ממש אכפת לי ש-A' האמור מטפל בתחום מתמטי צר, בגלל שאם חשיבה אלגוריתמית בתחום זה איננה מגיעה ליכולות אנושיות, קל וחומר בכלל המתמטיקה, אבל מעניין לשים לב שתחום גדול של בעיות (רבות מהן מאוד לא טריוויאליות) בתורת המספרים שקולות לבעיות עצירה. למשל, אני יכול לקחת אלגוריתם העובר על המספרים הטבעיים הזוגיים הגדולים מ-2 ונעצר רק כאשר הוא מוצא כזה שאיננו סכום של שני מספרים ראשוניים. האם אלגוריתם זה יעצור? מכל אלגוריתם נאות שממדל חשיבה מתמטית עבור בעיות שכאלו בתורת המספרים אפשר ליצור אלגוריתם נאות A בתנאי המשפט של פנרוז. ומה לגביך? אפשר לשאול האם אתה עושה שימוש באיזשהו אלגוריתם מוחי נאות על מנת להגיע למסקנות כאשר אתה חושב באופן מודע על בעיות כמו השערת גולדבאך בתורת המספרים. אם קיים אלגוריתם כזה, קח אותו ובנה ממנו את האלגוריתם A. המודעות העצמית המקודדת באותו אלגוריתם מאפשרת לו לבחון את ההסקות שהוא מבצע ולוודא את תקפותן. לפיכך הוא יודע שהוא נאות ולכן הוא אמור להיות מסוגל להכריע בבעיית העצירה של "עצמו" אשר אנו יודעים שאין הוא מסוגל להכריע בה. אגב, עניין הקונסיטנטיות של המערכות האקסיומטיות איננו רלוונטי. בהנתן מערכת F, את הטענה P תחת אותה מערכת אקסיומטית אפשר לבטא כטענה Q: F=>P. אם הוכחת את P תחת F, האמיתות של Q איננה תלויה בקונסיטנטיות של F. אם F איננה עקבית, הטענה הזו תהיה נכונה באופן ריק. לגבי האינטואיציוניזם, זו תורה של לוגיקה מתמטית, לא של לוגיקה בסיסית. זה מודל של לוגיקה, ועם מודל אפשר לעשות מה שרוצים. בעצם, אינטואיציוניסטים מייחסים למלה "אמת" משמעות שונה מזו שאנחנו מייחסים לה, ולפיכך מגיעים למסקנות שונות מה אמיתי ומה לא. אבל זה רק ויכוח סמנטי. תפיסת האמת הבסיסית, הנפשית, של אינטואציוניסטי איננה שונה משלך. הוא פשוט משתמש בשיטתו המתמטית במלה "אמת" כדי לתאר תכונה שונה של משפטים מזו המקובלת. אבל גם אינטואיציוניסט יסכים, כך נראה לי, שאלגוריתם עוצר או שהוא איננו עוצר, אבל לא גם זה וגם זה. |
|
||||
|
||||
בשביל לנסח את הטיעון המדוייק, אין שום צורך לחזור על כל הפרטים בספר של פנרוז שהם, ברובם, חומר רקע. אתה מנסה לטעון כאן שיש *הוכחה* למשהו, לא טיעון אינטואיטיבי - זה לא כל כך קשה לדייק, ההוכחה שלו אינה ארוכה ואינה מסובכת כלל. "הוא נאות במובן של משפט פנרוז אם ורק אם A' נאות במובן המקובל בלוגיקה." - לא ולא. אין שום קשר בין מה שאלגוריתם זה עושה לבין הסקת מסקנות לוגיות, ואין שום דרישה ממערכת נאותה-במובן-הלוגי להתנהג בצורה המוזרה של "אי-עצירה" כאשר היא רוצה להגיד "לא". והרי אי-העצירה הזו היא כאן לב העניין, הטריק המלאכותי שבאמצעותו אינך מאפשר (לכאורה) לאלגוריתם "נאות" (במובן א') לזהות "נאותות" (במובן ב') של עצמו. אבל כל זה לא ממין העניין. כל מה שההוכחה הזו עושה היא להראות שכל אלגוריתם בעל תכונה P יש לו גם התכונה Q, כאשר P היא אותה דרישת-נאותות משונה הכרוכה באי-עצירה בתנאים מסויימים, ו-Q היא תכונה של האלגוריתם כאשר מריצים אותו על עצמו כקלט. איך מכאן אתה מסיק שאין שום אלגוריתם ה"מחקה הבנה אנושית"? למה שלכל אלגוריתם מועמד כזה תהיה התכונה המשונה P? למה צריכים להתעניין בתכונה Q? אנשים לא סבורים שהשיקולים הלוגיים שלהם תקפים בגלל שהם "מזינים את עצמם לעצמם כקלט" ויוצא "כן". ההנחה שאלגוריתם יכול "לחשוב משהו על עצמו" רק עם "מפעילים אותו על עצמו כקלט" היא תמימה, אין מילה אחרת. אפשר לבנות מחשב עם "תפיסת עולם" הבנוייה ממצבים שונים של רכיביו הפנימיים בלי שיהיה אפשר "להריץ אותו" על שום קלט בכלל. במסגרת תפיסת-העולם הזו אותו מחשב יכול לסבור שהירח ורוד, שמשפט גולדבך נכון ושהוא עצמו עקבי לגמרי. (תשאל, מה זה "לסבור" עבור מחשב? בדיוק מה שזה עבור בן-אדם: זה מה שהוא יגיד לך אם תשאל אותו). אין שום סיבה לדרוש ממחשב שכזה להגיב בצורה כזו או אחרת אם "מריצים אותו על עצמו". תאמר: שטויות, המחשב הזה לא באמת "סובר" שום דבר. הוא סתם מבצע פעולות מכניות. בסדר, אבל משפט פנרוז לא *מוכיח* את זה. משפט פנרוז לא אומר שום דבר על מחשב שכזה. "מכל אלגוריתם נאות שממדל חשיבה מתמטית עבור בעיות שכאלו בתורת המספרים אפשר ליצור אלגוריתם נאות A בתנאי המשפט של פנרוז." באמת? איך? יש אלגוריתמים פשוטים מאוד המוכיחים משפטים נכונים בתורת המספרים, ואם כך הם "ממדלים חשיבה מתמטית"; איך אתה מציע לייצר מהם אלגוריתם המזהה כל אלגוריתם עוצר על קלט נתון? הפסקה על האינטואיציוניסטים רווייה שגיאות עובדתיות, צר לי. זו בדיוק שיטה ב"לוגיקה בסיסית", לא מתמטית. היא מתייחסת ל"אמת" בדיוק באותו אופן כמו שיטות אחרות, ולא מתארת איזו "תכונה אחרת" של משפטים. אינטואיציוניסט בדיוק לא יסכים שאלגוריתם עוצר או שאינו עוצר (הוא יסכים שלא שניהם, אבל הוא לא יסכים שלפחות אחד מהשניים נכון). ======= יש לי תחושה - אולי אני טועה - שאתה משוכנע שכנוע עמוק שההוכחה של פנרוז תקפה, ושום דבר שאגיד לא יזיז אותך מדעתך. אני חושש שיכולתי להתמיד בדיון הזה מוגבלת מאוד, מסיבות שאינן תלויות בך (צר לי), אז אנסה עוד נסיון אחרון מכיוון אחר (להלן) ואפרוש. אשאיר לאחרים לקבוע מה, לדעתם, המצב לאשורו. הנה תרגיל בתכנות. כתוב תכנית ב-C בעלת התכונות הבאות: כשמזינים אותה בקלט "0", היא מתחילה להוכיח משפטים מתמטיים ב-ZFC, עם כללי ההסקה הרגילים (פשוט ע"י מניפולציה של מחרוזות). כשמזינים אותה בקלט "1" ולאחריו קטע קוד ב-C, היא מנסה ככל יכולתה לקבוע אם קטע הקוד הזה "מבצע שיקולים לוגיים נאותים": היא בודקת אילו טרנספורמציות קטע הקוד הזה מבצע על שרשראות של סימנים, היא מריצה אותו במשך שעה ובודקת מה יוצא; אם הכל נראה בסדר היא אומרת "כן, זה נראה נאות", אחרת היא מכריזה "לא נאות!". חוץ מזה, ליתר בטחון, יש לה רוטינה מיוחדת שכל מטרתה היא לזהות אם הקלט הוא, במקרה, הקוד שלה עצמה, ואם כן היא עונה "נאות ועוד ואיך". לתוכנה הזו יש יכולות כמו-אנושיות לא מבוטלות. היא תוכיח בהצלחה כל משפט מתמטי שהוכח אי-פעם בתורת-המספרים (ובמתמטיקה בכלל, חוץ ממספר קטן מאוד, יחסית, של משפטים הנסמכים על אקסיומות מחוץ ל-ZFC). חוץ מזה, יש לה יכולת לא מבוטלת לבחון "נאותות לוגית" של אלגוריתמים אחרים; יכולת זו איננה, חלילה, חסינה משגיאות, אך בכך היא אינה שונה מבני-אדם. חוץ מזה, היא מזהה נכונה את הנאותות שלה עצמה. למען הסר ספק, אני לא חושב שלתוכנה כזו יש "תודעה", ואני אפילו לא חושב שהיא "יודעת שהיא מפעילה שיקולים לוגיים נכונים" באותו מובן שאנו חושבים כך. אתה הוא זה שזיהית, בתיאורך את הבעייה, את היכולת "לדעת שאתה נאות" עם היכולת "לעצור ולהכריז 'כן' כשמזינים לך את עצמך", ודווקא במבחן הזה התוכנה הקטנה שלנו עומדת יפה. ודאי שתוכנה זו אינה "נאותה" במובן המלאכותי של פנרוז ("לא עוצרת אם הקלט שלה עוצר" וגו'), אך גם בכך היא לא שונה מבני-אדם. משפט פנרוז לא אומר עליה כלום (הנה, היא קיימת!) אתה יכול *להוכיח* שלתוכנה זו אין "תודעה", "הבנה", או "ידיעה שהיא מבצעת שיקולים נכונים"? אתה ודאי סבור שכן, אבל שים לב שיהיה עליך לבנות הוכחה חדשה - ההוכחה של פנרוז אינה מספקת. מכאן שההוכחה של פנרוז אינה עושה את מה שאתה חושב שהיא עושה - מראה שאין שום אלגוריתם נאות (במובן הרגיל!) ה"מזהה את הנאותות של עצמו". |
|
||||
|
||||
הוכחת המשפט המתמטי של פנרוז היא קצרה ופשוטה, אבל עיקר הדיון פה הוא על הפרשנות הפילוסופית שלו, וזו מורכבת מאוד. משום כך אני ממליץ לקרוא את ספרו של פנרוז משום שבהכרח אני מקצר ומפשט, ואולי אף טועה פה ושם. נדמה לי שחלק גדול מביקורת שאתה ואחרים הבעתם נענית שם באופן יותר מוצלח ממה שאני מצליח להעביר. הסברתי בדיוק כיצד הנאותות של הסקה לוגית ממופה לנאותות האלגוריתם בתנאי משפט פנרוז, אבל מכיוון שלא הבנת, אחזור על כך. נניח שנתון אלגוריתם A' הממדל הסקה מתמטית אנושית. האלגוריתם הזה מקבל כקלט טענה מתמטית מסוימת, משתמש בכללים לוגיים תקפים על מערכת אקסיומטית נתונה כדי לקבל ממנה את המשפט או את שלילתו. פלטים אפשריים לאותו אלגוריתם הם: "הטענה נכונה", "הטענה שגויה", "הטענה איננה ניתנת להכרעה במערכת האקסיומטית הנתונה", "אין לי מושג ונמאס לי" או שהאלגוריתם עשוי גם להמשיך ולרוץ עד אין קץ ללא הכרעה. כעת, נניח שאני מתעניין רק בבעיות עצירה של אלגוריתמים. כפי שכתבתי, חלק ניכר מהבעיות בתורת המספרים (כמו השערת גולבאך, משפט פרמה וכו') ניתנות לתרגום לבעיות עצירה, כך שלא מדובר בתחום צר (אבל אפילו אם כן, אז מה?) ומערכת שמסוגלת להגיע להכרעה בבעיות מתמטיות אמורה להיות מסוגלת להגיע להכרעה בבעיה האקוויוולנטית המנוסחת כבעיית עצירה. מה שצריך לעשות זה לכתוב קוד קטן שהופך קלט מהצורה B,C לקלט מנוסח באופן המובן לA' כטענה בדבר העצירה של B על הקלט C ומזין זאת לA'. קוד נוסף יקבל את הפלט של A' ויתקע כל תגובה אפשרית פרט לזו הקובעת ש-B איננו עוצר על C. סך כל הקוד המתקבל הוא האלגוריתם A. אם ההסקה של A' נאותה אז A הוא נאות בתנאי משפט פנרוז. מדוע? משום שבמקרים בהם A' מגיע להכרעה שאלגוריתם הקלט אינו עוצר, זו הכרעה נכונה בהכרח בגלל השימוש בשיקולים לוגיים תקפים, ולפיכך A עוצרת כראוי. בשאר המקרים A איננה עוצרת ומקרים אלו לא יכולים לפגוע בנאותות שלה. מכאן שהנאותות של האלגוריתם במשפט פנרוז כלל איננה סתם אילוץ משונה אלא מודל מוצלח לנאותות הסקה מתמטית, לפחות בתחום מתמטי ספציפי. לכל היותר ניתן לטעון שהנאותות במשפט פנרוז היא תכונה כללית יותר מאשר הנאותות הלוגית הסטנדרטית, אולם זה לא משנה דבר מבחינת תוצאות המשפט, משום שאי-נאותות של A בהכרח גוררת שלA' יש שגיאה בהסקה. על פי משפט פנרוז אלגוריתם A בעל תכונה P (נאותות) בהכרח לא מצליח להגיע להכרעה נכונה בבעיה מסוימת (בעיית העצירה של אלגוריתם האלכסון שלו על עצמו). אילו הוא היה ניחן ביכולת ההסקה המתמטית האנושית ואילו הוא היה מסוגל להסיק באופן כלשהו שהוא בעל תכונה P, אזי הוא היה יכול להשתמש במשפט פנרוז (כי יכולת ההסקה האנושית מאפשרת זאת) ולהכריע באותה בעיית עצירה. זו סתירה, ולכן בהכרח A איננו יכול להסיק בשום אופן שהוא בעל תכונה P. אבל בני אדם בהחלט יודעים שההסקה הלוגית-מתמטית שלהם נאותה. ידיעה זו היא שמגדירה בכלל הסקה לוגית תקפה מהי. אין לך שום דרך להבחין בין שיקול תקף לשיקול פסול פרט לאותה ידיעה פנימית. לו הייתה התודעה האנושית חישובית, האלגוריתם A המבוסס על יכולותיה היה בעל תכונה P (כי זו נובעת, כאמור בפסקה הקודמת מנאותות החשיבה הלוגית), מודע להיותו בעל תכונה P ולפיכך סותר את מסקנות המשפט של פנרוז. זה הכל. "ההנחה שאלגוריתם יכול 'לחשוב משהו על עצמו' רק [אם] 'מפעילים אותו על עצמו כקלט' היא תמימה" - או שלא הבנתי אותך או שלא הבנת אותי. איפה הנחתי הנחה כזו. כל ההתיחסות שלי בקשר לטיעון של פנרוז היא ביהיוויוריסטית לחלוטין, פרט להנחה שההסקה האנושית מודעת לנאותות של עצמה, ולפיכך יכולה להשתמש בידע זה. "יש אלגוריתמים פשוטים מאוד המוכיחים משפטים נכונים בתורת המספרים, ואם כך הם 'ממדלים חשיבה מתמטית'; איך אתה מציע לייצר מהם אלגוריתם המזהה כל אלגוריתם עוצר על קלט נתון?" - לדוגמה, קח אלגוריתם המוכיח את משפט פרמה. מכאן הוא יסיק (לפחות אם הוא ניחן בתבונה אנושית) שאלגוריתם העובר על כל רביעיות המספרים הטבעיים a,b,c,n עם n גדול מ-2, ועוצר רק כאשר מתקיים a^n+b^n=c^n, בהכרח איננו עוצר. לגבי האינטואיציוניזם, אני חולק עליך לחלוטין, אבל התגובה הזו ארוכה מדי כמו שהיא, ולכן אני מציע לדחות את הדיון הזה להזדמנות אחרת. "יש לי תחושה - אולי אני טועה - שאתה משוכנע שכנוע עמוק שההוכחה של פנרוז תקפה, ושום דבר שאגיד לא יזיז אותך מדעתך" - מוזר, כי לי יש תחושה שאתה משוכנע שכנוע עמוק שההוכחה של פנרוז איננה תקפה, ושום דבר שאגיד לא יזיז אותך מדעתך. אני התחלתי את דרכי כפיזיקליסט, ותגובתי הראשונה לטיעון של פנרוז הייתה "מה זו השטות הזו? אי אפשר להוכיח שום דבר על התודעה האנושית מתוך משפט מתמטי! ובטח שהסקה מתמטית היא חישובית. הרי היא מבוססת על שיקולים שניתנים לפורמליזציה מלאה." לקח לי זמן רב להשתכנע שפנרוז צודק, ולהבין למה הוא צודק. התוכנה שהצעת איננה נאותה. כלומר, היא אולי נאותה בנוגע למשפטים בZFC, אולם היא תטעה בנוגע לנאותות של אלגוריתמים אחרים. למעשה, התוכנית הזו עשויה לתת תשובות סותרות לאותה בעיה, פעם כשהיא מנוסחת כבעיה בZFC ופעם כשהיא מנוסחת כבעיית נאותות של אלגוריתם. שים לב: היא איננה יכולה להוכיח את הנאותות של עצמה, (לגבי הסקת משפטים בZFC) באמצעות משפט ב-ZFC. ואילו על מוד ההסקה השני שלה ממילא איננו יכולים לסמוך. אבל הכי חשוב, התכנית שלך איננה יכולה לסמוך על הנאותות של עצמה (כביכול) לשם הוכחת משפטים ב-ZFC משום שהוספת אקסיומה כזו איננה קונסיסטנטית עם ZFC (זו למעשה תוצאה ממשפט פנרוז). משום כך אי אפשר לומר שיש לה "ידע" בדבר הנאותות של עצמה. ידע איננו הצהרה סתמית. הוא משהו שניתן להשתמש בו לשם הסקת מסקנות. |
|
||||
|
||||
איפה אמרתי שאני "מאמין" שחוסר סבלנות הוא מרכיב "הכרחי" של תודעה? אמרתי רק שלא ניתן לפסול את האפשרות. איפה אמרתי שהתוכנה, שמחקר ה-AI שואף לפתח, לא תצליח להבין משפט מתמטי פשוט? טענתי שהיא תהיה שקולה כנראה לתודעה אנושית. תודעה אנושית, מסתבר, כן מצליחה להבין משפטים מתמטיים, אפילו לא פשוטים. (כמובן שיש כאלה שמתעקשים "לקרוא" הרבה יותר מהוכחות מסוימות, אבל זה כבר סיפור אחר). "לחקות את הקיים" – מבחינת היכולת; לא מבחינת אופן הביצוע. ממש כמו שבפיתוח רובוטים דמויי-אנוש, מנסים לחקות את אופן ההליכה האנושי, מבלי להתבסס על המנגנונים הביולוגיים: משהו שמשיג את אותה התוצאה, בדרך אחרת. התוצאה אפשרית (עובדה: בני-אדם הולכים), ולכן יש תקווה להגיע אליה גם בדרכים אחרות. כך גם לגבי תודעה: התודעה אפשרית (עובדה: בני-האדם מודעים), ולכן יש תקווה להגיע אליה גם בדרכים אחרות. אבל למרות שהמטרה היא *להגיע* לתודעה באופן שונה מאוד, אין הכוונה שהתודעה עצמה תהיה שונה מאוד (למשל, בעלת יכולות מתמטיות מושלמות). לא אני זה שמראה "אמונה דתית". אתה יוצר קו שחור-ולבן בין תודעה "מתמטית", שלא יכולה לטעות – דבר שאינו קיים, לבין תודעה שלא תצליח להבין משפט מתמטי פשוט אבל כן תבין מחזה של שייקספיר – דבר אחר שאינו קיים. משהו באמצע דווקא כן קיים: התודעה האנושית. היא כן יכולה לטעות, גם בהקשרים מתמטיים; היא כן מבינה משפטים מתמטיים פשוטים, וגם מסובכים; והיא מבינה גם מחזות של שייקספיר. אני, בניגוד לך, לא פוסל על הסף את האפשרות ליצור גרסת תוכנה של תודעה השקולה לתודעה האנושית. זה שאינני מקבל את ה"הוכחות" של פנרוז לאי-ייתכנותה של תוכנה שכזו לא הופך אותי ל"מאמין דתי"; גדולים וטובים ממני מצאו פסול בהוכחה זו, ואחרות דומות לה. ייתכן בהחלט כי בעתיד תמצא הוכחה שבאמת מעידה על כך שלא ניתן ליצור תודעה מתוך מערכת פורמלית; אולם אין הגיון בזניחת תחום המחקר כל עוד לא נמצאה הוכחה מסוג זה. נדמה לי שמבחינתי, הענף הזה בדיון הסתיים בזאת. |
|
||||
|
||||
''ייתכן בהחלט כי בעתיד תמצא הוכחה שבאמת מעידה על כך שלא ניתן ליצור תודעה מתוך מערכת פורמלית'' - אני דווקא חושב שזה בהחלט לא ייתכן. אני מוכן לפרט אם יש ביקוש (אבל לא מתחייב על לוח הזמנים). |
|
||||
|
||||
נראה לך שלא יהיה ביקוש? אגב, אני מציע להקפיד להשתמש במילה "תבונה" במקום "תודעה", כדי למזער את מספר הסכסוכים הטעונים בין אלגוריתמיקאים לבין פילוסופים. |
|
||||
|
||||
אפשר גם להשתמש במילה ''גזר'' במקום ''מלפפון'', למען שלום בית. |
|
||||
|
||||
''ההנחה שהחשיבה הלוגית האנושית בתנאים אידאליים היא נטולת פגמים עומדת ביסוד כל שיח וכל טענה שאנו מעזים להגות. בלי זה אין כלום.'' זו אולי גישה שלך, אבל זו איננה אקסיומה המקובלת על כולם. לפחות לא עליי. בעיני, טעות ספק ושינוי דעה הם חלק בלתי-נפרד מהחשיבה האנושית. גם ללא עייפות ומגבלת זמן, יש גבולות לכושר הבנתנו. ויש טיעונים שלא נוכל לנסח. הקודקוד שלנו מוגבלף יש בו מאגר בגודל סופי של מידע. זה מה שיש, ואפשר ללמוד לחיות עם זה. |
|
||||
|
||||
שאלה פשוטה: האם לדעתך ייתכן שאי פעם נגלה ש2+2 איננו 4? (וכדי למנוע התחכמויות, התרגיל נתון תחת האקסיומות הסטנדרטיות של הארתימטיקה). אינני עוסק בדעות אלא בתקפות של שיקולים לוגיים אלמנטריים. הלוגיקה איננה משתנה. הבטחון בכך ש (A=>B) וגם (B=>C) גוררים (A=>C) הוא מוחלט. |
|
||||
|
||||
אני בטוח ש 2+2=4 לנצח, ככל האמור בתפוחים ובתפוזים. מה שאינני בטוח בו - למרות שהרעיון תמיד עורר בי חלחלה - הוא שתורת המספרים קונסיסטנטית. לעולם יקנן בי החשש שרק חוקי החשבון על מספרים סופיים עד 10^10^10 הם נכונים, וכל השאר יסודו בטעות. |
|
||||
|
||||
עובדות: יש לך תפוח אחד ולי יש שני תפוחים. שאלה: כמה תפוחים יש לנו ביחד? תשובה: שלוש. סתם, התפוחים שלי הם בעצם תפוזים. שאלה: כמה תפוחים יש לנו ביחד? תשובה: אחד. אז, האם המסקנה הראשונה שגויה? לא. היא המסקנה המתבקשת על סמך העובדות שהיו ידועות לך בזמן שהיא נשאלה. |
|
||||
|
||||
מה זה קשור לטיעון שהצגתי? לאלגוריתם ידועות כל העובדות הרלוונטיות, כולל הקוד שלו עצמו, כולן נכונות, והוא מסיק מהן מסקנה שגויה (שזה איננו הקוד שלו). |
|
||||
|
||||
האלגוריתם לא יודע שהוא ''אלגוריתם'', הוא מאמין שהוא ''מתמטיקאי מוצלח'', ועל סמך האמונה (הלא נכונה הזאת) הזאת הוא מסיק מסקנה שגויה. |
|
||||
|
||||
<עבור מחשב, בניגוד לעבור אדם, קל להציג למכונת טיורינג תדפיס, תוך השמעת המשפט "הנה, זה קוד המקור שלך" בנימה מזלזלת במידה ההולמת. כן, אבל איך המחשה ידע שזה אכן קוד המקור שלו? |
|
||||
|
||||
יקמפל, יריץ, ויבחן את התוצאה במבחן טיורינג, כמובן... |
|
||||
|
||||
המחשב לא ''יידע'' שזה קוד המקור שלו משום שמחשבים לא מסוגלים לדעת. אבל בהחלט אפשר לגרום לתוכנת ''בינה'' מלאכותית להשתמש בעובדה שקוד המקור שלה (אותו היא יכולה לקרוא מהזכרון, למשל) הוא אכן קוד המקור שלה. |
|
||||
|
||||
קוד המקור לא נמצא בזכרון המחשב בזמן שהתוכנית רצה. במקרה של תוכנה בשפה גבוהה, התוכנה לא יכולה לקרוא אפילו את הגרסה המהודרת מהזיכרון. שלא לדבר על מורכבויות של תוכנה מבוזרת בהקשר זה. |
|
||||
|
||||
עזוב אותך מ"תוכנה מבוזרת" ושאר הפרטים הטכניים של היישום. כל מערכת חישובית (ללא מגבלות זכרון, אבל זה לא פרט מהותי) אקוויוולנטית למכונת טיורינג. למכונת טיורינג בוודאי יש נגישות לקוד. הכל רשום על הסרט. ולמעשה, גם לתוכנת מחשב תמיד אפשר להוסיף את הפונקציונליות המאפשרת לה לקרוא את עצמה מהזכרון, מהקובץ, מהארד דיסק או מכל מקום בו קודדת אותה. מה זה משנה בכלל? |
|
||||
|
||||
ודאי שזה משנה: זהו עירוב רמות. סביר מאוד שתוכנה נבונה לא תהיה בעלת גישה לשכבות הנמוכות המרכיבות אותה. סביר שהיא תסבול מבעיות זכרון (כלומר, תשכח דברים מדי פעם, לא תוכל לאחזר פירטי מידע שונים באותה מהירות שהיא מצליחה להזכר בפרטי מידע אחרים, ואף תסבול משגיאות בזכרון – תזכור דברים לא נכונים; זאת משום שעיבוד המידע לצרכי שמירתו עשוי להיות lossy). ואם הקוד משנה את עצמו תוך-כדי ריצה (בהחלט אפשרות), קריאה מהדיסק תניב תוצאה לא רלוונטית, וקריאה מהזכרון תניב תוצאה לא עקבית (המידע השתנה בין תחילת הקריאה לסופה, וקבלנו תמונה מעורבלת). לטעון שהיא "יכולה לקרוא את עצמה מהדיסק" שקול לטענה שאתה יכול "לקרוא את עצמך מסריקת CT". כן, אתה יכול להתבונן בסריקת CT של המוח (או בפלט של מיפוי מתקדם יותר) ולדעת "זה אני", אבל זו ממש לא חישה ישירה, ואין כל סיבה שבעולם לחשוב שלתוכנה תבונית כן תהיה חישה ישירה; גם היא עשויה להרהר, "אבל האם זה *באמת* אני"? כמובן, אתה עשוי לטעון שאני מדבר שטויות משום שתוכנה, בהגדרה (לדעתך), לא יכולה "לחוש" כלום, אבל זוהי הנחת המבוקש. |
|
||||
|
||||
אתה מתעקש להסיט את הדיון לפרטים טכניים שלא רלוונטים לסוגיה העקרונית. הנח שמדובר ב"בינה" מלאכותית שהישום שלה הוא במכונת טיורינג. במכונת טיורינג אוניברסלית אין הפרדה בין חלק הזכרון (כלומר, הסרט) שמקודד את הקלט והחלק שמקודד את התוכנית (טבלת הפעולה), ולכן יש לה גישה לשניהם. האם ישום כזה ייתכן לדעתך? לא שיש בעייה אמיתית עם הטיעון גם כשמדובר במחשב ממש. אם אין לתוכנה גישה לזכרון, פשוט תוסיף לה פונקציה שמקנה לה גישה כזו. מה הבעיה? וקוד שמשנה את עצמו לא ישנה כלום, משום שהתכנית מוגדרת על פי המצב בתחילת ההרצה. פשוט צריך לשמור עותק מהתכנית במצבה ההתחלתי לפני שמבצעים כל דבר אחר. כמובן, שאני מניח שהמחשב לא עושה עיבוד lossy, אבל זו הנחה סבירה בדיון עקרוני. ניסיון להצדיק קיום בינה חישובית על סמך בעיות חומרה נראה לי ממש האחזות בקש. אגב, אפשר להקנות לתוכנית "ידע" של הקוד של עצמה גם ללא שום גישה לזכרון המכיל את הקוד. יש תרגיל כזה: לכתוב תוכנית המדפיסה את עצמה (בלי לקרוא מקובץ). אתה מוזמן לנסות. |
|
||||
|
||||
במכונת טיורינג יש גם ''טבלת פעולה'' שהיא לא חלק מהסרט. אתה יכול להתיחס לטבלת הפעולה בצירוף עם המצב הנוכחי כאל זיכרון. |
|
||||
|
||||
במכונת טיורינג *אוניברסלית* טבלת הפעולה היא חלק מהסרט. אבל למה להסתבך? אם יש תוכנית המדפיסה את עצמה (אפילו בלי לקרוא את עצמה מקובץ) אז לתוכנית יש גישה לקוד של עצמה. |
|
||||
|
||||
עיבוד lossy עשוי להיות *הכרחי* במערכת תבונית: הקלט הוא כמות אדירה של מידע, והמערכת שומרת רק חלקים ממנו, באופן סלקטיבי. אופן סלקטיבי-סטטיסטית יכול להוביל לשמירת מידע שגוי: לא בשל תקלות או בעיות חומרה, אלא מתוך בחירה תכנונית (ע"ע אלגוריתמים בלמידה חישובית, קידוד מידע אופטי וכיוצ"ב). כלומר, ההנחה שלך – שהעיבוד אינו lossy – אינה "הנחה סבירה בדיון עקרוני" כלל וכלל. הדוגמא היחידה שיש לנו למכונה חושבת – המוח האנושי – בפירוש שומרת מידע באופן lossy, מאוד אפילו. אתה מתעקש להתעלם מריבוי הרמות במערכת ממוחשבת. להקנות לתוכנה מודעת "פונקציה שמקנה לה גישה לזכרון" שקול להוספה, עבור אדם, של חוש המודיע לו מה קצב היריה של ניורון נתון. אדם בעם חוש כזה יוכל "לסרוק" את כל המוח שלו מתחילתו ועד סופו, ולקבל מידע על כל ניורון וניורון. *אבל הניורונים ממשיכים לפעול בזמן שהוא עושה זאת*, והתמונה משתנה תוך-כדי סריקתה, מה גם שבהגדרה, המידע שהוא מקבל מהניורונים צריך להשמר בזכרון... מבוסס ניורונים. כמובן שהוא לא יוכל לקלוט ולהבין תמונה שלמה (... אלא אם העיבוד יהיה lossy. "באונה השמאלית הכל נראה בסדר", אם להקצין). אם תמשיך לדבוק ברמה הנמוכה ביותר דווקא: הנ"ל נכון גם לגבי מכונת טיורינג. אם המכונה רוצה להגיע למסקנה לגבי תוכן הסרט, היא צריכה *לשנות* את הסרט. ולשנות, אגב, גם את מצבה הפנימי, שהוא *אינו* חלק מהסרט והיא אינה מודעת לו, בדיוק כפי שאתה אינך מודע למצב המוח שלך. (אנא, אל תשוב ותגיד "מכונת טיורינג אינה מודעת למצבה כי מחשב לא יכול להיות מודע"; אתה מניח את המבוקש). ואם תגיד, "למחשב אפשר לכתוב פונקציה שמקפיאה את פעילותו, יוצרת dump של הזכרון כולו (לקובץ למשל), ואז ממשיכה את הפעילות" – אז נכון, המחשב ידע שזה האלגוריתם שלו-עצמו, אבל רק בגלל שאמרו לו את זה. זה שקול לחיבור אדם למכשיר סופר-CT שיספק לו תדפיס רב-כרכים המתאר במדויק את מצב המוח ברגע נתון, על כל מאה מיליארד הניורונים שבו, פלוס הבטחה שזה באמת המוח שלו. |
|
||||
|
||||
לא יכול להיות שהחישוב ה-lossy חיוני לתבונה חישובית, משום שמוכח שהיכולת החישובית של אלגוריתם סטטיסטי זהה לזו של אלגוריתם דטרמיניסטי. אם המוח פועל באופן חישובי והסתברותי אז אולי לא ניתן לבצע סימולציה של המוח שלך דווקא, אבל ניתן לסמלץ באופן דטרמיניסטי מוח טיפוסי. חוץ מזה, כאשר מדברים על בינה של מחשב, הרעש הסטטיסטי מיושם באמצעות פונקציות פסוודו-רנדומיות, כלומר עקרונית האלגוריתם הוא דטרמיניסטי לכל דבר. ה"תוכנית" של המוח היא מצבו ההתחלתי. אם "צילמת" אותו ברגע נתון ואכסנת את המצב בזכרון חיצוני כלשהו, אז אתה יכול לגשת לזיכרון ולבדוק אותו בכל רגע בלי בעיה. כמובן, ה"מערכת" במקרה זה היא המוח פלוס הזכרון החיצוני. אז מה? במקרה של מכונת טיורינג אפשר לתכנן אותה כך שהפעולה הראשונה שלה תהיה להדפיס על הסרט את טבלת הפעולה, וזו תהיה זמינה לכל אנליזה לאחר מכן. זה אקווילנטי לתוכנית שהזכרתי בתגובה קודמת, אשר מדפיסה את עצמה. אני מציע לך לנסות לכתוב תכנית כזו ולהווכח שמדובר בעניין טכני פתיר לחלוטין. זה תרגיל די מאלף. ולמעשה, כל מה שכתבת לא רלוונטי פרט לפיסקה האחרונה. נכון שהמחשב יכיר את האלגוריתם של עצמו "בגלל שאמרו לו את זה" אבל זה נכון לכל מה שהמחשב יודע. המחשב יודע ש1+1=2 בגלל ש"אמרו לו את זה". לפי הגישה הביהוויוריסטית (שלך, לא שלי!) לא משנה בכלל מה מקורות המידע ומה קורה "בפנים" אלא רק מה המחשב עושה בפועל - מבחן התוצאה. המחשב יכול לבחון את הקוד של עצמו, ומשתמש בעובדה (הנכונה!) שזה הקוד של עצמו. מה הבעייה עם זה? |
|
||||
|
||||
<דמיין כאן אנחת כאב של מישהו שנמאס לו לחזור על עצמו> אף אחד לא מדבר על "רעש סטטיסטי" ועל איבוד מידע רנדומי. מדובר באיבוד מידע מכוון – בחירה אלגוריתמית של מה חשוב לזכור ומה לא, שמירה סלקטיבית של חלקים מהמידע. ביצירת תמונת JPEG אין שום גורם אקראי, אבל האלגוריתם הוא lossy. כן, הוא גם דטרמיניסטי, אבל זה לא קשור בכלל לנושא הדיון. גם אתה יודע כי 1+1=2 "כי אמרו לך את זה", אבל בהמשך הבנת את זה. אתה (כרגיל) מערבב בין רמת החומרה של המחשב (שלא "יודעת" כלום, אבל יכולה לחשב את 1+1 ממש כפי שהניורונים בראשך יכולים לבצע סכום של קצב היריה של ניורוני הקלט שלהם) לבין הרמה המודעת של מחשב תבוני, שיודעת כי 1+1=2 בהתחלה כי אמרו לה את זה, ואח"כ כי תבין את זה. (אל תגיד "היא לא תבין". אל תניח את המבוקש). |
|
||||
|
||||
<דמיין כאן אנחת כאב של מישהו שנמאס לו לחזור על עצמו> אתה מזכיר לי מישהו שטוען שניתן לבנות פרפטום-מובילה. מסבירים לו שמכונה כזו סותרת את חוקי התרמודינמיקה, ובתגובה הוא אומר: לא, משתמשים בגלגליות המותקנות על שרשרת המחוברת לשסתום הידראולי המופעל באמצעות שדה מגנטי. זה פותר את העניין! כל התחום של חקר חישוביות מבוסס על תזת צ'רצ'-טיורינג לפיה כל מערכת חישובית חזקה דיה אקוויוולנטית למכונת טיורינג (ולכל מערכת חישובית חזקה דיה אחרת). זה בכלל לא משנה אם הישום הוא סטטיסטי, lossy, כתוב ב-שפת-על, בשפת מכונה, מבוזר, מקבילי, מבוסס על מערכת של גלגלי שיניים או על מליארד סינים המאותתים זה לזה בדגלים. כל אלו יתנו את אותה תוצאה *בדיוק*. אז שיהיה lossy. מה זה משנה? זה עדיין חישובי. עדיין ניתן לעשות אותו דבר במכונת טיורינג, או בבייסיק, או במאטלאב, או בעובדים זרים מסין. ההתעקשות על דיון בישום זה בסך הכל מיסוך עשן שאיננו רלוונטי וגורם לשנינו להאנח בתסכול. התוכנה מכירה את הקוד של עצמה כי כך היא בנויה (ואם היא לא בנויה כך מראש, ניתן להוסיף תכונה זו בקלות). כמו שתוכנה יכולה לשנות את הקוד של עצמה, היא יכולה לקרוא ולזהות אותו. לא צריך להסביר לתוכנה כלום, רק להוסיף עוד כמה שורות קוד. האם טענתך ששורות הקוד האלו יגרמו ל"בינה" המלכותית להתפוצץ ולעלות בלהבות? |
|
||||
|
||||
הבעיה עם זה היא ש"הקוד של עצמו" משתנה ללא הרף, כך שהמחשב שבודק אם זה הקוד של עצמו משנה את הקוד של עצמו תוך כדי בדיקה בגלל עצם הבדיקה (אם תרצה, הוא "לומד" משהו חדש) ולכן אינו עוצר או שהוא נותן תשובה שגויה. גם המתמטיקאי א.ע. נתקל בבעיה דומה כשניסה לענות לך על השאלה, וזאת הסיבה שלא קיבלת תשובה ושהמניות של גוגל נפלו. תוכל, אולי, לטעון שאפשר להגיד למחשב לכבות את פונקציית הלמידה בזמן ביצוע הבדיקה, אבל זה יהיה יעיל כמו להגיד לך "שכח את מה שאמרתי". הקוד של המחשב לא מאפשר לכבות את הפונקציה הזאת אלא במצב תרדמת שבו כל הפונקציונליות שלו נעלמת. כל פעילות תבונית מקושרת מעצם טיבה עם שינוי התוכנה (איך אני יודע? מהתבוננות במכונות טיורינג תבוניות בסביבה הקרובה שלי). התנגדות אפשרית אחרת היא להגיד שניתן למחשב קוד שישתנה אף הוא תוך כדי בדיקה במקביל לשינוי במחשב הבודק, כלומר לא קוד "מת" אלא מחשב מראָה, ושני המשובטים יבדקו זה את זה הדדית ובו-זמנית. אני חושב שיש רכיבים (פסאודו) רנדומליים שמפילים את האפשרות הזאת. שטויות? בסדר, שכח את מה שאמרתי. |
|
||||
|
||||
למכונת טיורינג אין גישה לעצמה - מערכת המצבים שלה וכו' הם מעבר להישג ידה. אתה יכול להעביר לה כקלט דבר שאתה, מבחוץ, יודע שהוא קידוד כלשהו שלה, אבל לה עצמה אין שום דרך לוודא את זה. |
|
||||
|
||||
או שהיא תתהה אם תיכנתו אותה לחשוב שזה קוד המקור שלה. |
|
||||
|
||||
או שהיא תתהה אם יש לה בכלל מקור. בסופו של דבר, רוב הציפורים אינן מבורכות בבינה רבה... |
|
||||
|
||||
או שהיא תתהה אם רובוטים חולמים על כבשים חשמליות. |
|
||||
|
||||
גרמת לי לתהות לרגע אם יש לי מקור (התשובה שלילית) |
|
||||
|
||||
"שום שפה פורמלית איננה שלמה, כלומר לכל שפה פורמלית תמיד יהיו הוכחות שלא יהיה ניתן לנסח בה" יותר במדויק, לכל שפה פורמלית יש *טענה* (נקרא לה "טענת-גדל") שהיא נכונה אך לא ניתן להוכיחה באותה שפה. אבל האם בני אדם יכולים לראות את נכונות טענות גדל? לא! לא רק שבני אדם לא יכולים לראות את נכונות טענות-גדל, הם לא יכולים לראות את הטענות בכלל. בפרט, גדל הראה איך בונים טענת-גדל עבור "פרינקיפה מתמטיקה", ושכנע אותנו שהטענה קיימת, אבל לא הראה את הטענה עצמה. הסיבה היא, כמובן, שהטענה ארוכה מכפי תפיסת אנוש. במונחי הורסיה שלך, טענת-גדל (ובוודאי הוכחה שלה) לא ניתנת להבעה בשפה טבעית, כי בשפה טבעית מבעים חייבים להיות מוגבלים באורכם (בהתחשב בדרישתך ששפה טבעית תהיה משהו שאנשים מבינים). אותה התנגדות תקפה, בשינויים הנדרשים, גם לורסיה המקורית של לוקאס, וגם לזו של פנרוז. |
|
||||
|
||||
המשפט של גדל הוא קונסטרוקטיבי. יש הרבה משפטי קיום במתמטיקה שמוכיחים שקבוצה מסוימת קיימת מבלי להציג שום בנייה מפורשת, אבל המשפט של גדל איננו אחד מהם. יש בו תיאור מדוקדק, אלגוריתמי, של האופן בו נבנית הטענה שאיננה נתנת להוכחה בשפה הפורמלית הנתונה (אקסיומות וכללי הסק). כל פעולה חישובית סופית היא בתחום "תפיסת אנוש", ללא תלות באורכה (למעשה, ההגדרה של "תהליך חישובי" תלויה בכך, למשל בהקשר לתזת צ'רצ'-טיורינג). היא אולי לא בתחום "סבלנות אנוש", "אורך חיי אנוש" וכדומה, אבל כל אלו לא קשורים לתפיסה. אילו היית יכול לתרגם את התפיסה המתמטית האנושית לאלגוריתם, לאלגוריתם זה לא היו שום מגבלות טכניות מהסוג הנ"ל. הוא יכול היה לטפל גם בטענת-גדל עבור הפרינקיפיה מתמטיקה, והיית יכול להפעיל עליו את הטיעון של לוקאס. ואם אתה בכל זאת מתעקש שלמגבלות הסבלנות והערנות האנושית יש איזה קשר מהותי לתפיסתו המתמטית, הנה פתרון אלטרנטיבי שמנטרל את הבעייה לחלוטין. למחשב (או, ליתר דיוק, למכונת טיורינג) אין שום בעייה לטפל במבעים בכל אורך סופי שהוא. כעת, השווה את היכולת המתמטית של מחשב (A) ליכולת המתמטית של אדם+מחשב (B). מערכת B יכולה לטפל גם בטענת-גדל עבור הפרינקיפיה מתמטיקה, וגם בטענת-גדל עבור השפה הפורמלית שמתארת את היכולת המתמטית של מערכת B עצמה (אם, לכאורה, קיימת כזו). אז מה תאמר עכשיו? האם מערכת B יכולה להיות אלגוריתמית? |
|
||||
|
||||
אין שום בעיה להביע את טענת גדל לתורה נתונה כמו ZFC או הפרינקיפה, והיא אינה ארוכה מתפיסת אנוש. הבעיה היא שגם התאור שלך "לכל שפה פורמלית יש *טענה* (נקרא לה "טענת-גדל") שהיא נכונה אך לא ניתן להוכיחה באותה שפה" אינו נכון. ראשית כל, הערה טכנית - מדובר על תורה ולא על שפה. שנית, משפט גדל מתאר איך בונים טענת-גדל עבור תורה נתונה (העומדת בתנאי המשפט). טענת גדל הנ"ל נכונה אך אינה ניתנת להוכחה *אם ורק אם התורה עקבית*. מכיון שאיננו יודעים אם התורה עקבית או לא, הרי שגם אנחנו לא יודעים אם טענת-גדל הנ"ל נכונה או לא. |
|
||||
|
||||
שאלה שכל הזמן עונים לי עליה וכל הזמן אני שואל מחדש: "נכונה" - באיזה מודל? אם היא הייתה נכונה בכל המודלים, אז לא נובע ממשפט השלמות של גדל שהיא יכיחה? ואם קיים מודל שבה היא לא נכונה, מדוע ה"אם ורק אם" לא מראה שהתורה לא עקבית? |
|
||||
|
||||
שאלה טובה. התשובה הלא מספקת היא שהוא נכון ב''עולם האמיתי''. לפרטים, פנה לאורי של מחר. |
|
||||
|
||||
(היום זה אורי של מחר?) |
|
||||
|
||||
(זה היה אורי של שלשום) לענינינו: הניסוח "לכל תורה עקבית ו.... יש פסוק נכון שאינו יכיח בה" מניח מראש שיש "עולם אמיתי", שהפסוק הנ"ל נכון בו. כתבתי קצת יותר, אבל במקום זה בוא נשאל שאלה: כשאנחנו אומרים שהתורה עקבית, איפה הפסוק הזה נכון? |
|
||||
|
||||
המממ. תפסת אותי. לא חשבתי על תורות אף פעם בתור מודלים של איזו תורה אחרת. על תורות מסדר ראשון אפשר לחשוב בתור קבוצות, לא? כלומר, אפשר לדבר על ה-Von Neumann universe, למשל. |
|
||||
|
||||
על כל דבר במתמטיקה אפשר לחשוב בתור קבוצה (פחות או יותר). בכל אופן, יש מין שאלת ביצה-תרנגולת כאן. אם יש לך לוגיקה, אתה יכול בעזרתה לדבר על קבוצות ועל כל היקום המתמטי, אם יש לך קבוצות, אתה יכול בעזרתן לתאר את הלוגיקה, אבל משהו צריך לבוא קודם, לא? חזרה לגדל: הניסוח המועדף עלי אומר: כל תורה, או שאין לה תאור סופי, או שהיא פשוטה (במובן שאי אפשר לנסח טענות מסוימות) או שאינה עקבית (אפשר להוכיח ולהפריך כל דבר) או שאינה שלמה (יש פסוקים אי אפשר להוכיח או להפריך). אם אתה מניח שיש מספרים טבעיים "אמיתיים" שם בחוץ, אז אין תאור סופי נכון ומלא שלהם. בפרט אם התאור שלי סופי ונכון, אז הוא אינו מלא, כלומר, יש טענות נכונות שהוא אינו מראה. |
חזרה לעמוד הראשי |
מערכת האייל הקורא אינה אחראית לתוכן תגובות שנכתבו בידי קוראים | |
RSS מאמרים | כתבו למערכת | אודות האתר | טרם התעדכנת | ארכיון | חיפוש | עזרה | תנאי שימוש | © כל הזכויות שמורות |