分页: 5 / 11

Re: 掷骰子的几率计算题

发表于 : 2023年 1月 29日 15:19
YWY
meiyoumajia 写了: 2023年 1月 29日 15:09 不是的。
楼主要的是:在以12结束的前提下,平均需要的次数。如我之前所说,失败(以7 7结束)的情况已经反映在计算中所用的概率里。

要理解这点,要按我所说过的:从对大量次试验结果做统计的角度去理解事件的发生可能性大小/概率。
基于此问题的总设定,“以12结束的前提”和“(之前)不出现连7的前提”,这两个前提是等价的。

Re: 掷骰子的几率计算题

发表于 : 2023年 1月 29日 16:09
meiyoumajia
我明白了。你做的是:
平均要投多少次才出2者中任何一个结果

之前看到
(the n set) = 0 (the n-1 set) combing with 1 0 (the n-2 set)
对两种结束情况都成立
因此它对整体的结束情况也成立

因此有你的:
p1 = 1/36
p2 = 1/6 + 1/36* 35/36
p(n) = 29/36 * p(n-1) + 1/6 * 29/36* p(n-2)
这样的pk之和是1

而楼主要的是两种分别情况的预期次数。pk之和分别是6/13和7/13。
如果要考虑两种子系列的各自平均长度,那两个weighted sums就要分别除以它们。

Re: 掷骰子的几率计算题

发表于 : 2023年 1月 29日 16:12
YWY
meiyoumajia 写了: 2023年 1月 29日 14:31 p1= 1/36
p2= 1/36*(1-p1) = 35/36/36
p(n) = 29/36* p(n-1) + 6/36* 29/36*p(n-2)
如果考虑以12结束的情况(即之前不出现连7条件下),那么p2是不是应该考虑条件概率?我认为如果只考虑以12结束的情况,那么p2应该等于(1/36)(35/36)(36/35) = 1/36。此时我们是在排除第一投和第二投都是7的条件下,所以应该用条件慨率。所以我认为应该是
p(1) = 1/36, p(2) = 1/36, and p(n) = (29/36)*p(n-1) + (6/36)*(29/36)*p(n-2) for n > 2. Then we can deduce E = 1p(1) + 2p(2) + 3p(3) + ... by solving E from an equation.

咱俩的微妙差别在p(2)这里,别的都一致。欢迎继续讨论。

Re: 掷骰子的几率计算题

发表于 : 2023年 1月 29日 16:22
YWY
meiyoumajia 写了: 2023年 1月 29日 16:09 我明白了。你做的是:
平均要投多少次才出2者中任何一个结果

之前看到
(the n set) = 0 (the n-1 set) combing with 1 0 (the n-2 set)
对两种结束情况都成立
因此它对整体的结束情况也成立

因此有你的:
p1 = 1/36
p2 = 1/6 + 1/36* 35/36
p(n) = 29/36 * p(n-1) + 1/6 * 29/36* p(n-2)
这样的pk之和是1

而楼主要的是两种分别情况的预期次数。pk之和分别是6/13和7/13。
如果要考虑两种子系列的各自平均长度,那两个weighted sums就要分别除以它们。
我上面(昨晚今早)算的E = 39左右那个值,如果没错的话,应该就是在不出现12的条件下结束游戏的平均长度,也就是以双连7结束游戏的平均次数。

我上面刚刚做的p(1) = 1/36, p(2) = 1/36, and p(n) = (29/36)*p(n-1) + (6/36)*(29/36)*p(n-2) for n > 2(如果对的话),则是以12结束游戏(即之前不出现双连7)的平均次数。

不排除我落掉某些考虑的可能,欢迎讨论。

Re: 掷骰子的几率计算题

发表于 : 2023年 1月 29日 16:28
meiyoumajia
YWY 写了: 2023年 1月 29日 16:12 如果考虑以12结束的情况(即之前不出现连7条件下),那么p2是不是应该考虑条件概率?我认为如果只考虑以12结束的情况,那么p2应该等于(1/36)(35/36)(36/35) = 1/36。此时我们是在排除第一投和第二投都是7的条件下,所以应该用条件慨率。所以我认为应该是
p(1) = 1/36, p(2) = 1/36, and p(n) = (29/36)*p(n-1) + (6/36)*(29/36)*p(n-2) for n > 2. Then we can deduce E = 1p(1) + 2p(2) + 3p(3) + ... by solving E from an equation.

咱俩的微妙差别在p(2)这里,别的都一致。欢迎继续讨论。
我对楼主想要的理解是:两种可能的结束情况发生后的平均长度分别是多少?
因此应该是两种情况各自的
weighted sum
除以
pk的总和(也就是6/13或7/13)

完全独立事件一次次发生构成。用条件概率算出来的结果是不是应该与上面算的结果相同?

Re: 掷骰子的几率计算题

发表于 : 2023年 1月 29日 16:39
meiyoumajia
YWY 写了: 2023年 1月 29日 16:22 我上面(昨晚今早)算的E = 39左右那个值,如果没错的话,应该就是在不出现12的条件下结束游戏的平均长度,也就是以双连7结束游戏的平均次数。

我上面刚刚做的p(1) = 1/36, p(2) = 1/36, and p(n) = (29/36)*p(n-1) + (6/36)*(29/36)*p(n-2) for n > 2(如果对的话),则是以12结束游戏(即之前不出现双连7)的平均次数。

不排除我落掉某些考虑的可能,欢迎讨论。
如果用我的理解和算法
p2= 1/36*(1-p1) = 35/36/36

12 12 不被允许
遇到第一个12 就终止了

如我前述,多种算法的最后结果有可能是一样的。

Re: 掷骰子的几率计算题

发表于 : 2023年 1月 29日 16:41
YWY
meiyoumajia 写了: 2023年 1月 29日 16:28 我对楼主想要的理解是:两种可能的结束情况发生后的平均长度分别是多少?
因此应该是两种情况各自的
weighted sum
除以
pk的总和(也就是6/13或7/13)
应该有1个比42大,而另外1个比42小。

完全独立事件一次次发生构成。用条件概率算出来的结果是不是应该与上面算的结果相同?
在求“两种可能的结束情况发生后的平均长度分别是多少”,你就是在给事件发生的序列加限定条件。考虑“以12结束”的序列,就等价于加入“之前不出现双连7”的条件。

Re: 掷骰子的几率计算题

发表于 : 2023年 1月 29日 16:44
YWY
meiyoumajia 写了: 2023年 1月 29日 16:39 p2= 1/36*(1-p1) = 35/36/36

12 12 不被允许
遇到第一个12 就终止了
应该考虑“双连7不发生”之下的条件概率,我是1/36*(1-p1)然后除以双连7不发生的概率。而双连7不发生的概率是35/36,所以得到1/36*(1-p1)*(36/35) = 1/36。

Re: 掷骰子的几率计算题

发表于 : 2023年 1月 29日 16:51
CalCat
从直观来看,我估计, 两种可能的结束情况发生后的分别的平均长度是关联的,如果其中一个是 x, 另外一个是(7/6)x.
这两个整数 36 和42 很符合这个比例,但是, 它们是不是准确的最终数字,这就是我纠结的地方。

Re: 掷骰子的几率计算题

发表于 : 2023年 1月 29日 16:59
meiyoumajia
YWY 写了: 2023年 1月 29日 16:44 应该考虑“双连7不发生”之下的条件概率,我是1/36*(1-p1)然后除以双连7不发生的概率。而双连7不发生的概率是35/36,所以得到1/36*(1-p1)*(36/35) = 1/36。
pk总和是1吗?

如果是,我认为两种理解/办法算出来的结果可能会是一样的。

我用子系列的预期sum/pk总和

你用条件概率算出的

在显示了所有可能的“decision tree”上,被选择/关注的的点和路径和路径应该相同,它们的相应概率应该也是一样的(顶多相差一个共同的常数比值)。

Re: 掷骰子的几率计算题

发表于 : 2023年 1月 29日 18:03
uws
verdelite 写了: 2023年 1月 26日 01:37 这个先要看看各个点出现的组合数;
2(1,1),3(1,2;2,1),4,(1,3;2,2;3,1),5(1,4;2,3;3,2;4,1),6(1,5;2,4;3,3;4,2;5,1),7(1,6;2,5;3,4;4,3;5,2;6,1),8(2,6;3,5;4,4;5,3;6,2),9(3,6;4,5;5,4;6,3),10(4,6;5,5;6,4),11(5,6;6,5),12(6,6)。
出现7的概率是6/36,出现12的概率是1/36,出现别的点的概率是29/36。

开始掷骰子。如果是那29/36我们就重新开始。如果是12就结束。如果是7,就再来一次,新的一次如果是12就结束,如果是7也结束,如果是别的就重新开始。

那么,在第一次出现12或者7的条件下,两个7先出现的概率=((6/36)/(1/36+6/36))*6/36=6/7*6/36=1/7;12先出现的概率((1/36)/(1/36+6/36))+1/36=1/7+6/7*1/36。所以,两个7先出现的概率是,(1/7)/(1/7+1/7+6/7*1/36),略小于一半。
(修改过)
12先出现的概率的式子不对,应该是(1/36 + 6/36 * 1/36)/(1/36 + 6/36)

但你的结果1/7+6/7*1/36是对的

Re: 掷骰子的几率计算题

发表于 : 2023年 1月 29日 18:26
YWY
meiyoumajia 写了: 2023年 1月 29日 16:59 pk总和是1吗?

如果是,我认为两种理解/办法算出来的结果可能会是一样的。

我用子系列的预期sum/pk总和

你用条件概率算出的

在显示了所有可能的“decision tree”上,被选择/关注的的点和路径和路径应该相同,它们的相应概率应该也是一样的(顶多相差一个共同的常数比值)。
我也不确定,我上面说的有关条件概率的考虑不一定全面,让我好好想想。

Re: 掷骰子的几率计算题

发表于 : 2023年 1月 29日 18:36
meiyoumajia
YWY 写了: 2023年 1月 29日 18:26 我也不确定,我上面说的有关条件概率的考虑不一定全面,让我好好想想。
tree上每个点的概率,如果要考虑的的概率空间size总被设成1的话,是与算法无关的。
对“以12结束的概率空间”,应该用7/13去scale整体空间到1,而不是只考虑那个“两步以12结束的概率空间”涉及的35/36。

Re: 掷骰子的几率计算题

发表于 : 2023年 1月 29日 18:45
verdelite
uws 写了: 2023年 1月 29日 18:03 12先出现的概率的式子不对,应该是(1/36 + 6/36 * 1/36)/(1/36 + 6/36)

但你的结果1/7+6/7*1/36是对的
是事后修改的,修改了结果但是忘记修改中间过程。

Re: 掷骰子的几率计算题

发表于 : 2023年 1月 30日 10:05
YWY
meiyoumajia 写了: 2023年 1月 29日 18:36 tree上每个点的概率,如果要考虑的的概率空间size总被设成1的话,是与算法无关的。
对“以12结束的概率空间”,应该用7/13去scale整体空间到1,而不是只考虑那个“两步以12结束的概率空间”涉及的35/36。
你是对的,我的考虑有偏差。从条件概率的思路上想,这个条件是“游戏以12结束”,而这个条件发生的概率是7/13,所以整个除以7/13。

Re: 掷骰子的几率计算题

发表于 : 2023年 1月 30日 17:42
CalCat
YWY 写了: 2023年 1月 29日 11:52 我刚刚又算了一下(昨天的题),这次我得到 E = 1435/36 = 39.8611111。依旧请大家把关,希望计算上没有错。推理思路应该没大问题。

你问了几个问题,但却没问“一直投掷两个骰子直到出现和为12”(不管之前7出现与否)的情况。这个情形下,p(n) = (1/36)(35/36)^{n-1} for all n > 0,投掷次数的期望值为E = 1p(1) + 2p(2) + ... = 36。不知这是不是你心念已久的结果。
我今天又考虑了这个问题,觉得你算的这个是正确的。平均来说,需要投掷 1435/36 = 39.861 次使得7连7的结果发生在一个12出现之前; 平均来说,需要1435/42=34.167 次使得一个12的结果发生在7连7出现之前。 这两个数值,同样适用于我的最后一个问题,因为它们实际上是等同的。

Re: 掷骰子的几率计算题

发表于 : 2023年 1月 30日 21:30
YWY
CalCat 写了: 2023年 1月 30日 17:42 我今天又考虑了这个问题,觉得你算的这个是正确的。平均来说,需要投掷 1435/36 = 39.861 次使得7连7的结果发生在一个12出现之前; 平均来说,需要1435/42=34.167 次使得一个12的结果发生在7连7出现之前。 这两个数值,同样适用于我的最后一个问题,因为它们实际上是等同的。
我上面的1435/36 = 39.861,是在投掷骰子时就排除和等于12的情形。而(据我的理解)你想要的是,玩N次(N非常大),每次直到出现12或双连7为止,这样你有N个数据点,每个数据点都有次数;然后分别加“不出现12”和“不出现双连7”的限定,找出两组子数据,求这两组子数据的平均长度。

先看总数据,设定就是一直投一直投,直到投出连续两次7或者一次12为止,谁先出现都算,出现了就不再投了,求投掷次数的平均值(期望值)。在此设定下,我得到E = 1512/78 = 19.384615384615,这是不加限定的平均次数。大家把把关,viewtopic.php?p=720205#p720205

如果上面的平均值对的话,那么分别加“不出现12”和“不出现双连7”的限定后的两组子数据,平均次数应该在19.384615附近,因为你要的两个平均值,用7/13和6/13加权平均的话,就应该得到19.384615。

大家一起讨论,我也在学习中。

Re: 掷骰子的几率计算题

发表于 : 2023年 1月 30日 22:52
CalCat
有没有同学愿意,首先编程搞个模拟?得出数值解, 然后再考虑精确解。

1. 在不计较先出现哪个结果的前提下:得到双连7的几率是 x,平均次数是42; 得到单个12的几率是 y,平均次数是36。
2. 如果计较先出现哪个结果的前提下:得到双连7(出现单个12之前)的几率是 6/13,平均次数是m; 得到单个12(出现双连7之前)的几率是 7/13,平均次数是n。

对于上面的第一种情况,两个结果的出现是完全独立的,但是, 我还不能确定 x/y = 6/7 ?
对于上面的第二种情况,两个结果的出现是完全独立的?而且, 我还不能确定 m/n = 6/7 ?

Re: 掷骰子的几率计算题

发表于 : 2023年 1月 30日 23:03
YWY
CalCat 写了: 2023年 1月 30日 22:52 有没有同学愿意,首先编程搞个模拟?得出数值解, 然后再考虑精确解。

1. 在不计较先出现哪个结果的前提下:得到双连7的几率是 x,平均次数是42; 得到单个12的几率是 y,平均次数是36。
2. 如果计较先出现哪个结果的前提下:得到双连7(出现单个12之前)的几率是 7/13,平均次数是m; 得到单个12(出现双连7之前)的几率是 6/13,平均次数是n。

对于上面的第一种情况,两个结果的出现是完全独立的,但是, 我还不能确定 x/y = 6/7 ?
对于上面的第二种情况,两个结果的出现是完全独立的?而且, 我还不能确定 m/n = 6/7 ?
x = y = 1,换句话说,只要一直投,总能得到双连7, 也总能得到12。

Re: 掷骰子的几率计算题

发表于 : 2023年 1月 30日 23:10
(ヅ)
CalCat 写了: 2023年 1月 30日 22:52 有没有同学愿意,首先编程搞个模拟?得出数值解, 然后再考虑精确解。

1. 在不计较先出现哪个结果的前提下:得到双连7的几率是 x,平均次数是42; 得到单个12的几率是 y,平均次数是36。
2. 如果计较先出现哪个结果的前提下:得到双连7(出现单个12之前)的几率是 6/13,平均次数是m; 得到单个12(出现双连7之前)的几率是 7/13,平均次数是n。

对于上面的第一种情况,两个结果的出现是完全独立的,但是, 我还不能确定 x/y = 6/7 ?
对于上面的第二种情况,两个结果的出现是完全独立的?而且, 我还不能确定 m/n = 6/7 ?
随便试了下,很稳定的7:6

代码: 全选

import random
from datetime import datetime

TOTAL = 1000000


def test():
  random.seed(int(datetime.now().timestamp()))
  double_seven_count = 0
  twelve_count = 0
  for i in range(TOTAL):
    prev = 0
    while True:
      a = random.randint(1, 6)
      b = random.randint(1, 6)
      if a + b == 12:
        twelve_count = twelve_count + 1
        break
      if a + b == 7 and prev == 7:
        double_seven_count = double_seven_count + 1
        break
      prev = a + b
  print(f"Out of total of {TOTAL} trials. {double_seven_count} ended with first double 7s, {twelve_count} ended with first 12.")


for i in range(10):
  test()

代码: 全选

Out of total of 1000000 trials. 462499 ended with first double 7s, 537501 ended with first 12.
Out of total of 1000000 trials. 461205 ended with first double 7s, 538795 ended with first 12.
Out of total of 1000000 trials. 461842 ended with first double 7s, 538158 ended with first 12.
Out of total of 1000000 trials. 460590 ended with first double 7s, 539410 ended with first 12.
Out of total of 1000000 trials. 461313 ended with first double 7s, 538687 ended with first 12.
Out of total of 1000000 trials. 462570 ended with first double 7s, 537430 ended with first 12.
Out of total of 1000000 trials. 461698 ended with first double 7s, 538302 ended with first 12.
Out of total of 1000000 trials. 461880 ended with first double 7s, 538120 ended with first 12.
Out of total of 1000000 trials. 461856 ended with first double 7s, 538144 ended with first 12.
Out of total of 1000000 trials. 461621 ended with first double 7s, 538379 ended with first 12.
Out of total of 1000000 trials. 461681 ended with first double 7s, 538319 ended with first 12.