斗地主AI算法——第十六章の样例分析

举报
九日王朝 发表于 2019/01/22 12:05:21 2019/01/22
【摘要】 上一章,我们已经完成了测试模块的开发。至此我们已经可以进行整体测试了。本章主要内容就是对随机生成的对局情况进行简单的分析。实际上整个开发过程绝大部分时间都是用在样例分析上,通过样例给出的返回操作分析自己设计的策略是否合理,然后不断的调整策略,调整权值等等。这个过程持续了蛮久的,而且很多地方都反复的修改,感觉git都快要被我玩坏了。下面具体拿出一组测试数据进行简单的分析发牌阶段:0号玩家牌为:...

上一章,我们已经完成了测试模块的开发。至此我们已经可以进行整体测试了。本章主要内容就是对随机生成的对局情况进行简单的分析。


实际上整个开发过程绝大部分时间都是用在样例分析上,通过样例给出的返回操作分析自己设计的策略是否合理,然后不断的调整策略,调整权值等等。


这个过程持续了蛮久的,而且很多地方都反复的修改,感觉git都快要被我玩坏了。




下面具体拿出一组测试数据进行简单的分析




发牌阶段:


0号玩家牌为:

color_nHandCardList:

小王,黑桃2,梅花2,红桃A,方块A,红桃K,梅花K,黑桃Q,方块Q,红桃J,方块J,黑桃10,梅花9,红

桃8,梅花8,黑桃7,梅花7

 

1号玩家牌为:

color_nHandCardList:

红桃2,梅花A,黑桃K,方块K,红桃10,方块10,红桃9,黑桃9,方块8,红桃6,方块6,黑桃5,梅花5,

方块4,梅花4,方块3,梅花3

 

2号玩家牌为:

color_nHandCardList:

方块2,黑桃A,红桃Q,梅花Q,黑桃J,梅花J,梅花10,黑桃8,方块7,黑桃6,梅花6,红桃5,方块5,

红桃4,黑桃4,红桃3,黑桃3

 

底牌为:

方块9,红桃7,大王



此时我们人工计算一下3个玩家的手牌权值


0号玩家:


最佳出牌策略是:78910J(+2分)+7(-3分)+8(-2分)+J(+1分)+QQKKAA(+5分)+22(+5分)+小王(+6分)。


总分14分,轮数为7


1号玩家:


最佳出牌策略是:33445566(-3分)+8(-2分)+99(-1分)+1010(+0分)+KK(+3分)+A(+4分)+2(+5分)。


总分为6分,轮数为7


2号玩家:


最佳出牌策略是:33445566(-3分)+7(-3分)+8(-2分)+10(+0分)+JJ(+1分)+QQ(+2分)+A(+4分)+2(+5分)。


总分为4分,轮数为8




叫分阶段:

SumValue is :14,NeedRound is :7

SumValue is :6,NeedRound is :7

SumValue is :4,NeedRound is :8

0号玩家是地主,叫分为:1



这个结果跟我们想的是一样的。


叫分结束后:

0号玩家牌为:

color_nHandCardList:

大王,小王,黑桃2,梅花2,红桃A,方块A,红桃K,梅花K,黑桃Q,方块Q,红桃J,方块J,黑桃10,方

块9,梅花9,红桃8,梅花8,红桃7,黑桃7,梅花7

 

1号玩家牌为:

color_nHandCardList:

红桃2,梅花A,黑桃K,方块K,红桃10,方块10,红桃9,黑桃9,方块8,红桃6,方块6,黑桃5,梅花5,

方块4,梅花4,方块3,梅花3

 

2号玩家牌为:

color_nHandCardList:

方块2,黑桃A,红桃Q,梅花Q,黑桃J,梅花J,梅花10,黑桃8,方块7,黑桃6,梅花6,红桃5,方块5,

红桃4,黑桃4,红桃3,黑桃3


地主手牌发生了改变,出牌策略变成了77788+99+10+JJQQKKAA+22+大王小王。

故第一轮出牌为:


0号玩家出牌:

红桃7,黑桃7,梅花7,红桃8,梅花8

 

1号玩家出牌:

 

2号玩家出牌:

 


没人管的上,第二轮出牌为:



0号玩家出牌:

方块9,梅花9

 

1号玩家出牌:

红桃10,方块10

 

2号玩家出牌:

黑桃J,梅花J

 

0号玩家出牌:

黑桃2,梅花2

 

1号玩家出牌:

 

2号玩家出牌:

对2管上之后,剩余手牌为10+JJQQKKAA+大王小王,故此时打出10,之后因为只剩天牌及一手牌,所以先打出王炸然后JJQQKKAA收尾




0号玩家出牌:

黑桃10

 

1号玩家出牌:

梅花A

 

2号玩家出牌:

方块2

 

0号玩家出牌:

大王,小王

 

1号玩家出牌:

 

2号玩家出牌:

 

0号玩家出牌:

红桃J,方块J,黑桃Q,方块Q,红桃K,梅花K,红桃A,方块A

 

地主0号玩家获胜


地主取得了胜利!

——————————————————————————————————


更多的对局信息在这里就不详说了,大家可以多跑程序从而分析一下目前算法中的优缺点再进行改善。


另外再放出几张不同策略的图片以供大家参考。

20170427200820103

20170427200828068

20170427200835302

20170427200840244

20170427200845833

至此我们的2.0版本斗地主AI就算是接近尾声了,下一章我们做一个阶段性的总结整理。


敬请关注下一章:斗地主AI算法——第十七章の总结整理


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。