计算机博弈和算法设计和分析实验教学.docVIP

计算机博弈和算法设计和分析实验教学.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机博弈和算法设计和分析实验教学

计算机博弈和算法设计和分析实验教学   摘要:目前“算法设计与分析”课程的实验题目主要以验证课堂所讲的理论为主,不利于培养学生的学习兴趣、创新意识和能力。提出将计算机博弈竞赛项目与“算法设计与分析”实验教学题目相结合的观点,并论述了两者结合的意义和可行性。   关键词:算法设计与分析;计算机博弈;实验教学   作者简介:李淑琴(1963-),女,北京人,北京信息科技大学计算机学院,教授;李宁(1964-),男,北京人,北京信息科技大学计算机学院,教授。(北京?100101)   基金项目:本文系校研究生优质课程建设项目(项目编号:YKJ201104)、校研究生科技创新和实践能力培养项目、校教学改革研究项目(项目编号:2010JG19)的研究成果。   中图分类号:G642.0?????文献标识码:A?????文章编号:1007-0079(2012)20-0093-02   “算法设计与分析”是计算机科学的核心问题之一,是计算机科学与技术专业本科及研究生的一门重要的专业基础课,也是计算机软件开发人员的必修课。“算法设计与分析”课程主要针对生活中经常遇到的实际问题,讲授如何设计并实现计算机算法的基本原理、思想、方法与技术,从而使学生在选择或者设计算法时可以对其进行时空耗费分析,使算法的时空复杂性最优,进而为其编写出高效程序、开发出优秀软件系统奠定基础。   近年来北京信息科技大学招考的计算机专业的研究生中,本科不是计算机科学或相关专业毕业却想攻读计算机科学硕士学位的学生比例不断加大,这些学生来自全国各地不同类型的学校,对应该在本科生阶段掌握的计算机专业的理论深度与广度的把握有较大差别,学生普遍编程能力较弱,远达不到灵活运用的程度。而“算法设计与分析”课程是理论与实践并重的课程,是一门集应用性、创造性及实践性融为一体的课程。学生通过学习算法设计与分析课程可以开阔编程思路,编写出高效程序,对学生分析问题、解决问题的能力培养起到非常重要的作用。   目前北京信息科技大学算法课设置为计算机专业硕士研究生的一门专业基础课,32学时。为了提高学生的综合能力,我们对该课程的实践题目上下功夫,主要设计了两个方面的题目。   第一类题目,称为验证型小实践。主要是将课堂讨论的理论加以验证,一方面加深对理论的理解,另一方面锻炼编程能力。这部分作业是实现算法课的最基本要求,因此要求每个学生必须独立并保质保量地完成。   第二类题目,称为应用型大实践。作为研究生仅仅停留在算法的验证上还是不够的,要使学生能够跟上技术发展的步伐,增强就业竞争力,就要加强创新能力培养,全面提高分析问题和解决问题的能力,提高灵活应用经典算法和当前的新技术进行程序设计的能力。将计算机博弈竞赛题目作为“算法设计与分析”课程综合实践题目是一个可行方案。   一、计算机博弈与“算法设计与分析”   计算机博弈,顾名思义就是让计算机拥有人的思维去进行博弈游戏,能够像人一样下棋。计算机博弈是既简单方便、经济实用又内涵丰富、变化无穷的思维逻辑的研究载体,它在国际上作为一个学科领域,已经开展了半个多世纪的研究与竞赛活动,经过了波澜壮阔的艰苦历程。1997年5月IBM“深蓝”计算机战胜世界棋王卡斯帕罗夫,成为计算机博弈和人工智能的里程碑。目前,无论在国际还是国内,计算机博弈比赛每年举办一次,竞赛项目包括六子棋、点格棋、苏拉卡尔塔棋、亚马逊棋、幻影围棋、中国象棋、围棋、九路围棋等项目。   编写一个好的计算机博弈程序需要涉及数据结构、编程语言、程序设计方法、软件工程、并行计算等综合知识,可以综合提高学生的实践创新能力。   一个完整的机器博弈系统主要包括棋局表示、着法生成器、搜索引擎以及评估函数四部分。   棋局表示是对比赛过程中形成的棋局的描述,涉及数据结构的选择,其中包括棋盘、棋子、障碍、空格、棋局、走棋表示的编码与存储。良好的数据结构可以节省大量的存储空间,可以提高存取的效率。为了适应博弈树的展开与搜索,常常还要同时给出棋局的多种数据格式。如棋局状态、棋子位置、比特棋局和比特向量,还要用到哈希变换和哈希表等。   着法生成器是在已形成的棋局下生成可行的着法,涉及对下棋规则的描述并根据规则生成所有可行着法,是搜索对象的产生器。   搜索引擎是如何找到最优着法,这是计算机博弈的核心部分,是对人类思维模拟的最佳体现。搜索算法包括着法生成、博弈树展开、各种剪枝搜索和各种启发式搜索。涉及的核心问题覆盖了常见的算法设计策略。   局面评估就是对棋局进行评估,是搜索算法的前提。棋局的静态评估是计算机博弈的另一个难点,它不仅需要棋类对弈的基本知识,而且用到直接量化、模式量化、随机评估、模糊评估等一系列手段。例如象棋,可以给每个棋子和棋位打分,而对于围棋则要进行定式的抽取和模式的匹配。   以上这些问题都是

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档