点击注册
点击注册
.

你的位置:真人斗地主游戏 > 真钱斗地主游戏 >

真人斗地主游戏 斗地主之用蚁群算法整理牌型-几个关键点的处理

真人斗地主游戏 斗地主之用蚁群算法整理牌型-几个关键点的处理

  蚁群算法是由仿生蚂蚁寻食发展而来,所以其很自然的就以寻找最短路径的旅行家问题为研究对象。

福州麻将机一个道理。打麻将的乐趣,和摸牌的手感,麻将牌互碰时的声音,摸牌猜花色等等因素,都脱不了关系。一张四方桌,四人围桌一半运气一半通过声音表情揣摩对手心理,完全是手机麻将无法比拟的。并且在福州麻将机上打麻将,更像是一种休闲聚会,聊天饮茶抽烟,更有参与感。人是社交动物,对着冷冰冰的手机屏打麻将,也只能是实在没时间的选择吧。

而旅行家问题有几个特点:

  - 牌型选择的每一步是从当前牌点(如2)目前所有可以组成的牌手中挑选,如对2、三张9带对2、23456789等等

  - 单步择优的启发性信息是当前牌点可组成的牌手的牌力估计(概率不能为负数,所以是剩余牌手数的一个变换,一般只要能大致反映不同选择的价值即可)

  我们在上一讲中谈到了我们在构思如何解决问题时,首先要完成在想象世界中的问题转换。

所以我提出了用剩余牌手数这个自造的概念来衡量各牌手的价值。

而更宏观的,我们也要对牌型选择问题进行转换,通过上面的对比,我们可以看出牌型选择问题和旅行家问题是截然不同的(即解的构造方式完全不同),那我们该用什么样的模型来构思牌型选择问题的解决方案呢?!

  为了在遇到问题时我们能快速的构思出有效的解决方案,我们需要广泛的学习,以积累自己的见闻。

这样当遇到新问题时,就能找到比较接近的参考问题,然后参照参考问题的解决办法来拟定自己的解决办法。

如果大家对一些经典的计算机算法求解问题有所了解,那么就会看出来,我们的牌型选择问题其实比较类似多重背包问题。

在有了这个观察之后,我们可以翻开书,看看如何用蚁群算法来解决多重背包问题的,这样来构思我们的实现就会少走很多的弯路,大幅提高了自己解决问题的效率

  确定了参照多重背包模型来解决牌型选择问题,那么显然首先要把我们手中的牌所能组成的牌手全部找出,比如A234567的顺子包括了:A2345、A23456、A234567、23456、234567、34567,我们前次所举的A23456789包括的可能牌手就更多了。

而三带二的组合也会非常可观,这样一来,每个牌点可能的牌手数量会非常多,而由于我们每次挑选牌手采用的是加权概率的方式,所以为了保证结果的有效,我们生成的蚂蚁数量不能太少,否则可能会导致由于每个牌点对应的牌手数量太多,蚂蚁难以覆盖到,而导致算法给出的解的质量难以满意。

  这里的加权概率需要同时结合启发性知识和全局信息素。

其中,启发性知识指出了优化方向,而全局信息素则保留了对之前探索质量的记忆,这两者的结合就是之前讨论过的蚁群算法的威力所在!

  同时,如果当前牌点是2而蚂蚁最终挑选了A23456789,那么其实就是A、2、3、4、5、6、7、8、9这九个牌点同时挑选了A23456789的牌手,这和旅行家问题、背包问题都有着不同。

  此外,如果我们有3张2,那么就2来说,2这个牌点同时关联了A23456789和对2两个牌手,这也是和其它问题的巨大不同之处。

  这些不同我们需要高度关注:我们需要深入思考这是否会影响到蚁群算法的执行,并验证这些差异的影响。

这是由于任何算法都有其应用前提和假设,我们需要理解并满足这些前提和假设,而差异点正是检验是否满足的关键点。

  当我们选择了某个牌手后就应对该牌手所涉及到的所有牌点进行提取或标记,而当对新的牌点进行挑选时,是给出在剩余的牌点中可组成的牌手。

比如,2可以组成A23456789或3张2,如果我们确定组成3张2,那么我们就需要将这三张2标记为已选,这样,当后面某步的当前牌点是A时,由于2已经都被用掉了,所以A无法再组成A23456789的牌手,而只能组成单张A的牌手。

  随着一个个牌手的挑出,后继牌手的选择空间越来越小。

因此,为了避免固定顺序挑选牌手导致解质量太差,我们在每一次挑选牌点时,都应是从现有牌点中随机挑选。

而这又和寻找最短路径的从特定的起点一步步找到特定终点是截然不同的。

  蚁群算法本意是先生成一个蚂蚁,让它在一无所知的情况下爬出一个初始结构,然后用这个初始结构的评分来生成初始信息素数据。

但通过前面的讲解,我们可以看出蚁群算法其实是围绕着局部优胜解探索出局部最优解,因此对于很多问题,初始解会影响蚁群算法求解的效率和质量,所以一般都是特别的精心构造一个高质量的初始解,以试图提高解决NP难问题的效率。

  我采取这种方式的原因很简单:对于某些问题,初始解决定了算法的效率和成本,但牌型选择不是这样的问题。

  所以,我们没必要花费太多的心思来精心生成初始蚂蚁以求得一个高质量的初始解,按上述方式快速生成一个简单的初始解即可。

  前面讨论过,蚁群算法本质并不是算出最优解,而是高效的搜索出最优解,所以我们需要扩大蚂蚁的搜索空间。

但随着算法的一轮轮迭代,当优势结构慢慢呈现时,由于信息素的频繁释放,会造成优势结构的吸引力比较大,这可能会限制蚂蚁对其它潜在最优解的探索。

针对这种情况,改进的蚁群算法引入了局部更新技术:即在选择了一个牌手后,立刻对本次选择做一个小的蒸发,以降低该选择的信息素浓度,这就增加了其它蚂蚁做出其它选择的可能性。

  但由于局部更新会导致每只蚂蚁每步选择后都修改全局信息素的数据,这就是我们前面说过的,局部更新技术会对蚁群算法的分布式执行造成严重干扰。

如果大家考虑分布式的蚁群算法,就需要去掉该技术。

而针对搜索空间快速收窄的问题,可以结合爬山法来扩大搜索空间。

  由于蚁群算法每轮次有一个信息素的蒸发动作,这个蒸发的目的是如果不是最优的选择,则在某次尝试后就会逐渐丧失吸引力,被再次选中的可能性会越来越小。

但由于我们的评分是剩余牌手数,而剩余牌手数可能会是负数,那么负数的蒸发反而会导致信息素的值越来越大了,而且负数也会干扰加权概率的计算。

所以为了避免评分出现负数,我们在计算完剩余牌手数后,对其统一增加了100以进行结构评分的正向纠正。

  上一讲也说过,如果把对大鬼拆为两个单张的大鬼,会提升牌型的评分,所以我们会发现,蚂蚁受提高牌型质量的鼓励,导致提取出的牌型非常琐碎。

因此,目前在计算牌型评分的时候,我还加入了一个针对牌手数量的惩罚性加分,但又使得牌型非常偏向简洁,似乎有过份惩罚的倾向,本来以为应当需要根据大量数据的分析来确定一个合理的惩罚系数。

但是在这个调整过程中,突然发现,似乎只要调整结构惩罚系数,我们就能得到从偏向威力最大化到偏向简洁的不同情况下的一系列牌型,这倒是丰富了我们的牌型选择空间。

  本来我们静态确定了一个最优的牌型,在后面打牌的过程中,随时可能需要根据牌面进行牌手的重新组合、分拆。

如,最优牌型可能以炸弹、三张为主,但对家判明这一点后,始终利用单张过桥,那我们就必须不停的拆牌。

但这带来了一个问题:如何判断该不该拆牌、该拆哪手牌、剩下的牌又该如何重新组合呢?笔者花了很长的时间都找不到一个合适的方法来处理这个问题:(

  但现在我们有了通过动态调整结构罚分系数可以得出一系列牌型的能力,就有个了意外之喜:我们只要先生成一系列各种各样的牌型,然后根据对家出牌确定各牌型中如何应牌最有利即可。

这就略去了处理拆牌、组合的烦恼:)真人斗地主游戏





Powered by 真人斗地主游戏 @2013-2022 RSS地图 HTML地图

网站统计——

  • 谷歌搜索留痕推广
  • 谷歌搜索留痕排名技术
  • 谷歌快速排名
  • 留痕方法
  • 谷歌搜索快速方法
  • google搜索留痕程序
  • 谷歌快速排名
  • 澳门太阳城
  • 最大博彩公司
  • 谷歌搜索关键词排名
  • 搜索留痕程序
  • 谷歌排名出售
  • 谷歌蜘蛛池排名
  • 搜索留痕软件
  • 缅甸果敢赌场
  • 电子游艺规则
  • 谷歌留痕推广
  • google引流程序
  • 谷歌快速排名
  • google引流程序
  • 留痕推广
  • 大西洋城赌场
  • 买球地址
  • 搜索留痕
  • 搜索留痕程序出售
  • 谷歌蜘蛛池排名技术
  • 留痕程序
  • 如何提高google搜索排名
  • 数字币博彩
  • 洗钱方法
  • Google留痕收录
  • 最新谷歌搜索留痕排名
  • 搜索留痕
  • Google留痕收录
  • google搜索留痕
  • 数字币博彩网站
  • 足球投注平台
  • 博彩推广话术
  • 推广引流方法
  • 引流方法
  • 博彩推广话术
  • 网上博彩推广引流
  • 数字币赌场
  • 皇冠现金网
  • 蜘蛛池排名
  • 谷歌蜘蛛池
  • 留痕程序出售
  • google搜索留痕程序
  • 比特币网上赌场
  • 洗钱平台
  • 搜索留痕
  • 博彩推广方式
  • 网上博彩推广
  • 快速排名
  • 搜索留痕程序
  • bbin平台大全
  • 体育博彩公司排名
  • 留痕排名技术
  • 最新谷歌关键词排名
  • 推广渠道
  • 谷歌快速排名
  • 博彩推广
  • 世界杯赌球地址
  • 皇冠博彩公司
  • 谷歌排名出售
  • 博彩引流渠道
  • 搜索留痕程序
  • google搜索留痕
  • 引流渠道
  • 果敢网上赌场
  • 世界杯赌球
  • 搜索留痕方法
  • 博彩搜索留痕
  • 博彩引流
  • 博彩引流
  • 搜索留痕
  • 缅甸网上赌场
  • 欧洲杯赌球
  • 谷歌搜索排名
  • 留痕程序
  • 网上博彩推广引流
  • 留痕技术
  • 搜索留痕技术出售
  • 澳门威尼斯人网上赌场
  • 外围博彩
  • 博彩网站推广
  • 推广引流
  • 留痕程序出售
  • 谷歌推广引流技术
  • 推广引流方法
  • 美国在线赌场
  • 沙巴体育投注平台
  • 最新谷歌搜索留痕
  • 谷歌蜘蛛池排名技术
  • 网站推广方法
  • 留痕程序出售
  • 博彩推广方法
  • 菠菜论坛
  • 买球平台
  • 谷歌搜索留痕
  • 蜘蛛池排名
  • 博彩公司推广渠道
  • 谷歌搜索留痕
  • 博彩公司推广渠道
  • 真钱游戏
  • 网上赌球地址
  • 赌球平台推荐
  • 赌球网址
  • 博彩包网
  • 买球app
  • 澳门博彩公司
  • 威尼斯人赌场
  • 博彩平台推荐
  • 美国博彩网站
  • 缅甸实体赌场
  • 柬埔寨网上赌场
  • 柬埔寨在线赌场
  • 韩国博彩
  • 支持人民币的博彩公司
  • 世界五大比特币交易所
  • 欧易是哪个国家的
  • 中币跑路
  • 亚洲博彩公司
  • 合法网上赌场
  • 马尼拉赌场
  • 支持人民币的博彩公司
  • 大陆博彩平台
  • 澳门新葡京娱乐城
  • 老挝赌场
  • 世界赌场排名
  • 网上博彩公司排行
  • 菠菜论坛
  • 东南亚赌博网站
  • 虚拟币博彩
  • 澳门百家乐网址
  • 网上博彩导航
  • 区块链百家乐游戏
  • 马来西亚博彩公司
  • 越南赌场
  • 区块链百家乐
  • 香港娱乐场
  • 澳大利亚赌博网站
  • 足球赔率
  • 菲律宾网上赌场
  • 数字币博彩网站
  • 足球投注网站
  • 百家乐论坛
  • 皇冠体育博彩公司
  • 网上赌博网站
  • 网上博彩推广话术
  • 谷歌搜索快速方法
  • 网上博彩推广话术
  • 数字币赌场
  • 皇冠博彩公司
  • 世界杯博彩公司
  • 英国博彩公司
  • 网上博彩合法化
  • 新加坡赌场
  • 比特币网上赌场
  • 怎么洗钱
  • 加密货币博彩平台
  • 世界杯赌球网址
  • 网上赌球地址
  • 博彩推广方式
  • 印度尼西亚博彩公司
  • 国际包网
  • bbin平台直营
  • 亚洲体育博彩平台
  • 越南博彩公司
  • 百家乐路单
  • 澳门博彩官网
  • 博彩网推荐
  • 澳门太阳城网址
  • 百家乐网址
  • 世界杯赌球网址
  • 皇冠博彩网址
  • 洗钱方法
  • 买球网站
  • 欧洲杯赌球平台
  • 皇冠现金网
  • 外围赌球平台
  • 果敢赌场
  • 买球技巧
  • 全球最大博彩公司
  • 电子游艺
  • 真人电子游戏
  • 骰宝游戏规则
  • 亚洲体育博彩平台
  • 澳门在线赌场
  • 缅甸赌场地址
  • 赌球平台
  • 赌场如何赢钱
  • 世界杯买球网站
  • 真人牌九游戏
  • 世界杯买球官网
  • 时时彩平台
  • 六合彩预测
  • 威尼斯人网上赌场
  • 外围赌球网站
  • 赌博网址
  • 彩票群
  • 微信赌博群
  • 韩国首尔赌场
  • 赌钱游戏
  • 美国网上赌场
  • bbin官网
  • 沙巴体育官网
  • 博彩平台推荐
  • 数字币博彩网站
  • 比特币网上赌场
  • 世界赌场名单
  • 美国赌场攻略
  • 菠菜论坛排名
  • 菠菜论坛排名
  • 缅甸网上赌场
  • 支持人民币的博彩公司