@Elick

Как выиграть подбрасывая монетку, зная что монета может быть несимметричной, но не зная какая именно и в какую сторону?

Задался теоретическим вопросом игры в подбрасывание монетки.
Суть игры наверное всем уже понятна. Допустим у нас есть набор из разных монет, мы можем каждую из них отличать. Мы приходим к организатору игры, он дает нам выбрать монету. Для упрощения мы можем ставить только на выпадение орла и организатор дает коэффициент на выигрыш всегда только 2 (т.е. в случае выпадения орла мы удваиваем).
Допустим мы знаем, что монеты вполне возможно могут быть намагниченные, несимметричные и т.п., т.е. вероятности могут ощутимо отклоняться от 50/50 в одну из сторон, но мы не знаем для какой монеты и в какую сторону.
Как понять определить вероятность, что определенная монета будет "кривая" (допустим орел выпадает чаще, т.е. ставя на эту монету постоянно, мы получим положительное мат.ожидание), если мы имеем историю из N подбрасываний для монеты?

UPD: У нас есть тренировочные попытки подбрасывания каждой монеты, как найти вероятность, того что монета несимметричная?

from scipy.stats import beta
import pandas as pd
import numpy as np

p = 0.6

monet = pd.DataFrame([np.random.binomial(1,p) for i in range(100)])[0]
print(f'Выборочная вероятность орла: {monet.mean()}')

a = monet.sum() 
b = len(monet) - monet.sum()
apost = beta(a,b)
x = np.linspace(0,1,10000)

fig, ax = plt.subplots(figsize=(18,10)) 
mean = apost.mean()
std = apost.std()
ax.plot(x, apost.pdf(x), linewidth=2)
ax.grid()
ax.fill_between([mean - 3*std, mean + 3*std], 0, apost.pdf(x).max(), alpha = 0.3)
ax.fill_between([mean - 2*std, mean + 2*std], 0, apost.pdf(x).max(), alpha = 0.3)
ax.fill_between([mean - std, mean + std], 0, apost.pdf(x).max(), alpha = 0.3)
plt.xlim([mean - 4*std,mean + 4*std])
ax.vlines(1/2, 0, apost.pdf(x).max(), color = 'r', linewidth=2) 
ax.vlines(monet.mean(), 0, apost.pdf(x).max(), color = 'black', linewidth=2)


62010ae75a345138292106.png

Я тут набросал код на python, строящий beta распределение для эксперимента с подбрасыванием монеты 100 раз, при этом если сторона 1 (орел) будет выпадать с вероятностью 60%. Закрашенные области это 1,2,3 сигмы (по сути доверительные интервалы с определенными вероятностями, я точно не помню какими). Красная линия это по сути вероятность организатора, если он дает всегда коэффициент 2, черная - это выборочная вероятность (~63% при истинной в 60%).
По сути если взять площадь справа от красной линии, то мы измерим вероятность того, что вероятность выпадения орла больше 50%, так ли это? И вообще насколько это корректно?
  • Вопрос задан
  • 1152 просмотра
Пригласить эксперта
Ответы на вопрос 2
hint000
@hint000
у админа три руки
Для упрощения мы можем ставить только на выпадение орла
Это не упрощение, а усложнение. Может быть все монеты чаще падают решкой, тогда ваши шансы на выигрыш в короткой серии бросков будут малы, а в длинной серии будут стремиться к нулю.

Если не ставить такое ограничение, то можно предложить простейшую стратегию: делать ставку на сторону, которая выпала в прошлом броске.
Более сложная стратегия - перед началом игры зафиксировать нечётное N, и после N бросков вычислять следующую ставку, как моду по N предыдущим броскам (или округлённое скользящее среднее, суть та же). В частном случае N=1 имеем выше упомянутую простейшую стратегию.
Ответ написан
@Akela_wolf
Extreme Programmer
Это уже статистика. Берете выборку для каждой монеты, считаете "хи-квадрат", получаете с заданным уровнем достоверности ответ: случайно это она так падает или есть отклонение от равномерного распределения. Если отклонение есть - то смотрите в какую сторону перекос вам дает выборка. Собственно на эту сторону и нужно делать ставки, удваивая каждый раз при проигрыше.

Например: с вероятность 60% орел, 40% решка. Ставлю рубль на орла. Проиграл. Ставлю 2 рубля. Проиграл. Ставлю 4 рубля. Проиграл. Ставлю 8 рублей. Выиграл. Итого прибыль 1 рубль. Так как вероятность выпадения орла больше, то в конечном итоге игрок больше выиграет чем проиграет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
CTRL+ Москва
от 250 000 до 320 000 ₽
CTRL+ Москва
от 200 000 до 300 000 ₽
CTRL+ Белград
от 250 000 до 320 000 ₽
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект