15 апреля 2010 г.

dice probability

Вот есть пример как можно рассчитывать количество событий благоприятных для выпадения различных сумм для разных комбинаций игровых костей.

Что бы работало в Python3 надо iteritems заменить на items, а еще сделать «from functools import reduce»

Кстати можно и вероятности выводить, для этого надо создавать элементы не (i,1), а (i,1./n). Точно так же можно делать "кубики с неравномерным распределением вероятностей. На выходе будет словарь.
(смотря что вы считатете будет разный, пример для 3d6):
количество благоприятных событий:
{3: 1, 4: 3, 5: 6, 6: 10, 7: 15, 8: 21, 9: 25, 10: 27, 11: 27, 12: 25, 13: 21, 14: 15, 15: 10, 16: 6, 17: 3, 18: 1}
вероятности:
{3: 0.0046., 4: 0.0138, 5: 0.027, 6: 0.046296296296296294, 7: 0.0694, 8: 0.0972, 9: 0.1157407, 10: 0.125, 11: 0.125, 12: 0.1157407, 13: 0.0972, 14: 0.0694, 15: 0.0462962, 16: 0.0277, 17: 0.0138, 18: 0.004629}

1 Ответов::

  1. Для себя. Шансы выкинуть Х и больше на 3d6
    18: 0.5%
    17+: 1.8%
    16+: 4.6%
    15+: 9.2%
    14+: 16.2%
    13+: 25.9%
    12+: 37.5%
    11+: 50%
    10+: 62.5%
    9+: 74.1%
    8+: 83.8%
    7+: 90.7%
    6+: 95.3
    5+: 98%
    4+: 99.4%
    3+% 100%

    ОтветитьУдалить