ГСЧ в покере

Вы когда-нибудь задумывались, по какому принципу покерные площадки перетасовывают колоду? Сейчас мы расскажем о генераторах случайных чисел (random number generator) всё, что вы хотели, но боялись спросить.

Прежде чем мы углубимся в тонкости работы генераторов, нужно обозначить первый шаг в понимании того, как румы перетасовывают свои колоды. Для этого нужно понять, что на самом деле означает слово «случайный» (random). Фактическое определение случайности очень простое:

Random = невозможно предсказать.

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

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

История (11010000 10011000 11010001 10000001 11010001 10000010 11010000 10111110 11010001 10000000 11010000 10111000 11010001 10001111)

Самый первый компьютер, когда-либо созданный, работал на нескольких переключателях и выполнял задачи согласно состоянию переключателей, у которых было всего два режима – включен или выключен. Использовались ручные переключатели, примерно такие, которыми вы включаете или выключаете свет в ванной.

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

Это так называемый двоичный код: 1 и 0. На данный момент все компьютеры работают как раз на этой простой системе, то есть всё, что вы делаете на вашем PC можно разбить на ряд единиц и нулей.

Обратите внимание на подзаголовок, как раз слово «История» там представлено в двоичном виде – цифрами 0 и 1, по 8 цифр для каждой буквы.

Поскольку устройства работают по этому коду, они не могут самостоятельно принимать логические решения в виде 1 или 0. Если дать компьютеру задачу произвольным образом выдать числовое значение, то его ответ будет «Как мне это сделать?».

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

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

В научном мире поддельные ГСЧ известны как генераторы псевдослучайных чисел (PRNG).

Большинство ГСЧ, используемые компьютерами, на самом деле не являются случайными. Это число, созданное запрограммированным алгоритмом. То есть берется сложный математический алгоритм и его результат используется как случайное число.

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

Такой метод программирования случайностей отлично подходит для видеоигр, но, очевидно, что покерным сайтам он противопоказан, так как позволит практически любому вычислить алгоритм ГСЧ и использовать его в своих корыстных целях.

Настоящие случайные числа

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

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

При использовании такой системы, даже если кто-то заполучит алгоритм, он все равно не сможет воспроизвести результаты, ведь доступа к случайному элементу извне у него не будет.

Использование ГСЧ в покере

Покерные сайты пользуются различными методами при перемешивании колоды, но, безусловно используют для этой цели именно ГСЧ в покере. На каждом крупном покерном сайте есть штат экспертов, который оценивать состояние генератора, ведь должны выдаваться действительно произвольные числа.

На таких сайтах, как PokerStars, Full Tilt Poker и Titan Poker можно найти подробные сведения о работе их ГСЧ в покере и соответствующие лицензии.

Типы перемешивания карт

После того, как вы узнали, что все покер румы используют не псевдослучайный ГСЧ в покере, следующее, что нужно знать – есть два варианта тасовки карт.

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

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

Стоит ли беспокоиться?

Поверьте, если бы кто-то нашел способ взломать ГСЧ в покере, то этому гению было бы гораздо выгоднее раскрыть свой метод – это принесло бы гораздо больше славы и богатства, чем нечестные победы за покерным столом.

Это был бы прорыв, достойный медали на груди и Нобелевской премии, который сломал бы абсолютно все представления в среде математиков и программистов о ГСЧ. Такое событие можно будет сравнить с изобретением микрочипа. Если вы считаете, что вам всё-таки удалось это сделать, есть два варианта:

  • Зарабатывать деньги в покере, чтобы стать богатым «Филом Айви», но постоянно скрываться и беспокоиться о том, что вас могут поймать за взлом ГСЧ в покере.
  • Продать идею военным, чтобы стать богатым Биллом Гейтсом, а также национальным героем и гением вычислительной математики.

Что бы вы выбрали?