Я задался этим вопросом, когда внезапно мне пришел подарочный набор игральных костей для игры в D&D. Для тех, кто не в курсе, если таковые есть - большая часть игровых механик завязана на использовании кубиков с 4, 6, 8, 10, 12 и 20 гранями. Есть ещё бросок к100, но он достигается броском двух кубиков к10. В идеале каждый такой бросок - рандом, абсолютная случайность, которая и определяет успешность тех или иных действий. Но так ли это на практике?

В моем наборе каждая кость представляет собой полупрозрачный материал, и в каждой из костей залито Кольцо Всевластья. Из‑за этого, предположил я, центр масс костей может быть смещен, если масса колец отличается от остальной массы кости. Как будем выяснять?

Интернет предложил мне сразу два метода. Один — самый простой. Готовится очень насыщенный раствор соли в стакане — в теплую воду добавляем несколько ложек соли до тех пора, пока она не перестанет растворяться. Достаточно около 20 градусов — в таком случае на 100 грамм воды придется около 36 граммов поваренной соли. Для сравнения — при 100 градусах та же масса воды растворит 39 грамм.

Задача простая — кинуть в стакан кость и посмотреть, какой гранью она будет всплывать. Если после нескольких опытов она всплывает одной стороной или тремя смежными к ней — то кость явно не сбалансирована и будет чаще падать именно этими сторонами вверх. Тут вроде понятно. Пробуем, и...кость тонет.

Ага. Как оказалось, этот метод подходит не для всех костей — а только для пластиковых, чей удельный вес ниже соляного раствора. В моем случае кости из эпоксидной смолы, так что бессмысленно пытаться выяснить это таким образом. Ну что ж, тогда обратимся к силе математики!

Если вы подбросите монетку, что она упадет орлом или решкой с вероятностью 50%. Это в принципе понимают все. Если вы подбросите ее три раза, то с вероятностью в 12,5% у вас выпадет три одинаковых значения. Также существует вероятность, что при 10 бросках 7 из них — будут либо орлом, либо решкой. Значит ли это, что вероятность выпадения того или иного значения выше? Конечно, нет!

В теории вероятностей есть принцип, который называется «Закон больших чисел». Он гласит, что при достаточно большом количестве выпадения случайных чисел их соотношение будет стремиться к математическому ожиданию. То есть, если вы подбросите монетку не 10 раз, а скажем, 2000, то количество орлов и решек будет стремиться к тем самым 50%.

Соответственно, если мои кости сбалансированы, и я возьму, скажем, кость к20, то при большом количестве бросков каждое значение должно выпадать в 1/20 случаях, или 5%. Что ж, к коллайдеру! Задача простая — бросить кубик, скажем, 1000 раз, записать каждый результат и затем построить график распределения результатов. Сказано — сделано.

Что мы тут видим? На тысячу результатов у нас два значения, далеко выбивающиеся от остальных — 1 и 19, которые имеют 10% шанс выпадения, или 100 результатов из 1000. Остальные значения выпадают с большей или меньше долей вероятности, но остаются примерно равны по возрастанию, так что линейная линия тренда будет прямой и будет в районе ровно 5%. Из этого можно сделать вывод, что сам по себе дайс не позволяет получить преимущество или наоборот, так что нечестного преимущества кость не даст — она лишь даст вдвое больше шанса критического провала или практически успешной проверки (что весьма неплохой повод рискнуть), но при этом в среднем шансы высокого или низкого результата примерно равны.

Но самое интересное другое. Видно, что все положительные пики — нечетные (кроме 3 и 10). И хоть распределение их относительно равномерно, мы можем убедиться, что в 70 процентов случаев выпадают нечетные числа. Связано это с тем, как значения распределены на кости. 1 и 20 являются своеобразными вершинами полушарий, вокруг которых находятся соответственно нечетные и четные значения. И судя по тому, что я вижу, кость действительно несбалансирована, а линия тренда сохраняется лишь за счет распределения значений на ней. Итог — кость не сбалансирована, и нечестное преимущество за ее счет не получить, а вероятность выпадения критической единицы примерно втрое выше, чем критического успеха.
Пример такой «полюсной» раскладки приведен на картинке ниже:

Что характерно, это же показывает и полиноминальная линия тренда на графике, которая показывает более высокие шансы выпадения крайних значений и менее высокие — средних. В целом — такой результат меня устраивает, потому что как мастер, я заинтересован в том, чтобы сражения моих игроков были более интересными и сложными за счет более высокого шанса попасть по ним, а с другой — дать им больше азарта в случаях, когда их враги будут промахиваться в критические моменты. Как игрок, я готов рискнуть более высоким шансом на провал, если при этом у меня будет больше возможностей пройти сложную проверку или попасть по противнику.

На этом я не остановился и решил проверить то же самое для кости к6. Я решил, что будет достаточно 500 бросков. И вот что я получил.

Здесь даже полиноминальная линия тренда достаточно гладкая, и это показывает, что кость хоть и несбалансированная, но куда ближе к среднему значению в 16,67%. В целом, я бы сказал, что это хороший показатель, особенно в свете того, что идеально сбалансированные кости встречаются очень редко — даже гравировки на гранях вносят свои корректировки и могут незначительно повлиять на распределение.

Кстати, вы можете попытаться создать последовательность случайных чисел аналоговым методом. Например, даже если кость идеально сбалансирована, опытные шулеры умеют бросать кости так, чтобы с большей вероятностью получать нужные значения. Да есть целая статья на Вики на эту тему (нет, так вы не научитесь и мастером‑шулером не станете). Да и вы сами — как показывает практика, попытка представить себе случайную последовательность неизменно сталкивается с когнитивными искажениями.

Доказано, что человек, пытаясь представить себе случайную последовательность чисел, например, будет избегать повторений одного и того же числа, потому что это несколько отличается от наших внутренних представлений о рандоме. А между тем при бросках кости я пять раз сталкивался с ситуацией, когда у меня 4 раза подряд выпадало одно и то же значение.

Но это ладно. Многие играют по сети и кидают кубики онлайн. Может хоть там честные случайные числа? А вот не совсем. Каждый, у кого есть базовое понимание, как работают компьютеры, понимают, что это сугубо логические алгоритмы. Нельзя задать им задачу просто «выбрать случайное число». Они попросту этого не умеют (к слову, это и в случае людей справедливо). Поэтому в ход идут разного рода ужимки.

Самый простой вариант — берется какое‑либо базовое число, чаще всего переменная, она обвешивается разного рода алгоритмами и вычислениями, и на выходе мы получаем какое‑то число. Оно называется псевдослучайным, потому что как вы понимаете, если мы знаем алгоритм и значение переменной, то не составит труда пересчитать его и получить якобы случайное число. В качестве семени, то есть начальной точки чаще всего используется время как отправная точка, с которой начинается генерация. И при внешней случайности числа под капотом точный алгоритм. Такой метод получил название линейного конгруэнтного метода.

Разумеется, этот метод предсказуем, и потому ученые разработали множество своих вариантов алгоритма типа метода Фибоначчи или Вихря Мерсенна. Некоторые доходили до паранойи в попытках создать фактически не просчитываемый алгоритм и можно сказать, что почти преуспели. Кроме того факта, что это все ещё логические вычисления, они стали настолько сложны, что их расшифровка в конечном счете превращается в крайне неблагодарное занятие (картинка ниже). Не спрашивайте, что на ней, я сам ничего не понимаю.

Однако я вас все таки обрадую. Наиболее приближенные к настоящим случайным числам есть. Просто в качестве «семени» в таких алгоритмах выступают не просчитываемые значения или переменные типа времени, которые можно посчитать. В таких алгоритмах в качестве источника используются значения, которые фактически не отслеживаются — шумы токов, такты процессора, размеры жесткого диска, номера процессов, тепловые шумы и даже радиоактивный распад элементов.

В таком случае шансов предугадать последовательность псевдослучайных чисел фактически нет. Это очень дорогие, медленные и затратные методы, они часто используются в криптографии и считаются наиболее надежными на текущий момент.

Так что, если задуматься, все случайные значения и события, черные и белые полосы в жизни — есть ни что иное, как сочетание факторов от смещенного центра тяжести костей до когнитивных искажений и хитрых математических последовательностей. Считать это случайностью или нет? Это каждый пусть сам для себя решит.

Автор: Дмитрий Масленников

Оригинал

Комментарии (9)


  1. askv
    09.11.2025 11:48


  1. goldexer
    09.11.2025 11:48

    Кхм, знаете, я сейчас отойду от математической темы, но... Вот наверно у многих бывало: приедешь в очень далекий город, раз в жизни, и подумаешь: «а вот давно не видел %username%» и, внезапно, встречаешь его именно здесь через какое-то очень непродолжительное время. Вот каковы были шансы? Именно здесь, в одно и то же время, именно этот человек!

    Я, конечно, не фаталист, но иногда случайности поражают. Уж не в матрице ли мы живём в самом деле? )))


    1. MountainGoat
      09.11.2025 11:48

      Три раза, по трём абсолютно никак не связанным поводам, ездил в один и тот же многоквартирный дом в Москве, хотя сам я даже не в ней. 1) Ездили поздравлять друга друга друга уже не помню с чем. 2) Знакомый журналист попросил съездить сфотографировать граффити во дворе этого дома так как сам не успевал. 3) Взял на авито кота(!), ездил забирать.

      Отака статистика.


      1. askv
        09.11.2025 11:48

        У меня коллега по работе как-то снял квартиру в Москве в доме, где живёт мой друг.


        1. Radisto
          09.11.2025 11:48

          А ваш друг тоже там её снимает? Или взял в ипотеку в новостройке, как и подавляющее большинство его соседей, многие из которых сдают купленное жилье для окупаемости ипотеки? Если да, то вероятность снять жилье в таком доме сильно выше. А если у вас много друзей и коллег, то парадокс дней рождений ваш друг


          1. askv
            09.11.2025 11:48

            Друг собственник, жильё построено ещё в советское время.


    1. Emelian
      09.11.2025 11:48

      иногда случайности поражают. Уж не в матрице ли мы живём в самом деле?

      Я бы даже сказал больше. Иногда всё происходит настолько вовремя, что просто диву даёшься, «рояль в кустах» – просто отдыхает! Есть ощущение, что тебя «ведут» всю жизнь, начиная от «контракта», который ты подписываешь до рождения (где-то там, на «небесах»), потом стирают почти всю память (остаются только микроскопические осколки, «застрявшие» в генах) и «оправляют» в этот Мир. Что будет потом, не знаю, но, какой-то «разбор полётов» – обязательно!

      Это не значит, что в этом Мире у нас нет свободы выбора. Есть! Именно за этим, те, кто привёл нас сюда, и наблюдают. Могут очень помочь, когда сочтут нужным, а могут и наказать, устроив «Ад на Земле». Иной раз думаешь, что за грехи нам воздаётся уже на Земле, а «там» нас особо уже судить не будут, мол, два раза за один и тот же проступок не наказывают. Хотя, допускаю, что у всех всё будет происходить по-разному.

      Насчет, «Матрицы» – не верю, хотя большую часть времени наш Мир и мы в нём живем на автопилоте. То бишь, нами всеми управляют, в основном, бездушные принципы (законы природы), а не чья-то разумная Воля. Это «Воля» проявляется «редко, но метко».


    1. Seraphimt
      09.11.2025 11:48

      Очень похоже на феномен Баадера-Майнхоф, погуглите про него.


  1. anoldman25
    09.11.2025 11:48

    Есть настоящих источник случайных чисел. Это квантовая механика. Вот пример ее применения:

    https://www.fourmilab.ch/hotbits/

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