1

我正在尝试创建一个简单的基于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

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

4

3 回答 3

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)
于 2010-09-14T00:02:57.807 回答
2

如果你对概率规划感兴趣,你应该看看POMDP 模型和算法,比如值迭代。

编辑:

实际上,我应该向您指出马尔可夫决策过程(没有采购订单)。对不起。

您可能应该为您的问题做的是最大化预期效用。称之为健身。

于 2010-09-14T09:01:52.193 回答
2

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

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

所以这是我的建议:让 A1 是所有以 A1 开头的计划,~A1 是所有不以 A1 开头的计划。然后

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

健身是你在第二个例子中定义的。

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

于 2010-09-13T20:43:24.877 回答