Así que me puse en contacto con un viejo profesor de Estadística tuve en la universidad acerca de este problema, y él me señaló a la distribución Multinomial, la solución exacta a la de la solución para que las probabilidades de obtener cualquier específicos recuento de cada gota de tipo.
He utilizado el Multinomial de la función en la forma de
N! / (n1! * n2! * n3! *n4!) * (p1^n1 * p2^n2 * p3^n3 * p4^n4)
Donde $N$ es el número total de los arbustos que se corte, con la $n$'s representan cada posible caída de resultado, y el $p$'s la probabilidad de cada resultado se produzca.
Con esto, podría calcular las probabilidades exactas de llegar 30 verde rupias x1, 10 verdes rupias x3, 5 azul rupias, y nada de 27 veces.
Sin embargo, desde la multinomial no tiene un sencillo CDF, y yo quería una CDF del total de rupias, simplemente no cuenta, yo todavía necesarios para calcular todas las posibles combinaciones de las gotas que podría conseguir, y no sólo el número total, pero en realidad individual de cada combinación.
Este problema se llama una multichoose, o las estrellas y las barras de problema, y es esencialmente un problema donde, en lugar de seleccionar un grupo más pequeño de un grupo más grande, como es típico en la combinación de problemas, básicamente lo que hace es averiguar todas las maneras que usted puede colocar un gran número de elementos en un menor número de cubos. El número total de posibilidades puede ser calculado por
$$
\left( \! \binom{k}{n} \! \right) = \binom{k + n - 1}{n}.
$$
Where $k$ is the number of buckets, and $$ n es el número de elementos que se colocan en los baldes. (O clásico, número de bares para dividir y el número de estrellas). Ahora, esta fórmula me puede conseguir el número total de posibilidades, pero no las posibilidades mismas, para que yo necesitaba de fuerza bruta el problema mediante programación.
Mientras que empecé tratando de escribir mi propio algoritmo, me encontré con un repositorio de multichoose las funciones de generación en varios idiomas por electrocardiograma. He utilizado la versión de Python para la salida de cada posible conjunto múltiple a un archivo CSV.
Desde allí, en Excel me ascendieron a la Rupia de valor para cada conjunto múltiple, y corrió los números a través de la multinomial función para obtener la probabilidad de cada conjunto múltiple de que ocurren.
A continuación, he utilizado una Tabla dinámica para el total de las probabilidades de todas las multisets con el mismo Rupia totales y, a continuación, simplemente se utilizan los datos para conseguir una probabilidad acumulativa de la Rupia totales.
También hice una simulación de Monte Carlo de 10 millones de intentos en R para confirmar que los números eran correctos, y que juego muy cuidadosamente (cerca lo suficiente en el hecho de que creo que me gustaría recomendar un Monte Carlo solución para todos aquellos que lidiar con un problema como este).
Aquí está el código de Monte Carlo:
combos <- matrix(0, nrow=10000000, ncol=4)
for(trial in 1:10000000) {
outcomes <- sample(c(1, 2, 3, 4), size = 72, replace = TRUE, prob = c(5/16, 1/16, 1/16, 9/16))
combos[trial,] <- tabulate(outcomes, nbins=4)
}
rupeeSimulations <- apply(combos, 1, function(row) row[1]*1+row[2]*3+row[3]*5)
table(rupeeSimulations)
Representación gráfica en R, el resultado fue este:
Me mostró la Máscara de Majora speedrunners, y los números no parecen alinearse con su experiencia. Esto me tenía profundizar más en la Caída de la Tabla de comportamiento, y he descubierto que Majora s Mask tiene una gota tipo que yo llamo "la Máscara Cae," donde el juego cambia realmente la gota en función de lo que la máscara de el jugador está utilizando actualmente. Resulta, Deku Scrub mask convertirlo caer en verde rupias, y en mi tabla original, yo había probado todo como Enlace, sin máscara, así que me puse Flechas en lugar de rupias para ese tipo de caída.
Así que al final, descubrió algo completamente nuevo en el juego, tenía que actualizar mi Drop Table Infografía (nueva versión aquí), y finalmente fui capaz de conseguir un registro exacto de este problema original, disfrutar de:
He aprendido mucho, yo no había visto nunca el multichoose y yo no recuerdo la multinomial función de mis estudios. Gracias por todos los que miraron este, muchas gracias a mi profesor de la universidad para que me apunta en la dirección correcta.