再次讨论下孤注一掷

孤注一掷中的黑客技术里面,简单介绍了电影孤注一掷中用的一些"黑科技",这里继续讨论下,抛弃这些黑科技,即使在绝对公平的情况下,你也一样赢不了赌场

相对论有一个假设就是光速不变这里也有个前提就是赌场比你有钱,而这在大多数情况下都是成立的,从你的视角来说,赌场的钱近似于无穷

还是那句经典的话,对于赌场来说,不怕你赢,就怕你不来。这里用概率的视角来验证下这句话,当你一直赌下去,你最终赢钱的概率是0,而你最终赔光的概率是1。请相信概率,相信大数定理。

随机游走问题请添加图片描述

随机游走 𝑊 t 𝑊_{t} Wt定义在实数轴上,起始位置 𝑊 0 = 0 𝑊_0 = 0 W0=0, 在每个整数时刻i,都会移动一个距离 s i s_i si, 其中 s i s_{i} si是独立同分布的随机变量,这里我们假设每个 s i s_{i} si只能是+1或者-1,且概率均位1/2,离散布朗运动定义为如下公式生成的随机序列
W t = W 0 + s 1 + s 2 + . . . + s t W_{t} = W_{0} + s_{1} + s_{2}+...+s_{t} Wt=W0+s1+s2+...+st
其中t=0,1,2…,上图表示了一次离散布朗运动

逃逸概率

蒙特卡洛方法方法近似随机游走过程从区间[-3,6]的上边界点6处逃逸(首次到达时间)的概率。

import random

w = 0
sum_js = 0
sequence_num = 1600
for j in range(50):
    count = 0
    w=0
    # 从200个序列中选择选择从6处逃逸的序列,计算其占比。在边界-3或6处都会退出
    for i in range(sequence_num):
        while(True):
            rand_num = random.uniform(0, 1)
            if rand_num > 1/2:
                w = w+1
            else:
                w = w-1
            if w == 6 or w == -3:
                print(w)
                if(w == 6):
                    count += 1
                    print(count)
                w = 0
                break
    sum_js += count
print(sum_js/50)
print(sum_js/50/sequence_num)

下表是运行的结果:

n逃逸序列数概率
20065.440.3272
400131.520.3288
800264.540.33067500000000005
1600533.840.33365

其中n就是代码中的sequence_num表示n次随机游走序列。没逃逸一次,无论上逃逸还是下逃逸都是一次随机游走序列。随着n值的增加,这个概率很接近1/3。这个1/3理论值

对于随机游走模型,设a,b为正整数,一个初始位置为0的随机游走序列,首次到达[-b,a]区间边缘的时刻,就称为逃逸时间。理论证明在a处(而不是在b处)逃逸的概率是
b a + b \frac{b} {a+b} a+bb
是想一下,如果a足够大的话,那么上面的公式就会无限接近与0。换句话说,只要你一直走下去,你最终会回到原点,而到达上边界的概率几乎就是0,而到达下边界的概率是1。同理,对于赌博也是同样的道理,只要一直玩下去,输光是必然的事情。

逃逸时间

用蒙特卡洛方法估计随机游走过程从区间[-3,6]中逃逸所需要的时间。

w = 0
sum_js = 0

for i in range(6400):
    count = 0
    while(True):
        rand_num = random.uniform(0, 1)
        if rand_num > 1/2:
            w = w+1
        else:
            w = w-1
        count += 1
        print(count)
        if w == 6 or w == -3:
            w = 0
            break
    sum_js += count
print(sum_js/6400)

当n为6400的时候,平均逃逸时间是17.94625。对于从区间[-b,a]逃逸所需要的时间其期望值是ab,在这里就是3x6=18。

证明过程

这里使用蒙特卡洛模拟了逃逸的概率和时间。理论证明可以参见怎样理解随机游走过程

更过内容,欢迎关注我的微信公众号:半夏之夜的无情剑客

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

helloworddm

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值