人工智能课程设计(五子棋)
2 研究问题描述
2.1 问题定义
问题定义的一个的关键问题是“要解决的问题是什么” ,这个是这个阶段 必须要明确要回答的问题。在没将问题定义好,试图准备下个阶段的任务。这 明显是不成熟,甚至不可能的事。 本次系统设计中首先明确了需要解决的问题是五子棋 AI 算法,基本的要 求是设计一款能够实现人机对战、人人对战和禁手的五子棋游戏,提供一些基 本的操作如退出系统,向后悔棋等操作,重点是放在 AI 算法的研究。而并不 是美工设计,也不是为了提供各种操作丰富的接口。主要是通过这种可视化的 界面探讨 AI ,当然增加可玩性和美工会给系统润色不少。 上面只是很粗略的明确大概的方向,严格按照软件工程的方法这个阶段需 要生产一份书面报告。需要通过对系统的实际用户访问调查,扼要地写出他对 问题的理解,并在用户和使用部门负责人的会议上认真讨论这份书面报告,澄 清含糊不精的地方, 改正理解不正确的地方, 最后得出一份双方都满意的文档。 本系统的需求很少也很明显了。
-2-
课程名称:人工智能原理及其应用
学生姓名:何兵
学生学号:1143041163
1 引言
1.1 五子棋简介
五子棋是一种两人对弈的纯策略型汉族棋类益智游戏,棋具与围棋通用, 由中国汉族人发明,起源于中国上古时代的传统黑白棋种之一。主要流行于华 人和汉字文化圈的国家以及欧美一些地区。 容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力, 提高智力,而且富含哲理,有助于修身养性。已在各个游戏平台有应用。 古代五子棋棋盘与围棋棋盘是通用的,汉魏时为十七路( 17 × 17 )棋盘, 至南北朝时即已流行十九路( 19 × 19 )棋盘,直至 1931 年出现所谓五子棋专用 棋盘。
学生姓名:何兵
学生学号:1143041163
五子棋
计算机科学与技术 专业 学生 XXX 指导老师 张建州
[摘要] 人类之所以不断在进步,是因为我们人类一直不断的在思考,五 子棋游戏程序的开发符合人类进步也是促进人类进步的一大动力之一。五子棋 游戏程序让人们方便快捷的可以下五子棋,让人们在何时都能通过下棋来提高 逻辑思维能力,同时也培养儿童的兴趣以及爱好,让孩子更加聪明。 同时,五子棋游戏程序的开发也使得五子棋这个游戏得到了广泛的推广, 让世界各地的人们知道五子棋,玩上五子棋,这已经不是局限。五子棋游戏程 序使得越来越多的人喜欢上了五子棋,热爱下五子棋,它是具有很好的带动性 的。 关键词: 五子棋 进步 思考
1.2
五子棋游戏的发展与现状
目前,连珠这一棋类运动已迅速在国际上发展起来。外国人都十分看好这 一不起眼的智力游戏,并认为五子棋不仅能提高思维、开发智力、手脑并用、 修身养性 而且富含哲理, 具有东方的神秘和西方的直观, 是中西文化的交汇点。 许多国家的人对五子棋都有不同的爱称, 例如韩国人把五子棋称之为 “情侣棋” , 言下之意是情人之间下五子棋有利于增加情感的交流;欧洲人称之为“中老年 棋” , 表示五子棋适合中老年人的生理特点和思维方式;美洲人喜欢将五子棋称 之为“商业棋” ,就是说商人谈生意时可一边下棋一边谈生意,棋下完了生意也 谈成了。由此可见,尽管国度不同,语言各异,但人们都可以借助五子棋这一 简单而又深奥的棋艺进行交流、比赛,增进友谊。 当前, 有40多个国家和地区都在下五子棋,并有各种规模和级别的比赛。 1989年8月在日本京都、1991年8月在俄罗斯联邦的莫斯科、199 3年8月在瑞典、1995年8月在爱沙尼亚的塔林分别举行了第一、二、三、 四届世界锦标赛。除第三届的冠军是爱沙尼亚人之外,其余三届的冠军都是日 本人。五子棋 的世界锦标赛,每两年举办一次,其申国竞争也十分激烈。日本 目前拥有自己的五子棋职业棋手,并且对连珠(五子棋)技术的研究也相当普 遍和全面,就水平也正在日益增强。同时,五子棋的理论研究与探索也呈现蓬 勃发展的势头,从1858年第一部五子棋专著问世以来,目前,全世界有2 000多种五子棋的书籍及期刊,分别以日文、俄文、英文、瑞典文及中文出 版发行。五子棋在我国的北京、上海、天津、云南、浙江、广东、四川、湖北、 辽宁、新疆、河北等省(区)市都有很大的发展。北京多次举办了北京地区的 五子棋赛,如“思曼杯” 、 “京空杯” 、 “奇奇童杯” 、 “北京第六届民族团结杯” 和“北京第四岂民族运动会”的五子棋比赛。上海地区举办了“上文杯”五子 棋大赛。云南省以及其他省市亦举办过许多五子棋比赛。所有这些赛事都越来 越多地吸引了无数人的关注, 表明了根植于中国的五子棋有着广泛的群众基础,
-3-
课程名称:人工智能原理及其应用
学生姓名:何兵
学生学号:1143041163
是群众喜闻乐见的体育活动。 而现在,很多很多游戏平台上面都有五子棋游戏供我们玩,任何游戏平台 上面只要有棋牌类游戏的,那么它就有五子棋在里面,网络五子棋比赛,在联 众,263 ,QQ 游戏,UC 里进行了 10 几年了可见,五子棋游戏在网络上面是非 常火暴的,而且在棋牌游戏里面玩家人数排名总会占到很前面,不愧是风靡全 球的棋牌游戏啊!在未来中,将会有越来越多的人关注五子棋,喜欢五子棋, 那么将其变为商业化也会越来越多,而且还可以以教育孩子的方式来将其嵌套 进去,或者用来做测试等等,可以说以后的五子棋游戏会是那么的精彩,那么 的让人憧憬。那么对于它的游戏开发和发展也将会上升到举足轻重的地位去, 它的发展会是相当之快的,就让我们拭目以待吧。
-1-
课程名称:人工智能原理及其应用
学生姓名:何兵
学生学号:1143041163
目录
《人工智能导论》课程报告 ........................................................................................... 0 1 引言 ..................................................................................................................................3 1.1 五子棋简介 .....................................................................................................3 1.2 五子棋游戏的发展与现状 ............................................................................. 3 2 研究问题描述 .................................................................................................................4 2.1 问题定义 ............................................................................................................. 4 2.2 可行性研究 ......................................................................................................... 4 2.3 需求分析 ............................................................................................................. 5 2.4 总体设计 ............................................................................................................. 5 2.5 详细设计 ............................................................................................................. 6 2.6 编码和单元测试 ..................................................................................................6 3 人工智能技术 .................................................................................................................6 4 算法设计 ......................................................................................................................... 7 4.1α- β剪枝算法 ....................................................................................................... 7 4.2 极大极小树 .......................................................................................................... 7 4.3 深度优先搜索( DFS ) ......................................................................................8 4.4 静态估值函数 ......................................................................................................9 5 软件设计和实现 ............................................................................................................ 9 5.1 数据结构定义 .....................................................................................................9 5.2 程序流程图 .......................................................................................................17 6 性能测试 ....................................................................................................................... 18 6.1 程序执行结果 ...................................................................................................18 7 总结 ............................................................................................................................... 21 参考文献 ........................................................................................................................... 21