RLCard is a opensource toolkit for developing Reinforcement Learning (RL) algorithms in card games. It supports multiple challenging card game environments with common and easy-to-use interfaces. The goal of the toolkit is to enable more people to study game AI and push forward the research of imperfect information games. RLCard is developed by DATA Lab at Texas A&M University.
Make sure that you have Python 3.5+ and pip installed. You can install rlcard
with pip
as follow:
git clone https://github.com/datamllab/rlcard.git
cd rlcard
pip install -e .
To check whether it is intalled correctly, try the example with random agents:
python examples/blackjack_random.py
The interfaces generally follow OpenAI gym style. We recommend starting with the following toy examples.
For more examples, please refer to examples/.
Please refer to the Documents for general concepts introduction. API documents are available at our github page.
The table below shows the environments that are (or will be soon) available in RLCard. We provide a complexity estimation for the games on several aspects. InfoSet Number: the number of information set; Avg. InfoSet Size: the average number of states in a single information set; Action Size: the size of the action space. For some of the complex card games, we can only provide a range of estimation. Name is the name that should be passed to env.make
to create the game environment.
Game | InfoSet Number | Avg. InfoSet Size | Action Size | Name | Status |
---|---|---|---|---|---|
Blackjack (wiki, baike) | 10^3 | 10^1 | 10^0 | blackjack | Available |
Limit Texas Hold'em (wiki, baike) | 10^14 | 10^3 | 10^0 | limit-holdem | Available |
Dou Dizhu (wiki, baike) | 10^53 ~ 10^83 | 10^23 | 10^4 | doudizhu | Available |
Mahjong (wiki, baike) | 10^121 | 10^48 | 10^2 | - | Come soon |
No-limit Texas Hold'em (wiki, baike) | 10^162 | 10^3 | 10^4 | no-limit-holdem | Available |
UNO (wiki, baike) | 10^163 | 10^10 | 10^1 | - | Come soon |
Sheng Ji (wiki, baike) | 10^157 ~ 10^165 | 10^61 | 10^13 | - | Come soon |
We wrap a Logger
that conveniently saves/plots the results. Example outputs are as follows:
Please note that this is a pre-release version of the RLCard. The toolkit is provided "as is," without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement.
We would like to thank JJ World Network Technology Co.,LTD for the support.