机器学习笔记

这篇博客探讨了在一个随机数游戏中,购买素数和合数的赔率问题。通过计算素数出现的概率和公正赔率,得出在赔率为10.425(素数)和1.106(合数)时,庄家不盈不亏。然而,当实际赔率设为5.5(素数)和1.1(合数)时,庄家将稳赚不赔。文章通过实例展示了概率与赔率如何影响博弈结果。
摘要由CSDN通过智能技术生成

#1 . 赔率和赔付期望  

eg. 假设随机产生1个从2到10000的数,你可以花1元买这个数是素数还是合数。

如果你买素数答对了可以获得5.5元

如果你买合数答对了可以获得1.1元

---------------------------------------------------------------------------------------------

素数合数
发生概率p1-p
公正赔率1/p1/(1-p)

当赔率y=1/p时候,庄家不赔不赚   
假设买素数的有a元,买合数的有b元   
庄家收取公a+b元,庄家赔付期望为:  
        $$ E(y)= \sum p_iy_i = p*(1/p)*a+(1-p)*(1/(1-p)*b=a+b$$

在公正赔率下,庄家不赔不赚。

a=2
b=100000
p_list = [] # 素数列表
for i in range(a, b):
    flag = True
    for p in p_list:
        if p > math.sqrt(i):
            break
        if i % p == 0:
            flag = False
            break
    if flag:
        p_list.append(i)

p_rate = float(len(p_list)) / float(b-a+1)
print ('素数的概率:', p_rate, '\t',)
print ('公正赔率:', 1/p_rate)
print ('合数的概率:', 1-p_rate, '\t',)
print ('公正赔率:', 1 / (1-p_rate))
素数的概率: 0.0959209592095921 	
公正赔率: 10.425250208507089
合数的概率: 0.9040790407904079 	
公正赔率: 1.1060979791387835
#假设买素数为1元,买合数为1000元
buy_prime = 1
buy_normal =1000
print('假设买素数的有{}元,买合数的有{}元。设定素数赔率5.5,合数赔率1.1'.format(buy_prime,buy_normal))
print('庄家获利期望',(buy_prime+buy_normal)-(p_rate*5.5*buy_prime+(1-p_rate)*1.1*buy_normal)) # 庄家稳赚不赔!!

假设买素数的有1人,买合数的有10000人。设定素数赔率5.5,合数赔率1.1 庄家获利期望 55.602986029858585

素数 合数
0.0960.904
公正赔率10.4251.106
庄家实际设定赔率5.51.1     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值