【问题标题】:probability puzzle, expected payoff for game概率谜题,游戏的预期收益
【发布时间】:2012-04-29 07:23:25
【问题描述】:

这是昨天在 interviewstreet 结束的编程竞赛中的一个问题:

爱丽丝和鲍勃玩游戏。第 i 轮 (i >= 1) 的操作如下:

  • 爱丽丝付给鲍勃 2 * i - 1 美元,
  • 爱丽丝扔了一枚有偏见的硬币,
  • 如果硬币的结果是连续 k 轮正面,则游戏停止,否则游戏继续。

给定 k 和投掷结果为正面 (p) 的概率,您的程序应该找到 Alice 支付给 Bob 的预期美元数,以及预期的回合数。

输入

输入的第一行包含测试用例的数量(T

输出

对于每个测试用例,打印两个整数。第一个数字是 期望游戏轮数的整数部分,第二个 number 是 Alice 期望的美元数的整数部分 付钱给鲍勃。

示例输入

3

0.6 1

1 20

0.80 8

样本输出

1 3

20 400

24 976

我得到了问题的第一部分,即预期的游戏轮数。我用下面的代码得到了它

if __name__ == '__main__':
    t = int(raw_input())   
    while t :
        t -= 1
        temp = str(raw_input())
        p,k = temp.split(' ')
        p = float(p)
        k = int(k)

        #print p,k
        ans  = 0.0
        num = k * (p**k)
        den = 1
        q = 1.0 - p
        for N in range(1,k+1):
            den = den - ((p**(N-1))*q)
            num = num + (N*(p**(N-1))*q)
            #print (N*(q**N))

        print int(num/den)

但问题的第二部分仍然让我感到困惑,即 Alice 支付给 bob 的预期美元数。如何计算预期收益?

【问题讨论】:

  • 查看泊松分布。
  • 看起来像圣彼得堡悖论en.wikipedia.org/wiki/St._Petersburg_paradox
  • 如果您知道预期的轮数,那么计算 Alice 支付多少(知道她每轮支付多少)不应该是微不足道的吗?我是不是太天真了?
  • 一开始我也是这么想的。但看看这些例子,它似乎并不那么微不足道。对于第二个输入,预期轮数是 24,但预期收益是 976。如果按照 24 轮计算收益是 576,这是错误的。
  • 预期回报不是预期轮数(576)的回报。它是(支付乘以该支付的概率)的总和。支付时的最小可能轮数为 k,支付的概率为 p^^k。

标签: python puzzle probability


【解决方案1】:

即使您知道预期的轮数,您也需要对所有可能的支出进行平均。这意味着它比仅在预期停止时间计算支出更复杂。以下是具体细节:

回想一下期望的技术定义,如果 X 是一个随机变量,那么 X 的期望值是 X(w)*Pr(w) 的所有可能结果 w 的总和。如果 X 取正整数值,我们可以重新表述为 X 的期望值是从 i=1 到 i*Pr(X=i) 的无穷大的总和。在您的情况下,我们处理的随机变量是 T = 游戏停止时间,P = 支出。

期望轮数是T的期望,即i=1到i*Pr(T=i)的无穷大的总和。由于他们只要求期望的整数部分,一旦 i*Pr(T=i) 小于 1/2^i,我们就可以停止求和。 (当 i*Pr(T=i)

P 的期望稍微复杂一些。如果游戏要进行 j 轮,那么支出将是从 i=1 到 j 的 2i-1 的总和,结果是 j^2。因此,只能发生 j^2 形式的支出,并且 Pr(P=j^2)=Pr(T=j)。所以 P 的期望值是 i=1 到无穷大 i^2 * Pr(P=i^2) 的和,等于 i=1 到无穷大 i^2*Pr(T=一世)。同样,一旦 i^2*Pr(T=i) 小于 1/2^i,我们就可以停止求和。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-22
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 1970-01-01
    • 2012-02-20
    • 2023-03-30
    • 1970-01-01
    相关资源
    最近更新 更多