עם יצירת הערך ה-50,000 במכלול החל ישי, קורא נלהב, לקרוא אותה מתחילתה, בסדר אלפביתי של הערכים (לפי רשימת כל הערכים). ישי קורא 30 ערכים מדי יום, ומדי יום נוספים למכלול 30 ערכים חדשים, בהתפלגות אחידה על פני כל רשימת הערכים. כמה ערכים יהיו במכלול כאשר ישי יסיים את קריאתה?
פתרון
|
במבט ראשון נוצר הרושם שישי לא יסיים לעולם את קריאת האנציקלופדיה, שהרי הוא קורא 30 ערכים ביום ובמקביל מתוספים 30 ערכים חדשים, כך שמספר הערכים שישי לא קרא נותר ללא שינוי. רושם זה מוטעה, מפני שככל שישי מתקדם בקריאת האנציקלופדיה (ואין ספק שהוא מתקדם, 30 ערכים מדי יום), יתחילו להתוסף ערכים חדשים גם בחלק שכבר קרא, וערכים אלה לא יפריעו להתקרבותו לסוף האנציקלופדיה. התקרבותו לסוף תהיה איטית מאוד בהתחלה, אך ככל שחולף הזמן היא תהפוך למהירה יותר.
כיוון שלא הוצג פתרון אנליטי לחידה זו, פתרתי אותה בשיטת מונטה קרלו, באמצעות סימולציה בתוכנית JavaScript קטנה:
function readwiki()
{
var total; // מספר הערכים הכולל
var current=0; // מקומו הנוכחי של הקורא
var newarticle; // מקומו של הערך החדש
for (total=50000; current < total ; total++)
{
newarticle=Math.floor(Math.random()*(total+1));
if (newarticle <= current)
{current++} // הערך החדש נוסף לפני הערך שבו נמצא הקורא
current++
}
alert (total) // הצג את מספר הערכים בסיום קריאת האנציקלופדיה
}
התוצאה: כאשר ישי יסיים את קריאת המכלול, יהיו בו כ-136,000 ערכים (כיוון שמעורבת כאן אקראיות, במיקומו של ערך חדש יחסית למיקומו של ישי, לא ניתן לנקוב במספר מדויק, אך הרצות אחדות של התוכנית מגלות שהתוצאות הן סביב 136,000 ערכים).
לקבלת פתרון אנליטי נעבור מגרסה בדידה של החידה לגרסה רציפה שלה: חילזון זוחל על גומייה אידיאלית שיכולה להימתח עד אינסוף, ובאותו זמן סוס הקשור לקצה הגומייה שאליו זוחל החילזון מתקדם ומותח את הגומייה. כמה זמן יקח לחילזון, אם בכלל, להגיע לקצה השני?
תשובה: נסמן ב- את קצב הזחילה, וב- את קצב הארכת הגומייה. לאחר זמן נוסף אורך של לאורך המקורי L. לכן האורך הוא: .
אם החילזון נמצא במרחק מתחילת הגומייה הרי החלק ה- מהתוספת יהיה מאחוריו, לכן בכל רגע הוא מתרחק מההתחלה במהירות זוהי המהירות האמיתית של החילזון. ואז: או: .
נסמן ונקבל את המשוואה: שפתרונה (באמצעות וולפרם אלפא) הוא: כאשר הוא קבוע. מתוך התנאי נקבל ש: ומכאן .
נציב ונקבל שהחילזון יסיים את המסלול לאחר זמן: .
במקרה שלנו , מה שנותן לנו זמן של . נכפיל בקצב התוספת ונוסיף את האורך המקורי ונקבל: . זה בערך .
|
|