Прежде всего, я не уверен, где этот вопрос должен быть опубликован. Я спрашиваю, является ли статистическая проблема NP-Complete и если не решить ее программно. Я размещаю это здесь, потому что проблема статистики - центральная точка.
Я пытаюсь найти лучшую формулу для решения проблемы. Проблема в том, что если у меня есть 4d6 (4 обычных шестигранных кубика), и я бросаю их все сразу, убираю кубик с наименьшим числом (называемым «сбросом»), затем складываю оставшиеся 3, какова вероятность каждого возможного результата ? Я знаю ответ таков:
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
Среднее значение составляет 12,24, а стандартное отклонение - 2,847.
Я нашел вышеупомянутый ответ грубой силой и не знаю, как или если есть формула для этого. Я подозреваю, что эта проблема является NP-Complete и, следовательно, может быть решена только грубой силой. Можно было бы получить все вероятности 3d6 (3 нормальных шестигранных кубика), а затем наклонить каждую из них вверх. Это было бы быстрее, чем грубая сила, потому что у меня есть быстрая формула, когда все кости сохранены.
Я запрограммировал формулу хранения всех кубиков в колледже. Я спросил об этом своего профессора статистики, и он нашел эту страницу , которую он мне тогда объяснил. Существует большая разница в производительности между этой формулой и грубой силой: 50d6 заняло 20 секунд, но 8d6 отбрасывает наименьшие сбои через 40 секунд (хрому не хватает памяти).
Эта проблема NP-Complete? Если да, пожалуйста, предоставьте доказательство, если нет, предоставьте формулу не грубой силы для ее решения.
Обратите внимание, что я не знаю много о NP-Complete, поэтому я думаю о NP, NP-Hard или о чем-то еще. Доказательство NP-Полноты бесполезно для меня, единственная причина, по которой я прошу его, состоит в том, чтобы не дать людям угадать. И, пожалуйста, держите меня в покое, так как я давно над этим работал: я не помню статистику, так как мне, возможно, придется решить эту проблему.
В идеале я ищу более общую формулу для числа X кубиков с Y сторонами, когда N из них отброшено, но я начинаю с чего-то гораздо более простого.
Редактировать:
Я также предпочел бы формулу для выходных частот, но она приемлема только для выходных вероятностей.
Для тех, кто интересуется, я запрограммировал ответ whuber на JavaScript на моем GitHub (в этом коммите только тесты фактически используют определенные функции).