你斗地主打得过AI吗?卡牌游戏的强化学习工具包RLCard来了!

项目名称: RLCard
项目作者: Daochen Zha
开源许可协议: MIT
项目地址:gitee.com/daochenzha/…

项目简介

RLCard 是一款卡牌游戏强化学习 (Reinforcement Learning, RL) 的工具包。 它支持多种卡牌游戏环境,具有易于使用的接口,以用于实现各种强化学习和搜索算法。 RLCard 的目标是架起强化学习和非完全信息游戏之间的桥梁。 RLCard 由 DATA Lab at Texas A&M University 以及社区贡献者共同开发。

项目演示

除了斗地主外,它还支持多种卡牌游戏环境,包括二十一点、德州扑克、UNO、麻将等等。
image.png
image.png

示例

释例

以下是一个小例子

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 [论文]

如果你想要亲手试一试这个工具包,那么就点击下面的链接前往项目主页看看吧:gitee.com/daochenzha/…

猜你喜欢

转载自juejin.im/post/6980224364130074660