聚合概率规划

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

考虑以下示例。效用(Utility)介于 0 和 1 之间,表示该规划完成目标的程度。置信因子(CF)也介于 0 和 1 之间,表示执行该规划将导致给定效用的概率。

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

如果所有这三个规划(它们是互斥的)都以动作 A1 开始,我应该如何聚合它们以确定使用动作 A1 的总体“适应度(fitness)”?我的第一个想法是将置信因子相加,然后将其乘以效用的平均值。这看起来正确吗?

所以,我目前的结果看起来像:

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

有没有更具有理论依据的方法?


回答:

如果执行动作 A1,那么你必须决定遵循这三个规划中的哪一个,它们是互斥的。在那个时候,我们可以计算出规划 1 的预期效用为

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

其他两个规划也类似。但是,由于你只能选择一个规划,因此采取行动 A1 的真实预期效用(我认为这就是你所说的“适应度”)是

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

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注