试水德扑现金局 ———澳门赌场实战

随着线上德州扑克技艺的日益娴熟,线下实战的欲望犹如激流涌动。中秋节期间,我怀揣着初次实战的期待,踏上了澳门赌场的探索之旅。原本计划挑战25/50级别,但最低起注限制在50/100,我的筹码显得有些捉襟见肘。这次实战,我将它视为一次试探,却发现每张桌前都排起了长龙,对手的水平更是五花八门。

首战开始,我敏锐地捕捉到一个可能的鱼儿。在第二、第三把牌局中,我调整策略,然而筹码的减少让我不得不更加谨慎。两个小时的激战后,桌台宣布解散,我保持着平和的心态,转移到了新战场。这里汇集了职业玩家和新手,我凭借一次小胜,找回了久违的自信,并与同乡老友分享心得。

一同前往的爱人则在现金局中稳中求胜,她谨慎加注,以一对QQ打败AK,展现了她的冷静判断。两次与小老乡的互动,一次是深入分析对手的手牌,一次是对花色的微妙洞察。到了九点半,当哥哥返回深圳,她的小胜积累了一点点胜利的喜悦。

十月五日,她再次披挂上阵,经验更加丰富,带着两万港币的深筹码,她开始细致观察对手,频频得手。尤其是一场与职业玩家的对决,她以A葫芦力压小葫芦,展现了不凡的技艺。尽管输赢交织,但最后一手,她以四葫芦的强势姿态,击败对手,结束了一天的战斗。凌晨四点,满载着3.2万港币的胜利,她的信心倍增。

实战归来,她总结出宝贵的经验,准备深入消化,为下一次的挑战做足准备。这次澳门的现金局试水,不仅是一次技术的磨炼,更是心理素质的锻炼,她从中收获的,远超过最初的预期。

德州扑克里limp什么意思

limp德州术语:在无人加注的情况下溜入翻牌圈。

常用术语:

1. Gamble——赌、做输赢。Small Blind——小盲注位,简称SB。

2. Big Blind——大盲注位,简称BB。UTG——Under the Gun缩写,枪口位,大盲位玩家的下一位。

3. Middle Position——中间位置。Hi-Jack——劫持位,简称HJ位,在CO位的前一位。

4. Cut-Off——关煞位,简称CO位,在Button位的前一位。Button——庄家位置,也被称作按钮位。

5. Straddle——枪口位玩家在Pre-Flop时下双倍大盲注。Double Straddle——UTG+1在有Straddle时下4倍大盲注。

德州扑克玩法:

德州扑克是一种技巧性非常强的扑克游戏,有一定的运气成份,但玩家之间主要还是要靠斗智力、耍手腕、动脑筋。其规则非常简单,比较容易掌握,但是要达到精通的境界却有一定的难度。

想要成为一个成功的德州扑克玩家,不仅要掌握基本的攻守策略,还要能认清对手的各种玩牌伎俩,根据不同的对手,采取不同的策略,只有知己知彼,才能百战百胜。长远来看:玩德州扑克就象进行一场马拉松比赛,谁更有耐心,技术水平更高才会赢。

浅谈德州扑克AI核心算法:CFR

自2017年AlphaGo战胜世界围棋冠军柯洁后,人工智能技术进入公众视野。棋牌类AI随之在人工智能领域掀起热潮。然而,在AlphaGo之前,人们就已经开始挑战棋牌类AI,从简单的跳棋、五子棋到复杂的中国象棋、国际象棋,再到围棋和德州扑克,数十年来取得了丰硕成果。德州扑克作为不完全信息博弈,不仅要应对复杂的决策,还要应对对手的虚张声势、故意示弱等策略,其博弈树无论是广度还是深度都非常庞大,一直是科学家们想要攻克的高山。在AlphaGo战胜柯洁的同一年,德扑AI DeepStack和Libratus先后在“一对一无限注德州扑克”中击败了职业扑克玩家,实现了不完全信息博弈的突破,而它们所采用的核心算法就是Counterfactual Regret Minimization(CFR)。

1. Regret Matching

CFR算法的前身是regret matching算法,在此算法中,智能体的动作是随机选择的,其概率分布与positive regret成正比,positive regret表示一个人因为过去没有选择该行动而受到的相对损失程度。

1.1算法原理

石头剪子布是最为简单的零和博弈游戏,是典型的正则式博弈,其payoff table如下:

图1·石头剪刀布收益图

Regret matching算法流程在本例中为:

a)首次迭代,player1和player2都以[公式]概率随机选择动作,假设player1选择布,player2选择剪刀。

b)以player1视角,首次博弈结果收益为:[公式]。

c)根据结果收益计算后悔值,[公式]

d)进行归一化处理更新player1的行动策略:[公式]。

e)根据更新后的策略选择动作进行多次博弈,直至达到纳什平衡

f)返回平均策略

核心代码如下(具体代码戳这儿):

1)获得策略方法:1.清除遗憾值小于零的策略并重置策略为0;2.正则化策略,保证策略总和为13.在某种情况下,策略的遗憾值总和为0,此时重置策略为初始策略。

2)训练方法:1.玩选择策略进行博弈,根据博弈结果计算动作效益;2.根据动作效益计算后悔值。

实验结果:

1)当固定对手策略为{0.4, 0.3, 0.3}时

图2·固定对手策略,玩家策略

2)当玩家和对手都采用Regret Matching更新策略时

图3·玩家和对手策略

2. Counterfactual Regret Minimization

石头剪子布是典型的“一次性”博弈,玩家做出动作即得到结果。而生活中显然许多的博弈属于序列化博弈,博弈由一系列的动作组成,上一步的动作可能会导致下一步的动作选择变更,最终的动作组合形成博弈结果。这种序列游戏我们不再使用payoff table表示,而是使用博弈树的形式。博弈树由多种状态组成,边表示从一个状态到另一个状态的转换。状态可以是机会节点或决策节点。机会节点的功能是分配一个机会事件的结果,因此每个边代表该机会事件的一个可能结果以及事件发生的概率。在决策节点上,边代表行动和后续状态,这些状态是玩家采取这些行动的结果。

同样地,对CFR算法中的符号进行若干定义:

算法流程:

2.2实例

库恩扑克(Kunh’s pocker)是最简单的限注扑克游戏,由两名玩家进行游戏博弈,牌值只有1,2和3三种情况。每轮每位玩家各持一张手牌,根据各自判断来决定加定额赌注过牌(P)还是加注(B)。具体游戏规则如下:

图4·库恩扑克规则

以玩家α视角构建库恩扑克博弈树:

图5·先手玩家博弈树

CFR算法流程在本例中为:

a)初始策略为随机策略,假设玩家α抽到的牌值为:3

b)第一轮迭代时,节点选择动作P的虚拟收益计算方法为:[公式]。结合博弈树求解得到:[公式]、[公式]、[公式]、[公式];[公式]、[公式] [公式] [公式]。同理,计算节点选择动作B的虚拟收益为:[公式]

c)利用虚拟收益更新后悔值:[公式]

d)利用后悔值更新策略:[公式],[公式]

e)归一化策略:[公式],[公式]

f)多次迭代,直至达到纳什平衡

核心代码实现:

实验结果:

图6·库恩扑克,玩家和对手策略

3.引申

CFR算法出现时就已经能够解决德州扑克,但面对52张底牌、加注、过牌、河牌等复杂多变的情况使得德扑的博弈树无论是深度还是广度都十分的庞大,对计算资源和储存资源上的开销过于巨大,使得仅仅靠CFR算法攻克德扑十分困难。而CFR后续的研究者们都在费尽心力优化CFR算法的效率,致力于提高计算速度和压缩存储空间。在此,笔者简单介绍几种CFR变种算法,仅做了解。

3.1 CFR+:

与CFR算法不同的是,CFR+算法对累计平均策略做折减,对迭代的策略进行平均时,给近期迭代的策略赋予更高的权重;直观上,越到后期,策略表现越好,因此在都策略做平均时,给近期策略更高的权重更有助于收敛。

在CFR+算法中,counterfactual utility被定义为以下形式:

[公式]

在的基础上,CFR+算法定义了一个[公式],此时CFR+算法中的[公式]为一个累加值,而CFR算法定义[公式]的为平均值,因此CFR+算法中的regret计算方式为:

[公式]

另外,在CFR+算法中,最后输出的平均策略为一下形式:

[公式]

3.2 MCCFR:

MCCFR(Monte Carlo Counterfactual Regret Minimization)是蒙特卡洛算法和CFR算法的结合,其核心在于:在避免每轮迭代整棵博弈树的同时,依然能够保证[公式]的期望值保持不变。将叶子节点分割为不同的[公式],且保证覆盖所有的叶子结点。

定义[公式]是在当前迭代中选择[公式]的概率:[公式]。

定义[公式]表示在当前迭代中采样到叶子节点的概率:[公式]

那么在选择[公式]迭代时,得到的采样虚拟值为:[公式]

通过一定的概率选择不同的block,得到一个基于采样的CFR算法。

3.3结语

除了上述介绍的两个算法外,CFR算法的优化数不胜数,有提高计算速度的Discount-CFR、Warm Start、Total RBP,也有压缩存储空间的CFR-D、Continue-Resolving、Safe and Nested Subgame Solving等。

机器博弈是人工智能领域的重要研究方向。非完备信息博弈是机器博弈的子领域。非完备信息博弈中存在隐藏信息和信息不对称的特点,和完备信息博弈相比,非完备信息博弈更加贴近现实生活中。例如,竞标、拍卖、股票交易等现实问题中都存在隐藏信息和信息不对称。因此,研究非完备信息博弈问题更有现实意义。德州扑克博弈包含了隐藏信息、信息不对称和随机事件等重要特性,它是典型的非完备信息博弈。对其的研究具有非常重大的意义,感兴趣的读者可深入了解。