棋牌机器人设计总结

还记得第一次写机器人时内心的激动和忐忑,激动是源于对提升技术的渴求,当时觉得要是能写出机器人,自己的技术水平也就能再上一个台阶了,毕竟写机器人相比写玩法逻辑算法要难得多。忐忑是源于对未知事物的敬畏。

写的第一种机器人是麻将类的,麻将机器人相比斗地主和跑得快机器人要简单得多,虽然麻将和跑得快的玩家都是各自为营的玩法,但因为麻将的出牌并没有多种牌型的变化选择,用跑得快的牌型来解释的话,就是麻将的出牌牌型只有单牌,且不用考虑比较大小,只要有出牌机会,就可以出任一手牌。

麻将正常的胡牌规则是在手牌数量满足3n + 2的情况下,n个3连张(3张花色一样面值连续的牌)或者n个3同张(3张花色和面值都一样的牌)加1个对子;或者只有1个对子就满足胡牌,所以,机器人的出牌思维方式是计算哪张牌打出后能够最优和最快让剩下的手牌组合趋于胡的,这里可以用递归的方式动态规划最优解。

跑得快的胜负以手牌先出完来定,当然,斗地主也是一样,斗地主和跑得快区别是有地主和农民两种角色,农民之间可以打配合,斗地主之所以比跑得快机器人复杂的主要原因就是需要考虑打配合。

跑得快和斗地主机器人的核心思维是如何能够以最少的手数、最优的牌型权值分配后选择最优的出牌或者跟牌。这里要涉及大量的计算,里面穷举算法的效率是比较考验技术水平的一道关卡。

以手数和权值计算来实现机器人的出牌思维是提高机器人智商的方法之一,如果想进一步提高机器人智商,可通过赋予机器人透视所有玩家手牌的能力和配合给机器人发好牌方式来实现,我觉得这是大多数棋牌公司的惯用做法,虽然我也没有去过多少公司,毕竟写一套以手数和权值计算来实现机器人出牌的高效算法并非那么容易完成。

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值