基于人工智能的五子棋专家系统研究和设计
本文关键词:基于人工智能的五子棋专家系统研究和设计
【摘要】:最初的电子计算机的研发初衷,是为了将人类从简单机械的数学运算中解脱出来,这样可以节省大量的时间用于其他复杂的研究,而随着计算机运算能力的急速发展,人们对计算机的要求也越来越高,希望计算机可以做的事情也越来越多,而人工智能的研究方向就是为了让计算机越来越“智能”。如今,随着人工智能的不断发展,计算机已经渗透到了生产生活的各个方面,成为各个领域不可或缺的重要部分,将人们带进了一个崭新的智能化的时代,极大的促进了社会的发展和人类文明的进步。本课题将围绕如何开发一个五子棋程序来展开对人工智能的讨论,并主要完成了以下工作:1、根据中国棋院于2013年颁布的中国五子棋竞赛规则为基础,设计了五子棋程序应该包含的基本功能,包括人人对弈,人机对弈,复盘以及一些相关参数的设置。2、在设计五子棋程序的人工智能算法的时候,并没有采用较为通用的极大极小树算法,而使用了在围棋软件ZEN中大放异彩的蒙特卡洛算法作为主算法,并结合五子棋的特性,继续完善了算法的细节。3、选用Sqlite作为数据库,并设计了相应的数据表,用于存储程序的设置,复盘的资料以及五子棋的定式。4、使用Haskell作为编程语言开发了整个五子棋程序,并在多平台上做了测试,多平台包括(windows,fedora,freebsd,macos)。
【关键词】:人工智能 专家系统 五子棋
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:TP311.52
【目录】:
- 摘要5-6
- ABSTRACT6-10
- 第一章 引言10-18
- 1.1 选题的目的和意义10-11
- 1.2 国内外相关课题研究发展情况11-17
- 1.2.1 人工智能的基本概念11
- 1.2.2 人工智能的历史和发展情况11-13
- 1.2.3 人工智能的现状13-15
- 1.2.3.1 人工智能现在的水平13
- 1.2.3.2 人工智能现存的学派13-14
- 1.2.3.3 强人工智能和弱人工智能14
- 1.2.3.4 人工智能的快速发展给人类带来的思考14-15
- 1.2.4 专家系统的基本概念15-16
- 1.2.5 专家系统的现状16-17
- 1.2.6 五子棋的发展情况17
- 1.3 论文结构17-18
- 第二章 相关知识介绍18-31
- 2.1 主编程语言介绍18-22
- 2.1.1 函数型语言的特点18-19
- 2.1.2 Haskell语言中的的Lambda演算(Lambda λ-calculus)19-21
- 2.1.3 Haskell语言的其他重要特性21-22
- 2.2 五子棋的相关介绍22-28
- 2.2.1 五子棋棋盘22-23
- 2.2.2 五子棋主规则23
- 2.2.3 五子棋常见棋型23-25
- 2.2.4 禁手25-26
- 2.2.4.1 禁手特例26
- 2.2.5 指定开局26-28
- 2.2.6 其他规则28
- 2.3 蒙特卡洛方法28-29
- 2.4 数据库Sqlite介绍29-30
- 2.5 本章小结30-31
- 第三章 系统需求分析31-36
- 3.1 系统功能需求分析31
- 3.2 用户需求31
- 3.3 开发环境31-32
- 3.4 主程序与用户交互相关的流程32-35
- 3.5 本章小结35-36
- 第四章 系统设计与实现36-57
- 4.1 数据库设计36-43
- 4.1.1 settings表36
- 4.1.2 games与steps表36-39
- 4.1.3 fsom和fsomsteps_start表39-42
- 4.1.4 数据库相关的关键程序代码42-43
- 4.2 程序基础功能设计43-52
- 4.2.1 棋盘基本结构的表示43-44
- 4.2.1.1 单个棋子的表示43-44
- 4.2.1.2 棋盘的表示44
- 4.2.2 棋盘基本功能的实现44-46
- 4.2.2.1 产生初始化棋盘44
- 4.2.2.2 棋盘的控制台显示44-45
- 4.2.2.3 棋盘中单个格子的操作45-46
- 4.2.3 棋型的判断46-52
- 4.2.3.1 棋型判断的具体代码48-52
- 4.3 主算法设计52-55
- 4.3.1 程序主算法流程52-53
- 4.3.2 蒙特卡洛算法流程53-55
- 4.4 五子棋程序控制台界面实际运行情况55-56
- 4.5 本章小结56-57
- 第五章 程序测试57-63
- 5.1 程序特点57
- 5.2 测试环境57
- 5.3 测试流程57-62
- 5.3.1 Haskell函数测试57-61
- 5.3.1.1 棋盘基础函数测试57-58
- 5.3.1.2 菜单相关函数测试58
- 5.3.1.3 棋型相关函数测试58-60
- 5.3.1.4 数据库相关函数测试60
- 5.3.1.5 算法相关函数测试60-61
- 5.3.2 程序的功能测试61-62
- 5.3.2.1 程序功能测试总结62
- 5.4 本章小结62-63
- 第六章 结论63-65
- 6.1 主要完成的工作63
- 6.2 未来展望63-65
- 致谢65-66
- 参考文献66-68
【相似文献】
中国期刊全文数据库 前10条
1 曹耀夫;曹旭光;马利民;沈丽萍;翟慧杰;;基于规则的水淹油层专家系统研究[J];长春理工大学学报(自然科学版);2008年04期
2 邹忠;殷丽萍;;基于耕地质量管理的农作物施肥专家系统研究应用[J];现代农业科学;2009年04期
3 郑伟;安佰强;王小雨;刘巍;时永进;;专家系统研究现状及其发展趋势[J];电子世界;2013年04期
4 陆伟民;;面向对象程序设计的专家系统研究[J];计算机科学;1990年05期
5 周堤基,曹兰斌,叶曲炜,王韬;基于模糊逻辑的专家系统研究与实现[J];计算机研究与发展;1991年09期
6 刘承祚;;地质专家系统研究[J];物探化探计算技术;1991年01期
7 张瑞新,张幼蒂;矿业专家系统研究进展[J];化工矿山技术;1992年05期
8 蔡淑兰;一种实用的货运区间识别专家系统研究[J];一重技术;1999年03期
9 闫谦时;;专家系统研究现状浅析[J];电子测试;2013年24期
10 宁新建;航空电子设备专家系统研究[J];航空兵器;2002年03期
中国重要会议论文全文数据库 前10条
1 何英秋;马坤;;果树施肥专家系统研究与设计[A];2007年河北省电子学会、河北省计算机学会、河北省自动化学会、河北省人工智能学会、河北省计算机辅助设计研究会、河北省软件行业协会联合学术年会论文集[C];2007年
2 朱明;杨保安;;贷款风险分类专家系统研究[A];第七届计算机模拟与信息技术学术会议论文集[C];1999年
3 张建军;赵斌;张利;;汽车底盘大规模定制与专家系统研究[A];计算机技术与应用进展——全国第17届计算机科学与技术应用(CACIS)学术会议论文集(下册)[C];2006年
4 杨仁树;马鑫民;张博;张军;刁良海;;协庄煤矿巷道爆破设计专家系统研究[A];中国爆破新技术Ⅱ[C];2008年
5 陶春虎;刘新灵;张卫方;;失效分析专家系统研究进展[A];海峡两岸第二届工程材料研讨会论文集[C];2004年
6 赵德孝;;金山店铁矿出矿设备选型的专家系统研究[A];加入WTO和中国科技与可持续发展——挑战与机遇、责任和对策(上册)[C];2002年
7 崔庆泉;汤文成;;回转体零件的CAPP专家系统研究[A];江苏省机械工程学会第六次会员代表大会论文集[C];2002年
8 崔奇明;;基于WEB的非精确反向推理专家系统研究与应用[A];2009年全国输变电设备状态检修技术交流研讨会论文集[C];2009年
9 向往;刘惠康;;基于多模型集成的高炉专家系统研究[A];2008全国第十三届自动化应用技术学术交流会论文集[C];2008年
10 向往;刘惠康;;基于多模型集成的高炉专家系统研究[A];中国计量协会冶金分会2008年会论文集[C];2008年
中国博士学位论文全文数据库 前1条
1 张谆;施工振动风险评估模型及专家系统研究[D];大连理工大学;2011年
中国硕士学位论文全文数据库 前10条
1 刘阳;基于人工智能的五子棋专家系统研究和设计[D];电子科技大学;2015年
2 尹如军;公路工程投标计算机辅助管理专家系统研究[D];长安大学;2001年
3 李伟;机械化保护性耕作专家系统研究[D];中国农业大学;2002年
4 王占全;面向产品质量规划的故障分析专家系统研究[D];浙江大学;2002年
5 冯维;老年痴呆症早期预测专家系统研究与应用[D];大连理工大学;2007年
6 许婧妍;被动目标检测与自动判决专家系统研究[D];哈尔滨工程大学;2007年
7 王兵;引控系统发射决策专家系统研究与实现[D];中国工程物理研究院北京研究生部;2002年
8 刘斌;基于多模型集成的高炉专家系统研究[D];武汉科技大学;2007年
9 高莉;高速公路沥青路面病害诊治专家系统研究[D];长安大学;2001年
10 杨宇;组合机床液压系统故障诊断专家系统研究[D];武汉理工大学;2008年
,本文编号:902555
本文链接:https://www.wllwen.com/shoufeilunwen/xixikjs/902555.html