汇总概率计划

时间:2010-09-13 14:19:52

标签: artificial-intelligence machine-learning probability planning

我正在尝试创建一个简单的基于STRIPS的计划程序。我已经完成了计算单个概率计划的基本功能,这些计划将达到一个目标,但现在我正在尝试确定如何根据他们的初始行动聚合这些计划,以确定在时间t0“整体”最佳行动是什么

考虑以下示例。效用,在0和1之间,表示计划完成目标的程度。 CF也在0和1之间,表示确定性因子,或执行计划将导致给定效用的概率。

Plan1: CF=0.01, Utility=0.7
Plan2: CF=0.002, Utility=0.9
Plan3: CF=0.03, Utility=0.03

如果所有三个相互排斥的计划都从动作A1开始,我应该如何聚合它们以确定使用动作A1的整体“适应性”?我的第一个想法是总结确定性因素,并通过公用事业的平均值加倍。这看起来是否正确?

所以我目前的结果如下:

fitness(A1) = (0.01 + 0.002 + 0.03) * (0.7 + 0.9 + 0.03)/3. = 0.02282

或者我应该计算个别可能的效用,并平均那些?

fitness(A1) = (0.01*0.7 + 0.002*0.9 + 0.03*0.03)/3. = 0.00323

理论上有更合理的方法吗?

3 个答案:

答案 0 :(得分:2)

我认为您正在谈论的健身功能还必须考虑所有没有A1作为第一个动作的计划。他们可能都非常好,在这种情况下做A1是一个坏主意,或者他们可能很糟糕,在这种情况下做A1看起来是一个很好的举动。

看看你的想法,第二个对我来说更有意义。它计算从A1开始的所有计划中随机统一选择计划的预期效用。这是假设计划要么达到既定效用要么完全失败。例如,第一个计划得到效率= 0.01,概率为0.7,得到效用= 0,概率为0.3。这似乎是一个合理的假设;除非您有更多数据可供使用,否则您可以做的就是。

所以这是我的建议:让A1成为所有从A1开始的计划和~A1的所有计划都不是从A1开始。然后

F(A1) = fitness(A1) / fitness(~A1)

其中,健康就像你在第二个例子中定义的那样。

这应该为您提供从A1开始的计划与不从A1开始的计划的预期效用比率。如果它大于一,A1看起来是一个很好的行动。

答案 1 :(得分:2)

如果您采取行动A1,那么您必须决定遵循的3个计划中哪个是互斥的。此时我们可以计算出计划1的预期效用

E[plan1] = Prob[plan1 succeeds]*utility-for-success 
           + Prob[plan1 fails]*utility-of-failure
         = .01*.7 + .99*0 //I assume 0
         = .007

同样适用于其他2个计划。但是,由于您只能选择一个计划,因此采取行动A1的实际预期效用(我认为是“健身”的意思)是

max(E[plan1],E[plan2],E[plan3]) = fitness(A1)

答案 2 :(得分:2)

如果您对概率规划感兴趣,您应该查看POMDP model和算法,例如值迭代。

编辑:

实际上,我应该指向Markov Decision Process(没有PO)。对不起。

您应该为您的问题做的是最大化预期效用。打电话给健身。