Когда случайность неслучайна




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

Для начала, то, что вы привыкли считать случайным даже в физическом мире игр не совсем случайно. Шарики с нанесёнными на них номерами, выпрыгивающие из автомата в лото, имеют неравные шансы попасть наружу из-за того, что разное количество краски для разных цифр придаёт им несколько различный вес. Шестигранная кость с утопленными точками может иметь незначительный перевес на одну сторону, ведь с разных сторон отсутствует разное количество материи, следовательно, центр тяжести несколько смещён. Кроме того, у многих шестигранных костей скруглённые рёбра, и если они чуть-чуть отличаются, то есть небольшая вероятность того, что кость, упав на определённую грань, продолжит катиться, а значит, определённые цифры имеют больший или меньший шанс на выпадение. Двадцатигранные кости в зависимости от того, как их изготовили, могут быть продолговатыми, вместо того, чтобы стремиться к идеальной окружности, а значит, у расположенных «по краям» номеров чуть меньшая вероятность выпадения. И всё это – не учитывая случаев, когда в костях специально подстроенный перевес или человек, который бросает их, практиковался, чтобы выбрасывать так, как ему нужно.

Что же в картах? Всевозможные исследования показали: то, как мы тасуем колоду, как правило, неслучайно, и действительно, если перетасовать колоду определённым способом какое-то количество раз (точного числа не помню, но оно не такое уж большое), колода вернётся почти в то же состояние, в котором находилась до этого; карточные фокусники пользуются этим трюком для того, чтобы сделать вид, будто они тасуют, когда на самом деле, они выкладывают карты нужным им образом. Даже если тасовать совершенно честно, результат не всегда случаен. Подумайте: в зависимости от того, как вы тасуете, верхняя или нижняя карта может оставаться на своём месте после одного переброса, так что вам приходится тасовать ещё несколько раз, прежде чем порядок карт в колоде станет достаточно случайным. Суть здесь в том, что даже без преднамеренного расположения карт нужным образом, не все расклады одинаково вероятны.

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

С тасованием карт казино тоже приходится быть крайне осторожными. Если тасовать их вручную, могут возникнуть проблемы со случайностью (не говоря уже о жалобах крупье на боль в запястьях). Крупье, который тасует недостаточно тщательно – потому что хочет успеть сделать больше раздач или просто обленился – может использовать игрок, который примечает, что есть чуть больший шанс у некоторых карт в этой последовательности идти сразу же за другими. И это не считая тех крупье, которые сговариваются с игроками делать так специально.

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

Всё это говорит об одном: даже события в физическом мире игр, которые мы воспринимаем как «случайные», на самом деле не всегда так случайны, как мы думаем. Заметьте, это вовсе не означает, что мы можем как-то повлиять на создавшийся порядок вещей, если не считать огромных затрат на сверхкачественные компоненты. Платить втридорога за идеальную, проверенную электроникой игральную кость – это слишком для тех из нас, кто просто хочет иногда поиграть в Settlers of Catan, так что все мы должны просто смириться с тем, что игры, в которые мы играем, не всегда абсолютно случайны и справедливы… Но они достаточно к этому близки, они равно относятся ко всем игрокам, так что погрешностями можно пренебречь.

Псевдослучайные числа

С компьютерами похожие проблемы, ведь, как я уже упоминал во вступлении, в устройстве компьютера вообще не бывает случайностей. Только нули и единицы, только высокое и низкое напряжение, бегущее по проводам и хранимое электромагнитным способом где-то на диске памяти – всё это детерминировано. И если вы не собираетесь устанавливать какой-либо прибор, который измеряет некий произвольно меняющийся параметр некоего физического явления – счётчик Гейгера, отслеживающий радиационное излучение или что-то подобное (а большинство из нас не собирается ничего такого предпринимать) – у вас неразрешимая проблема: как заставить детерминированную машину разыгрывать недетерминированные шансы в игре.

Выкрутиться можно при помощи несложной математики, которую я здесь приводить не буду (если вам интересно, достаточно загуглить «алгоритмы псевдослучайных чисел»). Всё, что вам нужно знать – это то, что существуют некоторые математические функции, которые ведут себя достаточно беспорядочно, без какой-либо заметной закономерности, так что можно просто взять один из результатов этой функции с назвать его случайным числом.

Как знать какой результат функции нам взять? Да любой случайный. Шучу, конечно. Как я и сказал, этого сделать невозможно. Так что вместо этого, вы говорите компьютеру, какой результат ему взять, а потом, когда начало будет положено, если вам ещё раз потребуется случайное число, он просто возьмёт следующее в последовательности, а потом следующее, и следующее, и так далее. Но так как мы сказали ему, с чего начать, всё это уже неслучайно, даже если игроку со стороны так кажется. То число, с которого вы сказали своему компьютеру начать, называется «зерном », и как только вы задали компьютеру одно инициирующее зерно, с него он начинает выбирать числа из последовательности. Достаточно сделать это лишь однажды. Но… и это важно… если вы зададите то же зерно ещё раз, результаты будут точно такими же. Помните, здесь всё детерминировано!

Обычно мы выкручиваемся выбирая в качестве зерна число, которое игроку будет сложно повторить, например, число миллисекунд, которые истекли с момента наступления полночи или что-то подобное. Но выбирать надо очень осторожно. Например, если вы выберете зерном дробное значение миллисекунды из часов системы (от 0 до 999), то в вашей игре будет лишь 1000 вариантов «перетасовки», и этого достаточно для того, чтобы при многократной игре ваш пользователь ощутил дежа-вю от двух подозрительно похожих друг на друга игровых сессий. Если ваша игра соревновательная, достаточно мотивированный игрок может изучить вашу игру настолько, что будет уметь предсказывать, какое число когда выпадет и использовать это для получения нечестного преимущества. Так что при создании подобных систем надо быть очень осторожными.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-06-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: