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

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

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

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

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

  • 相关阅读:
    主机与虚拟机通信:以主机VS2010连接虚拟机MySql为例
    Json与类对象转换
    VS附加到进程调试的方法及应用场景
    地图API使用文档-以腾讯地图为例
    JS使用ActiveXObject读取数据库代码示例(只支持IE)
    css文件内引用外部资源文件的相对路径
    ::after,::before使用
    高德地图API应用
    LogNet4学习笔记
    MvcPager分页控件的使用
  • 原文地址:https://www.cnblogs.com/fly0512/p/10014691.html
Copyright © 2011-2022 走看看