בתשובה להאייל האלמוני, 05/12/06 13:52
השפעת קרני השמש על קרני התיש 423160
תודה. האמת היא, כמובן, שזה לא ממש חשוב לעצם העניין.

(ניחוש לגבי ההמשך:

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

- אני אבקש הסבר מהם צעדים שאינם מוגדרים היטב.

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

- אני אגיד שצעד שמוגדר היטב הוא צעד שהתוצאה שלו נקבעת באופן חד-משמעי.

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

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

- יגידו לי "מה פתאום"?

- אני אגיד שאינני מכיר דרך נוספת, ואבקש שיראו לי כזאת.

- ...

- השרת של האייל יקרוס, או השמש תכבה (לא ברור מה יקרה קודם).

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

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

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

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

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

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

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

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

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