Архив рубрики ~Лента новостей~

Верите ли вы в случайность?

Верите ли вы в случайность?

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

d80d045b3c05e7faba7bd12515d6bc18

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

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

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

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

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

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

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

eca657a20d72769d1ca7565b7a363645

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

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

1cd293e1dca0338b7cc05577b4b83cab

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

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

54679d1fd4e2f37bd282a26c5a135892

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

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

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

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

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

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

d5f927e025f463474dc492a7b2cf5189

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

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

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

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

Оригинал

Источник: habr.com

Оцените материал:

Поделиться
Понравилась статья? Расскажите другим
ВКонтакте
Читайте также
Архив рубрики ~Обо всем~ Структурированный вывод с использованием LLM: режим JSON, вызов функций и когда использовать каждый из них. Архив рубрики ~Обо всем~ Структурированный вывод с использованием LLM: режим JSON, вызов функций и когда использовать каждый из них. Архив рубрики ~Обо всем~ Новое приложение Studio Pro от VSCO позволяет редактировать до 100 фотографий одновременно. Архив рубрики ~Полезное~ Список сервисов, которые отгружают пробные лимиты, имеют бесплатные тарифы, дают токены стартапам и студентам Новости робототехники Ultimate Robot Knockout Legend Новости робототехники Фреймворк для «красных» процессоров и модель «издатель — подписчик». Работаем с флотом ИИ-агентов на своей машине Архив рубрики ~Обо всем~ Теорема Фробениуса Архив рубрики ~Обо всем~ Два часа экранного времени в день ускорили восстановление после сотрясения мозга у подростков. Менее продолжительное время замедляло процесс Архив рубрики ~Обо всем~ Тим Кук из Apple заявил, что повышение цен «неизбежно». Архив рубрики ~Обо всем~ [Перевод] Туман живой! Учёные изучили, чем занимаются бактерии, живущие в каплях тумана Архив рубрики ~Обо всем~ 10 признаков того, что кто-то следит за вашими аккаунтами или получает к ним доступ — как это остановить. Новости робототехники Компания Waymo отзывает около 4000 роботакси, чтобы предотвратить их въезд в зоны проведения дорожных работ. Архив рубрики ~Обо всем~ Белки: мозаичный узор, управляющий ими всеми? Архив рубрики ~Обо всем~ Накопитель SanDisk Optimus GX PRO 850P на 8 Тбайт стоит в 4 раза дороже PS5, для которой он создан Архив рубрики ~Обо всем~ Структурированный вывод с использованием LLM: режим JSON, вызов функций и когда использовать каждый из них. Архив рубрики ~Обо всем~ Структурированный вывод с использованием LLM: режим JSON, вызов функций и когда использовать каждый из них. Архив рубрики ~Обо всем~ Новое приложение Studio Pro от VSCO позволяет редактировать до 100 фотографий одновременно. Архив рубрики ~Полезное~ Список сервисов, которые отгружают пробные лимиты, имеют бесплатные тарифы, дают токены стартапам и студентам Новости робототехники Ultimate Robot Knockout Legend Новости робототехники Фреймворк для «красных» процессоров и модель «издатель — подписчик». Работаем с флотом ИИ-агентов на своей машине Архив рубрики ~Обо всем~ Теорема Фробениуса Архив рубрики ~Обо всем~ Два часа экранного времени в день ускорили восстановление после сотрясения мозга у подростков. Менее продолжительное время замедляло процесс Архив рубрики ~Обо всем~ Тим Кук из Apple заявил, что повышение цен «неизбежно». Архив рубрики ~Обо всем~ [Перевод] Туман живой! Учёные изучили, чем занимаются бактерии, живущие в каплях тумана Архив рубрики ~Обо всем~ 10 признаков того, что кто-то следит за вашими аккаунтами или получает к ним доступ — как это остановить. Новости робототехники Компания Waymo отзывает около 4000 роботакси, чтобы предотвратить их въезд в зоны проведения дорожных работ. Архив рубрики ~Обо всем~ Белки: мозаичный узор, управляющий ими всеми? Архив рубрики ~Обо всем~ Накопитель SanDisk Optimus GX PRO 850P на 8 Тбайт стоит в 4 раза дороже PS5, для которой он создан