5

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

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

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

谢谢。

4

1 回答 1

4

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

下面是它的工作原理:

  • 在你的第一步,你只是得到一个状态。只需将其存储为s t。此外,查找您的价值函数以获得在此状态下执行的最佳操作并将其存储t
  • 在随后的每个步骤中,您都会得到r t+1s t+1。再次,使用你的价值函数来找到最佳行动——a t +1。从上一个动作到新动作的转换值等于r t+1 +Q(s t+1 ,a t+1 )-Q(s t ,a t )使用它来更新您对先前操作的价值Q(s t ,a t t)的长期估计。最后,将s t+1a t+1存储为s ta t为下一步。

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

于 2011-05-22T04:17:42.803 回答