Чи існує формула загальної форми проблеми з збирачем купонів?


10

Я натрапив на проблему з колекціонерами купонів і намагався розробити формулу узагальнення.

Якщо є різних об'єктів , і ви хочете , щоб зібрати принаймні копій кожного з будь-якого з них (де ), що очікування того , скільки випадкових об'єктів ви повинні купити?. Нормальна проблема з колекціонером купонів має і .k m m N m = N k = 1NkmmNm=Nk=1

У колекції є 12 різних фігур LEGO. Я хочу зібрати 3 примірники кожної з 10 (будь-яких 10) фігур. Я можу придбати їх випадковим чином. Скільки я повинен очікувати, щоб придбати, перш ніж у мене буде 3 примірника кожного з 10 із них?


3
Я не пам'ятаю, як я бачив формулу для цього конкретного узагальнення, але для одноразового конкретного питання я схильний використовувати моделювання.
Glen_b -Встановіть Моніку

Відповіді:


5

Обчислити це непросто, але це можна зробити за умови, що (m+kk) не надто великий. (Це число враховує можливі стани, які потрібно відстежувати під час збору талонів.)

Почнемо з моделювання, щоб отримати певний сенс відповіді. Тут я зібрав цифри LEGO мільйон разів. Чорна лінія в цьому сюжеті відстежує частоти кількості покупок, необхідних для збору щонайменше трьох з десяти різних цифр.

Малюнок

Сіра смуга - це приблизний двосторонній 95% довірчий інтервал для кожного підрахунку. Під ним усе червона крива: це справжня цінність.

Для отримання справжніх значень враховуйте стан справ під час збирання фігур, з яких існує можливих типів, і ви хочете зібрати принаймні з різних типів. Єдина інформація, яку вам потрібно відстежувати - це скільки фігур ви не бачили, скільки ви бачили лише один раз, скільки ви бачили двічі і скільки ви бачили три і більше разів. Ми можемо представити це зручно як одночлен де - супутні числа, індекси від до . Загалом, ми б використовували мономії формиk = 3 m = 10 x i 0 0 x i 1 1 x i 2 2 x i 3 3 i j k = 0 k = t k j = 0 x i j jn=12k=3m=10x0i0x1i1x2i2x3i3ijk=0k=tj=0kxjij .

Після збору нового випадкового об'єкта, це буде один з невидимих об'єктів з імовірністю , один із об'єктів, що бачились один раз із ймовірністю тощо. Результат може бути виражений у вигляді лінійної комбінації одночленів,i0i0/ni1/n

x0i0x1i1x2i2x3i31n(i0x0i01x1i1+1x2i2x3i3++i3x0i0x1i1x2i21x3i3).

Це результат застосування лінійного диференціального оператора до одночлена. Очевидно, що повторні додатки до початкового стану дадуть поліном , маючи щонайбільше доданків, де коефіцієнт - це шанс опинитися в стані, вказаному його експонентами. Нам просто потрібно зосередитись на у з : сума їх коефіцієнтів буде шансом завершити збір купона. Тому весь розрахунок вимагає до(x1Dx0+x2Dx1+x3Dx2+x3Dx3)/nx012=x0np k j = 0 x i j j(n+kk)j=0kxjijpi3t(m+1)(n+kk) прості обчислення на кожному кроці, повторювані стільки разів, скільки потрібно, щоб бути майже впевненими в успіху колекції.

Вираження цього способу дозволяє використовувати ефективність систем комп’ютерної алгебри. Наприклад, загальне рішення Mathematica для обчислення шансів до нічиїх. Це не дає певних можливостей, але їхні загальні шанси менше , що дає нам майже повну картину розподілу.10 - 176nk=2161017

n = 12;
threshold = 10;
k = 3;

(* Draw one object randomly from an urn with `n` of them *)
draw[p_] := 
  Expand[Sum[Subscript[x, i] D[#, Subscript[x, i - 1]], {i, 1, k}] + 
      Subscript[x, k] D[#, Subscript[x, k]] & @ p];

(* Find the chance that we have collected at least `k` each of `threshold` objects *)
f[p_] := Sum[
  Coefficient[p, Subscript[x, k]^t] /. 
   Table[Subscript[x, i] -> 1, {i, 0, k - 1}], {t, threshold, n}]

(* Compute the chances for a long series of draws *)
q = f /@ NestList[draw[#]/n &, Subscript[x, 0]^n, 6 n k];

Результат, на який потрібно обчислити близько двох секунд (швидше, ніж моделювання!), - це масив ймовірностей, індексований кількістю малюнків. Ось графік його відмінностей, які є ймовірністю припинення ваших покупок як функції рахунку:

Малюнок 2

Це саме числа, які використовуються для малювання кривої червоного фону на першій фігурі. (Тест на квадратний чи вказує на те, що моделювання істотно не відрізняється від цього обчислення.)

Ми можемо оцінити очікувану кількість нічиїх підсумовуючи ; результат повинен бути хорошим до 14-15 знаків після коми. Я (що правильно в кожній цифрі, що визначається більш тривалим обчисленням).50,76195493867331q50.7619549386733

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.