RL 值迭代,gridworld 多动作问题

问题描述

我刚刚开始学习强化学习,并试图了解基础知识。我了解策略评估、策略和值迭代算法,并且可以解决具有两个终端状态 -5 或 +5 的简单网格世界优化问题。非得分步奖励为 -1。 使用一些模板代码构建的 GridWorld 类具有上述指定的终止状态。

enter image description here

我现在试图了解如何解决一个稍微复杂的场景,也有两个终端状态,一个是 -5,另一个是收集所有“点”:

2nd gridworld probem

我对需要发生的事情有一个非常清晰的想法,只是努力实际实施它: 当我们通过棋盘时,如果我们以“+”点落在单元格上,我们不希望代理继续返回,因此我们将该奖励设置为(-1)。那时的问题是,现在马尔可夫性质不会得到满足,因为我们的行动将取决于是否收集了点数。 我知道我需要更新环境以反映新添加的“+”,但是如何反映积分的集合? 我会把它构建到环境中吗?如果是这样,它是否在 GridWorld 类的“转换”部分:(状态,奖励,is_terminal) - 这是否意味着我需要几个不同的“转换”查找 - 1 个带有所有“+”点,一个带有 2 个“+” ” 剩余点数,1 点与 1 个“+”点数,等等? 还是值迭代算法?我知道可能有其他更适合的算法,但我还没有......

任何解释或相关阅读材料都会很棒.. 我已经看过这个:https://ai.stackexchange.com/questions/10732/how-do-i-apply-the-value-iteration-algorithm-when-there-are-two-goal-states/10733#10733?newreg=a141ab7a8668426088d0d4b451628ced 但它并不完全有助于实现部分。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)