项目名称: RLCard
项目作者: Daochen Zha
开源许可协议: MIT
项目地址:https://gitee.com/daochenzha/rlcard
项目简介
RLCard 是一款卡牌游戏强化学习 (Reinforcement Learning, RL) 的工具包。 它支持多种卡牌游戏环境,具有易于使用的接口,以用于实现各种强化学习和搜索算法。 RLCard 的目标是架起强化学习和非完全信息游戏之间的桥梁。 RLCard 由 DATA Lab at Texas A&M University 以及社区贡献者共同开发。
项目演示
除了斗地主外,它还支持多种卡牌游戏环境,包括二十一点、德州扑克、UNO、麻将等等。
示例
以下是一个小例子
import rlcard
from rlcard.agents import RandomAgent
env = rlcard.make('blackjack')
env.set_agents([RandomAgent(num_actions=env.num_actions)])
print(env.num_actions) # 2
print(env.num_players) # 1
print(env.state_shape) # [[2]]
print(env.action_shape) # [None]
trajectories, payoffs = env.run()
RLCard可以灵活地连接各种算法,参考以下例子:
支持算法
算法 | 释例 | 参考 |
---|---|---|
深度蒙特卡洛(Deep Monte-Carlo,DMC) | examples/run_dmc.py | [论文] |
深度Q学习 (Deep Q Learning, DQN) | examples/run_rl.py | [论文] |
虚拟自我对局 (Neural Fictitious Self-Play,NFSP) | examples/run_rl.py | [论文] |
虚拟遗憾最小化算法(Counterfactual Regret Minimization,CFR) | examples/run_cfr.py | [论文] |
如果你想要亲手试一试这个工具包,那么就点击下面的链接前往项目主页看看吧:https://gitee.com/daochenzha/rlcard