下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机博弈教学中的计算思维能力培养计算机博弈教学中的计算思维能力培养
文章编号:1672-5913〔2022〕05-0022-03
中图分类号:G642
1背景
计算思维是运用计算机科学的思想与办法进行问题求解、系统设计、人类行为理解等涵盖计算机科学之广度的一系列思维活动[1]。在信息化时代,计算思维是一种和逻辑思维一样的根本能力。美国卡内基《梅隆大学周以真教授认为,与“读写算〞一样,计算思维应该是21世纪每个人都必须具备的根本技能[1]。蒋宗礼教授认为:一个人假设不具备计算思维能力,将在从业竞争中处于劣势;一个国家假设不能使广阔受教育者得到计算思维能力的培养,在剧烈竞争的国际环境中将处于落后地位[2]。教育部高等学校大学计算机课程教学指导委员会于2022年7月发表了?九校联盟〔C9〕计算机根底教学开展战略联合声明》,正式提出计算思维教学改革宣言[3]。宣言明确指出:要旗帜鲜明地把计算思维能力的培养作为计算机根底教学的核心任务,加强以计算思维能力培养为核心的计算机根底教学课程体系和教学内容的研究。
近几年来,为了在计算机根底教学中加强对计算思维能力的培养,笔者尝试以计算机博弈为落脚点,通过计算机博弈教学提升学生的计算思维能力。计算思维能力主要包括以形式化和模型化为根底的形式化描述、抽象思维与逻辑思维能力[2],棋类对弈过程集中展现出来的逻辑思维、形象思维和灵感思维完美地覆盖了计算思维能力波及的各个方面,而计算机博弈恰好是棋类对弈这种人类高级思维活动的直接模拟。一个计算机博弈工程的实施涵盖了下棋规那么问题的描述:棋盘、棋子障碍、空格、棋局、走棋表示等形式化数据描述;存储方式的选取;搜索算法、评估函数模型的计算机描述;并行程序设计思想和问题求解的效率。
2计算机博弈中的计算思维能力培养
2.1通过递进式教学,学生建立起计算思维概念
人类博弈的棋种很多,全国大学生计算机博弈大赛暨全国计算机博弈锦标赛2022年的比赛共设置了17个工程,大学生工程包括五子棋、六子棋、不围棋、点格棋、苏拉卡尔塔棋、亚马逊棋、幻影围棋、爱恩斯坦棋、军棋、海克斯棋10种棋类;锦标赛工程包括中国象棋、围棋、13围棋、9路围棋、国际跳棋〔100格〕、国际跳棋〔64格〕、二打一扑克牌〔斗地主〕7种棋牌类。教学中笔者发现学生根据兴趣选定一个棋种后,常常不知如何下手。此时,笔者给学生引入计算思维的概念,即遇到具体问题时,首先考虑人类与计算机各自解决该问题的优势以及问题的可计算性。
人类在处理复杂的决策与对策问题时,主要依靠思考,而思考过程就是在脑海中搜索的过程,即根据脑中存储的数据、知识、经验、办法、关系等,力图在可能的着法中找到最正确的着法〔“解〞〕。人类下棋具有全局观或审局观,缺点是人类思考的深度有限。计算机下棋就是模仿人类下棋的思考过程,主要办法是在庞大的状态空间和博弈树中搜索。计算机的优势在于强劲的计算力,每秒可以计算上万亿个节点,但缺点是审局观差,很有可能一招不慎满盘皆输。
博弈树是一种形式化描述办法,通过介绍博弈树,让学生对形式化描述棋类博弈的过程有一个直观的认识,进而引导学生深刻理解对实际问题进行形式化描述的含义。
计算机并不能解决生活中所有的实际问题,因此学生在编写程序前需要了解要解决问题的复杂度,即问题的可计算性。笔者通过描述博弈树广度和宽度的含义,以具体棋种的博弈树为例,让学生理解复杂度的概念。表1展示了几种不同棋种的近似棋局状态数目。
由此,引导学生从计算机资源的角度分析解决问题的时间复杂度〔要通过多少步才能解决问题〕和空间复杂度〔在解决问题时需要多少内存〕。
当学生认识到完全展开常见棋类的博弈树是不可能完成的任务后,介绍如何将博弈树规模降低到计算机可解《Q的范围内,即评估函数和剪枝搜索算法。
至此,学生明白了一个计算机博弈系统程序至少包括棋局表示、走法生成、搜索引擎以及局面评估函数4个局部。棋局表示是比照赛过程中形成的棋局的描述。走法产生是将一个局面的所有可能走法罗列出来的程序。不同棋类由于规那么不同,走法产生的复杂程度也有很大区别。搜索是如何找到最优着法,这是计算机博弈的核心局部。局面评估就是对棋局进行评估,是搜索算法的前提,要编写局面评估函数向人类学习如何审局。
2.2以经典办法剖析为根底,培养学生的抽象和逻辑思维能力
对于博弈树的搜索,经典的搜索办法是极大极小搜索算法。通过对极大极小搜索算法的剖析,使学生深刻理解该算法背后的原理以及该算法可以选出最优结果的核心逻辑,训练学生的分析能力和逻辑思维能力,通过该算法递归实现的实例演示,强化学生的抽象空间思维能力。通过具体特例,向学生展示该算法可以被进一步优化的原因,然后介绍Alpha-Beta剪枝算法,通过具体实例演示,学生先对AB剪枝算法产生直观的认识,而后对其算法进行剖析,强化训练学生的逻辑思维能力,即对于某些满足特定条件的局面,为什么不用继续进行极大极小搜索。
再如,对于某些很难给出评价函数的棋类〔如围棋〕,研究人员提出使用蒙特卡洛办法,通过大量随机模拟对弈的结果得到着法。这种办法的底层有一个坚实的数学根底,上层使用并行计算,通过计算、模拟、采样、优化等一系列数学办法获得评估结果。AlphaGo采用蒙特卡洛树加深度学习的办法使计算机围棋技术有了明显的提高。
2.3由简到难,培养学生的综合分析与探索研究能力站在巨人肩膀上学习,是人类在探索世界的过程中不断进步的基本原因。对于博弈的4个主要局部,应指导学生学会查阅资料,应了解解决目前问题已有的技术和办法及其优缺点。示例,为了让计算机下棋,要将所有棋局元素,包括棋盘、棋子、棋局、着法、规那么、知识等,通过数字化办法〔编码〕转变为数据元素,各种数据元素再以特定关系构成相应的数据结构进行存储和处理。设计一种数据结构表示一种棋类游戏的状态往往要考虑几个方面的问题:占用的空间大小、操作数据的速度、使用方便与否。
以往,博弈棋盘的实现有两种:一是数组棋盘,二是位棋盘。数组棋盘就是定义一个数组,并利用数组的每个元素标示棋盘中每个位置的棋子情况。位棋盘亦称比特棋盘,用棋子状态条件的布尔值表示。棋局的存储也可采用Zobrist哈希技术实现,哈希数的最大优点在于它计算的是64位数的异或和,当棋局发生了变化,只要将相应变化棋子的哈希数再异或一次,便可以转变成新局面对应的哈希数。
2.4具体问题具体分析,拿出可行计划
了解了现有技术,就需要针对具体的工程给出可行计划。示例,“深蓝〞凭借强大的计算能力,借助穷举法穷尽了国际象棋对弈的所有变化,取得了《倮《,但对于围棋,计算机如果仍借助穷举推算,是不可能获得所有变化的。蒙特卡洛算法并不是全新算法,AlphaGo除了使用蒙特卡洛树进行搜索外,还采用了基于机器学习的神经网络。神经网络有很大的作用:第一是通过学习高水平棋手的棋谱,获得如何在盘面落子的棋感;第二是通过机器的增强型学习,获得形势判断的棋感。这两个棋感通过蒙特卡洛树搜索技术进行验证,使AlphaGo实现了技术突破。
3结语
培养学生具备计算思维能力,就是培养学生像计算机科学家那样思维,处理问题时学会从考虑人类与计算机的优势与局限性、要解决问题的复杂度、该类问题目前已有的解决办法及技术等方面着手,最后针对当前问题提出具体的算法、数据结构、程序语言等解决计划。计算机博弈是一种既简单方便、经济实用,又内涵丰盛、变化
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度停车场排水系统施工合同规范文本3篇
- 固化剂采购合同6篇
- 编程软件课程设计
- 抗肿瘤新药行业专题
- 脱甲烷塔课程设计
- 2024幼儿园招生工作计划(31篇)
- 算法课的课程设计
- 线上课程设计基本要素
- 算数运算测试java课程设计
- 药剂课程设计报告
- 寒假安全教育主题班会PPT-
- 学生资助手册
- (完整版)聚乙烯课件
- 中国雷暴日多发区特征及雷电发展变化
- 20232023山东省高中学业水平测试会考题及答案政治
- 独一味(正式稿2)
- 山西太原晋阳湖总体规划城市设计景观方案文本
- 干部业绩相关信息采集表
- 八年级上综合性学习 我们的互联网时代 练习卷(含答案)
- 中西文化概论(第三版)PPT完整全套教学课件
- 食品批发销售记录制度
评论
0/150
提交评论