בתשובה לשייח ספיר, 05/11/07 17:28
ההוכחה? 462281
בשביל לנסח את הטיעון המדוייק, אין שום צורך לחזור על כל הפרטים בספר של פנרוז שהם, ברובם, חומר רקע. אתה מנסה לטעון כאן שיש *הוכחה* למשהו, לא טיעון אינטואיטיבי - זה לא כל כך קשה לדייק, ההוכחה שלו אינה ארוכה ואינה מסובכת כלל.

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

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

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

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

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

=======

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

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

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

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

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

הסברתי בדיוק כיצד הנאותות של הסקה לוגית ממופה לנאותות האלגוריתם בתנאי משפט פנרוז, אבל מכיוון שלא הבנת, אחזור על כך. נניח שנתון אלגוריתם 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 (זו למעשה תוצאה ממשפט פנרוז). משום כך אי אפשר לומר שיש לה "ידע" בדבר הנאותות של עצמה. ידע איננו הצהרה סתמית. הוא משהו שניתן להשתמש בו לשם הסקת מסקנות.

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

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