zoukankan      html  css  js  c++  java
  • 五子棋项目的实现(一)

           在这个学期里花了一个学期的时间零零散散写了一个五子棋项目,项目的实现主要还是根据华南理工大学里面刘瑞的一篇硕士论文《五子棋人工智能算法设计与实现》。其实我也不认识他,但是在知网找相关资料时,就发现这篇的引用率最高也是最通俗易懂的那个,其中也看了一本《数据结构,算法设计》的书,这本书非常的无聊,认真看完了递归就看不下去了。后面都是当字典用,遇到要运用的点,再看这个展开。效果还不错。在整个项目过程中,一开始人机对战用到的是贪婪算法,就是遍历当前整个棋盘,专门写一个评估函数,有多少棋子元在一起就评估多少分,最后根据分数来决定要下子的位置。这就是我们求当前局面最优值的思想,但是在实际的过程中,当我们实现这个算法的时候,只要我们有意三三开局,电脑就会识别不出来,所以这种算法的算力非常的有限。而我们采用博弈树算法,不但可以判断当前局面的最优值,还可以预判在接下来的一段时间内的预测值,虽然本质还是求最优解的过程,但是感觉智能程度已经大大提高。

    项目的源代码已经开源到GitHub:https://github.com/ChickenRolls/five-in-a-row

           开始这个项目首先我们还是先需求分析把要实现的功能先列出来:

    做完需求分析我们再是实机模块的设计。

  • 相关阅读:
    Apache 下载+安装
    PythonWindows环境下安装Flask
    返利网今日值得买python爬虫
    flask简单web应用
    flask笔记一
    2018年11月26日
    名词解释http隧道、https、SSL层、http代理、在线代理、socks代理区别
    【HTTP/S】透明代理、匿名代理、混淆代理、高匿代理有什么区别?
    C# HttpWebRequest Post Get 请求数据
    内网穿透系列Go语言
  • 原文地址:https://www.cnblogs.com/fly0512/p/10014691.html
Copyright © 2011-2022 走看看