Як працює ГВЧ на PokerMatch

Генератор випадкових чисел — це алгоритм та процес, який відповідає за роздавання карт у покері. ГВЧ видає непередбачувану послідовність чисел без жодних закономірностей або залежностей.

PokerMatch використовує генератор випадкових чисел від компанії Connective Games LLC, яка вже більше ніж 10 років працює на ринку, постачаючи програмне забезпечення для покер-румів у Латинській Америці, Індії, Грузії та інших країнах.

ГВЧ від Connective Games побудований на основі кількох джерел випадкових чисел, дані яких комбінуються:

криптографічно стійкий програмний SHA-1 алгоритм у застосунку (реініціалізація після отримання 2^20 біт);

алгоритм операційної системи, що використовує апаратні джерела ентропії (тепловий шум процесора, таймінги переривань мережевих та дискових операцій);

апаратний генератор випадкових чисел Quantis, розроблений компанією ID Quantique, який використовує квантову ентропію.

Комбінація даних цих джерел гарантує, що фінальна послідовність справді випадкова, стійка за умови компрометації одного з компонентів та має достатню продуктивність.

Формування роздач і тасування карт

Для тасування карт в усіх наших покерних іграх використовується так званий Continuous Shuffle (роздача випадкової карти по ходу гри, або ”постійне тасування“) з такими особливостями:

  • використовується один екземпляр ГВЧ для всіх роздач у системі;
  • під час створення столу так само створюється колода (deck) з 52 карт у початковому стані;
  • на початку кожної роздачі на столі кількість уже розданих карт (dealt) = 0.

Коли грі потрібна карта, система робить кілька кроків:

Крок 1.ГВЧ генерує випадкове число nextCardIndex в діапазоні [dealt, 51].

Крок 2. Система обмінює карти в колоді deck[nextCardIndex] та deck[dealt].

Крок 3. У гру передається карта deck[dealt] та збільшується dealt = dealt + 1.

По завершенні роздачі колода зберігає свій стан для використання в наступній роздачі.

В усіх іграх використання ГВЧ однакове, за винятком ігр, правила яких містять специфічні операції з колодою. Наприклад, у 32-картковому Дро (32 Card Draw), якщо під час обміну карт у колоді не вистачає, то повторно використовуються карти, скинуті іншими гравцями. При цьому Китайський покер працює з колодою за принципом Безлімітного Холдему.

Крім того, Continuous Shuffle забезпечує додаткову ентропію для тасування зі зростанням кількості роздач, що граються одночасно.

Перевірка ГВЧ

Генератор випадкових чисел від Connective Games LLC на PokerMatch двічі успішно пройшов перевірку та отримав сертифікати від визнаних світових компаній Gaming Lab та iTech Lab!

У ході перевірки проводилися:

  • аналіз реалізації ГВЧ (вивчення документації та вихідних кодів, теоретичний аналіз, оцінка параметрів ГВЧ, процедури ініціалізації/реініціалізації програмних компонентів ГВЧ);
  • збір даних для статистичного тестування (на основі мільйонів колод);
  • оцінка якості ГВЧ через набір статистичних тестів DIEHARD;
  • перевірка розподілу карт у колодах;
  • електронний підпис реалізації ГВЧ та інші.
Чи корисна ця стаття?
0 0 0