Заинтересовался данной темой и как оно бывает, материалов не столь много как хотелось бы. Планируется 2-е части. 1-я - теория, 2-я(если дойдут руки) - практика или реализация. Основная часть информации взята из этой статьи статьи.
Случайность
Работа слот машина как и любой другой игры в казино базируется на следующих принципах:
- Результат каждого раунда случайный(выпавшая комбинация костей, раздача карт, вращения колеса барабана)
- Выигрыш всегда меньше фактического(об этом чуть ниже)
Другими словами, казино имеет преимущество подкрепленное математической моделью, как следствие, нет необходимости жульничать. Выпадающие символы случайны, но все устроено так, что в долгосрочной перспективе вы проигрываете. Тем не мение, люди пытаются отыскать выигрышные шаблоны или выигрышные алгоритмы. Внутреннее чувство иногда подсказывает им, что машины работают на
горячих или
холодных циклах, что они
отдают больше(или меньше) в разное время дня - все это не так.
Абсолютно не важно, сколько времени прошло с момента последнего джек-пота. Шансы на выигрыш каждого спина от этого не меняются. Нет никакого “потому что…” из-за чего выпала выигрышная комбинация. Не может быть алгоритма или шаблона обеспечивающего победу игрока.
Простейшая слот машина
Для начала простой пример. Рассмотрим игру подбрасывание монеты(он же coin-flip):
- вы делаете ставку в 1$
- подбрасываем монету
- выпадет орел - вы выигрываете 1$. Решка - выигрывает казино
Легко заметить, что играя продолжительное время каждый останется при своих(even-sum game). Т.е. количество выпадений с орлом будет стремиться к 50%. Это значит, что казино остается без прибыли(ровно как и вы), поэтому подобные модели не используются. Теперь внесем поправку:
- если выпадает решка, казино выигрывает как и обычно 1$
- если орел, то вы выигрываете не 1$, а 0.9$
Не нужно быть великим математиком, чтоб догадаться, играя при таких правилах играя всегда останешься в убытке:
- в среднем на каждый поставленный доллар игрок получает 95 центов в случае выигрыша
- соответственно казино получает 5 центов в качестве прибыли
Особо внимательные могут заметить, среднее значение потерь должно быть 10, а не 5 центов, но тут следует помнить, что казино забирает эти деньги лишь в случае выигрыша, что приблизительный составляет 50% от общего числа брошенных монет.
Теперь предположим, что казино хочет обратить наш coin-flip в машину. Алгоритм был бы предельно простым: генерируем случайное значение 1 или 0 и платим победителю 90% в случае выигрыша.
Все что вам нужно было узнать из этого примера - казино должно обеспечить случайное выпадение значений. Чем дольше вы играете, тем больше проигрываете в перспективе.
Комбинации
Вернемся к слотам. Значение отдельного колеса формируется произвольным образом генератором случайный чисел(он же ГСЧ) в рамках заданного диапазона. Каждому значению колеса соответсвует стоп-символ, который и будет отображен на экране или барабане в момент его остановки.
Когда колеса еще крутятся, игра уже закончена. ГСЧ сгенерировал финальную комбинацию. По правде говоря, слот машинам даже не нужны барабаны и экран, можно обойтись лишь простейшим табло для отображения ставки и выигрыша.
Стоп-символы
Обычные (не прогрессивыне) видео слоты имеют от 35 до 50 стопов на колесо, когда электронные версии слотов могут иметь от 64 до 256, которые проецируются на 22-е ячейки реального(или эмулируемого) колеса.
Если бы у вас была возможность заглянуть во внутрь электромеханической слот машины, то вы бы увидели колесо похожее на это(схематическая и развернутая версия):
Символы распределены по 22-м ячейкам. Пустые ячейки - это стопы. Можно предположить, раз существует 11 пустых ячеек, то вероятность того что они выпадут стремится к 50% и т.к. есть только один символ jackpot, то его его вероятность, стало быть, 1 к 22. На самом деле это не так. В действительности машина не оперирует 22-мя ячейками. Она оперирует 128 ячейками(или более) контролируемых программно. Один из символов может быть привязан несколько раз на конкретную стоп позицию барабана. А ГСЧ в свою очередь генерирует значение в пределах 1 до 128. Гипотетическая таблица, кот. демонстрирует как символы привязаны к реальной позиции:
Значения ГСЧ |
Символ Барабана |
Сколько раз символ встречается на барабане |
1-73 |
Blank |
73 |
74-78 |
Cherry |
5 |
79-94 |
Bar |
16 |
95-107 |
Double Bar |
13 |
108-118 |
Triple Bar |
11 |
119-126 |
Red 7 |
8 |
127-128 |
Jackpot |
2 |
Допустим, ГСЧ выдал значение 53 - это пустой символ, после вращения, барабан остановится на соответствующей ячейке. 76 - символ Cherry, 128 - jackpot и т.д.
Распределение организовано так, что чаще выпадают те символы, которые не дают большого выигрыша(средневзвешенное колесо). Некоторые символы будут выпадать чаще остальных, даже если на физическом колесе(или его эмуляторе) оно присутствует в единственном экземпляре. Как можно догадаться, реальный шанс срыва jackpot-а не равняется 1 к 22, и в нашем случае - 2 к 128 или 1 к 64. Большинство символов - это пустые ячейки(73 из 128), что составляет 57%.
Говоря о пустых символах, нужно отметить, когда он выпадает, то это не просто абстрактный символ, а символ с определенным значением(или индексом). Сказанное справедливо и для остальных символов. Мы подходим к вопросу о весе каждой ячейке на барабане. Ниже упрощенная версия таблицы:
Номер стоп-а |
Символ |
Значение ГСЧ |
Вес символа |
1 |
Cherry |
1-2 |
2 |
2 |
|
3-7 |
5 |
3 |
Bar |
8-12 |
5 |
4 |
|
13-17 |
5 |
5 |
Red 7 |
18-25 |
8 |
6 |
|
26-30 |
5 |
7 |
Bar |
31-35 |
5 |
8 |
|
36-41 |
6 |
9 |
Cherry |
42-43 |
2 |
10 |
|
44-49 |
6 |
11 |
2 Bar |
50-56 |
7 |
12 |
|
57-62 |
6 |
13 |
Cherry |
63 |
1 |
14 |
|
64-69 |
6 |
15 |
2 Bar |
70-75 |
6 |
16 |
|
76-81 |
6 |
17 |
Bar |
82-87 |
6 |
18 |
|
88-93 |
6 |
19 |
3 Bar |
94-104 |
11 |
20 |
|
105-115 |
11 |
21 |
Jackpot |
116-117 |
2 |
22 |
|
118-128 |
11 |
Последняя колонка - это удельный вес символа. Мы имеем 2 из 128 для превого
cherry символа и 8 из 128 для семерки. Можно обратить внимание, как
jackpot окружен пустыми ячейками с относительно большим удельным весом. Это должно порождать эффект “я был близок к победе”. Т.е. данный символ достаточно часто будет отображаться на экране, но крайне редко выпадать.
Мы сейчас рассмотрели работу только одного колеса. В жизни количество колес может варьироваться от 3-х до 5-и и каждое из них может иметь свою конфигурацию.
Расчет выигрыша
Зная удельный вес каждого символа, можно построит таблицу окупаемости(payback). Какой процент денег машина возвращает игроку в случае бесконечной игры:
Комбинация |
Выплата |
Вероятность |
Расчет вероятности |
Вероятность x Выплату |
3 Jackpot |
1666 |
0.000004 |
2/128 * 2/128 * 2/128 |
0.7% |
7 7 7 |
300 |
0.000244 |
8/128 * 8/128 * 8/128 |
7.3% |
3 Triple Bar |
100 |
0.000635 |
11/128 * 11/128 * 11/128 |
6.4% |
3 Double Bar |
50 |
0.001048 |
13/128 * 13/128 * 13/128 |
5.2% |
3 Single Bar |
25 |
0.001953 |
16/128 * 16/128 * 16/128 |
4.9% |
3 of any bar |
12 |
0.030518 |
(16+13+11)/128 * (16+13+11)/128 * (16+13+11)/128 |
36.6% |
3 cherries |
12 |
0.000060 |
5/128 * 5/128 * 5/128 |
0.1% |
2 cherries |
6 |
0.004399 |
((5/128)*(5/128)*(128-5)/128)x3 |
2.6% |
1 cherry |
3 |
0.108211 |
(5/128*(128-5)/128*(128-5)/128)*3 |
32.5% |
|
|
|
|
96.3% |
Формула расчета для 2 cherries: (вероятность 1-го колеса)*(вероятность 2-го колеса)*(обратную вероятность 3-го колеса), резульат умножаем на 3. Формула расчета для 1 cherry: (вероятность 1-го колеса)*(обратную вероятность 2-го)*(обратную вероятность 3-го), результат умножается 3. Под фразой обратная вероятность имеется ввиду наступление противоположного события.
96.3% значит, что если я буду играть бесконечно долго, то на каждую ставку в 1$ получал бы обратно лишь 96.3 цента. И чем дольше я играю, тем больше мой проигрыш стремиться к значению 3.7%.
Ресурсы