[发明专利]一种基于非完备信息博弈中进行对手建模的方法在审

专利信息
申请号: 201610835289.8 申请日: 2016-09-20
公开(公告)号: CN106469317A 公开(公告)日: 2017-03-01
发明(设计)人: 王轩;蒋琳;张加佳;吴松;王鹏程;代佳宁;朱航宇;林云川;胡开亮 申请(专利权)人: 哈尔滨工业大学深圳研究生院
主分类号: G06K9/62 分类号: G06K9/62;G06N3/04;G06N5/04;A63F1/02
代理公司: 深圳市科吉华烽知识产权事务所(普通合伙)44248 代理人: 张立娟
地址: 518000 广东省深*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明提供了一种基于非完备信息博弈中进行对手建模的方法,步骤1德州扑克中的手牌评估;步骤2非完备信息博弈中的对手建模;步骤3扑克博弈系统的实现。本发明以德州扑克作为具体研究对象,通过将对手建模方法与手牌评估算法相结合实现了一个拥有较高智能水平的扑克博弈程序。
搜索关键词: 一种 基于 完备 信息 博弈 进行 对手 建模 方法
【主权项】:
一种基于非完备信息博弈中进行对手建模的方法,其特征在于,包括如下步骤:步骤1:德州扑克中的手牌评估:步骤1.1:手牌评估指标德州扑克在进行时,每一轮都会有新的牌被发出,玩家每一轮都需要进行决策,手牌评估的目的是通过计算玩家当前获胜或者失败的概率,为玩家每一轮的决策提供依据,通常手牌评估方法最终会返回一个数值在0.0到1.0之间的小数,数值越小,表示获胜的概率越小;步骤1.2:牌力计算牌力是某一手牌优于其他手牌的概率,可以通过计算对手所有可能的手牌组合来确定这一概率值;步骤1.3:潜力计算用正潜力来表示当前落后,但未来会反超的概率;用负潜力表示当前领先,而未来落后的概率;步骤1.4:有效牌力计算将手牌的牌力和潜力结合起来能够更有效地评估手牌,这一估值称作有效牌力,用HS表示牌力,PPot表示正潜力,NPot表示负潜力,EHS表示有效牌力,则有效牌力的计算方法如公式所示:EHS=HS×(1‑Npot)+(1‑HS)×PPot步骤1.5:手牌评估算法德州扑克不同牌型大小依序是:皇家同花顺>同花顺>四条>葫芦>同花>顺子>三条>两对>一对>高牌,影响牌型和大小的要素有以下4点:1.组合中每种花色出现的次数2.组合中每个牌值出现的次数3.5张牌连续与否4.每张牌的牌值其中5张牌的组合共有2598960种,所有这些组合中不考虑花色的影响,不同的组合数是7462种,也就是说所有2598960种5张牌的组合最后可以用7462个不同的数值来表示,选择1到7462之间的7462个正整数来表示这些组合的强弱,数值越小牌力越强,皇家同花顺的值是1,为了将2598960种组合快速对应到7462个不同的数值中去,算法需要忽略每张牌的顺序,也就是说,无论5张牌以何种顺序传入,最终返回的结果是一致的,最简单的想法是对传入的5张牌进行排序,将排完序的结果作为输入参数传入,但是排序算法会有一定的执行时间,从而整个算法的执行速度会受到影响,一种比较好的解决方法是,利用质数相乘所得结果的唯一可分解性,为每个牌值的牌分配一个唯一的质数与之对应,将质数相乘的结果作为参数传入进行计算;但是仅仅通过质数相乘不能解决所有的问题,因此,在执行质数相乘之前,需要检查5张牌能否形成同花,可以通过一个32位的整数来唯一标识一张牌,用c1,c2,c3,c4,c5分别表示5张牌,计算方法如下:r=c1 AND c2 AND c3 AND c4 AND c5 AND 0xF000   (3‑4)如果运算结果等于0表示参与计算的5张牌不能形成同花,否则表示能够形成同花,如果能够形成同花,需要一种方法来快速地将此牌型对应到1到7462之间的7462个数值中去,先对5张牌进行处理:q=(c1 OR c2 OR c3 OR c4 OR c5)>>16    (3‑5)如果5张牌能形成同花,则这5张牌的牌值必定全都不相同,则q中必定恰好有5位是1,在所有能形成同花的结果中,q的最小值是0x001F,q的最大值为0x1F00,为了方便查找,可以建立一张包含7937个元素的查找表;如果5张牌不能形成同花需要考虑出现顺子或高牌的情况,出现顺子或高牌的情况,则5张牌的牌值也一定各不相同,所以q的二进制表示中一定恰好有5位是1;处理完同花顺、同花、顺子和高牌以后,剩余牌型的数量为7462‑2574=4888种,剩余的牌型就可以使用之前为每个牌值分配的质数来处理;对5张牌进行以下处理:q=(c1 AND 0xFF)*(c2 AND 0xFF)*...*(c5 AND 0xFF)    (3‑6)q的最小值是48,最大值是104553157,由于剩余牌型的数量只有4888种,可以建立两张各含4888个元素的查找表products,查找表products中按从小到大的顺序保存q值,在计算获得q值以后,通过二分查找法获得q在查找表products中的索引,再通过获得的索引到另外一张查找表values中获得该牌型对应的最终结果;计算5张牌的组合的值时,首先按照公式(3‑4)判断是否能够形成同花,如果可以,则利用公式(3‑5)算出的q值从查找表flushes中获得最终结果;如果不能,再检查是否是顺子或高牌,利用q值在查找表unique5中进行查找,如果查找表unique5中对应位置的元素不等于0,表示是顺子或高牌,查找成功,否则查找失败,如果查找成功,返回unique5中对应位置的值;否则,利用公式(3‑6)将剩余的4888种牌型映射到最终正确的结果,在进行映射时可以使用二分查找法或Hash算法;步骤1.6:Pre‑flop阶段的手牌评估在Pre‑flop阶段参与博弈的玩家都只有两张私有手牌,没有任何公共牌的信息,在这个阶段玩家只能根据自己的手牌和对手的下注行为来进行决策,德州扑克中两张手牌的组合共有1326种,如果不区分具体花色,按牌值和是否是同花色可以将这1326种手牌的组合对应到169种类型,许多德州扑克领域的专家提出了自己的分类方法,有Sklansky手牌分类和Bill Chen提出的手牌计算公式;步骤2:对手建模对手建模的主要方法有两种,一是通过学习对手的估值函数,从而获得对手对博弈树中每个节点的估值及博弈树的搜索深度,这种方式主要适用于完备信息博弈;另一种对手建模的方法是学习对手的策略,这种方式通常是直接学习对手在特定的博弈状态下做出的选择,这种方式比较适用于重复性博弈和非完备信息博弈;如果使用对手的策略进行建模,则可以通过策略S来定义玩家P,在对手未知的情况下玩家可以定义为:P=(S,NIL)    (4‑1)如果对手O已知,则可以通过策略S和对手来定义玩家:P=(S,O)    (4‑2)公式(4‑1)没有考虑对手的情况,所以又称作玩家策略,而公式(4‑2)称为对手模型;步骤2.1:非完备信息博弈中的对手建模在非完备信息中由于博弈状态的不可知,玩家要准确对局面做出评估很困难,通过学习对手的估值函数来进行对手建模的方法不可行,学习对手的策略是另一种可行的方法,学习对手的策略主要是通过学习对手在不同的博弈状态下策略的偏向来预测未知信息,在这种情况下虽然不能对每一个博弈状态进行准确的估值,但是可以通过玩家的动作序列来对不同的博弈状态进行归类;步骤2.2:基于统计和手牌评估进行建模基于统计的建模方法是通过玩家行为预测出对方的手牌,然后通过对比双方手牌的有效牌力做出选择;两种方法可以提高权重的准确率,一种通过对手的下注行为来更新权重,如果对手在牌局中有加注的行为,则牌力较强的手牌组合的权重应该被增加,牌力较弱的手牌组合的权重应该被减小,这种模型对所有的玩家都适用,因而被称为通用模型;另一种方法是基于每个玩家的下注历史为每个玩家保存一份权重分布表,这种模型称为特例模型,通过这种方法建模之前需要解决两个问题,一是如何为所有的手牌组合分配初始权重,二是玩家做出具体动作以后如何更新权重,计算初始权重计算初始权重依靠的最重要的信息是玩家在翻牌前阶段弃牌、跟牌和加注的频率,据此可以推断对手做不同动作时的平均牌力、误差和阀值;更新权重每次玩家做出决策之后,都需要对权重表进行更新,对权重表进行更新的时候不能仅依据手牌,而是要根据手牌和公共牌的组合来计算有效牌力,从而更新每个手牌组合的权重;通过玩家在不同博弈阶段加注和跟注的行为不断更新所有可能出现的手牌组合的权重,当到达最后翻牌阶段时所有可能的手牌组合中只剩下少量拥有较高权重的组合,对手实际的手牌最有可能是这些组合中的一种,通过将自己的手牌与这些手牌组合比较做出最有利的决策;为了进一步缩小数据的规模还可以通过统计对手各个牌力范围内的动作序列,然后将当前游戏中的动作序列与之前的动作序列进行比较,从而更新权重;步骤3:对手建模扑克博弈系统的实现步骤3.1:扑克博弈系统的实现整个博弈过程分为两个阶段,在第一阶段博弈程序做决策主要依赖于手牌评估和基础下注策略,在使用基础下注策略进行决策的同时开始统计对手的数据并建立对手模型;本方案中采用的基础下注策略是依据有效牌力的范围确定一个混合策略,具体做法是根据手牌评估的结果定义一张概率分布表,概率分布表将手牌的有效牌力划分为20个均匀的区间,每个区间有一个对应的三元组表示玩家弃牌、跟牌和加注的概率;当手牌的有效牌力落入概率分布表中的特定区间时,通过产生随机数选择具体行为;通过定义几张差异比较大的概率表来代表不同类型的玩家,在实际博弈过程中,基本下注策略在这几张概率表之间不断的切换从而干扰对方建模;通过定义几张差异比较大的概率表来代表不同类型的玩家,在实际博弈过程中,基本下注策略在这几张概率表之间不断的切换从而干扰对方建模;博弈程序在依赖于基本下注策略进行博弈的过程中同时开始收集和分析对手的数据,当收集到数据可以覆盖所有牌力划分区间且每个区间内的数据量达到预设值时,可以认为收集到的用户数据是可信赖的;通过对统计信息的分析得到对手选择不同策略的频率及对应的阈值,当对手在博弈过程中选择某个具体策略时,通过使用对手模型可以确定对手的有效牌力的范围;博弈过程中新的公共牌出现会导致手牌与公共牌组合的有效牌力发生变化,此时需要依据权重更新方法重新计算对手可能出现的各个手牌的权重,通过多次的权重更新可以减少对手可能的手牌组合的候选;步骤3.2:结果分析。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学深圳研究生院,未经哈尔滨工业大学深圳研究生院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201610835289.8/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top