人工智能是一门研究运用计算机模拟和延伸人脑功能的综合性学科,在教学中难度较大。因此,我们试图在人工智能的教学过程中,创设一些学生能够接收的、有兴趣的实践活动。通过活动让学生进行思考,并让学生自己得出相关的结论。我们希望学生得出的结论是无统一答案的,能体现学生想象力、创造力的结论。并将学生的结论发布在网络的论坛上,在师生讨论这些结论的过程中,进一步提升全体学生对人工智能的认识,感受人工智能技术的丰富魅力。下面就“启发式搜索与人机博弈”的两节课,根据上述思路进行教学设计。
在进行“启发式搜索与人机博弈”教学之前,学生已经学习了穷举式搜索的知识,如宽度优先搜索和深度优先搜索;已经了解了状态空间、状态空间搜索及启发式搜索的基本概念。在“启发式搜索与人机博弈”的教学中,将通过相关活动,让学生进一步了解启发式搜索的过程、启发式搜索与穷举式搜索的不同之处。在“启发式搜索与人机博弈”的任务驱动法中,如何设计学生活动是至关重要的。好的学生活动将激发学生的学习兴趣,活跃学生的思维,因此,在下面的具体的教学设计中,重点给出我们设计的教学活动。抛砖引玉,希望同行们能给出更多、更好的学生活动。
一、“启发式搜索与人机博弈”的第一堂课
教学任务:
任务1:让学生实际操作电子字典(例如文曲星)或博弈网站中的“黑白棋”游戏,写出该游戏的规则,并在“玩”的过程中,总结出自己设想的“致胜”法则。
任务2:进入因特网,查找“人机博弈”的相关资料。
课前准备:
·让学生准备带有黑白棋的电子字典。(或者在网络教室的每一台学生机上,安装黑白棋程序。)
·在教师机中,设置“教学资料”只读共享文件夹,存放有表格一和表格二的Word文档。
·在教师机中,设置“作业上交”完全共享文件夹,学生完成的作业上交至该文件夹中。
教学过程:
|
教学步骤 |
教师活动 |
学生活动 |
设计意图 |
|
新课导入 |
1.讲解如何启动黑白棋程序。
2.讲解黑白棋的基本规则,并简单演示如何“玩”黑白棋。
3.重点说明在“玩”的过程中,本节课教学要完成的任务。 |
1.了解本节课的两个教学任务。
2.启动并开始“玩”黑白棋。 |
通过“玩”黑白棋游戏,理清自己(也就是“人”)在走棋时的思路。 |
|
教学任务1 |
1.指导学生如何从教师机上获取表格一和表格二。
2.在表格一中,将黑白棋的第一条规则,也是最难写一条规则,提供给学生作为范例。
3.例一:参照图一,讲解黑白棋的上述规则。如:现轮到黑棋走。若黑棋在“C6”位下一棋,则垂直方向的“C5”和对角线方向的“D5”白棋均变为黑棋了。
4.与学生讨论一些“致胜”法则。如:“吃子越多越好”等。并引导学生进行深入讨论,如:“吃子越多越好”是一条最好的“致胜”法则吗?
5.指导学生将填写好表格一和表格二的Word文档,以自己的学号为文件名,上传到教师机上。 |
1.通过例一,了解黑白棋的最基本规则。回答:当黑棋在图一的其它位置上下一棋子时,棋局发生什么变化?
2.写出黑白棋的游戏规则,并填写表格一。
3.总结自己认为的“致胜”法则,并填写表格二。
4.整理自己的“致胜”法则。如:各条“致胜”法则的优先级;哪些“致胜”法则将受哪种条件的制约等。对自己想不清楚的问题,可放到校园网的论坛中进行讨论。
5.上传填写好表格一、表格二的Word文档。 |
通过书写游戏规则和游戏的“致胜”法则,让学生学会如何分解自己“瞬间”的思维(即“放慢”思维速度),将“模糊”的、原始的思维,逐步转化为可用文字表达的、较为清晰的游戏规则和游戏“致胜”法则。
游戏规则虽然是事先确定的,但也允许学生用自己的方式表达。而对于游戏的“致胜”法则,每个学生都会有自己不同的想法,要鼓励学生发表自己独特的见解。 |
|
教 学 任 务 2 |
1.教学任务2是针对已经较好完成任务1的同学而设置的。
2.在参考网址中提供了一些有关的网站。 |
1.进入教师提供的网站,浏览人机博弈的相关资料。
2.自己查找更多有关人机博弈的资料。
3.将查到的好的网址或好的资料,发布到校园网的论坛上,供大家讨论。 |
通过查找人机博弈的资料,让学生了解人机博弈研究的进展,了解编写人机博弈程序的复杂程度,激发学生对人机博弈的兴趣。 |
表格一:黑白棋的游戏规则
|
序号 |
游戏规则 |
|
1 |
双方轮流走,所走的棋在水平、垂直、对角线方向,将对方所夹的棋,均变为自己颜色的棋。 |
|
2 |
|
|
3 |
|
|
4 |
|
表格二:你认为的“致胜”法则
注:尽量标明“致胜”法则的优先级。各种“致胜”法则在不同情况下,如果优先级会发生变化,请在备注中说明。

图一 黑白棋的某一状态图(现在由黑棋下子)
参考网址:
•中国黑白棋联盟http://www.othello-china.com/
•黑白棋世界http://blacwet.myrice.com
•中青在线的电脑历史http://www.cyol.com/gb/it/2000-11/28/node_721.htm
•赛伯时空网的电脑下棋传奇http://www.cst21.com.cn/1/old07.htm
•电脑中国象棋软件AI评http://jyx.myrice.com/book/dnai.html
附:参考答案
表格一:黑白棋的游戏规则
|
序号 |
游戏规则 |
|
1 |
双方轮流走,所走的棋在水平、垂直、对角线方向,将对方所夹的棋,均变为自己颜色的棋。 |
|
2 |
当轮到一方下子,而该方又无法下子时,则由对方下子。 |
|
3 |
当一方的子被另一方全部吃完时,则被吃完的一方被认为是“输家”。 |
|
4 |
当所有的棋格均被填满后,棋子多的一方被认为是“赢家”。 |
表格二:自己认为的“致胜”法则
|
序号 |
“致胜”法则 |
备注 |
|
1 |
能占角的,尽量先占角。 |
序号1的法则,优先于序号2的法则。 |
|
2 |
能占边的,尽量先占边。 |
如果本方能占边,但导致对方能占角,则本法则不适用。 |
|
3 |
尽量将对方占边的子吃掉。 |
可能导致对方占角的,则该法则不适用。 |
|
4 |
尽可能将对角线上的对方子吃掉。 |
可能导致对方占角的,则该法则不适用。 |
|
5 |
尽可能多地吃掉对方的子。 |
在上述法则均不适用的情况,再使用该法则。 |
注:上述是一种可行的“致胜”法则,并不是最优的法则,仅供大家讨论。
二、“启发式搜索与人机博弈”的第二堂课
教学任务:
任务1:写出在理想状态下,对黑白棋走两步后的评价函数。
任务2:进入因特网查找资料,讨论与人机博弈相关的问题。例如:
•“致胜”法则的优劣与评价函数的关系。
•在博弈搜索中,为什么会产生节点爆炸问题。
•在人机博弈中,除了采用启发式搜索外,还可以用哪些搜索策略?
•通过前面的实践操作和分析,谈谈在人机对弈游戏中所指“棋力”的含义是什么?
课前准备:
•整理学生前一节课上交的作业,将学生提出的“致胜”法则上传到校园网的论坛上。
•或将前一节课学生上交的作业所在的文件夹,设置成只读共享文件夹,供大家浏览讨论。
•在教师机中,设置“作业上交”完全共享文件夹,学生完成的作业上交至该文件夹中。
教学过程:
|
教学步骤 |
教师活动 |
学生活动 |
设计意图 |
|
复习讨论 |
1.引导学生讨论在前一节课中,哪些“致胜”法则较为有效。
2.提出问题,如何将“致胜”法则,转换为判断在某个位置下子的依据。
3.给出一种黑白棋的状态(如图二,此时由黑棋下子),如果黑棋下一子,白棋下一子,黑棋再下一子后,作为目标状态。引导学生讨论,该如何搜索。 |
1.通过浏览、讨论,了解自己与其他同学的“致胜”法则的优缺点。
2.思考“致胜”法则的优劣,与对弈取胜的关系。
3.针对教师给定的状态,讨论如何进行搜索。 |
将具体的黑白棋,与“抽象难懂”的搜索算法联系起来,逐步化解搜索算法的难度,让更多的学生对启发式搜索算法感兴趣。 |
|
教学任务1 |
1.回忆以前学过的知识,针对图三,与学生一起讨论穷举式搜索的空间状态图和搜索量。
2.提醒学生,上述讨论出黑方最佳的下子位置,是在一种理想状态下的搜索得到的,即白方是按黑方的愿望来下子的,也没有“致胜”法则的介入。
3.继续在这种理想状态下,讲解如何用启发搜索减少搜索量。
4.给出一种求评价函数f的方法:其g值为当前状态下白棋的个数;h取即使白棋不下子,黑棋最多能杀白棋的个数。如图三,以此方法计算出的各个节点的评价函数,并画出搜索路径图。
5.引导学生讨论:比较完全搜索与启发式搜索的不同点。并讨论编写人机对弈程序的困难程度。 |
1.利用图三,分析穷举式搜索的空间状态图和搜索量。
2.学生分成三组,根据教师在B分枝给出的范例,分别完成A、C、D三个分枝各个节点的g、h值及该节点的评价函数f值的计算。
3.每组学生在自己这一分枝上,根据评价函数画出启发式空间状态搜索图。
4.通过对比穷举搜索和启发式搜索,分析启发式搜索的优越性。
5.讨论:若加入某一“致胜”算法,那么各节点的g、h、f又该如何计算? |
利用学生已经熟悉的黑白棋,来讨论在人机对弈时,如何计算各个节点的评价函数f,进一步了解启发式搜索,以及启发式搜索在人机对弈中的作用。
有没有更好的求评价函数f的方法?加入某一“致胜”算法后又如何求评价函数?通过多种方法,让学生充分了解求出在启发式搜索中具有重要地位的评价函数。 |
|
教 学 任 务 2 |
1.教学任务2是针对已经较好完成任务1的同学而设置的。
2.对任务2的四个问题,教师作简要的说明。如人机博弈程序除加入启发式信息外,程序还要具备自学习功能;另外,极小—极大法,α—β剪枝法也是人机博弈程序中常用的方法等,帮助学生完成相关问题的回答。 |
1.进入因特网,针对任务2的四个问题,查找相关资料。
2.对一般同学,要求回答其中的一个问题。对能力较强的同学,要求尽可能多地回答问题。也可自己提出问题,发布在校园网的论坛上。
3.将问题的答案,写在Word文档中,上传到老师的“作业上交”文件夹中。 |
通过教学任务2,让学生了解到,人机博弈程序中,除了教学中要求掌握的启发式搜索外,还有许多问题有待研究和解决。 |

图二 黑白棋的状态图
(注:图中的数值是由“WZebra”黑白棋程序提供的在该位置下子的估算值)