Что такое гсч в покере. Генератор случайных чисел в онлайн-покере

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

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

Что такое ГСЧ?

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

Аппаратный ГСЧ представляет из себя устройство, использующее какой-либо из внешних источников энтропии для получения последовательностей.

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

ГСЧ в онлайн покере

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

Все покер-румы получают различные сертификаты, чтобы доказать состоятельность своих ГСЧ и софта. Cigital - одна из крупнейших компаний в этой области, занимается, в том числе, сертификацией покерного софта и ГСЧ. Сертификат этой компании есть у крупнейших покер-румов Full Tilt Poker и PokerStars . Основа тестирования любого ГСЧ - набор тестов NIST (National Institute of Standards and Technology), основанных на стандарте США FIPS 140-2 (Federal Information Processing Standard). Он включает различные тесты от теста на соотношение 0 и 1 в генерируемой последовательности, до теста на сжатие алгоритмом LZO (случайная последовательность не может быть существенна сжата, потому что не должна иметь много повторяющихся последовательностей).

Для генерации случайных последовательностей они используют систему из одного или нескольких источников энтропии и алгоритма ГПСЧ. Например, крупнейший покер-рум PokerStars использует данные от пользователей (передвижения мышью, время реакции на определенные действия и т.д.) как фактор случайности и аппаратный ГСЧ Quantis , сертифицированный швейцарским Федеральным бюро метрологии. Quantis использует физические процессы для генерации числовых последовательностей. Он улавливает фотоны и пропускает их через полупрозрачное зеркало. Два события: отражение и прохождение света принимаются за 0 и 1. Quantis выпускается с разными интерфейсами: USB, PCI, PCI-E с потоком случайных чисел в 4 Мбит/с. Также есть 16 Мбит/с модификация для PCI устройств. Цена такого девайса €890 - €1165 для 4 Мбит/с потока и €2000 для 16 Мбит/с. Также в PokerStars есть критерии определения достаточной степени случайности. Например, если данных от пользователей недостаточно, то раздача не начинается пока не будет обеспечена достаточная генерация случайных бит аппаратным ГСЧ. Само преобразование потока случайных бит в числа происходит так: если нужно число от 0 до 25, то выбирается 5 бит и преобразуется в число от 0 до 31; если число больше 25, то процесс повторяется. Для перетасовки колоды выбирается исходная колода и пустая, из первой выбирается случайная карта и переносится во вторую. Так, пока все карты не будут перенесены в изначально пустую колоду.

В целом, покер-румы используют два вида тасования колоды: одиночное и постоянное. В одиночном колода тасуется один раз перед раздачей, а в постоянном тасовка продолжается всю раздачу. Второй вариант вносит дополнительную защиту от взлома, потому что следующая карта стола неизвестна до последнего момента. Постоянная тасовка, например, используется во втором по величине покер-руме - FullTilt. Сам ГСЧ FullTilt"a построен по похожему с PokerStars принципу, используются 3 независимых генератора: аппаратный ГСЧ с физическим источником энтропии и два независимых ГПСЧ (ISAAC и OpenSSL). Вообще такой вариант комбинирования нескольких генераторов случайных чисел используется сейчас повсеместно, но на заре становления онлайн покера дела с ГСЧ обстояли гораздо хуже.

История с Planet Poker и ASF Software Inc.

Planet Poker - первый в мире покер-рум, который предложил своим пользователям игру на дeньги в интернете. . Немного позже его безопасностью заинтересовались специалисты из "Reliable Software Tehnologies" (ныне "Cigital"). На сайте Planet Poker были открыты исходники их алгоритма ГСЧ (сам алгоритм принадлежал компании "ASF Sowtware Inc."). Этим они хотели показать свою честность и надежность, но исходники только помогли специалистам найти в нем бреши. Вот функция перетасовки карт из опубликованного алгоритма:

procedure TDeck.Shuffle;
var
ctr: Byte;
tmp: Byte;

Random_number: Byte;
begin
{ Fill the deck with unique cards }
for ctr:= 1 to 52 do
Card := ctr;

{ Generate a new seed based on the system clock }
randomize;

{ Randomly rearrange each card }
for ctr:= 1 to 52 do begin
random_number:= random(51)+1;
tmp:= card;
card := card;
card := tmp;
end;

CurrentCard:= 1;
JustShuffled:= True;
end;

Вкратце, берется неотсортированная колода карт и карты от 1 до 52 меняются местами с любой случайной картой. Для генерации случайных чисел используются Pascal-функции random, randomize, которые используют системный таймер и алгоритм ГПСЧ для получения случайных чисел.

Первая ошибка алгоритма кроется в функции random(n) - она, в отличие от большинства Pascal-функций, возвращает значение от 0 до n-1. Т.е. "random(51)+1" дает нам число от 1 до 51 - классическая ошибка off-by-one. Получается текущая карта никогда не будет меняться местами с последней 52-й картой, что уже дает отклонение от случайности получаемой колоды.

Также специалисты "Reliable Software Tehnologies" выявили несостоятельность самого алгоритма, даже если исправить ошибку off-by-one. Для демонстрации этого они использовали описанный выше алгоритм:

for (i is 1 to n)
Swap i with random position between 1 and n

Для простоты расчетов использовалась колода из 3-х карт. В результате колоды 231, 213 и 132 встречались чаще чем 312, 321 и 123. Понятно, что для колоды из 52-х карт какие-то варианты перетасовки колоды должны были встречаться чаще чем другие.

Еще одним важным упущением было количество возможных колод в таком ГСЧ. При реальной перетасовке карт возможны 52!= 8,06*1067 вариантов колоды. Pascal-функции генерируют случайные числа на основе системных часов. Основа для расчета случайного числа - количество милисекунд с полуночи. В сутках всего 86 400 000 миллисекунд, таким образом мы имеем всего 86,4 млн возможных вариантов перетасовки колоды, что гораздо меньше реально возможной.

И это не все, найденные недостатки не дают особого преимущества для игроков, но следующая уязвимость позволяла полностью узнать последовательность карт в колоде. Все опять же из-за ГПСЧ, точнее его предсказуемости. Исследователи написали эксплоит, который в точности мог показывать все карты игроков и оставшиеся карты стола после выложенных на стол 3-х карт. Таким образом он основывался на 5-ти известных картах: 2-х игрока и 3-х на столе. Используя анaлoгичный Pascal алгоритм ГСЧ и подбирая разное количество миллисекунд с отклонением от текущего времени (время генерации карт должно было быть близко к локальному времени), эксплоит находил точное совпадение 5-ти известных карт и выдавал все остальные.

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

Для игроков эта история сложилась удачно - эксплоит был в хороших руках, и специалисты "Reliable Software Tehnologies" сразу сообщили о найденных уязвимостях в "ASF Sowtware Inc." (их услугами кроме "Planet Poker" также пользовались purepoker.com, deltacasino.com) и позже опубликовали свой отчет . Они оценили ущерб, если бы программа попала в плохие руки, в $100 000 в день. Planet poker и вообще онлайн покеру эта история нанесла серьезный ущерб, хотя и не помешала активно развиваться этой отрасли. А "Reliable Software Tehnologies" была переименована в "Cigital" и сейчас является очень авторитетной компанией по аудиту и сертификации программ.

Real Deal и технология Cut"N Shuffle
Отдельно стоит упомянуть покер-рум Real Deal с их . Игра на дeньги в нем началась 7 мая 2010 г. Для перетасовки используется реальная колода карт и специальная шафл-машина для их перемешивания.

Этот запатентованный аппарат называется Cut"N Shuffle. С его помощью получается настоящее перемешивание реальной колоды карт. К тому же раздающему игроку предлагается подрезать колоду (он может и отказаться), что вносит дополнительный элемент случайности. Видеозаписи каждой перетасовки колоды сохраняются на сервере и любой игрок может получить их при желании. Это довольно молодая технология, посмотрим насколько она будет успешной в будущем.

Заключение

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

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

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

Почему ГСЧ настолько важен?

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

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

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

Игроки практически на всех покер-румах отмечают, что после вывода денег с депозита и после нескольких идущих подряд попаданий за финальный стол начинается «черная полоса». Об этом говорят игроки PokerStars, Party Poker, всех румов сетей iPoker и Ongame. Реальность это или попытка оправдать нечестностью владельцев покер-румов – сказать сложно. Можем только посоветовать быть максимально собранными и осторожными в игре после выхода в плюс.

ГСЧ наиболее популярных покер-румов

PokerStars

Для начался разберемся, является ли покер интеллектуальной игрой в принципе. Приведу свой любимый пример. В финале одного из крупных покерных турниров случилась интересная раздача: обоим игрокам раздали одинаковую руку - 98 разномастные. Комментатор раздачи заметил, что один из игроков является фаворитом с шансами 2 к 1. Как это возможно, ведь их карты по статусу ничем не отличались друг от друга?

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

Еще один пример. Два туза являются самой сильной стартовой комбинацией в hold"em покере с вероятностью выигрыша на вскрытии 85 %. В то же время, есть множество вариантов неправильного розыгрыша этой руки, когда будучи в теории фаворитом, вы не получаете за нее денег (или фишек) либо получаете слишком мало.

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

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

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

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

В настоящее время, чтобы начать свою работу, покер-рум должен иметь лицензированный ГСЧ. Он проверяется специалистами (главным образом, математиками и программистами), которые дают заключение о том, выполняет ли ГСЧ свою работу, то есть абсолютно случайное распределение карт. Некоторые юрисдикции (например, Великобритания) выдвигают огромные требования к покер-румам для доступа на национальный рынок. Уж будьте уверены, такая "мелочь", как недостаточно надежный ГСЧ не ускользнула бы от внимания контролирующих органов.

В моем руме в пиковые часы ведут игру до 300 тысяч игроков, одновременно происходят тысячи раздач. Я не программист, но мне сложно представить, какой сложности должен быть алгоритм, чтобы в таких условиях именно я, Маша из Питера, разорилась и пошла по миру с сумой) Ну и еще раз повторю, что покер-румы получают деньги в виде сбора с игроков за участие. Им все равно, кто выиграет конкретную раздачу - вы или ваш сосед по столу из Австралии, так как свои деньги они уже получили.

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

Тем не менее, ни один компьютер не может выбрать совершенно случайное число. Цифры получают при использовании очень сложной формулы. Это формула, по существу, и есть то, что мы называем ГСЧ. Если игрок покер-рума узнает формулу ГСЧ, используемую там, он будет знать какие будут карты на флопе, тёрне, ривере, а также будет знать закрытые карты других игроков. Как понимает каждый игрок в покер, это даст доминирующее преимущество для мошенника/хакера. Важно отметить, что онлайн покер-румы изменяют свой ГСЧ раз в две недели, а некоторые даже каждую неделю. Хотя это не останавливает хакеров, которые пытаются найти новый ГСЧ, но сильно их замедляет.

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

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

Что такое Poker RNG?

Poker RNG – это программное обеспечение, разработчики которого утверждают, что их программа может понять ГСЧ-формулу онлайн покер-румов. Таким образом, можно прогнозировать появление общих карт, чтобы доминировать на флопе, и узнавать две закрытые карты других игроков за столом.

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

Как Poker RNG предсказывает предстоящие руки?

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

Poker RNG использует базу данных, введённую вами, чтобы выяснить систему перетасовки генератора случайных чисел. Чтобы программное обеспечение смогло предсказывать карты с точностью 99,9%, в базе данных должно быть более 2000 рук (в зависимости от покер-рума).

До формирования базы данных программное обеспечение не может точно предсказывать карты. Существуют различные уровни точности в зависимости от количества введённых рук в базу данных.

Прежде чем продолжить, мы должны сделать два важных замечания:

  • Вы вводите данные вручную (ваши карты и общие карты), и в базе данных рассматривается только полная раздача, если она дошла до ривера. Таким образом, чтобы собрать базу данных на 2000 рук, фактически вы должны сыграть более 3000 рук. На это очень важно обратить внимание, если вы серьёзно думаете о покупке Poker RNG. Потому что это требует большого количества времени, прежде чем вы построите базу данных.
  • Кроме того, после того как база данных построена, вы должны играть примерно от 300 до 400 рук в неделю, чтобы сохранить базу данных актуальной. Как мы уже писали, большинство покер-румов изменяют своё ГСЧ раз в две недели. Поэтому базу данных Poker RNG нужно обновлять.

Руки от 1 по 300

При выборке размером от 1 до 300 рук вы увидите некоторые результаты, но в основном это будут низкие результаты точности. Помните о том, что было сказано о точности выше. Уровень точности не будет высоким, если нет постоянной точности. Если она прыгает от минимальной до 80% и обратно от 80% до минимальной, то 80% точности не будут стабильными показателями для каждой раздачи.

Руки от 301 по 800

С такой выборкой вы заметите больше совпадений и лучшие результаты. Вы увидите точность равную примерно 80%, которая, тем не менее, не будет стабильной.

Руки от 801 до 1500

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

Руки от 1501 до 2200

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

Руки 2201+

Теперь вы должны быть очень близки или уже достигнуть точности 99% для всех раздач. Если вы не будете видеть ривер достаточно часто, вашей базе данных потребуется больше введённых данных о раздачах.

Законно ли владение и/или использование Poker RNG?

Владение программой Poker RNG не является незаконным.

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

Некоторые покер-румы, в том числе Party Poker, ищут программное обеспечение, функционирующее одновременно с их покерным клиентом, и пытаются отслеживать обман игроков (в основном покер ботов). Тем не менее, для работы Poker RNG не требуется, чтобы она использовалась на том же компьютере, за которым вы играете в покер. Вам нужно просто вносить данные в базу данных и проверять предсказания, так что между программами не будет никакой связи, если вы используете два компьютера. Таким образом, она не может быть обнаружена покер-румами.

Действительно ли Poker RNG работает?

Единственные люди, которые могли бы ответить на этот вопрос, это те, кто на самом деле использовал эту программу. Однако, если кто-то использовал её и позже сказал, что она не работает, вы действительно будете верить им? Если эта программа работает, то вполне естественно, что конкуренты будут пытаться дискредитировать её.

Тем не менее, у редакции нашего сайта есть большие сомнения в том, что эта программа действительно работает. Проследите за нашей логикой:

  • Онлайн покер-румы зарабатывают по крайней мере по миллиону долларов в ночь каждый. Если бы у вас был такой бизнес, позволили ли бы вы какому-то программному обеспечению за $500 уничтожить доверие между вашими и вашими клиентами? Нет никаких сомнений в том, что фактические владельцы онлайн покер-румов будут поступать так же, как вы только что ответили сами себе. Даже если это будет означать, что вам придётся платить владельцу Poker RNG все деньги, которые он, возможно, заработал бы за счёт продажи программного обеспечения, для того, чтобы остановить продажу этого программного обеспечения.
  • Вы игрок в покер. Вы знаете, что у вас было бы большое преимущество, если бы вы знали общие карты (забудьте о карманных картах других игроков). Если у вас есть программное обеспечение, которое помогает вам получать такое преимущество, стали ли бы вы продавать его за несчастные $500? Или вы использовали бы его, и зарабатывали миллионы на игре в онлайн-покер? Это вторая причина, по которой наша редакция не верит в то, что это программное обеспечение на самом деле работает.

Сколько стоит Poker RNG? Где я могу купить её? Стоит ли он такой цены?

Poker RNG стоит $457. Мы не смогли найти более дешёвый вариант. Каждый клиент получает идентификатор, связанный с их адресом электронной почты. Для входа в программу вам каждый раз будет требоваться адрес электронной почты, чтобы программа Poker RNG запустилась. Это используется для того, чтобы предотвратить незаконное копирование Poker RNG.

Стоит она этой цены или нет – решать вам. Мы дали вам всю информацию об этом ПО, которая доступна в сети. Так что решайте сами, хотите ли вы дать этой программе шанс показать себя или нет. Мы купили Poker RNG для себя и использовали его в течение мене недели. На самом деле, нам так и не удалось ввести в базу данных более 2000 рук. Это занимает слишком много времени. Вероятно, что у большинства клиентов дела обстоят так же. Они покупают программное обеспечение ради любопытства, и забывают о нём, после использования на протяжении некоторого времени. Мы всегда хотим то, чего у нас нет.

Вот наш совет: не уменьшайте свой банкролл, чтобы купить эту программу, потому что вы думаете, будто благодаря ей станете миллионером. Если у вас есть лишние $500, и вы не знаете, куда потратить. Или вы можете попробовать использовать её вместе со своим другом, чтобы вы одновременно вели базу данных. Однако, весьма сомнительно, что это принесёт какой-то результат.

Поделиться: