|
||||
|
||||
אם תבנה מחשב שעובר את מבחן טיורינג (רק היכולות שלנו, לא מוח של מ"ק כמו לשכ"ג :) אז הוא יכול גם לתכנת בשבילך, אתה לא צריך להעסיק יותר מתכנתים, שזה דבר די יקר, בנוסף ליכולת לגרום לו לפתח את הדור הבא של עצמו. |
|
||||
|
||||
חפש בגוגל automatic programming ותראה שחשבו כבר על זה. בתחומים מסויימים ומוגדרים היטב יש פתרנות טובים. אם אתה רוצה תוכניתן אוטומטי שעובר מבחן טיורינג, אתה מחפש פטיש ענק כדי להכות על מסמר קטן מידיי. אני מאמין שבסופו של דבר נגיע לכך, אבל רק בהקשר של פתוח הדרגתי של ישומי בינה מלאכותית שישמשו למגוון רחב של מוצרים. כאשר תהיה תשתית קיימת של רכיבי בינה מלאכותית, אפשר יהיה להשתמש ברכיבים אלה במחיר סביר לישומים נוספים, כולל תכנות. יש כיום כלים כמו מחוללי קוד, frameworks או שפות תכנות יעודיות שמאפשרים לתוכניתנים "לא להכנס לפרטים". להגדיר את הפתרון שהם רוצים ברמת הפשטה טבעית לבעיה שהם רוצים לפתור. פתרונות כאלה אינם קיימים תמיד, ואינם רצויים תמיד, אבל הם מקטינים את המוצדקות של ההשקעה בתוכניתן טיורינג אוניברסלי. תוכנה שאפשר לפקוד עליה: "תכנתי בבקשה פרוטוקול לרשת p2p לשיתוף קבצים שתאפשר למשתמשיה עמידות בפני תקיפה משפטית על רקע הפרת זכויות יוצרים!" צריכה להכיל חלק ניכר מהתרבות האנושית. להיות בעלת יכולת ללכת לחפש מאמרים בנושאי משפט רלוונטיים, ללמוד אותם, לבצע חקר ספרות על רשתות תקשורת, לחפש פרוייקטים קיימים ולקרוא את הקוד שלהם, להכנס לפורומים מתאימים או לשלוח דוא"ל ולשאול שאלות... וזה עוד לפני ההחלטה באיזה שפת תכנות להשתמש... שלא לדבר על העיצוב והקידוד עצמו. בקיצור, אתגר רציני. (אבל אין לה צורך לגייס צוות לסייע בעבודה.) |
|
||||
|
||||
אין כיום שום דבר שמתקרב לפתרון כללי, ולראיה, כמה חברות קטנות ולא מפותחות (נגיד מיקרוסופט, נובל וכד') שמעדיפות לשלם הון להמוני תוכניתנים. אתה ביקשת מוטיבציה כלכלית, אני נתתי לך אותה. אני מסכים שזה רק שימוש אחד למ"ט, אולי לא המרכזי שבהם, אבל זה שימוש ששווה עשרות מיליארדים לפחות למי שיחזיק בו כמונופול (נגיד לפתח במעבדה ולא להראות לאף אחד). לגבי הדוגמא שלך, אינני מצפה לזה ממ"ט, שכן רוב בני האדם אינם מסוגלים לכך, כל הצפיה שלי היא למימוש מוצלח של high level design, מה שאפשר לצפות מכל מתכנת בינוני (בהינתן מספיק זמן). |
|
||||
|
||||
ייתכן שפספסתי משהו, אבל ממתי מובטח (או אפילו סביר) שמחשב שעובר את מבחן טיורינג מסוגל לתכנת? |
|
||||
|
||||
אפשר ללמד כל אדם סביר לתכנת (ברמה זו או אחרת), מכאן שאם לא ניתן ללמד זאת מחשב (לאותה רמה של האדם הממוצע) אזי זה הוא מבחן טורינג שבו המחשב נכשל. |
|
||||
|
||||
אתה קצת מותח את ההגדרה של "מבחן טיורינג", לא? אולי אני לא יודע מה ההגדרה. |
|
||||
|
||||
זה המשכו הלוגי, אם קיים מחשב שאני לא יכול להבדיל בינו לבין אדם, נגיד תוך התכתבות באייל, ואני יכול (תמורת סכום נאות) לגרום לאייל הממוצע לתכנת, אזי גם אותו מחשב יכול לתכנת. האם זה מותח את ההגדרה ? זה מוציא אותה מהקשרה, אבל זו כל המטרה של בינה מלאכותית, אני (אולי אחרים כן) לא אשקיע זמן וכסף כדי שמחשב יוכל להתכתב איתי על <הכנס שם של סלב>, אלא כדי שהוא יוכל לעבוד במקומי (על מנת שיהיה לי יותר זמן לאייל). בשלב הראשון אני לא מבקש מקוריות או יצירתיות (שספק אם אפשר לבקש ולקבל מהאדם הממוצע), רק יכולת טכנית לתרגם שפה טבעית לשפת מכונה, תוך קבלת אי אילו החלטות שהן טריוויאליות בשבילנו, אבל לא בשביל מחשבים כיום. (כמובן שהפסקתי להבדיל בין מחשב לתוכנה בתגובה, תתעלמו מזה). |
|
||||
|
||||
לא הבנתי. כוונתך שבמהלך המבחן עצמו תגיד למשתתפים במבחן "בואו תכתבו לי תוכנה"? אני דווקא חושב שמחשב יהיה מסוגל לתכנת הרבה לפני שהוא יעבור את מבחן טיורינג. |
|
||||
|
||||
1. כן 2. נכון, אבל מעבר של מבחן טיורינג גורר מחשב שיודע לתכנת, לזה כאמור יש ערך כספי די ניכר, מכאן שישנה תועלת כלכלית במחשב שעובר את מבחן טיורינג (למרות שזה overkill). |
|
||||
|
||||
מחשב1 שתגיד עליו שהוא "יכול לתכנת" הוא מחשב שתזין לו רצף כלשהו בשפה מוסכמת שמתאר את התוכנה הנדרשת, והוא יציג לך אחת שעונה לדרישה. ההבדל בין קומפיילר, לבין "מחשב שיודע לתכנת" ומתקשר איתך בשפה קצת יותר פשוטה להבנה מאנגלית (או אפילו באנגלית), קשה מאוד להגדרה. ככל שאתה מתרחק מכתיבת התוכנה בעצמך בשפה עילית והידורה למתקרב יותר לכתיבת הדרישות באנגלית וקבלת תוכנה שעונה עליהן, אתה בעצם דורש ממנו להיות מסוגל לדברים הנדרשים ממנו במבחן טיורינג, הרבה לפני שהוא ניגש לכתוב את התוכנה. ----- 1 אני מתכוון, כמובן, תוכנה. אני אמשיך להגיד "מחשב" ולהתכוון "תוכנה". עמך הסליחה. |
|
||||
|
||||
עד כמה שאני רואה, אני דורש ממנו רק *להבין* דרישות פורמליות (לא בהכרח בשפה טבעית לגמרי). כדי לעבור את מבחן טיורינג, מחשב צריך לדעת להבין שפה טבעית לגמרי, ולהתנסח בשפה טבעית לגמרי. |
|
||||
|
||||
נדמה לי שמבחן טיורינג הוא ביטוי מוסכם למשמעות "בעל תבונה כמו-אנושית". בכל מקרה, אפשר בהחלט לטעון כי מחשב שמסוגל לעבור את המבחן האמור סביר מאוד שיוכל גם ללמוד לתכנת. אחרי הכל, אפשר בהחלט לשלב בשאלות המבחן שאלות הנוגעות בתחומי ההבנה הלוגית, למשל. נכון שהמחשב יוכל לענות "אני גרוע בלוגיקה" – ראה התשובה בנוגע לאריתמטיקה במאמר המקורי של טיורינג – אבל התחמקות עקבית מכל שאלה הקשורה להבנה לוגית תהיה די dead giveaway. ומרגע שיש מחשב עם מידה מסוימת של הבנה לוגית, המרחק מההבנה שיש לאדם מהשורה לרמת ההבנה שיש לנבון שבאנשים היא יותר כמותית מאיכותית, לדעתי. |
|
||||
|
||||
מבחן טיורינג משופר - התוכנה הנבחנת נדרשת לשכנע לא רק שהיא בן אדם באופן כללי, אלא שהיא בן אדם עם הכשרה בתחום ספיציפי. אחד המקרים המפורסמים מההיסטוריה של המבחן האמיתי הייתה תוכנה שהעמידה פני פסיכיאטר - "אז, אדון יוסי בני, איך הרגשת לגבי זה שהחברים שלך קוראים לך יוסי?" אם הבוחן יהיה תוכניתן שמנסה להבדיל בין המחשב ותוכניתן אחר, ולא רופא שמנסה להבחין בין דוגמנית ותוכנה שמעמידה פנים שהיא נהג מירוצים, והתוכנה עוברת את המבחן, קיבלנו כנראה מה שרצינו. |
חזרה לעמוד הראשי |
מערכת האייל הקורא אינה אחראית לתוכן תגובות שנכתבו בידי קוראים | |
RSS מאמרים | כתבו למערכת | אודות האתר | טרם התעדכנת | ארכיון | חיפוש | עזרה | תנאי שימוש | © כל הזכויות שמורות |