Update README.md
parent
80088a4144
commit
9cfd4f88af
113
README.md
113
README.md
|
|
@ -176,7 +176,118 @@
|
|||
|
||||
麻将游戏引擎建模代码于项目根src/engine/目录下。
|
||||
|
||||
## PPO(Proximal Policy Optimization)算法
|
||||
|
||||
|
||||
## 算法
|
||||
|
||||
#### **1. 强化学习**
|
||||
|
||||
适用于学习最佳策略,帮助AI根据牌局动态决策(如摸牌、出牌、胡牌等)。
|
||||
|
||||
**Q-Learning/Deep Q-Learning (DQN)**:
|
||||
|
||||
使用价值函数近似,适用于简单麻将变体。
|
||||
|
||||
在复杂麻将中可能遇到状态空间爆炸的问题。
|
||||
|
||||
**Policy Gradient(如 REINFORCE、PPO、A3C)**:
|
||||
|
||||
- 直接学习策略,适合连续决策问题。
|
||||
- Proximal Policy Optimization (PPO) 是目前表现较好的强化学习算法。
|
||||
|
||||
**AlphaZero/Monte Carlo Tree Search (MCTS)**:
|
||||
|
||||
- 结合深度神经网络和搜索算法,模拟多局游戏,适用于探索全局最优策略。
|
||||
|
||||
**适用场景**:
|
||||
|
||||
自主对局学习(自我博弈)。
|
||||
|
||||
学习如何综合权衡得失(如是否碰牌、杠牌或放弃操作)。
|
||||
|
||||
#### **2. 模拟和搜索算法**
|
||||
|
||||
适用于推理对手手牌或牌堆剩余牌,提升策略的稳定性。
|
||||
|
||||
**算法**:
|
||||
|
||||
- Monte Carlo Tree Search (MCTS):
|
||||
- 模拟多个可能的后续动作,估算每个动作的收益。
|
||||
- 常用于长序列决策,如考虑碰、杠、胡等多步操作的效果。
|
||||
- Minimax with Alpha-Beta Pruning:
|
||||
- 在两人麻将(或简化版本)中,模拟对手的可能操作。
|
||||
|
||||
**适用场景**:
|
||||
|
||||
需要进行搜索优化的场景(如判断是否选择碰、杠)。
|
||||
|
||||
分析未来几步操作对得分的影响。
|
||||
|
||||
#### **3. 监督学习**
|
||||
|
||||
适用于模仿人类玩家的决策或历史数据学习。
|
||||
|
||||
**算法**:
|
||||
|
||||
- 分类算法
|
||||
|
||||
(如 Logistic Regression、Random Forest、XGBoost、Neural Networks):
|
||||
|
||||
- 学习单步决策(如出哪张牌)。
|
||||
- 适用于学习简单的局部决策。
|
||||
|
||||
- 序列模型
|
||||
|
||||
(如 RNN、LSTM、Transformer):
|
||||
|
||||
- 学习决策的序列模式(如出牌顺序和策略连贯性)。
|
||||
- Transformer 可以捕捉复杂的上下文关系。
|
||||
|
||||
**适用场景**:
|
||||
|
||||
有大量玩家对局数据作为训练集。
|
||||
|
||||
模拟人类打牌风格。
|
||||
|
||||
#### **4. 混合方法**
|
||||
|
||||
结合强化学习和监督学习的优点,以应对麻将的高复杂性和多样化。
|
||||
|
||||
**示例方法**:
|
||||
|
||||
- Imitation Learning + Reinforcement Learning
|
||||
|
||||
:
|
||||
|
||||
- 先使用监督学习模仿玩家风格,再用强化学习微调策略。
|
||||
|
||||
- AlphaZero-like Framework
|
||||
|
||||
:
|
||||
|
||||
- 结合深度强化学习和搜索(如 MCTS),强化对局策略。
|
||||
|
||||
**适用场景**:
|
||||
|
||||
需要在短时间内获得可用的AI策略。
|
||||
|
||||
想进一步优化模型的决策能力。
|
||||
|
||||
#### **对抗学习**:
|
||||
|
||||
让AI与自身对局(自我博弈)或与其他AI对局,提升对抗能力。
|
||||
|
||||
#### **工具和框架**
|
||||
|
||||
1. 强化学习框架:
|
||||
- **Stable-Baselines3**: 简单易用,支持PPO、DQN等算法。
|
||||
- **Ray RLlib**: 分布式强化学习框架,适合复杂任务。
|
||||
2. 深度学习框架:
|
||||
- TensorFlow 或 PyTorch:构建神经网络和深度学习模型。
|
||||
3. 麻将环境:
|
||||
- 自定义麻将环境或使用已有开源环境(如 OpenAI Gym 或 MahjongRL)。
|
||||
|
||||
### PPO(Proximal Policy Optimization)算法
|
||||
|
||||
TensorBoard 通常会记录和可视化多种训练指标。你提到的这些图表代表了 PPO 训练过程中的不同方面。下面是对每个图表的解释:
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue