Home

Awesome

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
  1. Change work directory to root
cd doudizhu-C
  1. Create env from environment.yml
conda env create -f environment.yml
  1. Activate env
conda activate doudizhu
  1. Build C++ files
mkdir build
cd build
cmake ..
make
  1. 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, 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]
  1. Run evaluation scripts in scripts
cd scripts
python experiments.py

Directory Structure

Miscellaneous

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}
}