בעיית אוסף הקופונים

מספר הקופונים (בציר האנכי) כנגד מספר הדגימות הנדרש בתוחלת (בציר האופקי)
בתורת ההסתברות, בעיית אוסף הקופונים היא בעיה קלאסית הדנה במשחק שבו נאספים קופונים מתוך תיבה עם <math>n</math> קופונים שונים, בהסתברות שווה עם החזרה, והמטרה היא לאסוף את כל הקופונים. מהי ההסתברות שנדרשות לפחות <math>t</math> דגימות כדי לצפות בכל <math>n</math> הקופונים לפחות פעם אחת? ניתוח מתמטי מראה שתוחלת מספר הדגימות הנדרש כדי לצפות בכל קופון לפחות פעם אחת גדלה כתלות ב-<math>n</math> לפי <math>\Theta(n\log(n))</math> (לדוגמה כאשר מספר הקופונים הוא n = 50, נדרשות בממוצע כ-225 דגימות).

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

==פתרון הבעיה==
נסמן <math>T</math> כזמן הנדרש (או מספר הדגימות) לאיסוף <math>n</math> קופונים, נסמן ב<math>t_i</math> את הזמן הנדרש לאיסוף הקופון ה-<math>i</math> לאחר שנאספו <math>i-1</math> קופונים. נתייחס אל <math>T</math> ו-<math>t_i</math> כאל משתנים מקריים. נשים לב שההסתברות לאיסוף קופון חדש (לא אחד מתוך ה-<math>i-1</math> שכבר נצפו) היא <math>p_i = \frac{n-(i-1)}{n}</math>. הזמן הנדרש לאיסוף הקופון ה-<math>i</math> (<math>t_i</math>) מתפלג לפי התפלגות גאומטרית עם תוחלת של <math>\frac{1}{p_i}</math>. באמצעות ליניאריות התוחלת ניתן למצוא את תוחלת הזמן הנדרש לאיסוף כל הקופונים, <math>T</math>:

<math display="block">
\begin{align}
\operatorname{E}(T)& = \operatorname{E}\left(\sum_{i=1}^{n} t_i\right) = \operatorname{E}(t_1) + \operatorname{E}(t_2) + \cdots + \operatorname{E}(t_n) 
= \frac{1}{p_1} + \frac{1}{p_2} + \cdots + \frac{1}{p_n} \\
& = \frac{n}{n} + \frac{n}{n-1} + \cdots + \frac{n}{1} = n \cdot \left(\frac{1}{1} + \frac{1}{2} + \cdots + \frac{1}{n}\right) \, = \, n \cdot H_n.
\end{align}
</math>

כאשר <math>H_n</math> הוא המספר ההרמוני ה-<math>
n
</math>. בניתוח אסימפטוטי מקבלים שכאשר <math>n \to \infty</math>:
:<math>
\operatorname{E}(T) = n \cdot H_n = n \log n + \gamma n + \frac1{2} + o(1)
</math>
כאשר <math>\gamma \approx 0.5772156649</math> הוא קבוע אוילר-מסקרוני. באמצעות אי-שוויון מרקוב ניתן לחסום את ההסתברות שהזמן הנדרש לאיסוף כל הקלפים יעלה על <math>\ c \, n H_n</math>:
:<math>\operatorname{P}(T \geq c \, n H_n) \le \frac1c.</math>

===חישוב השונות===
ניתן לקבל חסם למספר התצפיות הנדרש לפי השונות. תוך שימוש בכך שהמשתנים המקרים <math>t_i</math> בלתי תלויים:
<math display="block">
\begin{align}
\operatorname{Var}(T)& = \operatorname{Var}(t_1) + \operatorname{Var}(t_2) + \cdots + \operatorname{Var}(t_n) \\ 
& = \frac{1-p_1}{p_1^2} + \frac{1-p_2}{p_2^2} + \cdots + \frac{1-p_n}{p_n^2} \\
& = \left(\frac{n^2}{n^2} + \frac{n^2}{(n-1)^2} + \cdots + \frac{n^2}{1^2}\right) - \left(\frac{n}{n} + \frac{n}{n-1} + \cdots + \frac{n}{1}\right)\\
& = n^2 \cdot \left(\frac{1}{1^2} + \frac{1}{2^2} + \cdots + \frac{1}{n^2} \right) - n \cdot H_n\\
& = n^2 \cdot \left(\frac{\pi^2}{6} - \frac{1}{n} + \frac{1}{2n^2}\right) - \left(n \log n + \gamma n + \frac{1}{2}\right) + o(1)\\
& < \frac{\pi^2}{6} n^2.
\end{align}
</math>

כאשר <math>\pi^2/6</math> הוא ערך של פונקציית זטא של רימן. (ראו בעיית בזל). באמצעות אי-שוויון צ'בישב מתקבל החסם:
:<math>\operatorname{P}\left(|T- n H_n| \geq c\, n\right) \le \frac{\pi^2}{6c^2}.</math>

==קישורים חיצוניים==

==הערות שוליים==

אוסף הקופונים