百科问答小站 logo
百科问答小站 font logo



蜗牛从10米深的井底爬,白天爬一米,晚上下落x米,其中x为[0,2]米的随机数,那么爬上的期望是多少? 第1页

  

user avatar   mo-fa-shao-nu-cai-xu-lun 网友的相关建议: 
      

更新一下精确求解的思路,我放在最后吧。


想到了一种精确的计算方法。在此基础上,对于 米深的井,我得到的期望天数为

放个结果对比:

晚一些时候把证明过程放上来。

但是对于 米深的井,首先我需要算出一个 阶三对角矩阵的特征值……好巧不巧这些特征值都可以根式表达,所以理论上结果也可以摆上来。我一定会做出来的……


首先给出结论:爬上井所用期望的天数(口胡!是天数的期望!)约为 天。(这个结果是改正过的。我的过程算差了一天,后面会有提到(呜哇哇))

写一个可以数值求解的方法吧。

设第 个晚上后,蜗牛在井底的概率为 ,已经爬上的概率为 ,在距井底 区间内的分布函数为 。

那么 , , , 。

根据一些简单的概率学知识(具体推导过程暂且留做习题,等我以后来补):

那么所求即为

为方便计算,我们定义 那么所求期望可表示为

前述递推公式可重新表述如下:

试图寻找解析表达式失败,转而计算数值解。菜鸡编程:

                a                   =                   0.5         ;                            (*c9[1] = 0.;*)                            For         [         n                   =                   0         ,                   n                   <=                   4000         ,                   n         ++         ,                   c         [         1         ][         n         ]                   =                   N         [         1         /         (         2                   (         n                   +                   1         ))];                               For         [         l                   =                   2         ,                   l                   <=                   9         ,                   l         ++         ,                   c         [         l         ][         n         ]                   =                   0.         ]];                            For         [         k                   =                   2         ,                   k                   <=                   3999         ,                   k         ++         ,                   c9         [         k         -1         ]                   =                   c         [         9         ][         1         ];                   Print         [         c         [         9         ][         1         ]];                   (*not c9[k]!*)                              aa                   =                   (         a                   +                   c         [         1         ][         0         ]                   -                   c         [         1         ][         1         ])         /         2         ;                               For         [         n                   =                   0         ,                   n                   <=                   4001                   -                   k         ,                   n         ++         ,                                cc         [         1         ][         n         ]                   =                   (         a                   +                   c         [         1         ][         0         ]                   +                   c         [         2         ][         0         ]                   -                   c         [         2         ][         n                   +                   1         ])         /         (         2                   (         n                   +                   1         ));                                For         [         l                   =                   2         ,                   l                   <=                   8         ,                   l         ++         ,                                 cc         [         l         ][         n         ]                   =                   (                                 c         [         l                   -                   1         ][         n                   +                   1         ]                   +                   c         [         l         ][         0         ]                   +                   c         [         l                   +                   1         ][         0         ]                   -                   c         [         l                   +                   1         ][         n                   +                   1         ])         /         (                                 2                   (         n                   +                   1         ))];                   cc         [         9         ][         n         ]                   =                   (         c         [         8         ][         n                   +                   1         ]                   +                   c         [         9         ][         0         ])         /         (         2                   (         n                   +                   1         ))];                               a                   =                   aa         ;                   For         [         n                   =                   0         ,                   n                   <=                   4001                   -                   k         ,                   n         ++         ,                                For         [         l                   =                   1         ,                   l                   <=                   9         ,                   l         ++         ,                   c         [         l         ][         n         ]                   =                   cc         [         l         ][         n         ]]]];            

以下是 的图像, :

的对数坐标图像:

可以看到对于较大的 ,可以近似视为指数衰减。近似计算天数期望(我跑的时候用的变量名不一样,嘤嘤嘤):

为了估计误差,我们以 两项的比值为公比,将其后的诸 近似为等比数列:

可以看出误差项约为 。于是我们得到,蜗牛爬上井口所用天数的期望约为 天。这个数值也位于@lhy 所得估计范围的近似居中位置。(他还提到期望约为 天,或许大家可以检查一下我有没有犯差了一天的低级错误……)(补充:我代码错了,c9[k]得到的其实是k-1天的值,所以我的确算多了1)


以下是求出期望的精确值的方法。

首先考虑 米的情形。回顾我们之前提到的递推公式在 米时的对应情形:

我们定义 ,可以得到一个优美的关系:

其中 是和 无关的量!

于是我们有非常美妙的推论:

于是,

特别地,取 以及 , 以及 ,我们可得:

同时我们不难得到

可以看出以上 个方程(注意有 符号的是两个方程)是关于 的线性方程组,其中

而我们所求天数期望即为

由于求解过于复杂,交给Mathematica处理:(对不起我日常没有良好的编程素养!)

       Solve[{c100 +      I c200 == (-I) (E^(I/2) - 1) (a0 + c100 + (1 + I) c200 + 1),    c101 + I c201 == (-I) (E^(I/2) - 1) (a1 + c101 + (1 + I) c201) +      E^(I/2)/2 (a0 + c100 + (1 + I) c200 + 1),    c110 + I c210 == (-2 E^(I/2) + (2 + I)) (a0 + c100 + (1 + I) c200 +        1), c111 +      I c211 == (-2 E^(I/2) + (2 + I)) (a1 +         c101 + (1 + I) c201) + (-2 + (2 - I) E^(I/2)) (a0 +         c100 + (1 + I) c200 + 1),    c100 - I c200 == (I) (E^(-(I/2)) - 1) (a0 + c100 + (1 - I) c200 +        1), c101 -      I c201 == (I) (E^(-(I/2)) - 1) (a1 + c101 + (1 - I) c201) +      E^(-(I/2))/2 (a0 + c100 + (1 - I) c200 + 1),    c110 - I c210 == (-2 E^(-(I/2)) + (2 - I)) (a0 +        c100 + (1 - I) c200 + 1),    c111 - I c211 == (-2 E^(-(I/2)) + (2 - I)) (a1 +         c101 + (1 - I) c201) + (-2 + (2 + I) E^(-(I/2))) (a0 +         c100 + (1 - I) c200 + 1), a0 == 1/2 (a0 + c100 - c110 + 1),    a1 == 1/2 (a1 + c101 - c111 + a0 + c100 - c110 + 1)}, {a0, a1, c100,    c101, c110, c111, c200, c201, c210, c211}]     

结果如下。

其中的 "c210"即为 ,它等于 意味着爬出井的概率为 ,这很合理。"c211"即为 ,虽然形式为复数,但我们的线性方程组中包含的含复系数方程是成共轭对出现的,解的虚部显然为 。通过将虚指数转化为三角函数即可得到一开始的结果。


现在进入正题。回顾我们之前的 之所以可以如此定义,是因为递推公式中从左侧诸 的系数到右侧诸 的系数的线性变换对应的矩阵为 ,其特征系为

对于原问题,这个矩阵是一个 阶矩阵

可以看到它的特征多项式 ,得到特征值

这个多项式在 上的分裂域为 ,其中 有最小多项式

我们可以用 来表示所有的特征值和单位特征向量:

定义 (因为有Eisenstein求和约定,其实写出求和号不是一个好习惯……但是知乎上还是怕人看不懂)

那么

其中

同样地,

特别地:

类似定义 ,我们得到如下的线性方程组:

其中 的定义见前文特征向量部分, 它们在 处定义为连续极限值

这是一个 元一次线性方程组,运用线性代数知识可求解之。特别地,解出 后可得所求期望即为




  

相关话题

  有推荐给初中学生看的数学著作吗? 
  数学中的错误有大错和小错的区别吗? 
  是否存在一个4的整数幂以123为首位? 
  流汗黄豆有什么数学表达? 
  这个数列怎么求和,求数学大神? 
  高中数学的符号怎么在电脑上打出来,比如说数列的an,函数e的x次方等等? 
  最大似然估计和最小二乘法怎么理解? 
  如何评价这篇关于「学习数学不需要做题」的文章的观点? 
  有哪些一看就会,一做就错的数学题? 
  (a+b)!/(a!b!) 的结果一定是整数吗?如果是,如何证明? 

前一个讨论
古代中国哲学概念“阴阳”是不是就是西方人现在所说的“量子”?
下一个讨论
如何评价知乎用户@孙文约?





© 2024-11-27 - tinynew.org. All Rights Reserved.
© 2024-11-27 - tinynew.org. 保留所有权利