强化学习机器人模拟器——QAgent:一个支持多种强化学习算法的 Python 实现
QAgent 是一个灵活的 Python 类,专为实现经典的强化学习(Reinforcement Learning, RL)算法而设计,支持 Q-learning、SARSA 和 SARSA(λ) 三种算法。本篇博客将基于提供的 q_agent.py 代码,详细介绍 QAgent 类的功能、结构和使用方法,帮助您理解其在强化学习任务中的应用,并探索如何将其与环境(如 GridWorld)结合使用。
QAgent 概览
QAgent 是一个基于表格的强化学习智能体,通过维护一个 Q 表(Q-table)来学习状态-动作对的 Q 值(预期累积奖励)。它采用 ε-贪婪策略(epsilon-greedy policy)在探索(exploration)和利用(exploitation)之间平衡,支持以下三种算法:
-
Q-learning:一种离策略(off-policy)算法,使用最大 Q 值更新。
-
SARSA:一种在线策略(on-policy)