斗地主的一种牌力分析模型(脑洞)
来源:互联网 发布:苏州大学网络教育 编辑:程序博客网 时间:2024/06/15 17:15
对于一种拆牌中每一个牌型(如3334,22),定义两个值,一个是承载力,一个是驱动力
承载力:
在某一个条件下,此牌型带出任意另一个牌型的可能性。比如王炸总是可以带出任意的一个牌型,那么它的承载力总是1。
在某些情况下,34567也有0.9的可能性不被打住,那么它在这时候就有0.9的承载力。
驱动力:
在某一个条件下,此牌型可以打住(不管之后会不会被另外的牌打住)一手牌的可能性。王炸总是可以在任何情况下打住任意的其它牌型,它的驱动力总是1。在绝大部分情况下,所有的炸弹的驱动力都是1。
一种牌型的承载力和驱动力与很多因素有关。
影响一种牌型承载力的因素:
1. 对方(可能)拥有的牌(能不能管得上)
很多时候我们都不知道对方拥有的牌,这需要猜牌以及概率计算。
2. 对方的顾忌因素(会不会管)
炸弹不敢轻易放,不想浪费大牌,等等。
影响一种牌型驱动力的因素:
1. 上家牌的大小和类型
我们可以通过自己的出牌来影响和控制。为了出大王,我们先出一张单牌,这时候我们可以确上家牌的大小和类型都符合大王的需求。
假设我们手上有下面这5手牌 ,我们是地主,外面没有炸弹,但是有22和小王。
A(Z) B(3) C(AKQJT) D(22) E(55)
设每手牌的承载力(carry)和驱动力(drive)分别为
A(Ac , Ad) B(Bc , Bd) C(Cc , Cd) D(Dc , Dd) E(Ec , Ed)
如果让我来出,我可能会按照 E – D – C – B – A 的顺序来规划出牌。
这里面包含4个两两连接,E – D, D – C, C – B, B – A。
E – D :E(55)可以将下家的出牌锁定在对子上,放在最前面可以尽量少的暴露意图,防止对手用22直接顶死,导致连接失败。
D – C :D(22)在这种情况下的承载力为1,这是一个必然成立的连接。
C – B :C(AKQJT)在这种情况下的承载力为1,这是一个必然成立的连接。
B – A :B(3)将下家的出牌的类型锁定在单牌上面,而且没有比大王大的单牌存在,这使得A的驱动力为1,这也是一个必然成立的连接。
把出光一手牌从头到尾所出的牌型看作一个链状结构,一种相对优化的出牌方法应该是使这个链状结构整体的连接强度最大。整体的连接强度算作两两之间连接强度之积。
上面从E到A的整体连接强度 = [Ac + (1-Ac)*Bd] * [Bc + (1-Bc)*Cd] *…
几种典型的牌型之间的连接:
驱动连接:
前面的牌承载力比较小,后牌的驱动力较大,或者前牌使得后牌的驱动力较大,依靠后牌的驱动力完成连接。如3 --- 大王。
承载连接:
前面的牌承载力较大,使得两手牌在没有其它家可以出牌的情况下完成连接。如AKQJT --- 3。
转换连接:
连接的两手牌牌型不一样,牌型在别家手上完成转换。如33 --- 大王。在进行这种转换连接的时候一般会有多个计划。
缺陷与问题:
1. 难于准确计算。在不同的条件下有不同的取值,而且心理因素的影响难以评估。
2. 斗地主的真实目的是收益最大化,而不是以最大的可能性把自己的牌出完。
配合的因素。
- 斗地主的一种牌力分析模型(脑洞)
- 斗地主AI算法的简单分析
- h5斗地主房卡源码下载斗地主游戏的示例代码分析
- 斗地主的感悟(转)
- 草泥马的斗地主
- 斗地主牌型
- 斗地主装牌
- 斗地主(1)
- 斗地主(2)
- 斗地主(3)
- 斗地主(4)
- 斗地主(5)
- 斗地主-(二)
- 斗地主- (三)
- 斗地主(大暴搜)
- 斗地主代码实现分析
- 从AI的角度来分析斗地主设计
- 我的QQ斗地主史及斗地主经验
- 通过Amazon EC2来搭建基于pptpd协议的服务器
- JavaScript模块化 --- Commonjs、AMD、CMD、es6 modules
- 04:谁拿了最多奖学金
- 多例设计模式
- Linux驱动学习(2)
- 斗地主的一种牌力分析模型(脑洞)
- Unity_虚拟摇杆的实现_065
- ubuntu14.04安装Anaconda、opencv3.1、caffe
- BZOJ1725 Corn Fields牧场的安排
- const & volatile
- 算法3.1 顺序查找(基于无序链表)(algs4)
- Unity 2D Sprite
- 优雅地乱玩Linux-6-Chrome端SSH插件
- 顺序容器