¿Existe una fórmula para una forma general del problema del colector de cupones?

10

Me topé con el problema de los coleccionistas de cupones y estaba tratando de encontrar una fórmula para una generalización.

Si hay objetos distintos y que desea recoger por lo menos copias de cada uno de cualquier de ellos (donde ), ¿cuál es la expectativa de la cantidad de objetos al azar que usted debe comprar ?. El problema normal de colector cupón tiene y .NkmmNm=Nk=1

Hay 12 figuras LEGO diferentes en una colección. Quiero recolectar 3 copias de cada una de las 10 (cualquiera de las 10) figuras. Puedo comprarlos al azar uno a la vez. ¿Cuántos debería esperar comprar antes de tener 3 copias de cada uno de ellos?

nickponline
fuente
3
No recuerdo haber visto una fórmula para esa generalización particular, pero para una pregunta específica única como esa, tendería a usar la simulación.
Glen_b -Reinstale a Monica

Respuestas:

5

Esto no es fácil de calcular, pero se puede hacer, siempre que (m+kk) no sea demasiado grande. (Este número cuenta los posibles estados que necesita rastrear mientras recolecta cupones).

Comencemos con una simulación para tener una idea de la respuesta. Aquí, coleccioné figuras de LEGO un millón de veces. La línea negra en este diagrama rastrea las frecuencias del número de compras necesarias para recolectar al menos tres de diez figuras diferentes.

Figura

La banda gris es un intervalo de confianza aproximado del 95% de dos lados para cada recuento. Debajo de todo hay una curva roja: este es el verdadero valor.

Para obtener los valores verdaderos, tenga en cuenta el estado de cosas mientras recopila cifras, de las cuales hay tipos posibles y desea recopilar al menos de tipos diferentes. La única información que necesita para realizar un seguimiento es cuántas figuras no ha visto, cuántas ha visto solo una vez, cuántas ha visto dos veces y cuántas ha visto tres o más veces. Podemos representar esto convenientemente como un monomio donde son los recuentos asociados, índices desde hasta . En general, usaríamos monomios de la forman=12k=3m=10x0i0x1i1x2i2x3i3ijk=0k=tj=0kxjij .

Al recoger un nuevo objeto aleatorio, será uno de los objetos invisibles con probabilidad , uno de los objetos vistos solo una vez con probabilidad , y así sucesivamente. El resultado puede expresarse como una combinación lineal de monomios,i0i0/ni1/n

x0i0x1i1x2i2x3i31n(i0x0i01x1i1+1x2i2x3i3++i3x0i0x1i1x2i21x3i3).

Este es el resultado de aplicar el operador diferencial lineal al monomio. Evidentemente, las aplicaciones repetidas al estado inicial darán un polinomio , que tiene como máximo términos , donde el coeficiente de es la posibilidad de estar en el estado indicado por sus exponentes. Simplemente necesitamos enfocarnos en los términos en con : la suma de sus coeficientes será la posibilidad de haber terminado la recolección de cupones. Por lo tanto, todo el cálculo requiere hasta(x1Dx0+x2Dx1+x3Dx2+x3Dx3)/nx012=x0np(n+kk)j=0kxjijpi3t(m+1)(n+kk) cálculos sencillos en cada paso, repetidos tantas veces como sea necesario para estar casi seguro de tener éxito con la colección.

Expresar el proceso de esta manera hace posible explotar la eficiencia de los sistemas de álgebra computacional. Aquí, por ejemplo, hay una solución general de Mathematica para calcular las posibilidades de hasta sorteos. Eso omite algunas posibilidades, pero sus posibilidades totales son inferiores a , lo que nos da una imagen casi completa de la distribución.6nk=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];

El resultado, que tarda aproximadamente dos segundos en computarse (¡más rápido que la simulación!) Es un conjunto de probabilidades indexadas por el número de sorteos. Aquí hay una gráfica de sus diferencias, que son las probabilidades de finalizar sus compras en función del conteo:

Figura 2

Estos son precisamente los números utilizados para dibujar la curva de fondo rojo en la primera figura. (Una prueba de chi cuadrado indica que la simulación no es significativamente diferente de este cálculo).

Podemos estimar el número esperado de sorteos sumando ; El resultado debe ser bueno para 14-15 lugares decimales. Obtengo (que es correcta en todos los dígitos, tal como se determina mediante un cálculo más tiempo).1q50.7619549386733

whuber
fuente