ztree在博弈论实验教学中的应用与经验
2018-07-13李宾
李宾
摘 要:博弈论教学一直面对着晦涩抽象、浅入深出的难题。引入案例、开展课堂实验都有助于改善教学效果。随着实验经济学的兴起,采用软件ztree与局域网的方式进行上机实验成为了另一个选项。它具有全员覆盖、时间效率高、学生直接体验等优点。目前,该方式在国内高校还鲜于实践。文章介绍了利用ztree构建实验的相关基本操作;并基于数次双向拍卖实验,给出了几点经验教训。
关键词:博弈论;实验教学;ztree
中图分类号:G642 文献标志码:A 文章编号:2096-000X(2018)21-0068-03
Abstract: Game theory teaching has always been faced with the difficulty of obscure, abstractions and shallow-in but deep-out. Introducing cases and carrying out classroom experiments are all helpful to improve the teaching effect. With the development of experimental economics, the application of software ztree and LAN to Game theory experiments have become another option. It has the advantages of all-staff coverage, high efficiency and students experience. At present, this method is rarely practiced in domestic universities. This paper introduces the basic operation of constructing experiment with ztree. Based on several bidirectional auction experiments, several lessons are given.
Keywords: game theory; experimental teaching; ztree
一、博弈论教学与实验经济学
作为微观经济学的一个组成部分,博弈论研究多人互动情景下的均衡行为。它以纳什均衡为基础,在一步步贴近现实的过程中逐渐放松假设。其核心框架是由多个均衡名词所搭建的一套抽象的概念体系。不同概念之间,往往只是很微妙的差别。在进行博弈论的课程教学时,教师必须说明这些微妙的差别。这种“空对空”的特性很容易让学生陷入迷茫。而且,随着讲授内容从纯策略的纳什均衡分析,向重复博弈、演化博弈、不对称信息等较为复杂的内容过渡时,往往会涉及到一些较为复杂的推演。这使得博弈论的教学体现出浅入深出的特点[1]。
为了提高博弈论的教学效果,一个反复提到的观点是,案例教学是很重要的[2-3]。不少文献在探讨如何引入案例、增强课堂上的互动性[1]。比如,在介绍囚徒困境时,可讲述崔安潜的故事。唐僖宗年间,蜀中盗贼横行。崔安潜出任西川节度使。到任之后,他并未忙着部署人员去抓捕盗贼,而是从府库中拿出了一笔钱,堆放在数个大城镇的繁华地段,并贴出告示:凡有能提供线索、协助官府捕捉盗贼者,即赏500贯钱;盗贼之间,凡能将同伙接送到案者,不仅赦免原先的罪行,赏赐也和普通人一样。没过多久,西川辖内再无盗贼。对于这样一个把抽象概念运用起来的例子,学生们自然能对概念本身留下深刻印象。然而,博弈论中的抽象概念太多;为它们找到恰当的对应案例,是很困难的。尤其到了不完全信息博弈部分,博弈的结果依赖于微观主体的信息结构和信念;如果没有前期的大量铺垫,旁人并不能清晰地知道它们。这就使得寻找案例的任务比讲述概念本身更加困难。
那么,有没有其他方法能增进博弈论的教学效果呢?对此,笔者看好近年来异军突起的实验经济学。它借助可控的现场实验来观察现象、分析问题。这一学科不仅拿到了三次诺贝尔经济学奖,而且在资产泡沫、政策模拟等领域都有着实际的运用。更主要的是,实验经济学中充斥了大量的博弈论例子,比如,囚徒困境,猜数字,夫妻之争,讨价还价,等等。这些例子本身是实验经济学研究人们心理活动的工具,不过它们也恰好属于博弈论领域。从而,我们可以把实验经济学所用到的这些例子,用于博弈论的教学中。这将具有两个方面的意义。一则,实验可把同学们置于一些经典的博弈场景中,帮助他们对抽象的博弈均衡产生直观的感知,进而增强他们对概念、理论的理解。二则,也让学生们顺便了解了实验经济学这一方兴未艾的学科分支,可谓一举两得。
在这方面,早年就不乏学者认识到以实验方法充实博弈论的必要性[3-5];近年,一些教师已经在尝试把实验引入到博弈论的课堂教学中[6-7]。不过,现有的实践都是在课堂上开展,而实验经济学其实主要依靠上机操作。所以,笔者在近年的博弈论教学中,组织了学生们到机房进行博弈论实验的尝试。由此所得出的一些经验,在此整理出来,供大家参考。
二、ztree在博弈论实验教学中的应用
在开展博弈论实验时,我们固然可用传统方式在教室里进行,不過,实验经济学的引入将要求实验在电脑机房的局域网环境下发生。这具有全员参与、降低学生个体因素干扰、实验过程与实验结果的数据可保存、实验可重复进行等诸多优点。而在机房开展实验,需要使用软件来模拟实验环境。ztree就是这样一个软件。它最早由瑞士苏黎世大学的Urs Fischbacher开发,全名为Zurich Toolbox for Readymade Economic Experiments。感兴趣的人可到网站http://www.ztree.uzh.ch下载该软件,并阅读其说明文档来学习它。这里列举一个例子,以表明传统的教室组织方式与采用ztree的机房组织方式之间的区别。
(一)猜数字游戏
笔者在博弈论的课堂上现场组织过几次猜数字游戏。其规则是,每个人独立行事,在从0到100的101个整数中,选择一个数。计算所有人所选数的均值,以均值的2/3作为基准。谁的猜测最接近于这个基准,谁就是获胜者。笔者设定的奖励是课程成绩加1分。从现场来看,学生们对于玩游戏而不是听抽象的概念,显然更感兴趣;更不用说这还有加分的激励了。所以,学生们的参与相当的积极、活跃。不过,一轮猜测、收集、报数、计算的时间较长;一堂45分钟的课,最多开展三轮猜测。这让许多学生意犹未尽,而占用课堂时间做这游戏又有些浪费。
而如果利用ztree在机房做这游戏,则效率可大幅度提高。用ztree实现这一游戏的代码,仅仅20多行,而且内嵌了随机分组的功能。每一轮次的分组都可重新编排,即一个人所在的组不是固定的。这一功能大大弱化了一个人对其他参与者的规律性的识别;游戏进程中的干扰因素即便在小分组下也更少。教师可设定每一组的人数,比如6-8人。一轮游戏的时间最多只需要2分钟。即便是整个机房的人归为一组,2分钟也足以完成一轮游戏。同样是45分钟,学生们进行游戏的次数可超过20轮次。这么多的游戏次数有助于学生们直观地感受演化博弈的进程,并理解依靠抽象推理所导出来的猜数字游戏的均衡选择:0。通过体验各类博弈实验,有天赋的学生甚至可以发现游戏过程与理论推理之间的差别,自己挖掘出问题,激发他们深入钻研的兴趣。
虽然猜数字游戏并不必须要进行分组,不过,像讨价还价、夫妻之争、海盗分赃之类的博弈实验,是必须要分组的。如果在教室里组织这些游戏,那么学生之间因为相互比较熟悉,而容易出现干扰因素。笔者曾经尝试在教室组织海盗分赃游戏。为了增加随机性,用学号尾数的方式来给学生们分组。结果,我认为很简单的分组规则,楞是花了一节课的时间才勉强让百名学生就位。而如果采用上机方式,ztree可轻松地完成随机编组;学生往往不知道自己和谁在同一个组,从而无法利用其他参与者的私人信息。
(二)ztree在局域网环境下的操作
软件ztree的作用,是构建一个开展实验的虚拟环境。它分为ztree和zleaf两个子程序。ztree用于主机,zleaf用于客户端。主机构建后,客户端连接上主机,再于主机上启动实验。下面分三个方面介绍这一流程中的具体操作。
局域网中的任何一台电脑都可作为实验的主机;同一个机房内也允许有多台主机存在。其他电脑要连接上一台主机,需知道这台主机的ip地址。在win7系统的主机电脑上,点左下角的win图标,在命令行输入 cmd,回车后将出现一个黑色的小窗口;在这个小窗口输入 ipconfig,回车,在ipv4后的一串数字就是本机在局域网的ip。记下这个ip地址;不妨假设是10.1.25.163。把ztree软件和实验程序(比如pg.ztt)拷贝到主机电脑上。双击打开实验程序,等待客户端的连接。
同一个机房的其他电脑均可作为客户端。每一个参加者,把ztree程序拷贝到客户端电脑上,记住存储路径;不妨假设为E:\ztree-3_6_6;然后,进入命令行,键入如下内容:
E:\ztree-3_6_6\zleaf.exe/server10.1.25.163/name 16150
10117
其中,/server后面的是主机ip地址;/name后面的是学生学号。在实验现场都需做具体修改。需注意server和name前的是反斜杠,与路径所用的斜杠是不同的。正常情况下,此客户端即進入白屏、绿字的实验等候状态。
教师可在主机上看到陆续加入的人的情况。具体操作是,在菜单上点run,再选择clients'table。教师可通过双击程序的Background或者菜单上的Treatment、Info来修改参与人数,使之恰好等于连接到主机的客户端数目。如果clients列表上有的id是用括号括起来的,说明那个客户端出现了问题。可以在主机端把出问题的客户端排除出去,再让客户端重新加入实验。一切就绪后,按F5键启动实验。
三、博弈论实验的几个经验教训
由于博弈论的培养计划中并未包含实验课时,笔者只好挪用博弈论的理论授课课时来让学生们获得实验的某些体验。这也注定了课时数量很有限。在这种约束下,上机实验更多的是测试如何在机房开展博弈论实验。在实验程序上,笔者采用了双向拍卖实验。在三个不同年级的经济学专业分别进行了相关组织尝试后,有以下几点经验教训供大家参考。
第一,在以虚拟现金和资产为载体的双向拍卖实验中,学生之间是有可能串谋的。笔者设置的判别学生表现排名的标准是看期末的现金与资产组合相对于期初组合的升值幅度。到了实验快结束的阶段,在现金多与资产多的学生之间,出现了拉高资产价格与拉低资产价格的现象。现金多的人以1元的价格卖资产;资产多的人怂恿朋友以高价买下他出售的资产。这些指向的是实验设计的考虑不周全。需在实验设计上预防这类现象,比如,卖价只可更低、不能更高;买价只可更高、不可更低。
第二,一个组的参与人数不可偏少。在双向拍卖的实验中,当一组人数仅为8人左右时,就出现了有的组在某些轮次没有任何成交的情况。从实验组织的角度看,这是不能令人满意的。第三,作为主机的电脑是有可能休眠的。只要主机电脑无人操作的时间足够长,它将进入休眠状态。即便这时候有很多客户端在连接着它,仍然会如此。而一旦主机休眠,客户端就全部卡死。实验组织者需更改电脑休眠时间。第四,切不可从U盘运行实验程序。否则,众多客户端电脑都将经由一个usb2.0的接口与该U盘互通信息,所有行动的细节信息也将保存在该U盘上。在多轮实验下,有可能使得U盘的信息吞吐和数据处理超负荷,导致整个实验卡死。解决办法就是把实验程序拷贝到电脑硬盘上去运行。
参考文献:
[1]黄潇.本科经管类专业博弈论教学中的互动模式探讨[J].经济研究导刊,2012(22).
[2]李太龙.博弈论通识教育课堂教学改革研究[J].北京教育(高教),2013(6).
[3]张燕.经济学本科《博弈论》课程教学改革探索[J].当代教育论坛,2011(1).
[4]高鸿桢.博弈论为什么需要实验——关于实验博弈论研究(之一)[J].中国经济问题,2008(5).
[5]姚涛,刘倩倩.实验教学法在“经济博弈论”中的应用研究[J].经济研究导刊,2010(22).
[6]官华平.博弈论课堂实验教学探析[J].统计与管理,2015(6).
[7]王新辉,黄莺,彭怡.博弈论策略性思维的课堂教学实现[J].西南民族大学学报(自然科学版),2015,41(3).