SARSA算法

时间:2011-05-22 02:36:35

标签: artificial-intelligence reinforcement-learning

我无法理解SARSA算法: http://en.wikipedia.org/wiki/SARSA

特别是,在更新Q值时,什么是gamma?什么值用于s(t + 1)和a(t + 1)?

有人可以向我解释这个算法吗?

感谢。

1 个答案:

答案 0 :(得分:4)

Gamma确定您的算法有多少内存。如果将其设置为0.0,则算法根本不会更新值函数 Q 。如果将其设置为1.0,那么新体验的重量将与之前的所有体验相结合。最佳值介于两者之间,必须通过实验确定。

以下是它的工作原理:

  • 在第一步中,您只是获得一个州。只需将其存储为 s t 。此外,查找您的值函数以获取在此状态下执行的最佳操作,并将其存储为 a t
  • 在每个后续步骤中,您将获得 r t + 1 s t + 1 。再次,使用您的值函数来查找最佳操作 - a t + 1 。从您之前的操作到新操作的转换值等于 r t + 1 + Q(s t + 1 ,a t 1 ) - Q(S <子>吨,一个<子>吨。使用此选项更新上一个操作的值 Q(s t t t)的长期估计值。最后,将 s t + 1 a t + 1 存储为 s t < / sub> a t 用于下一步。

实际上,value函数只是每个操作和每个状态的这些更新值的运行平均值。