Найти тему
Робототехника

Тестирование и варианты выигрыша через понимание статистики.

Начало повествования здесь. И лучше все-таки ознакомиться с предысторией.

А теперь переходим к описанию программы. Тогда в далеком 1999-ом (вроде бы) я писал её на паскале, сегодня думал сделать в Scratch, но это не совсем тактично было бы, поэтому будем творить в Python.

Для начала всегда стоит начинать с алгоритма. При обучении scratch дети у нас также учатся составлять блок-схемы.

пример  диаграммы
пример диаграммы

Сперва алгоритм был таким, но в процессе написания, даже упростил его.

Сам алгоритм достаточно прост и понятен и реально его проверка показала возможности выигрыша у казино, но фактически это на самом деле не стоит того в итоге. Но лучше по порядку,

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

После того, как составили алгоритм, для описания программы воспользуемся сервисом Online Python Compiler.

Там Вы можете взять за основу мою программу или потренироваться в написании собственной(она не сложная, но это полезно)

import random # подключаем генератор случайных чисел

import time # подключаем возможность сделать задержку, для отслеживания

bank = 1024 # наш банк

vhod = 9 # число комбинаций для входа в игру

ser = 0 # серия из противоположной комбинации

kubs = 0 # состояние выигрыша - кубышка

stav = 1 # сумма ставки

numi = 7 # число попыток для банка в 128

itr = 1 # номер итерации

numr=0 # текущее выпавшее число

vigre=0 # состояние ожидания или входа в игру

print("итерация тек. число банк серия кубышка в игре ставка") # подписываем столбики

while (bank>0 ): # запускаем цикл по слитию банка :)

numr=random.randint(0,36) # генерируем случайное число от 0 36

if vigre ==0: # определяем состояние в игре мы или ожидании

if numr % 2 == 0: # Проеряем четность

ser=ser+1 # ждем серию из 5 нужных комбинаций

if ser==vhod: # сравниваем, когда серия будет ровна порогу нашего входа

vigre=1 # запускаем условие входа в игру

ser=0 # обнуляем серию четных чисел

else:

ser=0 #сбрасываем серию если пришло нечетное

else:

bank=bank - stav # это процесс игры - джелаем ставку, уменьшая банк

if numr % 2 == 1: # проверяем успешность или неуспешность ставки

bank=bank+stav*2-1 # в случае выигрыша возвращаем в банк средсива

kubs=kubs+1 # пополняем кубышку

vigre=0 # сьрасфыем статус

stav=1 # возвращаемя к обычной ставке

else: # условие если ставка проиграла

stav=stav*2 # удваиваем ставку, но остаемся в игре.

print(str(itr)+" "+str(numr)+" "+str(bank)+" "+str(ser)+" "+str(kubs)+" "+str(vigre)+" "+str(stav)) # вывод на экран текущего состояния

itr=itr+1 # увеличиваем счетчик наших шакгов на один

#time.sleep(2) # тормозим программу для моделирования.

Копируйте всё, что выделено жирным и вставляйте.

Вот пример нескольких моделирований:

-2

Что видно из этой картинки:

1. было сделано 16709 итераций (шагов). Банк изначально был 1024 и весь слит, но за это время отложили в кубышку 3969 рублей, типа утроились. Попались мы на комбинации идущих подряд чисел:

20 32 30 26 после этого входим в ставки и 30 4 26 28 20 28 6 24 26 4 10 съедают наш банк. Скажу сразу, что программу есть куда дополнить, но в целом она работоспособна. Можете самостоятельно доработать. Вот еще пример:

-3

Здесь банк был меньше и за 10921 итераций мы вернулись практически к тем же данным.

А теперь представьте, что во время игры Вы вы на одну итерацию тратите 1 минуту (хотя по факту там все 5), тогда цикл в 116 000 итераций займет у вас 80 дней. (А по факту 400 дней). То есть если Ваш банк в 1 миллион рублей, то судя по первой отработке модели, мы получим 3000000, но при этом год живя в казино не отходя от стола. Я думаю еще проедите там тысяч 700 за это время

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