汉家松鼠吧 关注:179,754贴子:3,843,179

给你们出个数学题

只看楼主收藏回复

假如我们最多掷5次骰子,你可以在投掷完一次骰子后选择继续或者停止,你得到的分数就是最后一次骰子的点数,请问你得到的分数的期望值(平均值)是多少?
这个问题刚刚在课上讲过,我突然就联想到了汉家江湖里装备洗练的问题……就像你元宝有限,想要洗根骨,怎样用有限的元宝洗出尽可能高的根骨,不过上面题目和游戏里的有些不太一样,比如洗练次数增加会提高下限以及下一次洗出的低根骨会被这一次的较高根骨覆盖,不过总而言之,就当娱乐一下了。


来自iPhone客户端1楼2018-09-12 13:57回复
    不考虑下限提升这个设定的话,每次洗练都是独立事件不是么 ,根据大数法则,洗练次数越多,越逼近数学期望不是么。


    IP属地:福建2楼2018-09-12 14:04
    收起回复
      2025-11-26 17:27:26
      广告
      不感兴趣
      开通SVIP免广告
      这种前后两次不是独立的,最好就枚举算一下,懒得算直接做个蒙卡模拟就行。
      不过,你这举骰子的例子很不恰当,因为骰子的结果是均匀分布的,但汉家肝湖的洗练明显呈前高后低的类指数分布。


      IP属地:北京来自iPhone客户端3楼2018-09-12 14:17
      回复(4)
        那个,,得到的分数既然就是最后一次的,,那和掷几次有关系么,,所以期望 3.5么,,,


        IP属地:山东来自Android客户端4楼2018-09-12 14:22
        收起回复
          但看筛子的问题,因为得到的分数是最后一次投掷的点数,如果投满5次,最后一次碰巧是1,就谢比了。
          所以在投掷之前,应该要给自己设置一个心理预期,到了就收手
          比如说,投掷之前先想好,出了5就停,那么,哪怕第一次就出了5,后面四次也都不要再投掷了,因为很大几率后面4次都比5低,不可能出6的


          IP属地:江苏5楼2018-09-12 14:28
          收起回复
            就像找老婆一样,只能找一个,但是前面可能还有更好,也可能错过过去那个比现在好的


            IP属地:广东来自iPhone客户端6楼2018-09-12 14:32
            收起回复
              提示一下,这里在投掷一次后选择继续还是停止是个关键


              来自iPhone客户端7楼2018-09-12 14:35
              回复
                你们可以简化一下,假设最多只能投2次,其他条件一样


                来自iPhone客户端8楼2018-09-12 14:43
                回复
                  2025-11-26 17:21:26
                  广告
                  不感兴趣
                  开通SVIP免广告
                  如果只能扔两次,123不扔第二次,那期望值大概是3.7?


                  IP属地:山东9楼2018-09-12 14:58
                  收起回复
                    我的策略:每投一次算一下剩余次数,投出大于本次结果的概率,大于50%就投,小于则停止。
                    用蒙卡模拟(十万次)跑出的期望约为5.0889,99%置信区间为[5.0802, 5.0976],可以说比较精确了已经。


                    IP属地:北京10楼2018-09-12 15:02
                    回复(3)
                      如果赌徒明智的话大概. 5.13


                      IP属地:辽宁11楼2018-09-12 15:03
                      收起回复
                        只掷两次 4.25.
                        三次 4.67
                        四次 4.94


                        IP属地:辽宁12楼2018-09-12 15:11
                        收起回复
                          import random
                          import numpy as np
                          s = []
                          t = 0
                          for time in range(0,100000):
                          for i in range(0,5):
                          k = random.randint(1,6)
                          t = k
                          if(1-(t/6)**(4-i) >= 0.5):
                          continue
                          else:
                          s .append(t)
                          break
                          expectation = sum(s)/100000
                          std = np.std(s)/np.sqrt(100000)
                          以上是蒙卡的代码,策略就是上文所述,这回应该没问题啦


                          IP属地:北京13楼2018-09-12 15:13
                          收起回复
                            吧友还是厉害啊👍


                            来自iPhone客户端14楼2018-09-12 15:16
                            回复
                              2025-11-26 17:15:26
                              广告
                              不感兴趣
                              开通SVIP免广告
                              这个和掷骰子的人的策略有关,比如我只有掷到1才会再掷,否则结束,那么我只有掷了5次1才会得1分,其余情况概率平分,不是简单的独立事件


                              IP属地:江西来自Android客户端15楼2018-09-12 17:02
                              收起回复