Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/qq456cvb/doudizhu-C
C++/python fight the lord with pybind11 (强化学习AI斗地主), Accepted to AIIDE-2020
https://github.com/qq456cvb/doudizhu-C
algorithm dou-di-zhu
Last synced: 3 months ago
JSON representation
C++/python fight the lord with pybind11 (强化学习AI斗地主), Accepted to AIIDE-2020
- Host: GitHub
- URL: https://github.com/qq456cvb/doudizhu-C
- Owner: qq456cvb
- Created: 2017-09-12T00:49:17.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2021-06-17T03:51:25.000Z (over 3 years ago)
- Last Synced: 2024-04-06T02:35:23.803Z (7 months ago)
- Topics: algorithm, dou-di-zhu
- Language: Python
- Homepage:
- Size: 140 MB
- Stars: 156
- Watchers: 12
- Forks: 41
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-game-ai - [paper - C)]. (Open-Source Projects / Dou Dizhu Projects)
README
# Dou Di Zhu with Combinationatorial Q-Learning
# Accepted to AIIDE 2020
## Step by step training tutorial
1. Clone the repo
```
git clone https://github.com/qq456cvb/doudizhu-C.git
```
2. Change work directory to root
```
cd doudizhu-C
```
3. Create env from environment.yml
```
conda env create -f environment.yml
```
4. Activate env
```
conda activate doudizhu
```
5. Build C++ files
```
mkdir build
cd build
cmake ..
make
```
6. Have fun training!
```
cd TensorPack/MA_Hierarchical_Q
python main.py
```## Evaluation against other baselines
1. Download pretrained model from https://jbox.sjtu.edu.cn/l/L04d4A or [GoogleDrive](https://drive.google.com/drive/folders/1YTNR5JYNgNfQpQ9DwhQ3ClcyeXKn_17b?usp=sharing), then put it into `pretrained_model`
2. Build Monte-Carlo baseline and move the lib into root
```
git clone https://github.com/qq456cvb/doudizhu-baseline.git
cd doudizhu-baseline/doudizhu
mkdir build
cd build
cmake ..
make
mv mct.cpython-36m-x86_64-linux-gnu.so [doudizhu-C ROOT]
```
3. Run evaluation scripts in `scripts`
```
cd scripts
python experiments.py
```
## Directory Structure
* `TensorPack` contain different RL algorithms to train agents
* `experiments` contain scripts to evaluate agents' performance against other baselines
* `simulator` contain scripts to evaluate agents' performance against online gaming platform called "QQ Dou Di Zhu" (we provide it for academic use only, use it at your own risk!)
## Miscellaneous
* We provide a Monte-Carlo-Tree-Search algorithm in https://github.com/qq456cvb/doudizhu-baseline
* We provide a configured Dou Di Zhu mini-server in https://github.com/qq456cvb/doudizhu-tornado for you to play interactively. NOTE you should build the server and load pretrained model by yourself! Tutorial coming soon!
* If you meet any problems, open an issue.## DouZero
Recently, another algorithm called DouZero (https://github.com/kwai/DouZero) has been proposed, to whom may be interested in a strong DouDizhu AI. It is also an actively maintained open-source project.## References
See our paper https://arxiv.org/pdf/1901.08925.pdf. If you find this algorithm useful or use part of its code in your projects, please consider cite
```
@inproceedings{you2020combinatorial,
title={Combinatorial Q-Learning for Dou Di Zhu},
author={You, Yang and Li, Liangwei and Guo, Baisong and Wang, Weiming and Lu, Cewu},
booktitle={Proceedings of the AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment},
volume={16},
number={1},
pages={301--307},
year={2020}
}
```