棋牌游戏开发之地主AI算法实现

 人工智能(Arti.Intelligence,简称AI)是研究和开发用于仿真、扩展和扩展的人类智能理论、方法、技术和应用系统的一门新兴技术科学。开发、扩展和扩展人类智能;如何使用更智能的计算机;如何设计和构建具有高智能水平的计算机应用系统;如何设计和制造更高智能水平的智能计算机和智能计算机。
    
    从百度百科全书
    
    这里我们主要讲一下计算机如何模拟人脑卡,并实现一个具体的算法。
    
    名词解释:
    
    玩家计数:假设没有人想玩并且符合卡的规则,最多几次所有的卡都可以玩完,这些时间被称为玩家计数,你永远无法理解这个操作哟。
    
    首先,将房东AI算法分为2个部分。
    
    今天我们将讨论第一部分:
    
    拆解
    
    拆卸是地主AI算法的重要组成部分,拆卸的质量直接影响地主AI算法的效率。
    
    让我们从一张图片开始,它更直观,有助于我们未来的讨论。
    
    
    定义每个卡类型的权重大小:
    
    传单1
    
    2对
    
    三带3
    
    联卡4(每增加卡重1)
    
    甚至5(每对卡片,重量+ 2)
    
    飞机6(每对飞机,重量基于+3)
    
    炸弹7(包括王在内)
    
    
    
    要看这张卡,我们首先按照正常的思维方式拆掉卡片。
    
    QQQ 222
    
    5667 8910J
    
    AA
    
    6、4
    
    现在让我们来讨论一个计划,看看我们能否最终实现这样一个废弃方案。
    
    我们讨论了拆卸过程中的几个步骤。
    
    第一步:寻找卡片
    
    定义相应的卡片类型向量
    
    矢量/ 3巴
    
    矢量//偶
    
    矢量/ /成对
    
    矢量/ /小叶
    
    矢量/飞机
    
    
    
    首先,找出一副卡片只能形成一种卡片类型(3,一对,一张卡片是卡片类型)。这意味着一张卡片不与剩余卡片中的任何卡片相连。当然,是否与剩余卡片相连是一个需要定义的规则:剩余卡片是否与剩余卡片相连。智能卡可以形成一个公司,一个公司。如果这两个条件不满足,那么我们调用这个卡,其余的卡没有任何连接。一般来说,这个步骤可以用来找到几张卡,这样可以减少未来卡的任务量。
    
    
    
    例如,我们可以找到上面:小魔鬼,2,A,然后找出和他们相同的卡片值。也就是说,孩子,222,AA,剩下的卡片是:QQJ1098766544,可以问为什么没有找到Q Q,这是因为Q除了组成三对之外,其余的卡片还有n被组合成一张卡片。这是一对卡片,最后的丢弃方案是这对卡片,甚至3或3.3,>>传单,所以我们有下一个结论。
    
    向量222
    
    向量AA
    
    矢量小恶魔
    
    
    
    接下来我们将把剩下的卡片拆分:QQQJ109865654。
    
    在卡片上找到所有炸弹。
    
    找到所有3张牌。
    
    找出卡片上的所有对。
    
    根据剩余的卡片,我们首先提出QQQ 6644。
    
    
    
    我们可以在这里定义相应的向量来存储我们临时发现的卡片。注意,这里定义的向量与上面的向量不同。
    
    矢量QQQ
    
    矢量66、44
    
    第二步:计算每张牌的数量和重量。
    
    讨论了几种情况,每次只找到剩下的五张卡片,然后拿这五张卡片和剩下的卡片依次看组合是否较长。
    
    在卡片被提出之后,所有剩下的卡片被视为单卡片,无论是炸弹还是3。
    
    在剩下的卡片中提出了QQQ,J1098766544首先找到五张单卡,从最小或最大的卡片中您决定。我们将与最小的卡片进行讨论。
    
    第一次:45678,剩下的牌是46910 J。
    
    第二次:46
    
    最后,2组卡片被删除,没有被丢弃。
    
    计划是:46
    
    相应的重量和数量:7+1+1+3=123(因为三个人可以拿一双或一双,如果有对单张的话,减一)
    
    以下是相同的步骤。我不会直接编写程序并写出最终的计划。
    
    2在剩下的卡片中制作QQQ 66。
    
    计划是:QQQ 66 78910J 544
    
    相应的权重和指针:3+2+4+1+2=12 4
    
    
    
    三。在剩下的卡片中制作QQQ 44。
    
    计划是:QQQ 44 67 8910J 6
    
    相应的权重和指针:3+2+5+1=11 3
    
    
    
    4。残排66。
    
    计划是:66 78910JQ QQ 544
    
    相应的权重和指针:2+5+2+1+2=10 5
    
    
    
    5。在剩下的卡片中提出44。
    
    计划是:44 5678910JQ 6 QQ
    
    相应的权重和指针:2+7+1+2=12 4
    
    
    
    6。没有牌。
    
    5667 8910JQ 46 Q
    
    相应的权重和指针:9+1+1+1=12 4
    
    
    
    第三步:选择最佳的牌组作为最终的拆解方案。
    
    通过以上步骤,我们已经识别出程序中的卡片数量,我们最终找到程序中最少数量的玩家。
    
    如果手的数目相同,则找出最大的丢弃集合。
    
    如果这2个都是相同的,则随机选择一个(这非常小,非常小)。
    
    通过比较,我们已经确定了以下丢弃方案。
    
    
    
    计划是:46
    
    相应的重量和数量:7+1+1+3=123(因为三个人可以拿一双或一双,如果有对单张的话,减一)
    
    最后,加入我们最先发现的卡片。最后的拆除方案是:
    
    矢量222
    
    向量AA
    
    矢量小恶魔,4,6
    
    矢量5667 8910J
    
    
    
    呵呵,通过这样一张拆卡并不是很符合正常人的思维。
    
    在扑克牌游戏中,我们取消了这种丢弃方案。
    
    当然,我们还需要定义一个结构来存储每个卡可以构成的所有卡,以及每个卡的最大值,以便为将来的许可做准备。
    
    
    
    好的,我们到了。稍后,我们将再次讨论卡!!

猜你喜欢

转载自www.cnblogs.com/h5qipaiyuanma/p/9779590.html