随机游走的期望距离

http://www.matrix67.com/blog/archives/959

 随机游走问题是说,假如你每次随机选择一个方向迈出一个单位的长度,那么n次行动之后你离原点平均有多远(即离原点距离的期望值)。有趣的是,这个问题的二维情况反而比一维情况更加简单,关键就是一维情况下的绝对值符号无法打开来。先拿一维情况来说,多数人第一反应肯定是,平均距离应该是0,因为向左走和向右走的几率是一样的。确实,原点两边的情况是对称的,最终坐标的平均值应该是0才对;但我们这里考虑的是距离,它需要加上一个绝对值的符号,期望显然是一个比0大的数。如果我们做p次实验,那么我们要求的平均距离D就应该是

  

(在所有的情况下,完全有一种可能d>0,所以D肯定>0)

    其中d的值随机取1或者-1。这里的绝对值符号是一个打不破的坚冰,它让处于不同绝对值符号内的d值无法互相抵消。但是,当同样的问题扩展到二维时,情况有了很大的改变。我们把每一步的路径投射到X轴和Y轴上,利用勾股定理我们可以求出离原点的距离的平方R^2的值:

  

    一旦把平方展开后,有趣的事情出现了:这些X值和Y值都是有正有负均匀分布的,因此当实验次数p充分大时,除了那几个平方项以外,其它的都抵消了。最后呢,式子就变成了

  

    于是呢,就有平均距离R=sqrt(n) (准确的说是均方根距离)。我们得出,在二维平面内随机选择方向走一个单位的长度,则n步之后离出发点的平均距离为根号n。这是一个很美妙的结论。


如果用程序做的话,可以考虑用dp做

 f[2n][2n][n]
开一个数据进行动态规划
f[i][j][k] = sum(f[i-1][j][k-1], f[i][j-1][k-1], f[i+1][j][k-1], f[i][j+1][k-1])

计算走k步,达到坐标点的次数


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值