Menu

噬谎者中最为经典的智斗就是空气扑克。 那么今天我们来解析一下这道题并且看怎么通过Python去算出最优解,我也只会给出我的一种思路,如果你也有新的解法欢迎提供。 空气扑克: 在经典的德州扑克问题中,我们已知高牌 < 对子 < 两对子 < 三条 < 顺子 < 同花 < 葫芦 < 四条 < 同花顺 < 皇家同花顺 举个对应的例子: A,Q,8,6,3 A,A,8,4,3 K,K,Q,Q,2 Q,Q,Q,3,2 10,9,8,7,6(不同花色) A,Q,9,8,6(相同花色) A,A,A,7,7(full house) A,A,A,A,2 J,10,9,8,7(相同花色) A,K,Q,J,10(相同花色从10-A)

好的,现在你已经了解了德州扑克的基础规则,那空气扑克的基础规则是什么呢? 首先开局双方会各自获得五张卡牌以及50枚筹码,卡牌上会显示一些数字,但这10张随机卡牌的和永远都会等于364 (也就是一套扑克牌的数字总和), 而卡牌上的数字总和则为任意五张扑克数字总和,你要尝试找出最大的牌型 举个例子:当你手上卡牌的数是47时,那么你能组的最大卡牌就是任意皇家同花顺,而对方手上牌的总和为37时,那么对于他来说,能组的最大卡牌就是9,9,9,9,A 当然如果双方都有重复用到的牌时,优先以能组最大的组合为主。更为致命的是,每一轮过掉的扑克牌将不会出现在下一轮,比如这一轮组成的皇家同花顺,那么牌库里将不会出现同花A,K,Q,J,10,下一轮双方就要避免出现这五张牌的组合。

游戏一共进行五轮,每一轮都需要下注一枚筹码,这就是底注,之后开牌后可以选择加注,每轮底注依次上升,第一次一枚,第二次两枚,….,第五次五枚,也可以选择fold(退出),那么对方就会获得这轮下注的全部筹码 当然你也许会说,万一双方都出现相同牌型该怎么办呢?对于这种情况双方拿回各自下注的筹码,其次,双方需要考虑出牌的时机timing,可以选择提前出自己的王牌来获得胜利,也可以在前期用烂牌提前把能组成对方最佳牌型要用到的牌逼掉。

以上就是规则,没看懂?玩就对了,可以自己尝试思考一下

我个人感觉这个也能做成reinforcement learning, 这涉及到博弈模型,不过我还没想好…..