|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这次是对上一版本的AI做了点升级,用了DFS递归5层搜索最优解,由于是机器和人对战,所以轮到机器下的时候,第一次为全局搜索可行解,第二次是玩家下,运用棋类博弈的MinMax算法(玩家的最优解即是机器的最差解)求得最差解,第三次轮到机器下,继续全局搜索所有可行解,第四次同样求得机器的最差解,第五次返回所有可行解。在所有的可行解中取得当前局面下的最优解,就是要下的位置。基本上每步都依次循环,除非遇到无解的情况,那么只能找可以下的位置,作为唯一输出。
基本上程序方面的优化就到此为止了,如果还需要提高AI,则要从下棋的策略上再去研究了。
当前市面上流行的黑白棋AI大多采用模板控制,即把局面归纳为数量固定的若干个模板,然后按照模板对策进行下棋。
模板的好处是运行速度非常快(因为根本就不需要递归求所有可行解),而且模板化的对策都是比较成熟的对策了,出错的可能性很小。
本套程序完全是自己弄着玩的,所以没有引入任何一套模块,不过依然还是有不错对战能力,相信如果能结合模板,会进一步提升AI水平。
下一步看看是不是有空结合pygame做一套带GUI的对战黑白棋
源代码:
|
|