编辑: 阿拉蕾 2018-02-15
德州扑克 AI PPCA2014 July

2014 PPCA2014 的大作业是实现一个德州扑克的 AI.

我们会不定期在线进行测试,能够适 应不同局势、赢得尽量多的筹码的 AI 会得到更高的分数.本文将介绍本次大作业采用的德 州扑克规则 (第1节) ,评测系统的使用(第2节) ,和本次大作业的具体要求(第3节) . 本次大作业的想法来源于贾枭学长,评测系统的框架是他完成的,在此特别致谢贾枭学 长.

1 游戏规则 德州扑克使用大小王除外的一副牌,共52 张.玩家根据手中

2 张底牌和场上

5 张公共 牌组合出的最好牌型决定胜负.每一局的流程如下: 1. 洗牌 2. 担任小盲注和大盲注的玩家下盲注(blinds) 3. 庄家(dealer)为每人发两张底牌(hole card) 4. 翻牌前的一轮下注(pre?op) 5. 销一张牌,翻三张公共牌(?op) 6. 第二轮下注 7. 销一张牌,翻一张公共牌(turn) 8. 第三轮下注 9. 销一张牌,翻一张公共牌(river) 10. 第四轮下注 11. 若场上还剩至少两名玩家未盖牌,则他们需要展示手牌比较大小(showdown)

1 12. 分配彩金 一局游戏中至少有

2 名玩家,庄家由玩家轮流担任,沿顺时针方向轮换,小盲注是庄 家顺时针方向下一个玩家,大盲注是小盲注顺时针方向的下一个玩家(在2人局中就是庄 家) .大盲注是小盲注的

2 倍,小盲注将随游戏进行增加,目前每

3 局增加一次, 小盲注的 大小依次为 1,2,5,10,20,50,100,200,500,共27 局.玩家在初始时将获得一样多的筹码,目 前为 1000.当一名玩家手中筹码变为

0 时,他就出局了,他只能观察之后的比赛.当场上 只剩一名玩家或打满

27 局时,游戏结束. 第一轮下注从大盲注顺时针方向的下一名玩家开始沿顺时针方向进行,大小盲注在此时 不算已经下注,但是大小盲注计入第一轮的彩池.后三轮下注都从庄家的下一名玩家开始. 当一轮彩池中没有筹码时,玩家可以选择过牌 (check),盖牌(fold) ,或加注 (raise).当有 彩池中已有筹码时,玩家可以选择盖牌,跟注(call) ,或加注.本次大作业采用的是无限下 注德州扑克(no-limit) ,加注时只需要不少于当轮上一个加注的数量,如果玩家是当轮第一 个下注的,他的下注至少与大盲注相同.如果一个玩家在想要跟注或加注时,他拥有的筹码 不足最低限额,则他依然可以完成通过全押(all-in)进行跟注或加注.盖牌的玩家将损失本 局游戏中投入的所有筹码,不再参与本局游戏.当以下所有条件满足时一轮下注结束: ? 每个未盖牌的玩家均行动过 ? 除了全押的玩家,所有未盖牌的玩家下注都相同 ? 下一个行动的玩家恰好是上一个加注的玩家,或者场上只有一名玩家未盖牌,或者所 有玩家选择过牌 最终,各个彩池分给该彩池贡献者牌型最大的玩家.若牌型相同,则比较次要牌.依次 类推.如果一个彩池的贡献者中有多人牌一样大,则该彩池由他们平分,若彩池中筹码数不 能被除尽,则余数被分给该彩池胜者中顺时针方向最靠近庄家的一个. 牌型规则可参考Wikipedia:Texas Hold'em. 目前我们的规则和通常的德州扑克有一些不一致: ? 两人局的盲注依然按照正常局算 ? All-in 的加注被当做加注 ? 在第一轮加注中,若彩池中贡献最多的玩家的下注等于大盲注的大小时,大盲注需要 跟注

0 个筹码而不是过牌. ? 可能还有其他不一致之处,发现后请指出

2 2 评测系统 评测系统由 client 和server 组成,大作业只需要实现 client 中Player 类的函数即可. 评测时,请运行 client,连接指定的服务器进行评测.下面主要介绍 client 的运行环境、编 译方法和为实现 AI 提供的接口. 2.1 运行环境和编译方法 评测系统可以在 Linux,Windows,Mac OS 上运行,源代码公开在 github 上.要获取 源代码,在终端中运行: (windows 下请自行安装 git)

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题