“启发式搜索与人机博弈”的教学设计一、前言人工智能是一门研究运用计算机模拟和延伸人脑功能的综合性学科,涉及数学、计算机科学、控制论、信息学、心理学等学科,即使在大学里,也是一门深奥难学的学科。因此,在高中阶段开展人工智能教学,相比大学,虽然教学侧重点不同,难度降低,但教学难度还是可想而知的。高中阶段的人工智能课程教学,一旦处理不当,将会使学生失去兴趣,又会成为一门学生不喜欢的枯燥的课程。因此,我们试图在人工智能的教学过程中,创设一些学生能够接收的、有兴趣的实践活动。通过各种活动,让学生进行思考,并让学生自己得出一些结论。同时,希望学生得出的结论是无固定答案的,能体现学生想象力、创造力的结论。同时将学生的结论发布在网络的论坛上,在师生讨论这些结论的过程中,进一步提升全体学生对人工智能的认识,感受人工智能技术的丰富魅力,增强对信息技术发展前景的向往。下面就“启发式搜索与人机博弈”的两节课,通过上述的设想进行教学设计。“启发式搜索与人机博弈”教学之前,学生已经学习了穷举式搜索的知识,如宽度优先搜索和深度优先搜索;已经了解了状态空间、状态空间搜索及启发式搜索等概念。在“启发式搜索与人机博弈”的教学中,将通过各种活动,让学生进一步了解启发式搜索的过程,启发式搜索与穷举式搜索的不同之处,并让学生在人机博弈中,如何通过启发式搜索,引入“人”的思维。在“启发式搜索与人机博弈”的任务驱动法中,如何设计学生活动是至关重要的。好的学生活动将激发学生的学习兴趣,活跃学生的思维,因此,在下面的具体的教学设计中,重点给出我们设计的教学活动。抛砖引玉,希望同行们能给出更多更好的学生活动,使人工智能教学在中学里,能优质高效地开展。二、“启发式搜索与人机博弈”第一节课教学任务:任务1:让学生实际操作文曲星等电子字典符带的黑白棋游戏,写出该游戏的规则,并在“玩”的过程中,总结出自己设想的“致胜”法则。任务2:进入Internet,查找人机博弈的相关资料。课前准备:·让学生准备带有黑白棋的电子字典。(或者在网络教室的每一台学生机上,安装黑白棋程序。)·在教师机中,设置“教学资料”只读共享文件夹,存放有表格一和表格二的Word文档。·在教师机中,设置“作业上交”完全共享文件夹,学生完成的作业上交至该文件夹中。教学过程:教学步骤教师活动学生活动设计意图新课导入1.讲解如何启动黑白棋程序。2.讲解黑白棋的基本规则,并简单演示如何“玩”黑白棋。3.重点说明在“玩”的过程中,本节课教学要完成的任务。1.了解本节课的两个教学任务。2.启动并开始“玩”黑白棋。通过“玩”黑白棋游戏,理清自己(也就是“人”)在走棋时的思路。教学任务11.指导学生如何从教师机上获取表格一和表格二。2.在表格一中,将黑白棋的第一条规则,也是最难写一条规则,提供给学生,给学生作为范例。3.例一:参照图一,讲解黑白棋的上述规则。如:现轮到黑棋走。若黑棋在“C6”位下一棋,则垂直方向的“C5”和对角线方向的“D5”白棋均变为黑棋了。4.与学生讨论一些“致胜”法则。如:吃子越多越好等法则。并引导学生进行深入讨论,如:“吃子越多越好”是一条最好的“致胜”法则吗?5.指导学生将填写好表格一和表格二1.通过例一,了解黑白棋的最基本规则。回答:当黑棋在图一的其它位置上下一棋子时,棋局发生什么变化?2.写出黑白棋的游戏规则,并填写表格一。3.总结自己认为的“致胜”法则,并填写表格二。4.整理自己的“致胜”法则。如:各条“致胜”法则的优先级;哪些“致胜”法则将受哪种条件的制约等。对自己想不清楚的问题,可放到校园网的论坛中进行讨论。5.上传填写好表格一、表格二的Word文档。通过书写游戏规则和游戏的“致胜”法则,让学生学会如何分解自己“瞬间”的思维(即“放慢”思维速度),将“模糊”的、原始的思维,逐步转化为可用文字表达的、较为清晰的游戏规则和游戏“致胜”法则。游戏规则虽然是定死的,但也允许学生用自己的方式表达。而游戏的“致胜”法则,则每个学生都会有自己不同的想法,要鼓励学生发表自己独特的见解。的Word文档,以自己的学号为文件名,上传到教师机上。教学任务21.教学任务2是针对已经较好完成任务1的同学而设置的。2.在参考网址中提供了一些有关的网站。1.进入教师提供的网站,浏览人机博弈的相关资料。2.自己查找更多有关人机博弈的资料。3.将查到的好的网址或好的资料,发布到校园网的论坛上,供大家讨论。通过查找人机博弈的资料,让学生了解人机博弈研究的进展,了解编写人机博弈程序的难度,激发学生对人机博弈的兴趣。表格一:黑白棋的游戏规则序号游戏规则1双方轮流走,所走的棋在水平、垂直、对角线方向,将对方所夹的棋,均变为自己颜色的棋。234表格二:自己认为的“致胜”法则序号“致胜”法则备注12345注:尽量标明“致胜”法则的优先级。各种“致胜”法则在不同情况下,如果优先级会发生变化,请在备注中说明。图一:黑白棋的某一状态图,现在由黑棋下棋。参考网址:·中国黑白棋联盟·黑白棋世界·中青在线的电脑历史·赛伯时空网的电脑下棋传奇·电脑中国象棋软件AI评附:参考答案表格一:黑白棋的游戏规则序号游戏规则1双方轮流走,所走的棋在水平、垂直、对角线方向,将对方所夹的棋,均变为自己颜色的棋。2当轮到该方下子,而该方又无法下子时,则由对方下子。3当一方的子被另一方全吃完时,则被吃完的一方被认为是“输家”。4当所有的棋格均被填满后,棋子多的一方被认为是“赢家”。表格二:自己认为的“致胜”法则序号“致胜”法则备注1能占角的,尽量先占角。序号1的法则,优先于序号2的法则。2能占边的,尽量先占边。如果本方能占边,但导致对方能占角,则本法则不适用。3尽量将对方占边的子吃掉。可能导致对方占角的,则该法则不适用。4尽可能将对角线上的对方子吃掉。可能导致对方占角的,则该法则不适用。5尽可能多地吃掉对方的子。在上述法则均不适用的情况,再使用该法则。注:上述“致胜”并不是最优的法则,仅为一种较为可行的“致胜”法则,供大家讨论。三、“启发式搜索与人机博弈”第二节课教学任务:任务1:写出在理想状态下,对黑白棋走两步后的评价函数。任务2:进入Internet,查找资料,讨论在人机博弈中的一些问题。如:·“致胜”法则的好坏与评价函数的关系。·在博弈搜索中,为什么会产生节点爆炸问题。·在人机博弈中,除了采用启发式搜索外,还会用到哪些搜索策略?·通过前面的实践操作和分析,谈谈在人机对弈游戏中所指“棋力”的含义是什么?课前准备:·整理学生前一节课上交的作业,将学生提出的“致胜”法则上传到校园网的论坛上。·或将前一节课学生上交的作业所在的文件夹,设置成只读共享文件夹,供大家浏览讨论。·在教师机中,设置“作业上交”完全共享文件夹,学生完成的作业上交至该文件夹中。教学过程:教学步骤教师活动学生活动设计意图复习讨论1.引导学生讨论在前一节课中,哪些“致胜”法则较为有效。2.提出问题,如何将“致胜”法则,转换为判断在某个位置下子的依据。3.给出一种黑白棋的状态(如图二,此时由黑棋下子),如果黑棋下一子,白棋下一子,黑棋再下一子后,作为目标状态。引导学生讨论,该如何搜索。1.通过浏览、讨论,了解自己与其他同学的“致胜”法则的优缺点。2.思考“致胜”法则的好坏,与对弈取胜的关系。3.针对教师给出的这种状态,讨论如何进行搜索。将具体的黑白棋,与“抽象难懂”的搜索算法逐步联系起来。化解搜索算法的难度,让更多的学生对启发式搜索算法感兴趣。教学任务11.回忆以前学过的知识,针对图三,与学生一起讨论穷举式搜索的空间状态图和搜索量。1.利用图三,分析穷举式搜索的空间状态图和搜索量。2.学生分成三组,根据教师在B利用学生已经熟悉的黑白棋,来讨论在人机对弈时,如何求各个节点的评价函数f,进一步了解启2.提醒学生,上述讨论出黑方最佳的下子位置,是在一种理想状态下的搜索得到的,即白方是按黑方的愿望来下子的,也没有“致胜”法则的介入。3.继续在这种理想状态下,讲解如何用启发搜索减少搜索量。4.给出一种求评价函数f的方法:其g值为当前状态下白棋的个数;h取即使白棋不下子,黑棋最多能杀白棋的个数。如图三,以此方法计算出的各个节点的评价函数,并画出搜索线路图。5.引导学生讨论:比较完全搜索与启发式搜索的不同点。并讨论编写人机对弈程序的难度。分枝给出的范例,分别完成A、C、D三个分枝各个节点的g、h值及该节点的评价函数f值的计算。3.每组学生在自己这一分枝上,根据评价函数画出启发式空间状态搜索图。4.通过对比穷举搜索和启发式搜索,回答启发式搜索的优越性。5.讨论:若加入某一“致胜”算法,那么各节点的g、h、f又该如何计算?发式搜索,及启发式搜索在人机对弈中的作用。有没有更好的求评价函数f的方法?加入某一“致胜”算法后又如何求评价函数?通过多种方法,让学生充分了解求出在启发式搜索中占重要地位的评价函数。教学任务21.教学任务2是针对已经较好完成任务1的同学而设置的。2.对任务2的四个问题,教师作简要的说明。如人机博弈程序除加入启发式信息外,程序还要具备自学习功能;另外,极小—极大法,α—β剪枝法也是人机博弈程序中常用的方法等,帮助学生完成相关问题的回答。1.进入因特网,针对任务2的四个问题,查找相关资料。2.对一般同学,要求回答其中的一个问题。对能力较强的同学,要求尽可能多地回答问题。也可自己提出问题,发布在校园网的论坛上。3.将回答的问题,写在Word文档中,上传到老师的“作业上交”文件夹中。通过教学任务2,让学生了解到,人机博弈程序中,除了教学中要求掌握的启发式搜索外,还有许多问题要解决。图二:黑白棋的某一状态图。注:图中的数值,是“WZebra”黑白棋程序提供的在该位下子的估算值。图三:黑白棋的空间状态图。