Генератор бросков кубиков
Результат
Сумма на костях
- Выпавшие кости
- 4, 1
- Вероятность этой суммы
- 11,11 %
- Возможные суммы
- 11
Генератор бросков кубиков превращает набор кубиков в грани, которые только что выпали, и рядом показывает шансы выпавшей суммы. Задайте число кубиков, число граней у каждого и зерно, с которого начинается бросок, — и панель выдаст сумму, отдельные грани в порядке выпадения, вероятность ровно этой суммы и то, сколько разных сумм вообще может дать такой набор. Грани — интересная половина для всего, что связано с настольной игрой; вероятность — интересная половина всюду, где число имеет значение, потому что сумма 4 и сумма 7 перестают быть равновероятными, как только кубиков больше одного. Бросок со случайным зерном — это настоящий способ бросать кубики, а не замена его: тот же seed воспроизводит ту же руку, а это ровно то, что нужно при повторном прохождении, генерации уровня или проверке правила.
Все суммы, которые дают два шестигранных кубика, и сколько способов приходится на каждую
| Сумма | Способы | Вероятность (%) |
|---|---|---|
| 2 | 1 | 2.78 |
| 3 | 2 | 5.56 |
| 4 | 3 | 8.33 |
| 5 | 4 | 11.11 |
| 6 | 5 | 13.89 |
| 7 | 6 | 16.67 |
| 8 | 5 | 13.89 |
| 9 | 4 | 11.11 |
| 10 | 3 | 8.33 |
| 11 | 2 | 5.56 |
| 12 | 1 | 2.78 |
Эта таблица — фиксированная справка для двух шестигранных кубиков, и она не следует за кубиками, введёнными в калькулятор выше: у таблицы нет доступа к этим входным данным, поэтому она всегда описывает 2d6. Вероятность на панели результатов — та, что соответствует вашему набору; если эти два числа расходятся, права панель, а таблица отвечает на другой вопрос. Средний столбец читайте как честную единицу измерения: у суммы 7 шесть способов из 36 равновероятных пар, поэтому её вероятность равна 6/36 = 16,67 %, и это отношение есть определение вероятности, а не её округление. Столбец способов даёт в сумме 36, а вероятности — 100 %, и это и есть арифметическая проверка, что ни один способ не потерян. Числа в таблице записаны с точкой (2.78, 5.56), а в тексте страницы — с запятой (2,78, 5,56): это одно и то же число в двух принятых записях, и разница здесь только в записи.
Формула
ways(total) = коэффициент при x^total в (x + x² + … + x^sides)^diceCount → шанс = ways(total) / sides^diceCount
- diceCount
- Сколько кубиков бросается, до 20. Один кубик даёт плоское распределение, где все грани равновероятны; два и больше сгребают вероятности к средним суммам — ради этого и стоит показывать вероятность суммы
- sides
- Сколько граней у каждого кубика, от 2 до 100. Знакомый d6 живёт здесь, но и двадцатигранник, и стогранник тоже
- ways(total)
- Сколько из возможных исходов дают в сумме это число. Число способов — честная единица измерения для кубиков: сумма 7 имеет шесть способов из 36 на двух шестигранных кубиках, и это отношение и есть вероятность
- seed
- Начальная точка броска, любое целое от 0 до 4294967295. Одно и то же зерно при одном и том же наборе даёт одни и те же грани, поэтому бросок можно повторить и проверить
- total
- Сумма выпавших граней. Она идёт от diceCount (все единицы) до diceCount × sides (все старшие грани), так что число возможных сумм равно diceCount × sides − diceCount + 1
Берите его, когда важна сумма, а отдельные грани — деталь: посчитать, часто ли бросок 3d6 побьёт целевое число, проверить шансы суммы на 2d6 перед партией или получить бросок со случайным зерном, чтобы прохождение можно было повторить в точности. Именно воспроизводимость и делает инструмент больше чем забавой: программы, генерирующие уровни, компании, повторяющие сценарий, и люди, проверяющие правило, — всем нужен бросок, который можно повторить, а случайное зерно превращает один бросок в бросок, который может повторить кто угодно. Это не симулятор честных кубиков в смысле физической случайности: числа берутся из короткой детерминированной последовательности, поэтому всё, где игрок не должен уметь предсказать грани, сюда не входит.
Разобранные примеры
Два шестигранных кубика, зерно 1: 4 и 1, сумма 5
- Набор — два шестигранных кубика, значит есть 6 × 6 = 36 равновероятных пар граней
- Зерно 1 фиксирует пару как 4 и 1, сумма равна 4 + 1 = 5
- Сумма 5 получается как 1+4, 2+3, 3+2 и 4+1 — четыре способа из 36
- 4 / 36 = 0,1111…, значит вероятность равна 11,11 %
Ради этих 11,11 % бросок и стоит рядом с шансами: сумма 5 выглядит непримечательно и делит третье место по вероятности с другими, но всё равно случается примерно один раз из девяти. Суммы 2 и 12 — самые редкие, по 2,78 % каждая, потому что каждую из них можно получить ровно одним способом, тогда как у 7 способов шесть и 16,67 %. С одним кубиком всей этой структуры нет — каждая грань равна 1/sides, — поэтому размер набора и есть первое, на что смотреть, когда вероятность удивляет.
Три шестигранных кубика, зерно 5: 5, 5 и 2, сумма 12
- Три шестигранных кубика дают 6 × 6 × 6 = 216 равновероятных исходов
- Зерно 5 даёт грани 5, 5 и 2, которые складываются в 12
- Набор может дать 3 × 6 − 3 + 1 = 16 разных сумм, от 3 до 18
- У суммы 12 двадцать пять способов из 216, значит вероятность равна 11,57 %
Три кубика сгущают середину диапазона куда сильнее двух: 10 и 11 — самые вероятные суммы, по 12,5 % каждая, а 12 идёт близким третьим с 11,57 %. Та же сумма 12 с двумя кубиками — совсем другое дело: там это самый редкий результат из всех, 2,78 %. Поэтому вероятность, названная для суммы, ничего не значит, если рядом не назван набор. Шестнадцать возможных сумм заодно показывают, почему их число не равно числу граней: с тремя кубиками суммы идут от 3 до 18 и их 16, а не 18 и не 6.
Один двадцатигранный кубик, зерно 7
- У одного кубика нет способов комбинировать грани, поэтому все грани равновероятны
- Зерно 7 даёт грань 1
- Одна грань из 20 — это 1 / 20 = 5 %
Это случай плоского распределения: в середине ничего не скапливается, потому что кубик всего один, так что 1 и 20 ровно так же вероятны, как и всё остальное. Это самый наглядный способ увидеть, что делают дополнительные кубики: у 2d6 крайние суммы редки, у 1d20 редкого нет ничего, и механизм здесь целиком в числе способов получить каждую сумму. Генератор случайных чисел по соседству говорит то же самое с другой стороны: один равномерный выбор — не то же самое, что сумма выборов.
Зерно на верхней границе
- Зерно может доходить до 4294967295, то есть 2³² − 1 — наибольшего значения, которое вмещает состояние генератора
- Те же два кубика, что и в первом примере, но другое зерно, а значит другая рука
- 6 и 2 дают в сумме 8, а у суммы 8 пять способов из 36
- 5 / 36 = 13,89 %
Зерно 4294967295 стоит попробовать потому, что это единственное значение, на котором небрежная реализация состояния генератора ломается трудно заметным образом: состояние хранится как 32-битное беззнаковое целое, и наибольшее значение — ровно то место, где ошибка на единицу в этом шаге перестаёт быть невидимой. Видимый результат здесь — обычная рука из 6 и 2 (панель и не должна выглядеть иначе), и именно поэтому граница является тестом, а не функцией для пользователя.
Ограничения
Грани не непредсказуемы. Они берутся из короткой последовательности со случайным зерном — такой, какую использует обычное программное обеспечение, — поэтому всякий, кто знает зерно, может воспроизвести руку, а кто увидел несколько рук — восстановить зерно. Это исключает инструмент из всего, где участник не должен уметь предсказать или восстановить бросок: розыгрыш с деньгами, ключ, токен, одноразовый код — там правильный ответ только криптографический источник случайности. Броски со случайным зерном нужны для повторения, генерации и тестирования, где воспроизводимость и есть смысл. Стоит прямо назвать ещё два ограничения. Справочная таблица под калькулятором описывает два шестигранных кубика и не следует за введёнными вами кубиками: таблица фиксирована, а вероятность на панели результатов — та, что соответствует вашему набору. И вероятность суммы предполагает честные кубики: физический кубик со смещением этим числам не соответствует, каким бы ни был набор.
Частые вопросы
- Почему таблица под калькулятором не совпадает с введёнными кубиками?
- Потому что справочная таблица зафиксирована на двух шестигранных кубиках. Она считается из константы, а не из входных данных, поэтому остаётся на месте, пока вы меняете набор; вероятность на панели результатов — та, что следует за вашими кубиками, и читать нужно именно её, когда две расходятся. Таблица здесь потому, что 2d6 — это то распределение, которое люди и имеют в виду, спрашивая о шансах кубиков: 7 в середине, 2 и 12 по краям. Если нужны шансы другого набора, панель даёт вероятность выпавшей суммы, а тот же seed можно бросить снова, чтобы проверить любую другую интересующую сумму.
- Что делает зерно и почему каждый раз возвращается одна и та же рука?
- Зерно — это состояние, с которого начинается бросок, поэтому одно и то же зерно при одном и том же наборе всегда даёт одни и те же грани. Это функция, а не упрощение: именно так прохождение повторяется в точности, так сгенерированный уровень остаётся одним и тем же между запусками и так правило проверяется на фиксированной руке. Смените зерно — и получите другую руку из того же набора. Если нужно, чтобы броски отличались, меняйте зерно между бросками: ничто на панели не продвигает его за вас тихо.
- Годятся ли эти броски для игры, где никто не должен предсказать результат?
- Нет, и это различие важно. Грани берутся из короткой детерминированной последовательности, поэтому по зерну воспроизводится вся рука, а по нескольким рукам восстанавливается и зерно. Всё, где участник не должен уметь предсказать или восстановить бросок, требует вместо этого криптографического источника случайности. Повторение настольной партии, генерация уровней, проверка правил и воспроизводимая выборка — всё это годится: именно там возможность повторить бросок и есть причина им пользоваться.
- Почему сумма двух кубиков равна 7 чаще всего, а с тремя кубиками уже нет?
- Потому что в середине скапливается число способов получить сумму, а оно зависит от набора. У двух шестигранных кубиков есть 36 пар, и у 7 их шесть (от 1+6 до 6+1), больше, чем у любой другой суммы. С тремя кубиками самые вероятные суммы — 10 и 11, по 12,5 % каждая, а 7 опускается далеко вниз по списку. Поэтому одна и та же сумма значит разное для разных наборов, и панель всегда сообщает сумму вместе с вероятностью для того набора, который вы действительно задали.
- Сколько сумм может дать набор?
- От наименьшей возможной суммы, когда все кубики показывают единицы, до наибольшей, когда каждый показывает свою старшую грань: при заданных числе кубиков и числе граней это даёт count × sides − count + 1 разных сумм. Для 2d6 это 11 сумм от 2 до 12; для 3d6 — 16 от 3 до 18; для 20d100 — 1981. Это число не равно числу граней, а крайние суммы диапазона всегда самые редкие, потому что каждую из них можно получить ровно одним способом.
- Вероятность на панели — для суммы или для точных граней?
- Для суммы. Два кубика, показавшие 4 и 1, и два кубика, показавшие 1 и 4, дают одну и ту же сумму 5, и показанная вероятность — это вероятность такой суммы, посчитанная по всем комбинациям, которые в неё складываются: четыре способа из 36 для пятёрки. Точная упорядоченная рука — это другая и куда меньшая вероятность (1/36 для любой конкретной пары), и панель сообщает не её, потому что именно сумма решает, побьёт ли бросок целевое число.
Источники
- Dice — from Wolfram MathWorld (the generating-function form of the sum of dice, and the coefficient that counts the ways each total can be made) — Wolfram MathWorld
- Uniform Sum Distribution — from Wolfram MathWorld (the distribution of a sum of uniform draws, which is what the total of several dice is) — Wolfram MathWorld
- 1.3.6.1. What is a Probability Distribution — e-Handbook of Statistical Methods (the frequency distribution of a variable, and how a probability is read off the outcomes it counts) — National Institute of Standards and Technology (NIST)