En primer lugar, no estoy seguro de dónde se debe publicar esta pregunta. Estoy preguntando si un problema de estadística es NP-Complete y si no es para resolverlo mediante programación. Lo estoy publicando aquí porque el problema de las estadísticas es el punto central.
Estoy tratando de encontrar una mejor fórmula para resolver un problema. El problema es: si tengo 4d6 (4 dados comunes de 6 lados) y los lanzo todos a la vez, elimino un dado con el número más bajo (llamado "caída"), luego sumo los 3 restantes, ¿cuál es la probabilidad de cada posible resultado? ? Sé que la respuesta es esta:
Sum (Frequency): Probability
3 (1): 0.0007716049
4 (4): 0.0030864198
5 (10): 0.0077160494
6 (21): 0.0162037037
7 (38): 0.0293209877
8 (62): 0.0478395062
9 (91): 0.0702160494
10 (122): 0.0941358025
11 (148): 0.1141975309
12 (167): 0.1288580247
13 (172): 0.1327160494
14 (160): 0.1234567901
15 (131): 0.1010802469
16 (94): 0.0725308642
17 (54): 0.0416666667
18 (21): 0.0162037037
El promedio es 12.24 y la desviación estándar es 2.847.
Encontré la respuesta anterior por fuerza bruta y no sé cómo o si hay una fórmula para ello. Sospecho que este problema es NP-Complete y, por lo tanto, solo se puede resolver con la fuerza bruta. Es posible obtener todas las probabilidades de 3d6 (3 dados normales de 6 lados) y luego sesgar cada uno de ellos hacia arriba. Esto sería más rápido que la fuerza bruta porque tengo una fórmula rápida cuando se guardan todos los dados.
Programé la fórmula para mantener todos los dados en la universidad. Le pregunté a mi profesor de estadística al respecto y encontró esta página , que luego me explicó. Hay una gran diferencia de rendimiento entre esta fórmula y la fuerza bruta: 50d6 tardó 20 segundos pero 8d6 dejó caer los bloqueos más bajos después de 40 segundos (el cromo se queda sin memoria).
¿Es este problema NP-Complete? En caso afirmativo, proporcione una prueba, en caso negativo, proporcione una fórmula de fuerza no bruta para resolverlo.
Tenga en cuenta que no sé mucho sobre NP-Complete, por lo que podría estar pensando en NP, NP-Hard u otra cosa. La prueba de NP-Completeness es inútil para mí, la única razón por la que la pido es para evitar que la gente adivine. Y por favor, acépteme, ya que ha pasado mucho tiempo desde que trabajé en esto: no recuerdo las estadísticas tan bien como podría necesitar resolver esto.
Idealmente, estoy buscando una fórmula más genérica para el número X de dados con lados Y cuando N de ellos se caen, pero estoy comenzando con algo mucho más simple.
Editar:
También preferiría la fórmula a las frecuencias de salida, pero es aceptable solo generar probabilidades.
Para aquellos interesados, he programado la respuesta de whuber en JavaScript en mi GitHub (en este commit solo las pruebas realmente usan las funciones definidas).