Фраза «случайности не случайны» звучит клево, если только речь не идет о твоем депчике в казик, который сгорел от неудачного рандома.
Ну, или не совсем рандома — сегодня в Галилео от мира гедонизма разберемся, что такое RNG, насколько циферки на экране случайны и везде ли рандом работает одинаково. Разобраться нам в этой уга-буга математической хтони поможет Никита, математик из Pixmove Games.
Те три буквы на заборе
RNG, прикрученный к слотам (он же Random Number Generator)— это random только на пол-шишечки. На самом деле алгоритм псевдослучаен, потому что в мире есть еще так называемый True random.
В чем заключается true-шность. TRNG берет случайное значение из какого-нибудь природного физического процесса — например, теплового или электронного шума (или даже из радиоактивного распада, после которого появляется гэмбловик-паук). Затем полученное значение проходит дополнительную обработку и выдает финальное — и вот оно отправляется сервером обратно игроку или в выдачу.
В студенческую бытийность ваш покорный автор проводил эксперименты на экзаменах, когда препод на телефоне тыкал рандомайзер, чтобы выбрать билет для ответа, а ты сидел и вслух молился на определённое число. И опа! Именно оно часто и выпадало. Так и в бога поверить можно.
Где посмотреть примеры такой фигни? Далеко ходить не надо — вот, скажем, random.org работает на реальном TRNG — получает данные из атмосферного шума через радиоприемник.
В общем, true generator — вещь прикольная, но есть одно но
Когда у тебя тысячи игроков одновременно крутят слоты, такой движок поддерживать сложно — штука медленная и и неповоротливая. Знающие люди уже понимающе кивают головой, когда речь заходит про условные реплеи раундов и Provably Fair.
Хотя вон, например, столото прям на сайте у себя афиширует, как работает их алгоритм — они берут электронные шумы. Кто, правда, в это играет, будучи в своем уме, вопрос открытый.
Откуда же нам взять немного случайности, если не из звука
А вот! Есть еще CSPRNG — Cryptographically Secure Pseudo-Random Number Generator. Это альтер-эго нашего друга, так сказать, two-faced bitch.
CSPRNG может работать как по предварительно созданному seed, на котором будут основаны результаты, или же брать энтропию из операционной системы. Источниками могут быть аппаратные события, тайминги, системные прерывания и специальные аппаратные генераторы случайности процессора. Потом понять алгоритм не получится даже на основании истории прошлых спинов.
По бумагам все п…правильно и чисто
Для регулятора это все рандом, ведь основные пункты в виде невозможности вмешательства, RTP и отсутствия закономерности соблюдены. Все-таки в лабораториях сидят не пальцем деланные ребята — поэтому и существуют всякие тесты типа NIST Statistical Test Suite, Dieharder, TestU01.
К счастью, хоть такая штука и защищает игрока от подтасовки и предсказания результата, от фиговой математики не в пользу игрока может спасти только самоисключение. Но это уже к разговору про RTP (в следующий раз).