1.算法原理
Q-learning算法是一种基于强化学习的动态规划方法,用于求解马尔可夫决
策过程中的最优策略。基本思想是智能体在环境中以试错的方式学习,尝试通过采取不同的行动来最大化长期回报。Q-learning 算法使用 Q 值来表示在某个状态下采取某个动作所能获得的长期回报,通过不断地更新 Q 值,找到最优的Q 值和策略。
Q-learning算法将每个状态 s 在执行动作 a 时得到的 Q 值存储在表格中。这个表一般命名为 Q-table。Q-table 意图如图所示,表格中每一行代表一个状态空间,每一列对应智能体可以执行的动作,每一对状态和动作对应的内容为Q(s,a)。
算法流程
1.初始化状态 s,并且将 Q-table 设置为空;
2.将已知状态下的 Q 值记录在 Q-table 中,Q-table 中查询当前状态 s 对应
的 Q 值。若在表格中找不到该状态 s,则在表中添加一条新数据;若查询到状态 s 对应的 Q 值,就以指定的策略选择动作;
3.执行步骤 2 选取的动作 a,得到环境给予的即时反馈 r,并进入下一个
状态s’;
4.更新Q值:
Q
(
s
,
a
)
=
Q
(
s
,
a
)
+
α
[
r
+
γ
max
a
′
Q
(
s
′
,
a
′
)
−
Q
(
s
,
a
)
]
Q(s,a)=Q(s,a)+\alpha[r+\gamma\max_{a^{\prime}}Q(s^{\prime},a^{\prime})-Q(s,a)]
Q(s,a)=Q(s,a)+α[r+γa′maxQ(s′,a′)−Q(s,a)]
5.如果达到最大迭代次数亦或找到目标点,则算法流程结束,如果两者
都没有满足,则回到步骤 3。
其中,Q(s,a)是在状态 s 下采取动作 a 的 Q 值; α \alpha α为学习率,控制新旧经验之间的权重。
2.机器人路径规划问题
当 α 接近于 0 时,表示算法在学习过程中高度依赖历史状态信息,而对于获得的即时奖励给予较小的重视。如果 α 为 0,意味着算法完全不考虑即时奖励,只从过去的经验中学习。相反,当 α 接近 1 时,算法主要关注当前环境提供的即时奖励,而不是从历史状态中学习。如果 α 为 1,则表明算法完全根据当前的奖励来更新其知识,忽略了过去的学习结果。
折扣因子 γ,它决定了未来奖励的重视程度。当 γ=1 时,算法将考虑所有潜在的未来奖励,有助于长远的规划;而 γ=0 时,则仅关注当前步骤的即时奖励。这使得算法的策略更加短视,只优化当前步骤的结果。
状态s’是在执行动作 a 后转移到的新状态,而 max a ( Q ( s ′ , a ) ) \max_{a}(Q(s^{\prime},a)) maxa(Q(s′,a))代表在s’状态下可选择的最优动作所能带来的最大预期收益。这是Q-learning更新其 Q 值的基础,确保策略朝着提高长期奖励的方向优化。
3.结果展示
4.参考文献
[1] 钱信,吕成伊,宋世杰.基于优化Q-learning算法的机器人路径规划[J].南昌大学学报(工科版),2022,44(04):396-401.
[2] 徐亮.基于改进RRT~*和Q-learning算法的机器人路径规划研究[D].吉林大学,2023.