首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >汇总概率计划

汇总概率计划
EN

Stack Overflow用户
提问于 2010-09-13 22:19:52
回答 3查看 97关注 0票数 1

我正在尝试创建一个简单的STRIPS-based规划器。我已经完成了计算将达到目标的独立概率计划的基本功能,但现在我正在尝试确定如何根据这些计划的初始操作来聚合这些计划,以确定time t0的“总体”最佳操作是什么。

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

代码语言:javascript
复制
Plan1: CF=0.01, Utility=0.7
Plan2: CF=0.002, Utility=0.9
Plan3: CF=0.03, Utility=0.03

如果这三个相互排斥的计划都从动作A1开始,我应该如何聚合它们来确定使用动作A1的总体“适合度”?我的第一个想法是对确定性因子求和,并将其乘以效用的平均值。这看起来对吗?

因此,我当前的结果如下所示:

代码语言:javascript
复制
fitness(A1) = (0.01 + 0.002 + 0.03) * (0.7 + 0.9 + 0.03)/3. = 0.02282

或者我应该计算单个可能的效用,并对其进行平均?

代码语言:javascript
复制
fitness(A1) = (0.01*0.7 + 0.002*0.9 + 0.03*0.03)/3. = 0.00323

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-09-14 08:02:58

如果你采取行动A1,那么你必须决定遵循3个计划中的哪一个,这3个计划是相互排斥的。在这一点上我们可以计算出计划1的预期效用是

代码语言:javascript
复制
E[plan1] = Prob[plan1 succeeds]*utility-for-success 
           + Prob[plan1 fails]*utility-of-failure
         = .01*.7 + .99*0 //I assume 0
         = .007

其他两个计划也是如此。但是,由于您只能选择一个计划,因此采取行动的实际预期效用(我认为这就是您所说的“适合性”) A1是

代码语言:javascript
复制
max(E[plan1],E[plan2],E[plan3]) = fitness(A1)
票数 2
EN

Stack Overflow用户

发布于 2010-09-14 04:43:25

我认为你正在讨论的适应度函数还必须考虑所有没有将A1作为第一个动作的计划。它们可能都是非常好的,在这种情况下,做A1是一个坏主意,或者他们可能是可怕的,在这种情况下,做A1看起来是一个好的举动。

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

所以我的建议是:让A1是以A1开头的所有计划,而~A1则不是所有的计划-从A1开始。然后

代码语言:javascript
复制
F(A1) = fitness(A1) / fitness(~A1)

其中,适应度是您在第二个示例中定义的。

这应该会给你一个从A1开始的计划和没有开始的计划的预期效用的比率,如果它大于1,A1看起来是一个很好的动作。

票数 2
EN

Stack Overflow用户

发布于 2010-09-14 17:01:52

如果你对概率规划感兴趣,你应该看看POMDP model和像值迭代这样的算法。

编辑:

实际上,我应该告诉你Markov Decision Process (没有PO)。对不起。

对于您的问题,您可能应该做的是最大化预期的效用。这就是所谓的健身。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3701278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档