仿真技术在社会科学研究中的应用
唐碧海
一、仿真技术
(一)何谓仿真
简单来说,所谓仿真就是用模型去模仿真实系统,也就是用物理的或抽象的系统来描述系统的某些行为特征。模型是仿真的基础,只有建立了正确的模型和数据,才能得到正确的仿真结果,仿真才有意义和价值。
从应用的角度看,仿真技术可以定义为:以相似原理、控制理论、计算机技术、信息技术及其应用领域的专业技术为基础,以计算机和各种物理效应设备为工具,利用数学模型或部分实物对实际的或设想的系统进行动态试验的一门综合性技术。
仿真其实并不神秘,孩提时期的各种角色游戏就是人类一种很自然的仿真活动。人们的生活中也不泛仿真的例子,如大量电子游戏本身就是人类的某种活动的仿真, 很多训练活动如消防和军事演习等也是一种仿真活动,很多测试和实验活动如风洞实验、产品性能测试等等也是一种仿真(产品使用环境仿真)。
建立事物的模型是我们认识世界的一种途径,是我们有意或无意间在大脑内时刻在做的一件工作,而自然科学和社会科学则对这件工作进行了细化和正式化。仿真是一种特殊的模型方法,是人们认识世界、提高技能、交流思想、探索真理等过程中经常进行的一种活动。
研究人员和技术人员使用的仿真技术则是以相似原理、信息技术、系统技术及应用领域中的相关专业技术为基础,以计算机和各种物理效应设备为工具,利用系统模型对实际的或设想的系统进行实验研究的一门综合技术。
仿真分为实物仿真和计算机仿真,而我们这里所说的仿真技术则是指计算机仿真技术,就是对实际上的或理论上的物理系统设计一个模型,用程序实现这一模型,并在计算机上运行这一模型,然后对仿真输出的结果进行分析。
由于计算机的广泛普及和性能的极大提高,使得人们可以在计算机上对所研究的事物建立模型、进行仿真,过去只能通过实物模型进行的仿真现在很多都能用计算机仿真来代替,而且成本更低、效率更高,现在,人们通常所说的仿真也大都是指计算机仿真。
进行仿真之前,通常需要建立一个仿真环境。人们可以利用计算机来驱动仿真所需的综合环境和虚拟世界。通过在计算机内建立人工对象,使这些人工对象与现实的 对象有相似的特性和行为,让各种对象相互作用,在动态的环境中承担自己相应的角色,共同组成计算机内的虚拟世界,从而为人们认识现实世界及其复杂性的方方 面面提供一个极方便的试验场。
(二)为什么要用仿真技术
研究一个简单的系统不一定要用到仿真,如线性方程系统(可以直接求出显式解,通常称为解析模型。)然而,现实世界的绝大部分模型都不能求出显式解,这时一般可以通过仿真的办法来研究这个系统,区别于解析模型,称之为仿真模型。在以下情形中,仿真通常是必须的:
· 模型非常复杂,有很多变量和相互作用的组成部分,这时即使系统有显式解,这个解也非常复杂,难以直接进行研究,而通过仿真可以很方便地研究系统的输入输出关系。
· 所用变量相互之间有非线性的关系,根据自然科学家和数学家的观点,非线性系统的研究是很困难的,因为大部分这些问题都难以通过解析模型来认识,通常没有一 组可解的方程组来预测系统的行为。研究非线性系统的唯一有效的一般方法是通过建立和运行仿真模型来模拟这一系统。
另一方面,即使我们能够理解非线性系统的工作原理,这一系统通常仍然是不可预测的,即出现通常所说的混沌现象。股市就是很好的例子,不管我们对股市的性质研究有多么深入,仍然不可能准确预测到股市崩盘的时间。
由于仿真不必求出系统的显式解,只需给出系统的模型,就可以让计算机根据模型来一步步地模仿系统的运行,使我们可以利用统一的仿真模型技术来研究各种各样的系统,而不必求助于仅适用于求解某些特殊问题的神秘的"锦囊妙计"。
· 模型包含随机变量,计算机可以通过随机函数来轻松地模拟这类随机系统;而数学上的处理则要相对困难得多。
· 模型的输出需要用三维的计算机动画来显示,仿真可以利用计算机的多媒体技术使得输出结果更加逼真、直观,用户界面更加友好;而数学公式则没有这方面优势。
(三)仿真技术的应用
目前仿真技术有以下几个方面的用途:
· 研究事物的特性,特别是有些特性不能或不便直接观察到时,仿真技术的作用就更加明显。仿真在研究过程中的主要作用是进行实验、验证理论和发现理论。
· 预测,如果仿真模型能准确生成系统的动态行为,我们就可以利用这个模型来预见系统的未来行为。如常用的人口仿真模型和商业预测模型等。
· 代替人的能力,如用于代替药剂师、医生等专业人员的各类专家系统、用于代替司机和飞行员的自动驾驶系统等。
· 培训,用飞行仿真器培训飞行员,用国民经济仿真系统来培训经济学家,这样能避免因实际操作所伴随的巨额成本及失误所造成的巨大损失。
· 娱乐,如各种电子游戏,有些电脑游戏本身就很接近一个社会仿真系统,如在Maxis公司的SIMCITY游戏中,游戏者扮演一个城市的管理者,去决定这个 城市的规划、基础设施建设、税率、打击犯罪、环境保护等等。另外培训用的飞行仿真器本身就是一个很好的电脑游戏。
人们预测,下个世纪的娱乐和科学前沿将很可能被仿真和虚拟现实这样的技术所主导。
二、社会科学中的仿真技术
在社会科学中应用计算机仿真是一个很新的思想,尽管六十年代就出现了第一个这方面的例子,开始时,主要是系统动力学仿真和离散事件仿真,但到了九十年代, 仿真技术才开始在社科界被广泛应用,即使到目前,这一领域还有大量的问题有待人们去研究去开发,这一领域还有巨大的发展潜力和空间。
(一)社会科学仿真的主要方法及其发展过程
在六十年代早期,随着计算机在大学研究中开始应用,出现过一些在社会科学中使用计算机仿真的实例。这一时期主要包括离散事件仿真和系统动力学仿真。主要研 究如顾客平均等待时间、城市中警车到达紧急现场的平均时间、世界经济模型等内容,当时罗马俱乐部的世界仿真模型就预测了全球环境大灾难,在世界上产生了很 大的影响。
图1 社会科学仿真中使用的新方法的发展过程
后来一个叫"微观仿真"的方法发展得很快,主要受到政策研究方面的推动。这是一个很特别的方法,也是唯一一个在社会科学中一直被广泛认同的仿真形式。微观 仿真模型从微观层次对系统进行仿真,研究系统的微观个体与宏观变量(如政策变化等)之间的相互作用,大多数微观仿真模型都是用于评价社会经济政策可能产生 的效果。微观仿真在某些国家和地区已经形成了较大的市场,特别是在德国、澳大利亚和加拿大,这些国家的养老金制度、累进税制等方面的政策的制定都受到微观 仿真结果的很大影响。
到了1990年代,人们开始注意多智能体模型(multi-agent model)的研究,这类模型使我们可以研究自治的个体及它们之间的相互作用。传统的社会科学关注合作、协调、组织行为、社会动态、联合与集团、习俗和道 德的演化等社会现象,多智能体模型已经被证明很适合于对这些现象进行建模。对社会中各种现象的研究,如社会组织的形成与优化、文化道德和制度的形成、危机 的产生等方面,已经成为多智能体模型的主要研究方向。利用多智能体模型对社会组织和社会制度的计算机仿真研究,也在吸引着越来越多的计算机科学界和社会科 学界的研究人员。
一种叫做元胞自动机(Cellular Automata)的模型曾经成功地用于解释磁铁的磁性、流体中的湍流、晶体的生长等自然界中的神奇现象,这些奇特性质都是组成系统的微观单元之间的相互 作用在宏观层面上的整体表现。元胞自动机为研究社会相互作用提供了一个有用的框架,例如研究社会中流言的传播机制、邻里之间的依种群隔离的形成等问题。
多层建模(Multi-level Modelling)也是一种受到物理学中的思想影响的模型方法,适合于研究类似社会这样的多层次系统。
1980年代人们对分布人工智能(DAI)的兴趣不断增强,这是一个研究人工智能程序之间相互作用的研究领域。由于分布人工智能系统包含相互作用的自治的智能体,使得我们能够建立用于仿真人类社会的模型。
在过去的十年,很多人一直致力于"机器学习"方面的研究,不管是仿真个体的认识过程,还是仿真整个社会适应新环境的过程,具有学习能力的仿真模型都是非常有用的。这使模型学习方法、人工神经网络、遗传算法等在社会仿真的应用不断增长。
社会科学仿真与复杂性科学这一新兴交叉学科的发展有着紧密的联系,两者的研究内容有着很大的共同之处。如:复杂性科学中常用的演化计算、元胞自动机、多智能体等方法也是社会科学仿真的主要方法。
(二)国内外社会科学仿真研究和应用的现状
在西方国家,仿真在社会科学界已经不是陌生的词汇,仿真作为一种研究工具也已经被大部分人所接受,各地的大学和研究机构纷纷开展这方面的研究和教学活动,如:
· 加州大学洛杉机分校UCLA,1999年11月起动了开放式"计算与社会科学"合作教学计划,筹备建立"计算社会科学中心",五年内投入经费200万美元,并计划开展一系列学术活动,探讨计算机仿真技术在社科领域的运用。
· 兰德研究生院(RAND Graduate School)也开设了一门 "复杂适应性系统与制度分析"的课程,通过计算机仿真模型来对高度复杂和不确定性系统及制度进行研究。
· 加拿大滑铁卢大学的城市与区域规划学院96年就开始对计算机仿真技术在城市规划协同设计中的应用进行研究。
· 布鲁金斯学院的社会经济系统动力学中心通过计算机模型来深入研究权益以及个人行为对社会产生的影响。
除了一些社会学家、教育心理学家等应用仿真技术来研究社会社会现象外,一些物理学家、数学家和计算机专家也被这一领域的巨大潜力所吸引,纷纷转入这一研究 领域,或者与社会科学界进行这方面的合作研究。从事理论物理教学、研究50年的美国伊利诺斯大学理论物理学家理查德·盖洛德(RICHARD GAYLORD)就是一个很典型的例子。著名的圣达菲学院(Santa Fe Institute,简称SFI)就是在诺贝尔物理学奖获得者盖尔曼和安德逊、经济学奖获得者阿罗等人的支持下,聚集一批从事物理、经济、理论生物、计算 机等学科的研究人员于1984年组建的,这一研究机构专门从事复杂性科学研究,试图由此找到一条通过学科间的融合来解决复杂性问题的道路。美国麻省理工学 院(MIT)、波士顿大学、马里兰大学近年来已经开展利用计算机仿真技术(如对策论模型)研究国际关系和国际谈判问题。
仿真不但在理论研究和教学活动中的应用越来越广,而且在实际工作中的应用也越来越多。美国Sandia国家实验室(Sandia National Laboratories)自己开发了一个新的智能经济仿真模型阿斯彭(Aspen),能显著改进对美国经济政策的分析和对比研究。这一模型运行在美国当 时最快的大型并行INTE·计算机上,经济学家们期待这一模型能够充分细致和真实地对整个经济系统进行仿真模拟。这一模型具有广泛的应用前景:为政府、银 行、中介机构、风险投资家提供经济和金融市场预测;分析税法或政府政策变动对经济社会可能产生的冲击;为产业界或市场研究公司提供技术升级产生的冲击影响 评估。英国曼切斯特都市大学工商管理学院的政策模型中心则利用计算机仿真模型来研究不同政策对社会各方面产生的影响,从而为政府提供科学的决策依据。
与社科仿真有关的国际学术组织如仿真协会(Simsoc)、计算经济学会等,每年都举行多次各类国际学术活动,如每年一届的国际计算机仿真与社会科学会议、计算经济国际会议等。由英国萨里大学主办国际学术期刊《人工社会与社会仿真杂志》1998年开始发行。
在中国,社科仿真起步较晚,90年代中期,克莱因教授向中国经济学界介绍了美国的阿斯彭经济仿真系统,并给予高度评价,引起了国内不少学者的兴趣;我国著 名数量经济学家张守一教授还在《数量经济与技术经济》1999年第5期上发表了一篇专门介绍这套系统的文章;有的学者还模仿阿斯彭系统开发了一套简化的中 国经济仿真系统;前几年,国务院发展研究中心开展了微观仿真应用方面的研究。1994年,中国人民大学成立了经济科学实验室,并开展了多项相关课题研究, 与美国圣达菲学院建立了较为密切的联系。中国社科院数量经济与技术经济研究所也准备邀请阿斯彭系统的研制人员来我国进行讲学。北京社会科学院也在筹备成立 社会科学实验室。在教学培训方面,中国人民大学开发了一套电子商务教学模拟系统,这套系统采用钢铁贸易为原型,以EDI电子单证的形式,利用网络技术,逼 真地再现了不同类型企业之间进行国际贸易的全过程;广州外语外贸大学的国际贸易仿真实验室也已经成立。虽然我国社科仿真已经开始起步,但与西方国家相比, 我们无论在研究还是在应用方面都有很大的差距,仿真在社科界还是一个新鲜名词,知道社科仿真的人还很少,接受和掌握这一方法工具的社科研究人员则更少。
社会科学仿真研究的内容非常广泛,除了前面提到的经济、社会中的各种现象和过程外,甚至开始研究人的艺术创造过程,用计算机模仿艺术家进行文学创作、音乐演奏、绘画等等,仿真所用到的智能体甚至具有类似人的情感、信念、认知等特征。
(三)仿真技术在社会科学研究中的作用
仿真是人们理解社会过程的一个极好的方法。利用仿真,社会科学家能够对社会建立模型,并把这个模型看作一个人工社会系统,利用这个人工社会,人们可以研究 各种各样的理论,探讨在某个理论的假设下可能会得出什么结果,在另一理论假设下又会得出什么结果等。要做到这点,首先要对用文字表达的理论进行形式化,使 得这个理论能用一个计算机程序来表示。这个"形式化"的过程包括对理论含义的精确化,并使理论自身完备化和内部相互一致。这对于一个理论发展是非常重要 的。仿真在社会科学中的作用类似于数学之于物理学,是把文字表达的理论进行形式化和精确化的极好手段。
数学方法在物理学中的作用是众所周知的,数学方法也用于社会科学的形式化,但除了计量经济学外,没能在社会科学中得到普及,仿真方法比起数学方法更适合于社会科学,主要原因是:
· 仿真方法使用编程语言来表示模型,与数学公式相比,编程语言的表达能力更强,没有大部分数学方法那么抽象,至少更易被非专业人员所接受。
· 比起数学方程系统,仿真程序更容易处理并行过程和活动顺序没有完全定义的过程。
· 仿真程序通常是模块化的,一部分的改变不影响其他部分,数学系统通常缺少模块化。
· 易于建立由异质智能体组成的仿真系统,如有不同观点、不同知识水平、不同能力的人组成的群体等。但要建立这样的数学系统则很困难。
社会科学家对仿真的兴趣越来越大的一个主要原因就是因为仿真在帮助人们进行理论的发现和理论的形式化方面有着巨大的潜能。
仿真在社会科学研究中的另一重要作用就是使得研究人员可以很方便地进行各种"实验"。社会科学的研究对象与自然科学的研究对象相比,其中一个重要区别就是 人们很难直接对社会科学的研究对象进行重复的实验,一方面是实验的成本很大或实验失误造成的损失很大;另一方面实验的环境条件会随着时间不断演进,很难甚 至不可能回复到原来的条件下进行重复实验。
由于仿真所建立的人工社会系统是计算机内的程序,我们可以随意调整系统的参数和初始条件,不断重复运行仿真模型,就象物理学家和化学家平时做实验一样,社 会科学家也可以对人工的社会系统做各种各样的实验。因此,人们对社会科学中应用仿真技术往往冠之以"实验"、"计算"等,如计算经济学、计算社会学、经济 科学实验室、社会科学实验室等。
另外,社会科学中应用仿真还有助于人们沟通思想。美国的一所大学想要在学校医院附近建一个停车场,遭到附近居民的强烈反对,后来学校搞了这个设想中的停车 场的仿真系统,让市民们可以直接在计算机上身临其境地体验到这个未来停车场的优美环境,市民对停车场的态度很快就转变了过来,原来预计要花很长时间的市民 说服工作后来都可以免了。
(四)社科仿真的逻辑框架
对于人们常用的统计模型,其背后的逻辑框架如图2所示。通过对研究对象某方面的特性和行为进行抽象,研究人员建立系统的模型,这一模型可以是一组方程,其 中含有一些参数,利用有关统计软件包,我们可以通过这些方程对参数进行估计。在建立模型的同时,研究人员还要收集一些数据,用于参数估计。有了参数的估计 值,我们就可以利用所建模型对系统进行预测。最后还要对模型及其预测结果进行分析,一方面检查预测结果与实际观察数据的符合程度,这一般用统计假设检验方 法来做出判断;另一方面要检查参数的灵敏度:如果参数有微小变化,模型预测会产生多大偏差。
图2 统计模型的逻辑框架
图3 仿真模型的逻辑框架
仿真模型的背后也有着与统计模型相同的逻辑框架,如图3所示。研究人员对所研究的对象建立模型,但这个模型可能是一个计算机程序,而不是统计方程。然后运 行这一仿真模型,其行为也就被记录下来,得到所需的仿真数据,实际上,这就是我们建立仿真模型的一个主要目的。这些仿真数据与收集到的数据进行比较,进而 检查这一模型是否产生了与实际研究对象相似的输出。
(五)社科仿真的步骤
根据前面的社会科学仿真的逻辑,我们很容易得到社会科学仿真应该包含的步骤:
· 首先是问题识别,就是确定我们想知道但还不知道答案的一个问题,这个问题将成为我们研究工作的目标;
· 第二步就是要定义所研究对象的模型,这时可能需要对研究对象进行一些考察;
· 第三步确定模型的参数和初始条件,其中的参数估计需要收集一定的数据作支撑;
· 第四步设计模型,这时可能需要作一些假设,设计出的模型通常就是计算机仿真程序;
· 第五步就是运行仿真模型,并记录下仿真的输出结果。
到此为止的以上步骤都是很显然的,后面的步骤可能有些人不一定想去做,但它们确实非常关键。
其中一个步骤是校核(verification),也称为调试,即保证模型被正确实施,并能够象我们所预期的方式工作,主要检查模型是否符合设计要求,算 法、内部关系和其他技术说明是否已正确实现。对于复杂的仿真,要做到这步是非常困难的,因为很难确定是否所有的错误都被排除了。
另一个步骤是验证(validation),即保证模型的行为与所研究对象的行为相一致,就是这个模型是不是所研究对象的一个好的模型。这是模型有用的前提条件。
最后一个步骤是敏感度分析(sensitivity analysis),即分析模型参数或初始条件如果发生微小变化时,模型的运行结果会有多大的改变。
社会科学仿真是一个新领域,人们还在努力寻找更有效的方法来进行基于仿真的社科研究,但是经验正在不断的积累,教训也在不断的总结之中,以下是仿真过程应注意的几个方面:
· 利用仿真来建立一套理论时,模型不要过于复杂,复杂的模型不利于发现系统的原理和相互联系。仿真提供给我们思考社会和经济过程的一个新方法,这个方法基于 以下思想:"复杂行为通常源自于相对简单的活动"。这一思想不仅在社会科学中而且在物理学和生物学中都得到了广泛的流行,这也形成了复杂性理论的基础。
· 在运用仿真的过程中,需要综合运用归纳法和演绎法。在仿真研究中,首先由一组假设开始,根据这组假设用试验的方法产生一组数据(这里主要用到演绎方法),然后对这些数据进行归纳分析(主要是归纳法),灵活运用归纳法和演绎法,是成功进行仿真的一个关键。
· 很多仿真模型都用到随机变量,因此我们不能仅从一次仿真的数据中就得出结论,必须进行多次仿真,使得结论对于随机变量的不同取值都具有稳健性。另外,对模型的各项假设如初始条件、参数等进行敏感度分析在大部分情况下都是很有必要的。
三、前景展望
社会科学研究的对象通常是很复杂的系统,仿真技术的研究方法由于具有定性判断与定量计算相结合、微观分析与宏观综合相结合、还原论与整体论相结合、科学推 理与哲学思辨相结合的特点,很适合对社会这样的复杂系统的研究,目前社会科学仿真的研究深度不限于对客观事物的描述,而且更深入到揭示客观事物构成的原因 及其演化的历程,并力图尽可能准确地预测其未来的发展。
21世纪的科学,将更加突出学科之间的相互交叉、相互融合、相互促进。随着科学自身的发展,淡化学科与学科之间的严格界限是突出的发展趋势。以多学科交 叉、渗透和融合为重要特点的社会科学仿真,将在人类探索各种未知的社会科学奥秘中发挥重要的作用,并推动整个社会科学事业的发展。
由于社会科学仿真是一门新兴的交叉学科,除了在经济系统仿真、交通网络系统仿真以及有关人口、市场等方面有了一些较成熟的仿真软件之外,很多领域还处于研 究探索阶段,离真正实用还有一段距离。在我国开展社会科学仿真研究,既要结合国际前沿研究,保持与国际同行接轨,也要体现中国自己的特色,同时还要结合一 些重要的有一定影响的实际问题开展研究,如经济系统、社会保障系统、金融系统、企业组织管理系统等方面的问题,并鼓励各个学科之间的交流与合作,这样才能 为社会科学的发展做出贡献。
没有评论:
发表评论