• Stars
    star
    158
  • Rank 237,131 (Top 5 %)
  • Language
    Python
  • Created about 7 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

C++/python fight the lord with pybind11 (强化学习AI斗地主), Accepted to AIIDE-2020

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

  • 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

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

More Repositories

1

Point-Transformers

Point Transformers
Python
617
star
2

KeypointNet

KeypointNet: A Large-scale 3D Keypoint Dataset Aggregated from Numerous Human Annotations (CVPR2020)
Python
151
star
3

VoteNet

Deep Hough Voting for 3D Object Detection in Point Clouds (https://arxiv.org/abs/1904.09664)
Python
141
star
4

PRIN

Pointwise Rotation-Invariant Network (AAAI 2020)
Python
85
star
5

UKPGAN

UKPGAN: A General Self-Supervised Keypoint Detector (CVPR2022)
Python
64
star
6

CPPF

CPPF: Towards Robust Category-Level 9D Pose Estimation in the Wild (CVPR2022)
Jupyter Notebook
48
star
7

CanonicalVoting

Canonical Voting: Towards Robust Oriented Bounding Box Detection in 3D Scenes (CVPR2022)
Python
46
star
8

cs231n

cs231n assignments
Python
35
star
9

SPRIN

PRIN/SPRIN: On Extracting Point-wise Rotation Invariant Features
Python
23
star
10

CPPF2

6D Pose Estimation in the Wild
Jupyter Notebook
22
star
11

Mahjong

Python 图形化麻将游戏 (带蒙特卡洛AI)
Java
19
star
12

RealTimeTrack

A fast algorithm tracking real time deformable planers
C++
19
star
13

Panoroma

Fully C++ implementation of "Automatic Panoramic Image Stitching using Invariant Features"
C++
16
star
14

multi-stage-detection

Tensorflow implementation of "MULTI-STAGE REINFORCEMENT LEARNING FOR OBJECT DETECTION"
Python
15
star
15

PACE

Python
13
star
16

SemanticTransfer

Code repo for the paper "Semantic Correspondence via 2D-3D-2D Cycle"
Python
12
star
17

PatchMatchStereo

https://www.microsoft.com/en-us/research/wp-content/uploads/2011/01/PatchMatchStereo_BMVC2011_6MB.pdf
Python
10
star
18

doudizhu-tornado

Python
9
star
19

CSVAE

Python
8
star
20

FightTheLord

斗地主python命令行版
Python
7
star
21

deblur

Two-Phase Kernel Estimation for Robust Motion Deblurring
Python
7
star
22

Collaborative-Learning

Tensorflow implementation of "Collaborative Learning for Deep Neural Networks"
Python
7
star
23

VideoView

The android Video system
Java
5
star
24

OneLoc

OneLoc: One-Shot General Object Localization
Cuda
5
star
25

QENet

Quaternion Equivariant Capsule Networks for 3D Point Clouds
Python
5
star
26

mask-rcnn

tiny-mask-rcnn-tensorflow
Python
5
star
27

Perception3D

Python
4
star
28

ObjSimplifier

Open-source C++ Obj Simplifier implementing "Surface Simplification Using Quadric Error Metrics" 1997
C++
4
star
29

DanmukuTools

in the future, I decide to write some danmuku js tools for bilibiliers to use.
JavaScript
3
star
30

DeHaze

Matlab implementation of "Single Image Haze Removal Using Dark Channel Prior"
MATLAB
3
star
31

KdNet-Tensorflow

KdNet
Python
3
star
32

DSO-iOS

Direct Sparse Odometry for iOS
C++
3
star
33

TSDF-from-Depth

C++
3
star
34

CudaRenderer

A Cuda Renderer in C++ style using PBRT
Cuda
3
star
35

SLAM-MaskRCNN

Jupyter Notebook
3
star
36

OctConv

Tensorflow implementation on OctConv https://arxiv.org/pdf/1904.05049.pdf
Python
3
star
37

enumlator

超级斗地主模拟器
Python
2
star
38

AAE

Adversarial Autoencoders (https://arxiv.org/pdf/1511.05644.pdf)
Python
2
star
39

DoomRL

This is for Doom using Reinforcement Learning
Python
2
star
40

Visual-Question-Answering

Deep Learning solving VQA with Pytorch
Jupyter Notebook
2
star
41

Cycle-W-GAN

Cycle-GAN using Wasserstein distance
Python
2
star
42

DeepLearningKitForiOS

Swift
2
star
43

algorithm-snippets

algorithms across many fields, some small experiments giving the idea how the algorithm works
Python
1
star
44

GrabCut

GrabCut in C++
C++
1
star
45

DanmuEngine

Danmu Engine, nothing is impossible
JavaScript
1
star
46

Lianliankan

C++
1
star
47

Butterfly

For butterfly detection
Python
1
star
48

cuda-renderer

cuda_renderer
Cuda
1
star
49

doudizhu-baseline

C++
1
star
50

Sketch-WGAN

Python
1
star
51

Coursera-Algorithm-II

Princeton course
Java
1
star
52

SfM

Python
1
star
53

GeometricProcessing3D

C++
1
star
54

mpm

MPM playground
C++
1
star
55

cs348b

C++
1
star