# rl-algorithms **Repository Path**: liumin123456/rl-algorithms ## Basic Information - **Project Name**: rl-algorithms - **Description**: RL学习 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-26 - **Last Updated**: 2026-03-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 强化学习 (Reinforcement Learning) 系统性学习强化学习的代码库,包含核心算法的实现和演示。 ## 项目结构 ``` . ├── docs/ # 文档和笔记 ├── figures/ # 图片资源 ├── notebooks/ # Jupyter notebooks ├── src/ # 源代码 │ ├── mdp/ # 马尔可夫决策过程 │ │ ├── environment.py # MDP环境定义 │ │ ├── policy_evaluation.py # 策略评估 │ │ ├── policy_iteration.py # 策略迭代 │ │ ├── value_iteration.py # 价值迭代 │ │ └── demo.py # MDP demo │ ├── monte_carlo/ # 蒙特卡洛方法 │ │ ├── mc_evaluation.py # 蒙特卡洛评估 │ │ ├── mc_control.py # 蒙特卡洛控制 │ │ └── demo.py # MC demo │ └── temporal_difference/ # 时序差分方法 │ └── demo.py # TD demo (SARSA, Q-Learning, Expected SARSA) └── README.md ``` ## 学习路径 ### 1. 马尔可夫决策过程 (MDP) MDP是强化学习的数学基础,定义为一个五元组 (S, A, P, R, γ): - **S**: 状态空间 - **A**: 动作空间 - **P**: 状态转移概率 P(s'|s,a) - **R**: 奖励函数 R(s,a) - **γ**: 折扣因子 **核心概念:** - 状态价值函数 V(s) = E[G_t | S_t = s] - 动作价值函数 Q(s,a) = E[G_t | S_t = s, A_t = a] - Bellman方程 **算法:** - 策略评估 (Policy Evaluation) - 策略迭代 (Policy Iteration) - 价值迭代 (Value Iteration) **运行示例:** ```bash uv run python src/mdp/demo.py ``` ### 2. 蒙特卡洛方法 (Monte Carlo Methods) - [待实现] 蒙特卡洛方法通过采样多条轨迹来估计价值函数,无需环境模型。 **特点:** - 无需环境模型 (model-free) - 仅适用于 episodic (回合制) 任务 - 对样本轨迹进行平均 **算法:** - 首次访问MC策略评估 (First-Visit MC) - 每次访问MC策略评估 (Every-Visit MC) - 增量式MC策略评估 - MC控制 (ε-soft策略) **运行示例:** ```bash uv run python src/monte_carlo/demo.py ``` ### 3. 时序差分方法 (Temporal Difference) TD方法结合了蒙特卡洛和动态规划的思想。 **特点:** - 无需环境模型 - 在线学习 (每步更新) - 利用Bootstrap技术 **算法:** - TD(0) 策略评估 - SARSA (On-Policy TD控制) - Q-Learning (Off-Policy TD控制) - Expected SARSA **运行环境:** ```bash uv run python src/temporal_difference/demo.py ``` ### 4. 进阶主题 - [待实现] - Deep Q-Network (DQN) - Policy Gradient - Actor-Critic ## 算法关系图 ``` ┌─────────────────────────────────────────────────────────────┐ │ 强化学习算法分类 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────┐ ┌─────────────────┐ │ │ │ Model-Based │ │ Model-Free │ │ │ │ (有环境模型) │ │ (无环境模型) │ │ │ └────────┬────────┘ └────────┬────────┘ │ │ │ │ │ │ ┌────────┴────────┐ │ │ │ │ 动态规划 (DP) │ │ │ │ │ Policy Iter │ ┌───────┴───────┐ │ │ │ Value Iter │ │ TD Methods │ │ │ └─────────────────┘ │ Monte Carlo │ │ │ │ Q-Learning │ │ │ │ SARSA │ │ │ └────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` ## 环境配置 ```bash uv venv .venv source .venv/bin/activate # 或 uv run python ... uv pip install numpy gymnasium ``` ## 参考文献 1. Sutton, R. S., & Barto, A. G. (2018). *Reinforcement Learning: An Introduction* (2nd ed.). MIT Press. 2. Watkins, C. J. C. H. (1989). *Learning from Delayed Rewards*. PhD thesis, University of Cambridge.