我可以根据转换到的状态对单个操作获得不同的奖励吗?

人工智能 强化学习 马尔可夫决策过程 奖励 价值迭代
2021-10-24 20:08:03

我正在研究一个有四个状态和十个动作的 MDP。我应该推导出达到期望状态的最优策略。在任何状态下,特定的操作都可以将您带到任何其他状态。例如。如果我们从状态 S1 开始 -> 在 S1 上执行操作 A1 可以将您带到 S2 或 S3 或 S4 或者只是停留在相同的状态 S1。其他动作也是如此。

我的问题是 - 单个动作 A 是否必须只有一个奖励值?或者如果状态 s1 上的动作 a1 带你到 s2 是否有可能给予 10 的奖励,如果状态 s1 上的动作 a1 带你到 s3,给予 50 的奖励,如果状态 s1 上的动作 a1 带你,给予 100 的奖励s4 是最终状态,或者如果该动作导致状态不变,则给予零奖励。

我可以这样做吗??

因为在我的情况下,每个状态都比以前的状态好。即S2优于S1,S3优于S2,以此类推。因此,如果 S1 上的一个动作直接将你带到 S4,这是最终状态,我想给它最大的奖励。

1个回答

奖励函数可以是当前状态、当前动作和下一个状态的函数:R(st,at,st+1). 在这个设置中使用贝尔曼算子是有效的,因为它仍然是一个收缩并且会产生最优的价值函数。

注意:我假设您将使用贝尔曼方程求解 MDP。