扑克-跑得快基础AI

游戏规则:略
结算规则:三家中先出完手里的牌的为赢,赢的数量为对手2家剩余牌张数相加,其中未出一张者数量翻倍
目标分解:赢更多的张数
(目标分解一定要正确,举例,围棋软件,绝艺的目标为赢,星阵的目标为赢更多,所以星阵不是绝艺的对手,星阵的目标分解错误是原因之一)

具体做法:建立模型
1、分牌模型,将自己手里16-2张数量的牌按出牌规则分类
2、概率模型,计算自己手里的牌被别人打起的概率
3、算牌模型,根据出牌规则、对手出牌、计算对手手里必有牌
4、出牌模型,选择自己手里的分类好了的牌的出牌顺序,计算最优选择

分牌模型
1、按飞机优先、顺子次优先、连对再次优先等顺序每种排列方法各选几种组合方式
2、组合方式按手数从小到大选50种排列(手数:手里剩余牌几次出完为手数)

举例:2KQJ1098765444333
1、.2、KQJ109876543、4433;2、KQJ109、8765444333;2、KQJ10987654、44333……
2、.2手的分牌KQJ1098、2765444333;QJ10987、2K65444333……2手的分牌……

概率模型
1、计算每手牌的概率和总概率
2、概率计算由于算法特别复杂,所以我采用了统计的方法一次性解决所有问题
3、具体做法:2、KQJ109876543、4433;比如KQJ109876543,比他大的只有AKQJ10987654和炸弹,自己手里牌不动,剩余的32张牌对手每人随机发牌16张,发牌100次,在这100次中找AKQJ10987654和炸弹,找到多少次就是被打起的概率为多少,其他的牌型依次同样处理,这样用一个模型就能算出所有牌型被打起的几率

算牌模型
1、此处对手没有出牌故无法算牌
2、假设自己牌为AA、无K、1个Q、JJ……,自己出对J,下家出对Q,末家要不起,自己对A,下家要不起,根据规则就可以断定他们2家手上都没有炸弹,末家没有2张以上K,则可以计算出下家有3条K,末家1条K
3、其他规则算法,比如自己手上没有4,自己出张3,下家出张4,就可以判定末家最少有一张4,下家如果有4张4大概率不会拆炸弹

出牌模型
将分好的牌的几种选择按一定的规则处理(比如去掉一个几率最高,AA.JJ放在一起算一组等),分别计算对手的出牌张数和概率,计算最后赢得张数,选最优结果
举例:2KQJ1098765444333
计算过程一、2.概率为0%,KQJ109876543概率17%,4433概率84%去掉。结果为32+16-1117%=46张
计算过程二、2.概率为0%,KQJ109概率为65%去掉,444333概率为7%,结果为32+32-107%=63张
经过综合计算先出444333

经过一系列计算,每出一次牌计算一次,每次取最优结果,就是人工智能AI,经过实战检验效果很好,智能程度远超国内任何其他厂家的人工智能AI!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

强化学习曾小健

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值