v(s) = max[r(s, a) + γ * v(s')]
(注意,中间是+号不是逗号,即这个式子求的是【即时奖励与下一个状态价值之和 最大化】)
v: value
r:reward
s: state
a: action
- v(s):这是状态价值函数,表示在状态s下的长期期望回报。简而言之,它衡量了从长远角度看,处于某个特定状态s时,智能体预期能够获得的总奖励。这个价值考虑了未来所有可能的状态转移和奖励。
- r(s, a):这是在状态s下执行动作a时获得的即时奖励。它反映了智能体在特定状态下采取某个动作后立即获得的反馈。这个奖励是即时的,不考虑未来的状态或奖励。
- γ:这是折扣因子,一个介于0和1之间的常数。它用于确定未来奖励相对于当前奖励的重要性。较小的γ值意味着智能体更关注当前的奖励,而较大的γ值则使智能体更注重未来的奖励。折扣因子在平衡即时满足和长期目标之间起着关键作用。
- s
'
是执行动作a后从状态s转移到的下一个状态。 - v(s'):这是下一个状态s'的价值函数。它表示在转移到新状态s'后,智能体预期能够获得的长期回报。这个价值函数是递归的,因为它依赖于其他状态的价值函数来计算。
- max操作符用于选择在当前状态下能够最大化期望未来回报的动作a。通过比较所有可能动作下的即时奖励和未来状态价值的组合,智能体可以选择最佳的动作来执行。
在这个方程中,价值函数 v(s)
是通过考虑在当前状态下执行所有可能动作后的期望未来奖励来计算的,它选择了使即时奖励与下一个状态价值的折扣和最大化的动作。这个过程在整个状态空间中被迭代应用,直到价值函数收敛到一个稳定解,这个解表示了从长远来看各个状态的最优价值。