智能化斗地主自动博弈方法及系统.pdf
《智能化斗地主自动博弈方法及系统.pdf》由会员分享,可在线阅读,更多相关《智能化斗地主自动博弈方法及系统.pdf(19页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910505041.9 (22)申请日 2019.06.11 (71)申请人 汕头大学 地址 515000 广东省汕头市大学路243号 (72)发明人 徐恺熊智蔡玲如 (74)专利代理机构 广州三环专利商标代理有限 公司 44202 代理人 周增元曹江 (51)Int.Cl. A63F 13/46(2014.01) A63F 13/822(2014.01) (54)发明名称 一种智能化斗地主自动博弈方法及系统 (57)摘要 本发明实施例公开了一种智能化斗地主博 弈方法及系统。
2、。 主要包括四种模块, 分别为牌型 概率分布模块、 最优出牌组合模块、 叫分模块、 对 弈模块。 其中叫分模块方便了智能玩家根据个人 手中的牌做出不同的叫分决策。 牌型概率分布模 块、 最优出牌组合模块和对弈模块在整个博弈的 过程中循环使用, 完成整个智能化斗地主的过 程, 使得游戏更具智能化。 同时, 该发明可用于一 人两机器、 两人一机器、 三台机器之间的博弈, 使 得游戏更具可玩性。 该发明定义了不同的博弈策 略, 使得整个游戏更具有真实性。 在进行博弈时 将博弈的整个过程保存到文档, 有助于科研人员 对非零和博弈的学术研究。 权利要求书4页 说明书10页 附图4页 CN 1102272。
3、63 A 2019.09.13 CN 110227263 A 1.一种智能化斗地主自动博弈方法, 其特征在于, 包括牌型概率分布计算方法、 最优出 牌组合计算方法、 叫分方法、 对弈方法; 所述牌型概率分布计算方法包括步骤: 依据当前玩家手中牌的集合, 三张明牌的归属, 以及其他两个玩家各自出过的牌, 为其 他两个玩家分别建立一个牌张数的概率分布矩阵; 每次牌局开始时, 根据当前玩家手中的牌计算所述牌张数的概率分布矩阵; 当所述叫分方法结束时, 根据所述三张明牌的归属更新所述牌张数的概率分布矩 阵, 并进行修正; 所述最优出牌组合计算方法包括步骤: 依据当前玩家手中的牌和所述牌张数概率分布矩阵。
4、计算最优的出牌组合; 所述叫分方法包括步骤: 在完成发牌之后, 当前玩家依据手中的牌计算叫分的分值, 分值包括0分、 1分、 2分和3 分; 所述对弈方法包括步骤: 依据所述最优出牌组合计算方法和所述牌型概率分布计算方法, 以及当前玩家的位置 采取不同的出牌策略。 2.根据权利要求1所述的智能化斗地主自动博弈方法, 其特征在于, 所述计算最优的出牌组合包括步骤: S1、 排序当前玩家手中的牌; S2、 将排序后点数相同的牌按数量进行分类, 并保存在不同的数组中, 其中, 2和大王小 王单独保存在另外一个数组中; S3、 将当前玩家点数相同的牌作为一组, 三张点数相同的牌可以和另外一张牌或两张 。
5、点数相同的非王牌进行组, 计算组对应组合被压过的概率; S4、 根据S2中得到的数组, 在相同的数组中判断牌能否进行顺子组、 多对组、 飞机组, 可 能存在多种不同的组, 构成多种不同组合, 计算每种组合被压过的概率, 以最小被压过的概 率对应的组合为当前组合; S5、 根据S2中得到的数组, 判断不同的数组中牌能否进行顺子组, 顺子组后判断新生成 的零牌能否再进行顺子组、 多对组和飞机组, 分别计算不同组对应的组合被压过的概率; S6、 比较最优出牌组合模块中步骤S3、 S4、 S5的概率值, 将最小的概率值对应的组合作 为最优出牌组合。 3.根据权利要求1所述的智能化斗地主自动博弈方法, 。
6、其特征在于, 所述计算叫分的分 值的步骤包括: C1、 定义多个边界值, 分别为N, Tp1, Tp2, TP3; C2、 判断玩家手中的牌不能被其他玩家压过的次数M; C3、 判断M是否大于N, 如是, 则继续执行下一步, 否则, 当前玩家的叫分值为0, 停止计 算; C4、 通过最优出牌组合模块判断当前玩家17张牌的一种最优组合, 并计算该最优组合 对应的概率值p; C5、 判断p值与Tp1, Tp2, TP3的大小关系, 若PTp1则叫分值为3, 若Tp1PTp2则叫分 权利要求书 1/4 页 2 CN 110227263 A 2 值为2, 若Tp2PTp3则叫分值为1, PTp3叫分值。
7、为0。 4.根据权利要求1所述的智能化斗地主自动博弈方法, 其特征在于, 所述出牌策略包 括:“关底” ,“顶牌” ,“较大” ,“正常” , 其中,“关底” 包括直接关底和间接关底, 当使用所述直 接关底时, 当前玩家按组被压过的概率从大到小出牌, 当使用间接关底时, 当前玩家将组被 压过的概率近似为1的情况放在最后出, 其它组按被压过的概率从大到小以次打出, 所述 “关底” 的策略在整个出牌的过程中一直存在; 所述 “顶牌” 的策略为当前玩家在最优出牌组 合模块下为了防止对手赢牌或者在当前玩家赢牌概率大于等于E的情况下打出被压过概率 最小或次小的组, E为可以调节的参数; 所述 “较大” 。
8、的策略为作用于地主上家, 依据队友的 出牌策略打出组合模块中平均点数大于R的策略, R为可以调节的参数; 所述 “正常” 的策略 为当前玩家在最优出牌组合模块下优先打出被压过概率最大的组的出牌策略。 5.根据权利要求1所述的智能化斗地主自动博弈方法, 其特征在于, 所述出牌策略包括 步骤: G1: 依据牌型概率分布模块, 最优出牌组合模块以及玩家位置判断当前玩家每组牌的 压过概率; G2: 根据G1得到的概率判断当前玩家能否进行 “关底” , 若能 “关底” , 按 “关底” 策略出 牌, 若不能 “关底” , 判断当前玩家是否为地主, 若是, 执行G3, 否则, 执行G4G6; G3: 若当。
9、前玩家最优出牌组合模块被压过的概率等于组数, 则 “正常” 策略出牌, 否则若 某农民赢牌概率E, 且其出牌平均点数R则 “顶牌” 策略, 否则, 若当前玩家组数N则优 先 “顶牌” 策略, N为可调参数, 否则,“正常” 策略; G4: 若当前玩家为地主后出牌的首个玩家, 判断地主打出的牌的平均点数, 点数R, 是 则 “正常” 策略, 否, 根据牌型概率分布模型判断队友能压过当前牌的概率1, 且队友最可 能组数N, 则让队友出牌, 否则自己按 “顶牌” 策略出牌; G5: 若当前玩家为地主前出牌的玩家, 当前玩家上家未压地主牌, 则需要判断地主打出 的牌平均点数R, 若是, 则 “较大” 。
10、策略, 否则 “顶牌” 策略, 当前玩家上家已压地主牌判断当 前玩家上家所出某组牌的平均点数是否R, 是执行G6, 否则当前玩家按 “较大” 策略出牌; G6: 当前玩家上家所出的牌平均点数是R, 当前玩家判断自己赢牌的概率, 若赢牌概 率大于E, 则 “顶牌” 策略, 否则判断当前玩家牌组数, 组数N, 则 “正常” 策略, 否则让下家 出牌, 当前玩家上家所出的牌平均点数是R, 则 “较大” 策略。 6.根据权利要求15任一项所述的智能化斗地主自动博弈方法, 其特征在于, 所述 牌张数的概率分布矩阵有15行, 分别对应牌310, J, Q, K, A, 2, 以及小王和大王, 有5列, 分。
11、别对应牌的张数04, 矩阵中的元素记载其中任一张牌有几张的概率。 7.根据权利要求6所述的智能化斗地主自动博弈方法, 其特征在于, 所述最优出牌组合 计算方法还包括: 每一位玩家手中的牌被分成若干组, 每组牌同时打出, 玩家手中的牌分组以后定义为 一种组合, 每一种组合被打动的概率为组合中所有组被打动的概率之和, 每一种组被打动 的概率为一种相对的概率计算, 所述相对概率计算为在剩余牌下判断存在大于该组的牌的 概率计算, 并将此概率之和作为该牌组合被打动的概率。 8.根据权利要求7所述的智能化斗地主自动博弈方法, 其特征在于, 所述出牌策略还包 括: 在对弈的过程中非地主玩家将会考虑到个人的位。
12、置和最优出牌组合模块以及牌型概率 权利要求书 2/4 页 3 CN 110227263 A 3 分布模块进行出牌, 地主玩家亦会根据农民的出牌情况调整出牌策略。 9.一种智能化斗地主自动博弈系统, 其特征在于, 包括牌型概率分布模块、 最优出牌组 合模块、 叫分模块、 对弈模块, 所述牌型概率分布模块依据当前玩家手中牌的集合, 三张明牌的归属, 以及其他两个 玩家各自出过的牌, 为其他两个玩家分别建立一个牌张数的概率分布矩阵; 每次牌局开 始时, 根据当前玩家手中的牌来计算所述两个牌张数概率分布矩阵; 叫分模块结束时, 根 据三张明牌的归属更新所述两个牌张数概率分布矩阵, 并进行修正; 非当前。
13、玩家出牌结 束时, 根据其出牌情况更新所述两个牌张数概率分布矩阵, 并进行修正; 所述最优出牌组合模块依据当前玩家手中的牌和牌张数概率分布矩阵计算最优的 出牌组合; 计算最优出牌组合包括以下步骤: S1、 排序当前玩家手中的牌; S2、 将排序后点数相同的牌按数量进行分类, 并保存在不同的数组中, 其中, 2和大王小 王单独保存在另外一个数组中; S3、 将当前玩家点数相同的牌作为一组, 三张点数相同的牌可以和另外一张牌或两张 点数相同的非王牌进行组, 计算组对应组合被压过的概率; S4、 根据S2中得到的数组, 在相同的数组中判断牌能否进行顺子组、 多对组、 飞机组, 可 能存在多种不同的组。
14、, 构成多种不同组合, 计算每种组合被压过的概率, 以最小被压过的概 率对应的组合为当前组合; S5、 根据S2中得到的数组, 判断不同的数组中牌能否进行顺子组, 顺子组后判断新生成 的零牌能否再进行顺子组、 多对组和飞机组, 分别计算不同组对应的组合被压过的概率; S6、 比较最优出牌组合模块中步骤S3、 S4、 S5的概率值, 将最小的概率值对应的组合作 为最优出牌组合; 所述叫分模块在完成发牌之后, 当前玩家依据手中的牌计算叫分的分值, 分值包括0 分、 1分、 2分和3分, 计算步骤如下: C1、 定义多个边界值, 分别为N, Tp1, Tp2, TP3; C2、 判断玩家手中的牌不能。
15、被其他玩家压过的次数M; C3、 判断M是否大于N, 如是, 则继续执行下一步, 否则, 当前玩家的叫分值为0, 停止计 算; C4、 通过最优出牌组合模块判断当前玩家17张牌的一种最优组合, 并计算该最优组合 对应的概率值p; C5、 判断p值与Tp1, Tp2, TP3的大小关系, 若PTp1则叫分值为3, 若Tp1PTp2则叫分 值为2, 若Tp2PTp3则叫分值为1, PTp3叫分值为0; 所述对弈模块依据所述最优出牌组合模块计算出的最优出牌组合, 以及当前玩家的位 置采取不同的出牌策略, 包括:“关底” ,“顶牌” ,“较大” , 所述对弈模块通过以下方式计算: G1: 依据牌型概率。
16、分布模块, 最优出牌组合模块以及玩家位置判断当前玩家每组牌的 压过概率; G2: 根据G1得到的概率判断当前玩家能否进行 “关底” , 若能 “关底” , 按 “关底” 策略出 牌, 若不能 “关底” , 判断当前玩家是否为地主, 若是, 执行G3, 否则, 执行G4G6; 权利要求书 3/4 页 4 CN 110227263 A 4 G3: 若当前玩家最优出牌组合模块被压过的概率等于组数, 则 “正常” 策略出牌, 否则若 某农民赢牌概率E, 且其出牌平均点数R则 “顶牌” 策略, 否则, 若当前玩家组数N则优 先 “顶牌” 策略, N为可调参数, 否则,“正常” 策略; G4: 若当前玩家。
17、为地主后出牌的首个玩家, 判断地主打出的牌的平均点数, 点数R, 是 则 “正常” 策略, 否, 根据牌型概率分布模型判断队友能压过当前牌的概率1, 且队友最可 能组数N, 则让队友出牌, 否则自己按 “顶牌” 策略出牌; G5: 若当前玩家为地主前出牌的玩家, 当前玩家上家未压地主牌, 则需要判断地主打出 的牌平均点数R, 若是, 则 “较大” 策略, 否则 “顶牌” 策略, 当前玩家上家已压地主牌判断当 前玩家上家所出某组牌的平均点数是否R, 是执行G6, 否则当前玩家按 “较大” 策略出牌; G6: 当前玩家上家所出的牌平均点数是R, 当前玩家判断自己赢牌的概率, 若赢牌概 率大于E, 。
18、则 “顶牌” 策略, 否则判断当前玩家牌组数, 组数N, 则 “正常” 策略, 否则让下家 出牌, 当前玩家上家所出的牌平均点数是R, 则 “较大” 策略。 权利要求书 4/4 页 5 CN 110227263 A 5 一种智能化斗地主自动博弈方法及系统 技术领域 0001 本发明涉及通信领域以及人工智能领域, 尤其涉及一种智能化斗地主自动博弈方 法及系统, 特别涉及到非零和博弈过程中的智能决策过程。 背景技术 0002 对于我国的传统棋牌游戏斗地主其也存在被机器智能化的可能。 不同于围 棋、 象棋等双人博弈, 斗地主游戏为一种非零和博弈, 具有更加复杂的博弈情况, 在博弈的 过程中需要考虑配。
19、合以及一对多的情况。 0003 目前, 以有的斗地主平台包括欢乐斗地主、 小米斗地主、 JJ斗地主、 单机斗地主等 游戏平台, 尽管他们存在一些自动博弈(如托管)的情况, 但是其自动博弈性能并不能达到 一个较好的水平。 例如, 不能更好的考虑到队友间的配合情况, 在出牌过程中往往只进行简 单的组合, 不能做到更高级的组合情况, 或者只简单的根据自己手中能出牌的情况进行最 小出牌。 总而言之, 这些游戏平台在进行人与机器间的游戏博弈过程中并不够智能化。 发明内容 0004 本发明实施例所要解决的技术问题在于, 提供一种全新的智能化斗地主博弈策 略, 旨在解决目前斗地主平台智能托管时出牌策略不够智。
20、能化的问题。 在博弈过程中, 通过 智能化斗地主自动博弈策略能够更加真实的甚至超过普通人类的出牌策略, 并能够跟据出 牌的先后顺序打出 “顶牌” 、“关底” 等不同策略的牌型。 同时, 在不知道其他玩家牌的前提 下, 能够根据自己手中已有的牌和桌面上已经出过的牌打出对自己和对队友最优的牌。 0005 为了解决上述技术问题, 本发明实施例提供了一种智能化斗地主自动博弈方法, 包括牌型概率分布计算方法、 最优出牌组合计算方法、 叫分方法、 对弈方法; 0006 所述牌型概率分布计算方法包括步骤: 0007 依据当前玩家手中牌的集合, 三张明牌的归属, 以及其他两个玩家各自出过的牌, 为其他两个玩家。
21、分别建立一个牌张数的概率分布矩阵; 0008 每次牌局开始时, 根据当前玩家手中的牌计算所述牌张数的概率分布矩阵; 0009 当所述叫分方法结束时, 根据所述三张明牌的归属更新所述牌张数的概率分布 矩阵, 并进行修正; 0010 所述最优出牌组合计算方法包括步骤: 0011 依据当前玩家手中的牌和所述牌张数概率分布矩阵计算最优的出牌组合; 0012 所述叫分方法包括步骤: 0013 在完成发牌之后, 当前玩家依据手中的牌计算叫分的分值, 分值包括0分、 1分、 2分 和3分; 0014 所述对弈方法包括步骤: 0015 依据所述最优出牌组合计算方法和所述牌型概率分布计算方法, 以及当前玩家的 。
22、位置采取不同的出牌策略。 说明书 1/10 页 6 CN 110227263 A 6 0016 进一步地, 所述计算最优的出牌组合包括步骤: 0017 S1、 排序当前玩家手中的牌; 0018 S2、 将排序后点数相同的牌按数量进行分类, 并保存在不同的数组中, 其中, 2和大 王小王单独保存在另外一个数组中; 0019 S3、 将当前玩家点数相同的牌作为一组, 三张点数相同的牌可以和另外一张牌或 两张点数相同的非王牌进行组, 计算组对应组合被压过的概率; 0020 S4、 根据S2中得到的数组, 在相同的数组中判断牌能否进行顺子组、 多对组、 飞机 组, 可能存在多种不同的组, 构成多种不同。
23、组合, 计算每种组合被压过的概率, 以最小被压 过的概率对应的组合为当前组合; 0021 S5、 根据S2中得到的数组, 判断不同的数组中牌能否进行顺子组, 顺子组后判断新 生成的零牌能否再进行顺子组、 多对组和飞机组, 分别计算不同组对应的组合被压过的概 率; 0022 S6、 比较最优出牌组合模块中步骤S3、 S4、 S5的概率值, 将最小的概率值对应的组 合作为最优出牌组合。 0023 更进一步地, 所述计算叫分的分值的步骤包括: 0024 C1、 定义多个边界值, 分别为N, Tp1, Tp2, TP3; 0025 C2、 判断玩家手中的牌不能被其他玩家压过的次数M; 0026 C3、。
24、 判断M是否大于N, 如是, 则继续执行下一步, 否则, 当前玩家的叫分值为0, 停止 计算; 0027 C4、 通过最优出牌组合模块判断当前玩家17张牌的一种最优组合, 并计算该最优 组合对应的概率值p; 0028 C5、 判断p值与Tp1, Tp2, TP3的大小关系, 若PTp1则叫分值为3, 若Tp1PTp2则 叫分值为2, 若Tp2PTp3则叫分值为1, PTp3叫分值为0。 更进一步地, 所述出牌策略包 括:“关底” ,“顶牌” ,“较大” ,“正常” , 其中,“关底” 包括直接关底和间接关底, 当使用所述直 接关底时, 当前玩家按组被压过的概率从大到小出牌, 当使用间接关底时,。
25、 当前玩家将组被 压过的概率近似为1的情况放在最后出, 其它组按被压过的概率从大到小以次打出, 所述 “关底” 的策略在整个出牌的过程中一直存在; 所述 “顶牌” 的策略为当前玩家在最优出牌组 合模块下为了防止对手赢牌或者在当前玩家赢牌概率大于等于E的情况下打出被压过概率 最小或次小的组, E为可以调节的参数; 所述 “较大” 的策略为作用于地主上家, 依据队友的 出牌策略打出组合模块中平均点数大于R的组的一种策略, R为可以调节的参数; 所述 “正 常” 的策略为当前玩家在最优出牌组合模块下优先打出被压过概率最大组的出牌的策略。 此外, 上述所述打出的牌, 皆符合基本的出牌规则。 0029 。
26、更进一步地, 所述出牌策略包括步骤: 0030 G1: 依据牌型概率分布模块, 最优出牌组合模块以及玩家位置判断当前玩家每组 牌的压过概率; 0031 G2: 根据G1得到的概率判断当前玩家能否进行 “关底” , 若能 “关底” , 按 “关底” 策略 出牌, 若不能 “关底” , 判断当前玩家是否为地主, 若是, 执行G3, 否则, 执行G4G6; 0032 G3: 若当前玩家最优出牌组合模块被压过的概率等于组数, 则 “正常” 策略出牌, 否 则若某农民赢牌概率E, 且其出牌平均点数R则 “顶牌” 策略, 否则, 若当前玩家组数N 说明书 2/10 页 7 CN 110227263 A 7。
27、 则优先 “顶牌” 策略, N为可调参数, 否则,“正常” 策略; 0033 G4: 若当前玩家为地主后出牌的首个玩家, 判断地主打出的牌的平均点数, 点数 R, 是则 “正常” 策略, 否, 根据牌型概率分布模型判断队友能压过当前牌的概率1, 且队友 最可能组数N, 则让队友出牌, 否则自己按 “顶牌” 策略出牌; 0034 G5: 若当前玩家为地主前出牌的玩家, 当前玩家上家未压地主牌, 则需要判断地主 打出的牌平均点数R, 若是, 则 “较大” 策略, 否则 “顶牌” 策略, 当前玩家上家已压地主牌判 断当前玩家上家所出某组牌的平均点数是否R, 是执行G6, 否则当前玩家按 “较大” 策。
28、略出 牌; 0035 G6: 当前玩家上家所出的牌平均点数是R, 当前玩家判断自己赢牌的概率, 若赢 牌概率大于E, 则 “顶牌” 策略, 否则判断当前玩家牌组数, 组数N, 则 “正常” 策略, 否则让 下家出牌。 当前玩家上家所出的牌平均点数是R, 则 “较大” 策略。 0036 更进一步地, 所述牌张数的概率分布矩阵有15行, 分别对应牌310, J, Q, K, A, 2, 以及小王和大王, 有5列, 分别对应牌的张数04, 矩阵中的元素记载其中任一张牌有几 张的概率。 0037 更进一步地, 所述最优出牌组合计算方法还包括: 0038 每一位玩家手中的牌可以被分成若干组, 每组牌可以。
29、同时打出。 玩家手中的牌分 组以后称为一种组合。 每一种组合被打动的概率为组合中所有组被打动的概率之和, 每一 种组被打动的概率为一种相对的概率计算, 所述相对概率计算为在剩余牌下判断存在大于 该组的牌的概率计算, 并将此概率之和作为该牌组合被打动的概率。 0039 更进一步地, 所述出牌策略还包括: 在对弈的过程中非地主玩家将会考虑到个人 的位置和最优出牌组合模块以及牌型概率分布模块进行出牌, 地主玩家亦会根据农民的出 牌情况调整出牌策略。 0040 相应地, 本发明实施例还提供了一种智能化斗地主自动博弈系统, 包括牌型概率 分布模块、 最优出牌组合模块、 叫分模块、 对弈模块, 0041 。
30、其中, 叫分模块用于玩家在得到17张牌时判断自己牌所属等级, 即能叫几分的情 况, 方便玩家叫地主。 牌型概率分布模块在每回合博弈过程中计算其他玩家手中牌的分布 情况, 为当前玩家做决策提供一定的前提条件。 最优出牌组合模块在博弈过程中计算自己 手中的牌可能有的各种组合策略。 对弈模块是在博弈过程中兼顾到地主和农民以及个人玩 家所在位置联合最优出牌组合模块进行出牌的一种策略。 各模块介绍如下。 0042 牌型概率分布模块依据当前玩家手中牌的集合, 三张明牌的归属, 以及其他两个 玩家各自出过的牌, 为其他两个玩家分别建立一个 “牌张数” 的概率分布矩阵。 0043 每次牌局开始时, 根据当前玩。
31、家手中的牌来计算所述两个 “牌张数” 概率分布矩 阵; 0044 叫分模块结束时, 根据三张明牌的归属更新所述两个 “牌张数” 概率分布矩阵, 并进行修正; 0045 非当前玩家出牌结束时, 根据其出牌情况更新所述两个 “牌张数” 概率分布矩 阵, 并进行修正; 0046 最优出牌组合模块依据当前玩家手中的牌和所述两个 “牌张数” 概率分布矩阵 计算最优的出牌组合, 其中, 说明书 3/10 页 8 CN 110227263 A 8 0047 出牌组合是指, 将当前玩家手中的所有牌分成若干组, 每个组中的牌可以一次打 出, 0048 最优出牌组合是指, 在所有的出牌组合中, 压过概率最小的一种。
32、组合, 其中, 0049 出牌组合的压过概率是指, 该组合中所有组的压过概率之和, 其中, 0050 组的压过概率依据所述两个 “牌张数” 概率分布矩阵计算得到, 0051 计算最优出牌组合包括以下步骤: 0052 S1、 排序当前玩家手中的牌; 0053 S2、 将排序后点数相同的牌按数量进行分类, 并保存在不同的数组中, 其中, 2和大 王小王单独保存在另外一个数组中; 0054 S3、 将当前玩家点数相同的牌作为一组, 三张点数相同的牌可以和另外一张牌或 两张点数相同的非王牌进行组。 计算组对应组合被压过的概率; 0055 S4、 根据S2中得到的数组, 在相同的数组中判断牌能否进行顺子。
33、组、 多对组、 飞机 组, 可能存在多种不同的组, 构成多种不同组合, 计算每种组合被压过的概率, 以最小被压 过的概率对应的组合为当前组合; 0056 S5、 根据S2中得到的数组, 判断不同的数组中牌能否进行顺子组, 顺子组后判断新 生成的零牌能否再进行顺子组、 多对组和飞机组。 可能存在的多种组, 分别计算不同组对应 的组合被压过的概率; 0057 S6、 比较最优出牌组合模块中步骤S3、 S4、 S5的概率值, 将最小的概率值对应的组 合作为最优出牌组合; 0058 叫分模块在完成发牌之后, 当前玩家依据手中的牌计算叫分的分值, 分值包括0 分、 1分、 2分和3分, 计算步骤如下: 。
34、0059 C1、 定义多个边界值, 分别为N, Tp1, Tp2, TP3; 0060 C2、 判断玩家手中的牌不能被其他玩家压过的次数M; 0061 C3、 判断M是否大于N, 如是, 则继续执行下一步, 否则, 当前玩家的叫分值为0, 停止 计算; 0062 C4、 通过最优出牌组合模块判断当前玩家17张牌的一种最优组合, 并计算该最优 组合对应的概率值p; 0063 C5、 判断p值与Tp1, Tp2, TP3的大小关系, 若PTp1则叫分值为3, 若Tp1PTp2则 叫分值为2, 若Tp2PTp3则叫分值为1, PTp3叫分值为0; 0064 对弈模块依据所述最优出牌组合模块计算出的最。
35、优出牌组合, 以及当前玩家的位 置采取不同的出牌策略, 包括:“关底” ,“顶牌” ,“较大” ,“正常” , 其中, 0065 “关底” 策略,“关底” 分为直接关底和间接关底。 当前玩家根据最优出牌组合模块 判断在最优组合下每一组被压过的概率为0或接近0, 或者存在一组被压过的概率为1而其 他组被压过的概率为0或接近0。 当前玩家在上述情况下将手中所有牌依次打出为 “关底” 。 其中第一种情况为直接关底, 第二种情况为间接关底。 直接关底时, 当前玩家按组被压过的 概率从大到小出牌。 间接关底时, 当前玩家将组被压过的概率为1的情况放在最后出, 其它 组按被压过的概率从大到小以次打出。“关。
36、底” 策略在整个出牌的过程中一直存在; 0066 “顶牌” 的策略为当前玩家在最优出牌组合模块下为了防止对手赢牌或者在当前 玩家赢牌概率大于等于E的情况下打出被压过概率最小或次小的组, 当最小的组被压过的 说明书 4/10 页 9 CN 110227263 A 9 概率不为0时, 打出最小组, 否则打出次小组。 E为可以调节的参数; 。“顶牌” 策略在其他玩家 打出平均点数大于等于R的组时打出比其更大的牌, 但不打队友平均点数大于R的牌; 0067 “正常” 策略为当前玩家在最优出牌组合模块下进行出牌的一种策略。 当前玩家根 据最优出牌组合模块打出组合模块中的一组牌, 使得当前玩家其他牌被打动。
37、的概率最小; 0068 “较大” 策略是打出组合模块中平均点数大于等于R的组, 它只作用于地主上家, 并 根据队友的出牌决定不同的出牌策略; 0069 本发明利用四种模块, 实现了整个智能化斗地主的博弈过程, 四种模块皆有优势。 牌型概率分布模块分析了玩家手中牌可能的分布情况, 便于玩家决策; 最优出牌组合模块 在牌型概率分布模块的前提下计算玩家牌的最优组合, 便于玩家初步定义出牌策略; 叫分 模块在拿到17张牌后根据牌型概率分布模块和最优组合模块判断所能叫分的情况, 使得玩 家能够智能化叫分(抢地主); 对弈模块考虑了农民与农民之间的配合情况以及地主与农民 一对多的情况, 能够根据玩家所在位。
38、置和玩家的最优出牌组合模块做出不同的出牌策略。 四种模块相互融合更使得整个博弈过程更加智能化。 0070 优选的, 在牌型概率分布模块中, 初始的概率分布情况保存在二维数组中, 二维数 组的大小为15行5列。 15行分别对应牌310, J, Q, K, A, 2, 以及小王和大王, 5列分别对应牌 的张数04, 矩阵中的元素记载某种牌有几张的概率。 0071 优选的, 在牌型概率分布模块中能够根据其中一个玩家的出牌情况推导出另外一 个玩家的牌的概率分布情况。 在对概率进行修正时, 修正的方式为一种更加智能化的操作, 其他玩家在已经打出某种牌后, 虽然此时这种牌在概率分布上符合独立同分布, 但是。
39、智能 机器根据玩家是否出过此牌进行修正。 0072 优选的, 最优出牌组合模块的S3中, 其特征在于, 相同牌进行组是一种最简单的组 方案, 不考虑顺子、 连对、 和连三个(飞机)等的情况, 只考虑对子, 三带一、 三带二的情况。 每 一位玩家手中的牌可以被分成若干组, 每组牌可以同时打出。 玩家手中的牌分组以后称为 一种组合。 0073 优选的, 最优出牌组合模块的S3、 S4、 S5中的被打动的概率表示每一种组被打动的 概率。 而组合被打动的概率为所有组被打动的概率之和。 组被打动的概率大于1时, 按1计 算。 0074 优选的, 最优组合模块的S3、 S4、 S5中的被打动的概率为一种相。
40、对的概率, 利用相 对概率简化了机器计算的时间。 相对概率计算方式只考虑组被压过的概率, 而不从整体上 考虑组合被压过的概率。 0075 优选的, 叫分模块中C1定义的边界值是可以调整的, 他的取值来自于多次博弈后 的平均值。 0076 优选的, 叫分模块中C4、 C5, 玩家根据手中的牌不能被打动的牌的次数和玩家的最 优组合策略判断玩家能叫分的情况。 其中, 不能被打动的次数为一种不考虑外界存在炸弹 的情况下的次数。 0077 优选的, 对弈模块中的G2,“关底” 策略在整个对弈的过程中一直存在, 并不止在首 次出牌时存在。 假设当前玩家只有两组牌, 且被压过的概率为0, 则依然能进行直接关。
41、底。 0078 优选的, 在对弈模块中的G4, 牌的平均点数为一种相对点数, 将牌3定义为0点, 牌K 定义为10点, 牌A定义为11点, 牌2为12点, 小王大王分别对应13点和14点。 G4中的R是可以调 说明书 5/10 页 10 CN 110227263 A 10 节的。 0079 优选的, 在对弈模块的G6中, 赢牌概率的计算由被压过概率得到。 定义的R、 E、 N在 对弈的过程中可以调节。 0080 优选的, 对弈模块中S2至S6在对弈的过程中玩家将会考虑到个人的位置和最优出 牌组合模块以及牌型概率分布模块进行出牌。 能根据不同条件打出不同的出牌策略。 0081 实施本发明实施例,。
42、 具有如下有益效果: 本发明利用四种模块来完成整个智能化 斗地主的过程, 且能用于两人一机器、 一人两机器、 三机器之间的博弈, 使得游戏更具可玩 性和挑战性。 本发明制定了不同的打牌策略, 并根据其他玩家的出牌策略和当前玩家手中 已有的牌决定不同的出牌方案, 使得整个博弈的过程更加具有真实性。 附图说明 0082 图1为本发明整体示意图; 0083 图2为本发明的牌型概率分布模块示意图; 0084 图3为本发明的最优出牌组合模块示意图; 0085 图4为本发明的叫分模块示意图; 0086 图5为本发明的对弈模块示意图。 具体实施方式 0087 为使本发明的目的、 技术方案和优点更加清楚, 下。
43、面将结合附图对本发明作进一 步地详细描述。 0088 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述。 显然, 所描述的实施例仅是本发明一部分实施例, 而不是全部的实施例。 基于本 发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实 施例, 都属于本发明保护的范围。 0089 本发明智能化斗地主博弈方法的实现方法, 其包括牌型概率分布模块, 最优出牌 组合模块、 叫分模块和对弈模块, 四种模块相互融合。 其中, 牌型概率分布模块、 最优组合模 块和对弈模块在整个博弈的过程中处于循环状态, 可参见图1, 包含了步骤95至步骤10。
44、0; 0090 牌型概率分布模块在本发明中包含了步骤101至步骤105; 0091 最优出牌组合模块在本发明中含了步骤106至步骤111; 0092 叫分模块在本发明中含了步骤112至步骤116; 0093 对弈模块在本发明中包含了步骤117至步骤122。 各模块的各步骤具体如下: 0094 参见图1, 其展示了在博弈的过程中, 四种模块相互融合的过程。 具体步骤如下: 0095 步骤95、 服务器在检测到满足三个玩家后进行随机的洗牌和分发牌。 并保留三张 底牌作为地主的牌。 0096 步骤96、 机器玩家在拿到自己的牌时根据叫分模块判断自己所能叫的分值(参加 图4)。 0097 步骤97、 。
45、各机器玩家根据自身牌来计算牌型概率分布模块(参见图2)。 0098 步骤98、 各机器玩家在牌型概率分布模块的前提下计算最优出牌组合模块(参见 图3)。 说明书 6/10 页 11 CN 110227263 A 11 0099 步骤99、 在最优出牌组合模块的前提下, 机器玩家根据对弈模块进行对弈(参见图 5). 0100 步骤100、 在游戏未结束之前, 重复执行步骤97至步骤100。 0101 牌型概率分布模块在整个智能化斗地主自动博弈的过程中依据当前玩家手中牌 的集合, 三张明牌的归属, 以及其他两个玩家各自出过的牌, 为其他两个玩家分别建立一个 “牌张数” 的概率分布矩阵。 参见图2。。
46、 详细步骤参见步骤101至步骤105: 0102 步骤101、 每次牌局开始时, 根据当前玩家手中的牌来计算所述两个 “牌张数” 概 率分布矩阵; 在这个过程中, 构建两个155的矩阵分别用来表示玩家1和玩家2牌的分布情 况, 在博弈的过程此矩阵保存在内存中并不断更新。 两个数组分别保存不同牌对应的张数 值。 0103 叫分模块结束时, 根据三张明牌的归属更新所述两个 “牌张数” 概率分布矩阵, 并进行修正; 0104 其中, 修正为一种智能的修正方案, 在已经确定其他两个玩家, 可记为玩家1、 玩家 2, 当前有某种牌型k张时, 当其中一个玩家, 假设玩家1, 打出该种牌型i张后, i表示某。
47、个玩 家从起始到当前打出某种牌型的张数之和, 计算其和另外一个玩家, 假设为玩家2, 含有该 种牌型为0, 1, , (ki)张的概率, 并将对应的概率进行修正。 修正玩家1含有该种牌型为0 张的概率将增大, 1张的概率将减小, (ki)的概率较(ki1)张的概率减小更明显。 修正 玩家2对应张数的概率将与玩家1修正的变化趋势相逆。 0105 步骤102、 当玩家1的出牌时重新计算玩家1牌的分布概率, 同时更新玩家2牌的分 布概率。 在更新概率分布的时候需要对概率进行不断的修正, 如, 个人玩家中以有333, 即三 个3, 而玩家1打出了45678, 则可推导玩家1存在牌3的概率极低, 即玩家。
48、2存在一张牌为3的 可能性可以近似看成100, 并记录到内存; 0106 步骤103、 当玩家2的出牌情况更新玩家1和玩家2牌的分布情况, 更新方式同步骤 102类似, 并将结果记录到内存。 0107 步骤104、 在每次非当前玩家出牌时重复执行步骤101至步骤103。 0108 步骤105、 游戏重新开始后重复执行步骤101至步骤104。 0109 最优出牌组合模块依据当前玩家手中的牌和所述两个 “牌张数” 概率分布矩阵 计算最优的出牌组合, 其中, 0110 出牌组合是指, 将当前玩家手中的所有牌分成若干组, 每个组中的牌可以一次打 出, 0111 最优出牌组合是指, 在所有的出牌组合中,。
49、 压过概率最小的一种组合, 其中, 0112 出牌组合的压过概率是指, 该组合中所有组的压过概率之和, 其中, 0113 组的压过概率依据所述两个 “牌张数” 概率分布矩阵计算得到, 0114 将玩家手中所有的牌进行分组, 将组完成后的一手牌称之为组合。 如玩家当前所 有的牌定义为card, 对于每一个玩家的card, 他可以进行N种组合, 表示为cardchain1| chain2|chainN, 其中 “|” 表示或者。 每一种组合对应一组特定的组, 表示为chainN group1, group2, , groupM。 不同的策略中可能具有相同的组合。 可参见图3, 详细步骤参 见步骤1。
50、06至步骤111: 0115 106、 排序当前玩家手中的牌; 排列个人玩家手中的牌为3、 4、 5、 6、 7、 8、 9、 10、 J、 Q、 说明书 7/10 页 12 CN 110227263 A 12 K、 A、 2、 小王、 大王。 在排序的过程中, 为了便于处理, 将不同的牌对应到不同的数值, 3、 4、 5、 6、 7、 8、 9、 10、 J、 Q、 K、 A、 2、 小王、 大王分别对应的数值为0、 1、 2、 3、 4、 5、 6、 7、 8、 9、 10、 11、 12、 13、 14。 0116 107、 将排序后点数相同的牌按数量进行分类, 并保存在不同的数组中, 。
- 内容关键字: 智能化 地主 自动 博弈 方法 系统
硫磺或硫铁矿制酸低温废热回收装置.pdf
沙蚕养殖装置.pdf
木材生产加工的翻转输送装置.pdf
马铃薯贮藏装置.pdf
自动输送扎花机.pdf
便于下料的不锈钢板压弯装置.pdf
海洋潮汐的水位监测仪安装装置.pdf
采血冰浴盒及样本固定装置.pdf
基于活性炭吸附脱附的有机废气连续处理系统.pdf
水利勘测水位计.pdf
微型高压放气阀.pdf
燃气管内壁清洁设备.pdf
光伏支架表面热镀锌装置.pdf
软管收卷调节机构及收卷机.pdf
转子线圈绕线压线装置.pdf
陶瓷坯泥生产设备.pdf
FRID通道式扫描机.pdf
智能电网安全运维监测装置.pdf
密封性好的细胞培养皿.pdf
计算机散热装置降噪组件.pdf
间续进料机构.pdf
电解液配置系统.pdf
实验小鼠喂药装置.pdf
智能防脱机械手.pdf
槽钢的压延结构.pdf
局部集中载荷作用下的组合梁精细化应力位移分析方法.pdf
精准按摩机芯机构.pdf
位置自动调节的热压装置.pdf
用于糠醛生产的糠醛渣输送装置.pdf
硫酸钾镁盐添加剂饲料生产用搅拌式混合装置.pdf
AIP三维堆叠TR气密封装组件.pdf
应急储能电源系统及应急储能电源.pdf