让DL玩斗地主

A SOLUTION TO CHINA COMPETITIVE POKER USING DEEP LEARNING

概要

当AI遇到游戏才是最有趣的,本文里利用CNN玩斗地主(China Competitive Poker),在一定条件下可以击败人类选手了,也算SOA吧。文中斗地主规则如下

  • 三个玩家,一个地主,两个农民
  • 每个玩家17张牌,地主可以获得额外的3张牌,但开局前要向农民展示
  • 三张可以带一张或一对,这三张称为Main Group,带出去的牌称为Kicker Card
  • duplicate Mode
    因为每一轮每个玩家拿到的牌是随机的,难以分辨哪个玩家更厉害,文中提出用duplicate Mode来比较两组玩家: A,B两组玩家(实验中似乎一组是人,另一组是AI),每组三个玩家,A中抽取一个人做地主,B中抽取两个人做地主,组成一桌游戏;B中余下的一个人做地主,A中余下的人做农民,构成第二桌游戏。游戏牌有裁判分发,保证两个桌上相同角色的牌是一样的,如此比赛多次,地主胜率高的一组牌技比较厉害。

框架

networks

Bid Network

叫牌模块,根据手中的牌决定是否当地主,不在本文的讨论范围内

Policy Network

10层的CNN网络,包括一个全连接层,激活函数是relu。利用(state,action)对训练,文中采用8百万条游戏记录训练该网络,每个游戏记录都是完整的一场游戏,可以被拆分成很多(state,action)对。
该网络的输入是15x19x21的二值向量,第一个维度15表示牌的类别,3到大王;第二个维度19表示每个牌的属性,单牌,对子,数目(1到4)等,最后一个维度21包含一些时序信息,记录最近6轮每个玩家出的牌,如下图
mean-of-z-axis
网络的输出是309个action的概率

Kicker Network

理论上有上述两个模块就可以完成游戏,但是三个或四个带牌的不同,导致Policy Network的输出达到上千个,为此引入Kick Network。Policy只预测Main Group以及
Kick Card类型(单牌/双牌),Kicker Network预测具体的Kick Card类型。
网络的输入是当前剩余的牌和Policy Network的输出,输出是具体的Kicker Card, 包括15种单牌和13种双牌,共计28种类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值