问题陈述: 我有一个具有四种状态的系统 - S1 到 S4,其中 S1 是开始状态,S4 是结束/终止状态。下一个状态总是比前一个状态好,即如果代理处于 S2,它处于比 S1 稍微更理想的状态,依此类推,S4 是最理想的,即最终状态。我们有两种不同的操作,可以不受限制地对这些状态中的任何一个执行。我们的目标是使代理以最优方式从 S1 到达状态 S4,即具有最大奖励(或最小成本)的路线。我拥有的模型是一个非常不确定的模型,所以我猜测代理必须首先获得大量经验才能理解环境。我设计的 MDP 如下图所示:
MDP 可能看起来有点混乱和复杂,但它基本上只是表明可以在任何状态(终端状态 S4 除外)下执行任何操作(A1 或 A2)。下面给出了从一种状态到另一种状态的转换概率以及相关的奖励。
状态:状态 S1 到 S4。S4 是终端状态,S1 是开始状态。S2 是比 S1 更好的状态,S3 是比 S1 或 S2 更好的状态,S4 是我们期望代理最终进入的最终状态。
动作:可用的动作是 A1 和 A2,可以在任何状态下执行(当然除了终端状态 S4)。
状态转移概率矩阵:在特定状态 S 采取的一个动作可以导致任何其他可用状态。例如。在 S1 上采取行动 A1 可以将代理引导到 S1 本身或 S2 或 S3 甚至直接 S4。A2也一样。所以我假设状态转换概率为 25% 或 0.25。动作 A1 和 A2 的状态转移概率矩阵相同。我刚刚提到了一个动作,但另一个动作也是如此。下面是我创建的矩阵 -
奖励矩阵:我考虑的奖励函数是动作、当前状态和未来状态的函数 - R(A,S,S')。所需的路线必须从 S1 到 S4。对于将智能体从 S1 带到 S2 或 S1 到 S3 或 S1 到 S4 的操作,我已经获得了积极的奖励,对于状态 S2 和 S3 也是如此。当代理移动超过一个步骤,即 S1 到 S3 或 S1 到 S4 时,将给予更大的奖励。不希望的是当代理因为某个动作而回到之前的状态时。因此,当状态恢复到以前的状态时,我获得了负奖励。目前,两个动作的奖励矩阵相同(意味着 A1 和 A2 具有相同的重要性,但如果 A1/A2 优先于另一个,则可以更改)。以下是我创建的奖励矩阵(两个动作的矩阵相同) -
政策、价值函数和前进: 现在我已经定义了我的状态、行动、奖励、转移概率,我想我需要采取的下一步是找到最佳政策。我没有最优价值函数或策略。从我做的很多谷歌搜索中,我猜我应该从一个随机策略开始,即两个动作在任何给定状态下都具有相同的概率->计算每个状态的值函数->迭代计算值函数直到它们收敛- > 然后从最优值函数中找到最优策略。
我对 RL 完全陌生,以上所有知识都来自我在网上收集到的所有内容。如果我走对了路,有人可以验证我的解决方案和 MDP 吗?如果我创建的 MDP 可以工作?为这么大的文章道歉,但我只是想清楚地描述我的问题陈述和解决方案。如果 MDP 没问题,那么有人还可以帮助我解决价值函数如何迭代收敛到最优值吗?我见过很多确定性的例子,但没有像我这样的随机/随机过程。
对此的任何帮助/指针将不胜感激。先感谢您