全文预览

毕业设计论文-基于C语言的五子棋辅助软件的设计与实现

上传者:徐小白 |  格式:doc  |  页数:39 |  大小:299KB

文档介绍
Р一个专业的网络棋手,往往熟悉多个辅助软件并同时使用,这是由于不同的软件有不同的优缺点,各个软件在时间以及深度的取舍不一样,有长考型、速度型、棋谱记录型、局势分析型、局部计算型等等。而作为时间资源紧缺的比赛,那么速度型的软件更加优越于细致全面的研究分析型软件,在研究分析棋谱的时候则是完全相反的情况了。所以,市场的需求是无穷无尽的,不同的场合、不同的人群需要不同类型的软件用于满足自身需求。Р2.2目的分析Р结合市场分析的诸多要素,本软件的目标集中于耗时与深度的平衡,取舍于两个极端,达到高效、有用的目的。为此,使用了多个分析算法为基础算法,根据不同的情况,合理选择并收集其中的一个或者多个的计算结果,综合处理其信息,得出一个新的、总的、最终的AI演算答案。Р在基础算法中,对计算时间这一条件影响最大的莫过于“搜索的层数”,类似于我们在预测未来几步棋的发展趋势,总所周知,一个棋手看得比对手更远,自然跟容易赢得比赛。同理作用于计算机,可是即使计算机的存储器已经扩大到了足够的大小,但是运算器的运算效率才是时间消耗的最大问题,假设在15*15的棋盘上已经存在K个棋子,要无差别的推算出N步之后棋盘上所有可能出现的情况,那么就需要重复运算(15*15-K)!/( 15*15-K-N)!,时间复杂度T(n)=O(n^N),可见随着N的增大,运算量足以变得大得惊人。于是,如何在基础算法上优化搜索范围,尽可能降低搜索层次的同时保障运算结果的可靠性,是一个很难也是很核心的问题。Р2.3总架构Р2.3.1总体功能结构Р主要功能模块包括:Р输入:输入落子信息以及输入控制信息。Р换子:玩家与AI互换棋子,在软件实现中表现为玩家放弃落子转而让AI代替玩家落子,但同时也完成了黑白棋子的互换。Р查询:查询当前棋子的颜色,以及查询棋谱。Р悔棋:删除上一步棋子,然后轮到玩家落子。РAI运算:AI计算出最优落子点落子。

收藏

分享

举报
下载此文档