# 基于 Regularized Nash Dynamics 的军棋AI
#### **注意:为了保护我的工作,我仅将部分代码开源,例如神经网络部分我仅上传了一个示例 CNN**
## 成果展示
### 4*2迷你军棋
4*2迷你军棋采用与论文相同的参数与缩小版(32通道)的CNN。训练时的 batch_size=500。
经过约12000个 learner step 得到 loss 如图:
![fig1](https://github.com/JimZhouZZY/RNaD-JunQi/assets/140597003/34bc0d25-99af-4671-be78-88883a00eae9)
与 random player 进行评估,胜率达到约 82% ,evaluator.py 的部分输出如图:
![bs500_itr10000_32papernet_origin_pitrandom](https://github.com/JimZhouZZY/RNaD-JunQi/assets/140597003/b9ab6b34-e0e3-4862-bc1a-667fb9ee491f)
### 10*2缩小版军棋
10*2缩小版军棋包括军棋中除工兵外全部的游戏逻辑,是我向完整版军棋进发的尝试。
10*2迷你军棋采用与论文相同的参数与缩小版(128通道)的CNN。训练时的 batch_size=20。
由于算力有限,我尚未在10*2缩小版军棋进行足够的参数调试测试,且batch_size=20对于军棋的多智能体训练实在太小,因此目前结果不佳。
经过约5000个 learner step 得到 loss 如图:
![Figure_1](https://github.com/JimZhouZZY/RNaD-JunQi/assets/140597003/0a77bc78-9c12-4699-ac72-6b1792fa6eb7)
与 random player 进行评估,胜率达到约 54% ,负率仅约 39% ,evaluator.py 的部分输出如图:
![bs20_itr5000](https://github.com/JimZhouZZY/RNaD-JunQi/assets/140597003/49ea8752-b47c-437d-8fe4-e4f7ac8f262f)
## 环境搭建
#### **注意:仅支持 linux 环境, 开发和训练试用 ubuntu 22.04 和 ubuntu 20.04**
首先安装带有军棋游戏的 Open Spiel 框架,以及jax, dm-haiku等依赖项
```
pip install open-spiel-junqi==1.4.2 jax dm-haiku
```
克隆此仓库
```
git clone https://github.com/JimZhouZZY/RNaD-JunQi.git
```
进入 game 文件夹,运行 copy.sh 替换文件(此步骤可能需要手动找到 python 的库文件夹并手动替换)
```
cd game
sh copy.sh
```
(此步可省略)检查机器 cpu 数量,根据机器 cpu 数量调整 config.py 中的 _NUM_ACTORS 变量
```
lscpu
```
开始训练
```
sh train.sh
```
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
RNaD-JunQi-main.zip (46个子文件)
RNaD-JunQi-main
evaluator.py 5KB
utils.py 306B
__init__.py 0B
game
__init__.py 0B
junqi_normal.py 42KB
copy.sh 270B
junqi1.py 41KB
junqi_train.py 42KB
data
2023_12_22 Result
bs60_itr1800_32papernet_pitrandom.PNG 21KB
Figure_11.png 39KB
bs500_itr10000_32papernet_origin_pitrandom.PNG 21KB
bs60_itr800_32papernet_pitrandom.PNG 21KB
bs500_itr10000_32papernet_origin_pitrandom_1.png 6KB
bs500_itr12000_32papernet_origin_loss.PNG 74KB
bs20_itr1000_128papernet_origin_pitrandom.PNG 17KB
bs60_itr1050_32papernet_origin_pitrandom.PNG 38KB
bs20_itr5000.PNG 10KB
Figure_1.png 40KB
bs500_itr7000_32papernet_origin_pitrandom.PNG 7KB
LICENSE 34KB
pit_human.py 3KB
actor.py.back 8KB
actor.py 24KB
rnad
__init__.py 0B
func.py 8KB
entropy_schedule.py 4KB
data_class.py 10KB
rnad.py 49KB
learner.py 49KB
train.sh 492B
network
__init__.py 0B
cnn_128.py 2KB
test
__init__.py 0B
plot.py 690B
test_run_game.py 390B
utils
__init__.py 0B
timeit.py 327B
util_test_train.py 3KB
obs_string.py 3KB
test_game_obs.py 1KB
loss.txt 208KB
test_train.py 5KB
.gitignore 68B
train.py 6KB
README.md 2KB
config.py 1KB
共 46 条
- 1
资源评论
十小大
- 粉丝: 1w+
- 资源: 2556
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功