寻找可能的利润的算法

时间:2013-01-04 23:01:23

标签: algorithm

我正在寻找一种算法(除了天真的蛮力解决方案没有运气),有效地(O(n ^ 2)优先)执行以下操作:

假设我正在玩游戏,在这个游戏中我将不得不回答n个问题(来自不同类别的每个问题)。对于每个类别“i”i = 1,...,n我计算了概率p_i以给出正确的答案。

对于每个连续的k个正确答案,我得到k ^ 4分。预期的平均利润是多少?

我将在以下示例中阐明预期利润的含义:

在n = 3且p_1 = 0.2的情况下,p_2 = 0.3,p_3 = 0.4

预期利润为

EP =(0.2 * 0.3 * 0.4)3 ^ 4 +(我得到的所有3个答案都正确)

  • (0.2 * 0.3 * 0.6)2 ^ 4 +(0.8 * 0.3 * 0.4)2 ^ 4 +(0.2 * 0.7 * 0.4)2+(2个答案正确)

  • 0.2 * 0.7 * 0.6)+(0.8 * 0.3 * 0.6)+(0.8 * 0.7 * 0.4)(1回答正确)

    对于每个可能的结果,我正在计算概率并将其与获得的点相乘。然后得到所有这些的总和。

有什么想法吗? 我只对这笔钱本身感兴趣。

谢谢!

1 个答案:

答案 0 :(得分:1)

如果A[t]tt = 0'问题的回答错误,请t = nt个问题后的预期利润。然后你可以计算

A[0] = 0

A[t] = sum(i = 0..t-1)(获得问题的概率i .. t-2正确且t-1错误)*(({ {1}}) 4 + A [i])t-i-1时。

0 < t < n的计算方法与上述一般情况类似,但您还应在A[n]之后的所有问题都正确回答时添加一个术语。