Skip to content
/ rlcard Public
forked from datamllab/rlcard

Reinforcement Learning / AI Bots in Card (Poker) Games - Blackjack, Leduc, Texas, DouDizhu, Mahjong, UNO.

License

Notifications You must be signed in to change notification settings

cnhup/rlcard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RLCard: A Toolkit for Reinforcement Learning in Card Games

Build Status

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. NOTE: The project is still in final testing!

Installation

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

Getting Started

The interfaces generally follow OpenAI gym style. We recommend starting with the following toy examples.

For more examples, please refer to examples/.

Documents

Please refer to the Documents for general concepts introduction. API documents are available at our github page.

Available Environments

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

Evaluation

We wrap a Logger that conveniently saves/plots the results. Example outputs are as follows: Learning Curves

Disclaimer

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.

Acknowledgements

We would like to thank JJ World Network Technology Co.,LTD for the support.

About

Reinforcement Learning / AI Bots in Card (Poker) Games - Blackjack, Leduc, Texas, DouDizhu, Mahjong, UNO.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%