- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE \* MERGEFORMAT 1
目 录
一.课程设计目的……………………………………… 2
二.课程设计要求……………………………………… 2
三.课程设计内容……………………………………… 2
四.课程设计思想……………………………………… 2
五.系统实现…………………………………………… 2
设计平台……………………………………… 2
数据结构设计………………………………… 3
程序流程图设计……………………………… 3
主要算法设计………………………………… 4
程序调试及运行结果………………………… 4
六.课程设计总结……………………………………… 5
七.参考资料…………………………………………… 6
八.附录:五子棋博弈算法源代码…………………… 7
课程设计目的
通过上学期学习的《人工智能》学科,运用推理技术、搜索方法和决策规划和博弈树设计五子棋人机博弈系统,以此进一步深化对理论知识技术的了解,培养学生编程能力以及实践水平。
二.课程设计要求
通过本次课程设计要求学生掌握以下内容:
1.深入了解博弈树和alpha-beta剪枝算法。
2.设计出适合五子棋算法的启发式函数。
3.熟练掌握启发式的搜索方法。
三.课程设计内容
本系统实现的是五子棋博弈算法,运用java语言实现了图形用户界面,方便用户使用。算法采用了博弈算法和启发式函数进行搜索,人机对弈可自动判断输赢,结束后可重新开局。
四.课程设计思想
本系统实现的是五子棋博弈算法,为了方便用户的使用,采用的是java图形用户界面技术。为了记录棋盘的每一个下棋点,定义数组array[19][19]。并用shape[16][16][5]记录所有获胜的组合。首先由玩家落子,前两步电脑根据玩家的落子情况在附近随机落子,第三步电脑开始搜索,并根据玩家落子情况对棋盘进行全局搜索(Scan)并排序(Sort),并对每一个落子点进行打分并选择分值最大的点(Evaluate)落子,判断玩家或电脑是否获胜(Judge),一方获胜则结束。
五.系统实现
1.实验平台:
myeclipse 8.5
2.数据结构设计:
(1)int array[19][19]:记录棋盘的每一个下棋点
(2)int max_x:记录最大评估值的横坐标
int max_y:记录最大评估值的纵坐标
int max :记录最大评估值
(3)int shape[16][16][5]:记录所有获胜组合
3.程序流程图设计:
开始
开始
玩家落子
玩家是否获胜
电脑对棋盘进行搜索,对每个点打分,记录最大值及其位置
电脑选择分值最大的点落子
电脑是否获胜
是否重新开局
结束
是
是
是
否
否
4.主要算法设计:
(1)class ChessPad:绘制棋盘棋子,初始化棋盘,添加鼠标点击事件。
(2)class ChessPoint_black:黑棋下棋的走法和显示
(3)class ChessPoint_white:白棋下棋的走法和显示
(4)class Chess:棋盘属性的设置
(5)class Evaluate:对每一步可选择的方法进行打分,选择最大值,记录坐标。
(6)class Scan:查看八个方向上相邻相同颜色棋子的个数。
(7)class Judge:判断是否有一方获得胜利。
(8)class AutoPlay:电脑的下棋走法,依据玩家当前的落子位置来判断自己的走子位置。
5.运行结果:
(1)人机对弈,黑棋为人操作,白棋为计算机操作,人赢得胜利的页面截图如
下:
(2)人机对弈,黑棋为人操作,白棋为计算机操作,计算机赢得胜利的页面截图如下:
六.课程设计总结:
通过小组合作完成五子棋人机博弈系统,自己更透彻的了解了上学期学习的《人工智能》教授的知识,可谓一大收获;同时更强化了Visual C++的一些基本技术,捡回了选修课讲过的很多相关知识,可谓是另一大收获。在对五子棋人机博弈的估值搜索算法的设计上,采用博弈搜索的方法,采用静态估值函数对各节点的代价进行估计,使算法达到最优。小组合作区别与自己独立实验,此一形式,让我们扬长避短,体味到了团队合作的快乐!
七.参考资料:
蔡自兴.人工智能及其应用[M].北京:清华大学出版社,1999
王小春.游戏编程(人机博弈)[M].重庆:重庆大学出版社,2002
潘金贵,顾铁成,曾俭等编译.现代计算机常用数据结构和算法[M].南京:南京大学出版社,1994
王永庆.人工智能原理与方法[M].西安:西安交通大学出版社,1998
林尧瑞,马少平.人工智能导论[M].北京:清华出版社,1989
田盛丰,黄厚宽.人工智能与知识工程[M].北京:中国铁道出版社,1999
王镌.博弈树
您可能关注的文档
- 王宁、艾伦《白蛇前传》台词完整版——欢乐喜剧人 (1).docx
- 王者荣耀是荣耀-还是毒药.doc
- 网吧网络构建.doc
- 网购物网站毕业设计开题报告.docx
- 网络工程专业毕业实习报告范文.doc
- 网络爬虫设计与实现毕业设计论文.doc
- 网络谣言,做网络诚信大学生”主题班会记录.doc
- 网上商城开发计划书.doc
- 网上特产销售系统的分析与设计.doc
- 往年数字图像处理复习题.doc
- 江粮集团所属生产制造事业部和品控中心2025年校园招聘延迟考试参考试题及答案解析.docx
- 自动化系统设计员《系统设计(专业课)》2024-2025学年第二学期综合测试试卷及答案.doc
- 2026中水北方勘测设计研究有限责任公司招聘95人(第一批)考试参考试题及答案解析.docx
- 2025年环境因素识别及风险评价表格.pdf
- 自动化系统设计员《系统维护创新(专业课)》2024-2025学年第二学期综合测试试卷及答案.doc
- 2026中国能建浙江院校园招聘考试备考试题及答案解析.docx
- 2025年金融AI信用评分(含答案与解析).docx
- 成都师范附属小学公开招聘员额教师(6人)考试参考试题及答案解析.docx
- 2025年具身智能环境建模精度试题(含答案与解析).docx
- 银川小孔明学校政治教师、招生办工作人员招聘考试参考题库及答案解析.docx
最近下载
- I’m more outgoing than my sister说课稿 人教版.docx VIP
- 总务处主任的述职报告范文.doc VIP
- 人教版2024八年级上册英语Unit 4 Section A (2a~2e) 课件.pptx VIP
- 人教版初二数学上册中考尺规作图复习教学设计 .pdf VIP
- Unit+4+Section+A+2a-2e课件+2025-2026学年人教版(2024)英语八年级上册.pptx VIP
- 小学总务处主任述职报告PPT.pptx VIP
- Unit 4 Section A (1a~2e) 课件2025-2026学年人教版八年级英语.pptx VIP
- 世界的地形课件七年级地理上学期人教版1.pptx
- 世界的地形课件七年级地理上学期人教版2.pptx VIP
- (正式版)DB15∕T 2748-2022 《绿色电力应用评价方法》.docx VIP
文档评论(0)