【文档说明】复杂系统计算机仿真课件.ppt,共(213)页,1.660 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-76757.html
以下为本文档部分文字说明:
复杂系统的计算机模拟探索复杂性的模型方法方美琪MQFANG@PUBLIC.BTA.NET.CN复杂——诞生于秩序与混沌边缘的科学一场激动人心的科学观念的革命瞬间照亮了各个学科领域,其中的原则和思想影响是如此地深远和广泛,以至于绝大多数学科都卷入其中!过去我
们用数学给出世界完美的描述,我们很陶醉,以为我们已经认识了世界。但近来我们发现世界其实很复杂,并不确定,偶然的小情况可能放大为决定性的事件,影响了整个历史进程复杂地发展。原来组成系统的个体是有适应性的。个体的适应性就产生了系统的复杂性。用计算机
程序描述个体的行为,在一定的框架之下,个体平行地动作起来,这包括个体对外界的适应,偶然的小情况,个体的相互作用…..如此,计算机模拟就比较真实地反映了复杂世界的一个个方面。第一节复杂性科学1.确定性的终结、复杂性科学的兴起2.路径依赖的反思3.复杂性研究的方法第二节复杂系统
1.系统理论2.复杂适应系统第三节模型与模拟方法1.模型2.建摸与模拟3.模拟软件平台SWARM的介绍4.模拟软件平台STARLOGO的介绍5.应用举例第一节复杂性科学•I确定性的终结、复杂性科学的兴起I确定性的终结!拉普拉斯决定论宇宙
不过是一台机械的钟表•宇宙的未来完全由它的过去决定。•世界是可被预知的。只要我们明白了支配宇宙的规律,那么我们就能推察过去,预言未来。•宇宙的统一规律已找到了(牛顿),宇宙的图景已被描绘出来了。确定性的乐观诗人蒲柏为伟大的
牛顿写下的墓志铭所言:自然和自然的法则在黑夜中隐藏,上帝说,让牛顿去吧于是一切都已照亮。通向混沌•初始条件的微小变动就会导致轨道完全不一样。“差之毫厘,失之千里”•牛顿定律本身虽是确定性的,但它所描述的具体事物,很可能出现随机行为。•混沌=非线
性动力学=难以精确求解洛伦兹与气象混沌•1963年的一天,气象学家洛伦兹踱进麻省理工学院的咖啡馆。而在他进来之前,他刚把一个数据输入他那台现在看来工作速度其慢无比的计算机,以验证上一次的结果。他知道结果还需要等一个
来小时,他大可一边躲开噪音,一边来悠闲地享受点咖啡。当他回到自己的工作室时,令他惊讶的事发生了:这次的结果与上次的结果在开始时相同,但到后来却出现了很大的差异。他的结果是通过曲线表示的,这就是说两条曲线只是在开始时相吻合,而到后来两者却分道扬镳了。混沌与复杂•复杂是多体系统•多体之间的交互
关系是非线性的•单独一个主体的运动轨迹是混沌•系统整体则涌现出一定的秩序和结构例子:湍流与水分子社会与人历史规律经济周期与经济主体股票行情与股民的行为在传统的社会科学研究中,解释和预测间的过渡看来太随意而缺乏严谨了——对一个社会现象的正确解释并不意味必然能够对这个现
象的未来进行预测,特别当内在机制中有非线性关系时,这种从解释到预测之间的思维延伸几乎百分之百是不可能的。复杂理论告诉我们,即便我们能够很清楚地界定和完全掌握了对个体行为影响的所有因素,对组织或机构行为的预测仍然是非常不充分的。人类认识实践中的
经验教训大自然对人类线性思维的教训•水坝生态•中国垦荒与沙漠化•美国西部的风尘暴•核泄露•人工生态实验的失败《失败的逻辑》事情因何出错,世间有无妙策为什么铁路信号系统工作正常时,列车仍然会发生撞车事故?为什么所有操作
人员警觉地坚守着工作岗位,核反应堆依然会发生灾难性的熔化事故?为什么我们制定得甚好的那么多专业和个人计划,会如此频繁地出岔子?对人类思维方式的反思•德国心理学迪特里希.德尔纳思维复杂性研究•用计算机模拟情景试验•让不同的专家以游戏的方式发掘决策思维
模式的一般特征•理性思维的局限性:逻辑严密线性思维方式•直觉、联想=思维的并行直觉思维整体思维的回归•世界上原来不只存在一种逻辑思维方式•神秘主义思潮和新时代(newage)运动II路经依赖的反思路经依赖•系统的发展与其初始条件紧密相关,与其发展过
程中的偶然事件密切相关•个体微不足道的行为可能产生出乎意料的结果马屁股的宽度决定了火星探测发射器的宽度?•马屁股的宽度决定了双马马车的车辙宽度决定了电车轨道的宽度•电车轨道的宽度决定了铁轨的宽度(修建第一条铁路顺着马车的车辙印记)•铁轨的宽
度决定了火车的车厢的宽度•决定了火箭发射仓的最大宽度(为了运载方便)•决定了火星探测发射器尺寸•故事是颇有趣的。从一定意义上说,今天世界是最先进的运输系统的设计,或许是由两千年前两匹战马的屁股宽度来决定的。历史惯性的力量是多么的强大,要冲破由惯性形成的规则又是多么的艰难。经济领域内的路
经依赖•经济领域内的路经锁定:钟表的顺时针,•信息化的标准和垄断•微软的战略:当盗版让人们已经习惯于使用windows时,就会受制于它,很多人只会使用装了windows的计算机.•高科技的竞争就是标准的竞争DVD格式无线上网的格式的争议自然科学领域的路径依赖•极其微
小的初始状态会成指数的放大,极大地影响了混沌系统的输出•人类对世界的认识实践活动影响了世界科学认识的反思•人类对世界的认识实践活动影响了世界•后现代科学:自然规律是自然的习惯•集体的习惯有被锁定成为既定成俗的倾向个人习惯之间的交互涌现出集体的
习惯•自由落体难道是铜球的一种难改的积习?•万有引力难道是物质世界的一种惯例?•惯性vs习惯参考作为习性的自然法则:科学的后现代基础[英]鲁珀特·谢尔德拉克Sheldrake网上有个人主页科学认识的反思2•科学的自然观,不以人的意志为转移的客观世界
是否存在?完全严格的重复试验是否可能?•完全严格的重复实验是不可能的•人是否可以第二次踏入同一条河流?•反归纳法归纳得到的现象越多,推广的余地越小•正归纳归纳得到的现象越多,推广到全部的可能性越大后现代科学•心理学家麦独孤的老鼠迷宫实验随着实验的重复进行,虽
然选定重复实验的老鼠是完全不同的个体,但老鼠的智力却随着实验的重复而递增,后来参加实验的老鼠比前面参加实验的老鼠更快地学会走出迷宫•文化人类学和新时代巫术的兴起影视界的《波利哈特》热3.复杂性研究方法复杂系统的特征•涌现
•非线性•反馈循环•开放式•部分不能包含整体•路径依赖,与历史相关(混沌特性)•多层次嵌套•边界模糊复杂系统研究的议题和范例•发现和应用刻划社会系统、自然系统演化的规律的普适性方法•对人工技术系统(企业信息化、互联网络、数字化
生存)的演化规律进行探讨例如:企业信息化建模信息经济学人工技术网络和社会网络的脆性研究网络对社会交往的影响交往媒介的革新与社会文化的变革等复杂系统的普遍性•生命体•智力——神经网络•社会系统蚁群经济股市•人
际关系网互联网电讯网航运线路生命体的复杂性•2002年5月,英国《自然》周刊上宣布在冰岛北部海下发现了一种迄今所知最小的生命。这种被称为“Nanoarchaeumequitans”的微生物属于古细菌的一种,其基因组的DN
A碱基对仅有50万左右。假设一个基因的平均长度为1000个碱基,那么这个细菌所拥有的基因大约是500个。如果每个基因编码一种蛋白质,那么这个细菌最多可以拥有500种蛋白质。•哪怕是最小、最简单的生物体,也是由许多执行不同功能的组分构成的。
因此,生命复杂性的第一个特征是,生命是一种复合体,不可能由一个成分(一种基因或蛋白质)构成。全球通讯网络全球通讯网络航空交通网航空交通网分形图案分形分布的宇宙:瑞士天文学家FrancesoSylosLabini宇宙平均看起来是各向同性的,但却不是均匀的,我们在某一层级上
。。。CAS复杂自适应系统理论•CAS理论的最基本的思想•系统的复杂性(整个系统的演变或进化,包括新层次的产生、分化和多样性的出现,新的、聚合而成的、更大的主体的出现等等,)是来源于系统中的成员的适应性。所谓具有适应性,就是指它能够与
环境以及其它主体进行交流,在这种交流的过程中“学习”或“积累经验”,并且根据学到的经验改变自身的结构和行为方式。[1]参见《系统科学》,徐国志等,上海科技教育出版社2000年P252返回复杂系统研究的方法和理论•结构状态描述分形分
维状态空间自组织与耗散结构•演化机制的动力学描述艾根超循环协同学•复杂系统建模与模型表示受限生成系统网络模型非线性动力学方程元胞自动机多主体系统人工生命复杂系统研究的方法和理论•CAS理论•网络模型:复杂网络拓扑研究小世界网络尺度无关的网络为什么用计算
机?•1860年,法国天文学家Delaunay(CharlesEugeneDelaunay,1816-1872)为计算受到地球与太阳重力影响的月球运动轨迹,花了二十年,计算过程填满一本书,也只得到一个近似解•1970年,用符
号方程检查他的计算,计算机只花了20个小时,不但求出更精确的近似解,还找出Delaunay的三个计算错误•四色图问题•整体大于部分之和:个体设计上的简单规则不能预料交互过程中涌现出的整体新特征•根本原因:—
—非线性方程的不可积,不能精确求解,不能长期预测人工社会•Sugarscape模型糖域模型芝加哥大学社会政治学研究所•人工社会拓展了社会学、人类学研究的手段•在虚拟的社会中观察战争、文化等因素的形成•例如:货币的形成过程。在一个追求交换效益最大化、以分工细化为方向的人工社会中这是必然发生的
。统一规范与计算机建模工具如SwarmRepastAscapeSatrlogoDynamo等•工具化•标准化•简便化•跨学科性计算机建模工具应该规范研究方便研究方便交流模型方法是现代科学的一种核心方法•用于复杂性研究的典型信息模型是一种半经验半理论模型。•模型是知识
表示的基本概念和工具第二节复杂系统•系统理论•复杂适应系统系统理论系统什么是系统?贝塔朗菲认为,系统是处于一定相互关系中与环境发生关系的各组成部分(要素)的总体。或者说,系统是集合内各要素按一定的结构组织而成的一个整体,并在与外部环境进行物质、能量、信息的交换过程中
体现出一定的功能。系统科学•系统科学是探索系统的存在方式和运动变化规律的学问,是对系统本质的正确反映和真理性认识。系统科学已经形成了一个学科群:如系统论、信息论、控制论、运筹学、博奕论、协同学、耗散结构理论等。•系统科学方法是按照系统科学的观点和理论,把研究对象视为系统
来解决认识和实践中的各种问题和方法的总称。系统科学方法的原则运用系统的观点研究和处理对象时,要把握以下一些原则:(1)整体性原则。整体性原则是系统方法的首要原则。(2)动态原则。这是指系统方法的历时性原则。系统科学方法的原则(续)(3)最优化原则。亦称整体优化原则。本着“多利相权取
其重,多害相权取其轻”的精神进行综合优化和系统筛选。(4)模型化原则。采用系统科学方法需要这真实系统模型化。模型化原则是采用系统化方法时求得最优化的保证。前两个原则是基础,第三个是目标,第四个是手段。系统科学方法的作用为人们提供了新的思想模式,是推动科技整体化、综合化的重要方法
。兼具多种认识功能,是研究复杂系统的有效工具。为人们提供了制定系统最佳方案以实行优化组合和优化管理的手段。探索复杂性的方法一探索简单性•研究相对简单的对象特别是把用简化的方法研究事物,称为探索简单性。•近代自然科学基
本上属于探索简单性的科学,人们形成了一种信念,即认为一旦掌握了简单性的实体和关系,任何复杂的对象都可以构造和计算出来。二探索复杂性•强调整体与部分的关系是一种非加和性。•复杂系统各要素之间存在非线性。•系统变化过程服从因果反馈规律。•系统不但存在,还在生长和消逝着。复杂性探索的方法论启示:•从还原
论到整体论的转变;•从线性观到非线性观的转变;•科学兴趣从简单性向复杂性的转变;•从崇尚解析方法向重视非解析方法的转变;•确定论和概率论两套描述体系从对立到沟通。复杂适应系统理论的最基本的思想•复杂适应系统也即CAS(ComplexAdaptiveSystem)。•
我们把系统中的成员称为具有适应性的主体(AdaptiveAgent),简称为主体。•所谓具有适应性,就是指它能够与环境以及其它主体进行交流,在这种交流的过程中“学习”或“积累经验”,并且根据学到的经验改变自身的结构和
行为方式。•整个系统的演变或进化,包括新层次的产生,分化和多样性的出现,新的、聚合而成的、更大的主体的出现等等,都是在这个基础上出现的。复杂适应系统的例子•生物有机体•生态系统•经济•运输为什么使用Agent-BasedModel
ling•传统的建模方法能够描述宏观的系统,但是并不能解释一些特性的来源;•不能很好的处理离散系统;•ABM能够很好的针对以上问题进行处理,它是传统建模方法的一个补充。CAS基本思想1994年正式提出
我们把系统中的成员称为具有适应性的主体(AdaptiveAgent),简称为主体。所谓具有适应性,就是指它能够与环境以及其它主体进行交流,在这种交流的过程中“学习”或“积累经验”,并且根据学到的经验改变自身的结构和行为方式。整
个系统的演变或进化,包括新层次的产生,分化和多样性的出现,新的、聚合而成的、更大的主体的出现等等,都是在这个基础上出现的。基于CAS思想的要点:A)主体(AdaptiveAgent)是主动的、活的实休。这点是CAS和其他建模方法的关键性的区别。正是这个特点,使得它能够用于经济、社会、生态等其它方法
难于应用的复杂系统。B)个体与环境(包括个体之间)的相互影响,相互作用,是系统演变和进化的主要动力。以往的建模方法往往把个体本身的内部属性放在主要位置,而没有对于个体之间,以及个体与环境之间的相互作用给予足够的重视。这个特点使得CAS方法能够运用
于个体本身属性极不相同,但是相互关系却有许多共同点的不同领域。基于CAS思想的要点:C)这种建模方法不象许多其他的方法那样,把宏观和微观截然分开,而是把它们有机地联系起来。它通过主体和环境的相互作用,使得个体的变化成为整个系统的变化的基础,统一地加以考察。D)这种建模方法还引
进了随机因素的作用,使它具有更强的描述和表达能力CAS了描述复杂适应性的6个特点:•分散的相互作用全局现象是由许多分散的异质主体的相互作用产生的,任意给定主体的行动依赖于对有限数目其他主体的行动和这些主体共同建立的积累状态。主体的差异性导致积累行为的“永远新奇”•没有全局控制
者没有全局性实体控制相互作用,控制产生于主体间的竞争和写作机制。经济行为通过法律制度、设定的角色和波动的联系调节。没有全局竞争对手—―个体可以运用经济中的所有机会。CAS了描述复杂适应性的6个特点:•层次交叉的组织经济中具有许多层次和相互作用。任何给定层次的单元(行为、动作、策略和产品)都作为构建
较高层次的单元基本块。整个组织不仅具有层次性,层次间还存在许多相互作用。•连续的适应性依据积累的经验,主体的行为、动作、策略和产品不断调整,导致系统不断适应,层次间还存在许多相互作用。CAS了描述复杂适应性的6个特点:•永远创新新行为和新结构可能刺激更新的行为和更新的
结构的创立,产生一个持续创新的状态。经济中的新市场、新技术、新行为和新组织不断创立新的环境,填充新环境的行动将产生更新的环境。静态被动态代替。•偏离均衡的动态由于新的环境、新的潜在力量、新的可能性不断产生,经济运行远离任何最
优或全局的均衡。均衡是暂时的,非均衡是常态。意味着改进通常是可能的,并且却是是由规律的发生。CAS的7个有关概念•1.聚集(Aggregation)有两个含义。–简化复杂系统的一个标准方法——即把相似的事物聚合成类,例如树、汽车、银行等。–主体通过“粘
合”形成较大的更高一级的主体——介主体(meta-agent)。•2.标识(Tag)–在聚集体的形成过程中,标识机制在起作用。标识的作用在于区别主体。聚集体的形成或者说主体的聚集都是有选择的,并非任意个体都
会聚集。标识的作用在于促进主体选择性的相互作用。3.非线性(Non-linearity)非线性是指个体自身属性的变化以及个体之间的相互作用并非遵从简单的线性关系。因为这样,复杂系统的行为才会如此难以预测;才会经历曲折的进化过程,呈现出丰富多彩的性质和状态。4.流(Flow)在
个体与环境之间存在着物质流、能量流和信息流。CAS理论认为这些流的渠道是否通畅、周转迅速到什么程度,都直接影响系统的演化过程。5.多样性(Diversity)CAS理论认为,在CAS系统中,多样性既非偶然也非随机。每个主体都安顿在由以该主体与其他主体相互作用所限定的小生境上(
niche,或翻译为生态位)CAS理论认为,多样性产生的原因在于适应过程中,是一种动态模式,具有持续性和内聚性。CAS系统与其他系统的最重要区别在于组成CAS系统的主体的多样性•6.内部模型(InternalModel)–主体复杂的内
部模型是主体适应性的内部机制和精髓,主体在适应过程中接受外部刺激,做出反应,合理调整自身的内部结构。最终,结构的变化,必须使主体能够预知再次遇到该情形时会随之发生的后果,主体由此来适应环境。•7.积木块(BuildingBlocks)–就像人往往通过将复杂问题分解成若干简单
部分进行理解一样,CAS内部模型用搭积木的方法对已测试过的规则进行组合,产生新问题的处理规则,已有的规则被形象化地称为积木块,它们是新规则产生的基础。第三节模型与模拟方法1.模型2.建摸与模拟3.模拟软件平台SWARM的介绍4.模拟软件平
台STARLOGO的介绍5.应用举例具体地用模型与模拟方法探索复杂性模型数学模型模拟基于主体的建模方法和CAS模型方法定义:模型是在结构或/和行为的重要方面和所研究的系统相似的,真实的或想象的系统的映象。它往
往能为大范围的观察事实提供解释。模型与原型•模型的建立不是“原型的重复”,而是按研究目的的实际需要和侧重面,寻找一个便于进行系统研究的“替身”。不同的人由于研究的目标不同,就会对某些方面做出不同的简化。•在原型系统
及模型之间存在着“反馈”的关系,根据对原型系统规律的认识,可以建立模型。而建立模型进行实验的过程又可发现一些新的规律,由此预测未来或丰富对原型系统的认识。模型应用范围•人类对世界的探索过程,就是建立各种模型表示的过程。人类知识积累的过程,也是修正和具体化各种形态的模型的过程。–静态结构的模型称
为静态模型–描述事物发生、发展、演化过程的模型称为动态模型。•历史地看,模型形态的变化也有一个逐渐从简单到复杂的发展过程。–从最初原始的思维意象模型,发展到借用外在的工具搭建的各种模型,包括绘画模型、建筑雕
塑模型、工具模型等,再到哲学和神学中发展出的各种理论模型。模型分类•按照模型存在的空间,模型可分为物质模型与思维模型两大类。–物质模型是以某种速度、形式相似、人造或自然的模型实体去再现原型。物质模型是模拟实验赖以进行的物质手段。–思维模型是人们在头脑中创造出来的,并且运用它在思
维中进行逻辑推理、数学演算和“思想实验”,可分为形象的(唯象的)模型和符号的(标志性的)模型。建模动机一般可以把人类建立模型的动机分为四个层次:(1)解释和理解的需要。(2)预测的需要。(3)控制的需要。(4)技术理性和工具的需要。一近代常见的模型物质
形式的模型——物理模型思维形式的模型——数学模型——统计模型——逻辑模型物质形式的科学模型物理模型对要研究的客体,按照一定的研究目的,寻找一种天然存在的具有相似性的实物或者人工地制造一种具有相似形的实物,作为原形客体的实际模拟物,即实物模型。运用这种实物模
型,进行模拟实验或模型实验,以获取关于客体的某种规律性认识。•天然模型:以天然存在物作为模型。最为典型和运用得最多的就是生物模型。其方法论作用:一方面生物所具有的奇妙器官和功能作为仿生学的对象。另一方面,把某类生物作为人的科学模
型来研究,获得对人体的认识。•人工模型:即以人工制作物作为科学模型。思维形式的科学模型对要研究的对象,按照一定的研究目的,经过科学的分析而抽象出它的本质属性特征,构造一种思维形式的模拟物,即思维模型,常表现为抽象的、数学的、理论的形态。(1)理想
模型:是对研究对象的一种简化和理想化。(2)数学模型:(3)理论模型:(4)半经验半理论模型:二建立模型的方法论原则模型具有工具性与对象性双重性质。建立模型的方法论原则:•相似性与简单性的统一。要求具有本
质上的相似性。•可验证性。•多种知识和方法的综合运用。三科学模型的多重功能•科学模型的研究纲领作用;•科学研究的间接方法;•思维模型可以起到思想实验的目的。思想实验实际上是思维操作亦即逻辑推理的结果。是实际实验的逻辑补充。•模型是研究复杂系统的关键。•模型研
究对实践的指导作用。四模型的多样性和有限性•多样性•局限性:常常过于简化。模型的系统分析人本体描述语言程序设计语言客体程序?客体描述系统设计形式系统认知模型软件制作模型抽象模型组织模型表示语用语义认知制作语法模型:——客观事物的反映——客观规律的简化和抽象
——整理信息的概念框架模型小结模型具有以下这些基本的性质:•客观性:必须符合实际。•主观性:对于目标有效。•相对性:只反映客观事物的某一侧面。•渐进性:随认识和实践的发展而发展。模型的作用模型是人类认识和改造世界的必经之路:——描述系统——整理信息——寻
找规律——预测未来——设计人为事物从模型到模拟数学模型计算机模拟CAS数学模型方法数学模型是对于某个特定对象或一定问题,采用形式化数学语言来描述其特征及数量相依关系的一种数学结构,它是一组数学关系式或一套具体
的数学算法。即用数学语言表达事物的状态、关系和过程,经推导、演算和分析,以形成解释、判断和预言的方法。数学模型的类型•确定性数学模型;•随机性数学模型;•模糊性数学模型;•突变性数学模型。。。。。数学模型的特征:–高度的抽象性;–具有严密的逻辑性;–具有应用的广泛性
;–过程描述,非直观:如果是非线性动力学方程,可表示、但却不可求解。数学方法在科学认识中的作用•为科学技术研究提供简洁精确的形式化语言•为科学技术研究提供数量分析和计算的方法:•为科学研究提供逻辑推理的工具计算机模型方法:所要研究问题的数学模型,转换为能输入计算机进行数值运算的形式,或直接建立计
算机仿真模型,在计算机上通过系统地变换参数作大量数值计算。计算机模拟-发展的历史•计算的历史主要是模拟的历史;•在PC上模拟人的智能、智能发育过程;•在平台上模拟系统,如人工生命,机器人足球,蚁群算法;•在
网络上模拟社会,如email,电子商务,网格计算;•在平台上,网络上模拟智能agent,agent是虚拟社会人,实质上是现实社会人的缩扩模型。•PC,网络是系统,人,社会是系统,它们之间是模拟关系。模拟•计算机发展中模拟是不变的,而变化的只不过是模拟的对象,那么什么是模拟
?•从系统观来看,模拟是两个系统之间的关系,模拟的实质是两事物或两个系统同一性的转化。•模拟要素有四:原型,转化,模型,系统同一性。传统建摸方法的问题近代科学使用的各种建模方法普遍存在以下几个缺点:——宏观和微观的割裂。——状
态和过程的割裂。——难以描述反映非线性过程。——忽视个体或元素的主动性。基于主体的建摸方法新的方法具有三个显著的特点:——宏观和微观的结合——过程和状态的结合——可操作性强,软件工具的提供。基于主体的建模方法多主体建模的理论常见缩写CAScomplexada
ptivesystem•MASMulti-AgentSystem•ABMAgentbasedModel•ACEAgentbasedComputionalEconomy•。。。广泛应用于各种社会科学、自然科学与工程科学中(生态经济学人工社会政治科学人工智能人工生命商务经济模拟工程模拟地理信息
系统决策支持系统生物信息学)计算机模型的一般特点•(1)计算机模型一般只输出一组离散的数值。它不像解微分方程组那样给出通解或一个函数。•(2)它不用深究变动机理,只需从实际数据或直观感觉出发,来模仿描述系统,然后通过逐步求精,最后达到正确地反映系统。计算机模型的一般特点(续)•(3)计算机建模用其
程序模拟现象,计算机语言被证明是便于进行模拟的。计算机语言的丰富的数据结构可以方便地描述系统的状态。用计算机程序能灵活地描述各种复杂的进程。•(4)计算机建模的应用很广泛,可用于工、农、商及军事等各行各业的规划、调度、设计和决
策等等。有人对美国1000家最大的公司的计划系统应用定量分析方法的情况调查时,得到不同方法应用的频数表,发现在各种定量分析方法中模拟方法所占的比重很大。项目应用频数所占百分比模拟研究线性规划网络分析(包括PERT与CPM)存储理论非线性规划动态规划整数规划排队理论其他60432824168
77122921141284336合计205100应用定量分析方法的频率计算机模型的一般特点(续)•(5)可充分发挥人和计算机的优势。–人具有直觉,其思维方式是很灵活的。在寻找复杂的因果关系时,可以根据直觉与经验比较敏锐地给出一个模型结构的框架。–计算机有大的存储器,又有高速
运算的能力,所以它可以同时顾及系统的各方面结构或易于展现系统动态变化的具体情节•计算机模型发挥了人机两方面的优势,通过人的直觉、思维和推理,一块一块地构筑模型,送入计算机,然后可迅速地逐步计算。计算机模型的一
般特点(续)•(6)计算机建模的实现方法灵活。一般来说,用解析式表示量之间的关系,明确、清晰、令人信服。然而,它只解决较简单而且有固定模式的问题。对复杂而灵活的问题,就要用模拟的办法。•(7)智能化的发展方向。人工智能的原理就是从人脑处理问题的模
式中抽象出来的。计算机模型把人机的优势结合,以解决传统数学方法不易解决的复杂系统的认识问题,所以必然利用人工智能所取得的成果。计算机建模方法优势•经济性对于一个大型的系统、直接实验成本十分昂贵,使用计算机建模实验能大大地降低实验成本,而且可以多次重复使用;•安全性对于某些系统,如载人宇宙飞行器
、核电站控制、直接实验往往是危险的和不允许的;•预见性对于经济、社会、生物、战争等非工程系统,直接实验几乎是不可能的。计算机模型可用于预测系统的特性和外部作用的影响,从而研究管理、控制的策略。计算机模拟局限性•各种模型都是基于建模者的认知水平和观测能力的
结果,从而模型模拟的可信度缺乏统一的测量尺度,因此结果很难被大众采纳而形成公共知识;•根据测不准定理,观测事实不过是一种近似结果,由于建模者的参与,观测事实的细节和观测指标的取舍都带有建模者预先设计的痕迹,得到的结果很难客观•第三,建模者本身就是有限信息和有限理性的主体,
就是现实系统的参与者。因此不大可能实现超越系统、超越自身的理性。•这些局限在通常的实验研究方法中也同样存在,但在计算机建模方法中更容易引起人们的质疑模拟软件平台的介绍SwarmStarlogoSWARM简介1、背景2、Swarm的
历史与简介3、面向对象的技术4、用Swarm建模的思想和方法5、对Swarm的感性认识——例子6、Swarm类库简介1、背景•早期的科学家通常自己制造实验仪器,自己磨透镜,自己连探测器,甚至自己制造计算机。研究者首先是工程师、技师、
电工,其次才是科学家。•计算机模拟程序实际上就是用软件制造的实验仪器,这种方法在某些方面已经取代了物理实验仪器。•计算机模型常常使优秀的科学家变成糟糕的程序员。•Swarm是一个高效率的、可信的、可重用的软件实验仪
器。其目标就是予科学家们一个标准的软件工具集,从而提供一个设备精良的软件实验室,帮助人们集中精力于研究工作而非制造工具。Swarm是一个面向对象的类库,用户可以通过调用这些类库简化模拟工作。用户通过在自己的程序中引入Swarm类建模。Sw
arm类用ObjectiveC编写,ObjectiveC是一种面向对象的C语言。图形用户界面用Tcl/Tk编写,这是一种用于编写窗口小部件的脚本语言。既可用于Unix平台又可以用于Windows95/98/NT。
2、Swarm的历史与简介开发环境:Swarm支持SUNJDK1.2或以上版本。因此,常用的开发工具,如Jbuilder3,VisualCafe4等都可以用来编写和调试基于Java的Swarm程序。Unix下:1)如果要使用Java,必须首先安装S
warm支持的Java虚拟机。在Unix下,可以使用Kaffe(http://www.alphaworks.ibm.com/tech/jikes),BlackdownJDK(http://www.Bla
ckdown.org)或SUNJDK(http://java.sun.com/products/jdk/1.2/)。2)系统中还必须安装emacs,emacs是一个GNU的编辑器,由于它配置灵活,功能强大,可以免费获得,
又与开发工具具有一定的集成性,应用非常广泛。3、SWARM的技术基础——面向对象的技术对象(object)这个词在英语中的意思是被感知或被触摸的事物。对象在客观世界中的意义是很简单的,即明确的物体,小到一个螺丝钉、大到一个生物、一个社会,都是实实在在的对象。作为系统的一个组成部分,它们
都为其所在的系统提供一定的功能,在系统中具有一定的作用,担当一定的角色。实际上,我们在认识世界的时候就是面向对象的,我们通过了解系统中这些实实在在的对象来把握整个系统的各个方面。变量方法状态行为一个对象程序消息简单的术语类封装
了对象的变量和方法父类其变量和方法将被继承子类从父类处继承了变量和方法实例一个对象,也是一个类的实例实例变量一个实例中的内部变量方法函数.可以通过给实例发消息来调用三大特点封装对象把他们的功能(方法)和数据(实例变量和方法变量)隐藏起来继承所有子类都继承
其父类的所有方法和变量多态一个类可以有多个对象,他们有共同的行为,但是又有不同的状态父类子类4。用Swarm建模的思想和方法Swarm建模框架是一系列独立的主体通过独立事件进行交互。Swarm模拟可使用不同的领域如化学、经济、物理、人类学和
政治科学。Swarm模拟的基本单位是主体,一个主体就象系统中的一个演员,是能够产生动作并影响自身和其他个体的一个实体。模拟包括几组交互的主体。主体定义Swarm系统中的基本对象——模拟部件。一个时间表定义这些对象的独立事件发生的流程。getpar
ametersinitializefor1totimestepsdo:for1tonum_agentsdo:agent-i-do-somethingendforshowstateendforquit提供一些数据结构来存储主体的状态和行为初始化,设定数据结构和输入输出等将状
态数据输出给程序在编程语言中的实现主体的组织结构活动主体模型Swarm静态主体探测器Swarm建模结构:探测器输出界面模型“swarm”SWARM就是许多个体(对象)组成的一个群体,这些个体共享一个行为时间表和内存池。显然“swarm”有两个主
要的组成部分:对象——模型“swarm”中的每一项对应模型世界中的每一个对象(个体)。“swarm”中的个体就象系统中的演员,是能够产生动作并影响自身和其他个体的一个实体。时间表——时间表是一个数据结构,定义了各个对象的独立事件发生的流程,即各事件的执行顺序。在SWARM中特定的事件
发生在特定的时间,按照时间表安排的顺序进行。每种行为是一个独立的动作。模型按照这种安排好的事件的执行顺序向前发展,并尽量使这些事件看起来象同步发生的。输入输出——模型“swarm”还包括一系列输入和输出。输入是模型参数:如世界的大小,主体的个数等环境参数。输出是可观察的
模型的运行结果:如个体的行为等等。观察员“swarm”模型“swarm”只是定义了被模拟的世界。但是一个实验不应只包括实验对象,还应包括用来观察和测量的实验仪器。在SWARM计算机模拟中,这些观察对象放在一个叫观察员“swarm”的“swarm”中。•
最重要的观察组件是——模型Swarm•观察员行为的时间表主要是为了驱动数据收集,即从模型中将数据读出,并画出图表。•输入是对观察工具的配置,例如生成哪类图表;输出是观察结果。在图形模式下运行时,观察员“swarm”中的大部分对象被用来调节用户界面。这些对
象可能是平面网格图,折线图或探测器,它们一方面与模型“Swarm”相连以读取数据,同时把数据输出到到图形界面,为用户提供了很好的实验观察方式。SwarmSub-Swarm主体时间表图形用户界面模型探测器Sub-sub-Swarm•S
warm中所有的主体和变量都可以被探测。•探测器将它自己和主体联系起来,它可以给主体发送消息,还可以通过直接读取或者调用主体来获得或修改主体变量。被观测变量=10.2探测器•探测器将主体与图形界面联系起来•缺省的探测器图形界面会显示被观测的主体的所有变量——也可以由用户自定义
显示变量。执行方法输入变量值打开该类的探测器关闭探测器探测器与图形用户界面(GUI)•可用于绘制–线性图–柱状图–格栅图–Digraphs•图形用户界面的支持对象可以实现数据的收集,计算和更新。图形用户界面(GUI)平均价格平均成本探测器探测器主体图形窗
口•图形窗口输出依赖于探测器动态地收集主体的数据。给图形用户界面(GUI)提供数据建模思想:•这种建模方法不需要一个方程形式来体现系统中内生的关系。•这种方法强调非均衡的发展路径,它的分析是基于进化和突变行为而不是基于一种机械的观点来看待
社会。•这种方法是基于单个主体的,因此用户必须为每个决策者建立微观模型,而不是为整个市场建立宏观模型。•这种方法将经济系统看作是一个进化的复杂系统。•用户可以使用Swarm提供的随机数生成器轻松的引入随机因素。建模方法:Swar
m是一种支持“自下而上”(bottom-up)的建模工具。5、对Swarm的感性认识——例子热虫(Heatbugs)热虫是Swarm的经典例子之一,它说明了简单的局部的主体活动如何产生复杂的全局的行为。结果显示界面的样子interfaceHeatbugModelSw
arm:Swarm{intnumBugs;//simulationparametersdoubleevaporationRate;doublediffuseConstant;intworldXSize,worldYSize;intminIdealTemp,maxIdealTemp;int
minOutputHeat,maxOutputHeat;doublerandomMoveProbability;idmodelActions;//schedulingdatastructuresidmodel
Schedule;idheatbugList;//listofalltheheatbugsGrid2d*world;//objectsrepresentingHeatSpace*heat;//theworld}-get
HeatbugList;//accessmethodsintothe-(Grid2d*)getWorld;//modelswarm.Thesemethods-(HeatSpace*)getHeat;//allowthemodelswarmtobeobse
rved.+createBegin:aZone;//extramethodsyou-createEnd;//provideforSwarms-buildObjects;-buildActions;-activateIn:swarmContext;第一步:建立一个模型swa
rm一个模拟的关键部分是模型swarm。这里是HeatbugModelSwarm的定义:第二步:定义一个主体所有个体是整个模拟的中心。在模拟中的大部分工作来自于定义个体的行为,以使模型与真实世界的现象类似。heatbug主体的定义如下:interfaceHeatbug:SwarmObject
{doubleunhappiness;//mycurrentunhappinessintx,y;//myspatialcoordinatesHeatValueidealTemperature;//myidealtemperatureHeatValueoutputHea
t;//howmuchheatIputoutfloatrandomMoveProbability;//chanceofmovingrandomlyGrid2d*world;//theworldIliveinintworldXSize,worldYSize;//howbigt
hatworldisHeatSpace*heat;//theheatfortheworldColorbugColor;//mycolour(display)}-setWorld:(Grid2d*)wHeat:(H
eatSpace*)h;//whichworldarewein-createEnd;-(double)getUnhappiness;-setIdealTemperature:(HeatValue)i;-setOutputHea
t:(HeatValue)o;-setRandomMoveProbability:(float)p;-setX:(int)xY:(int)y;//bug'sposition-setBugColor:(Color)c;//bug'scolour(display)-step;-drawSelf
On:(id<Raster>)r;第三步:建立主体Heatbug们已经被定义,模型swarm需要创建它们。这里是HeatbugModelSwarm中buildObjects方法的一段代码:for(i=0;i<numBugs;i++){
Heatbug*hbug;intidealTemp,outputHeat;//Choosearandomidealtemperature,outputheatfromthespecifiedidealTemp=[uniformRandomrMin:minIde
alTempMax:maxIdealTemp];outputHeat=[uniformRandomrMin:minOutputHeatMax:maxOutputHeat];//Createtheheatbug,setthecreation
timevariableshbug=[HeatbugcreateBegin:[selfgetZone]];[hbugsetWorld:worldHeat:heat];hbug=[hbugcreateEnd];//Addthebugtothee
ndofthelist.[heatbugListaddLast:hbug];//Nowinitializetherestoftheheatbug'sstate.[hbugsetIdealTemperat
ure:idealTemp];[hbugsetOutputHeat:outputHeat];[hbugsetX:[uniformRandomrMax:worldXSize]//randompositionY:[uni
formRandomrMax:worldYSize]];}第四步:建立空间对象在swarm中,空间是另一种个体。在Heatbug模型中我们创建一个热空间,这是swarm的space库中一个散射对象的子类。这里是Heatb
ugModelSwarm中buildObjects方法的一段代码:heat=[HeatSpacecreateBegin:[selfgetZone]];[heatsetSizeX:worldXSizeY:worldYSize
];[heatsetDiffusionConstant:diffuseConstant];[heatsetEvaporationRate:evaporationRate];heat=[heatcreateEnd];第五步:模型swarm的时序安排一
旦所有的模拟对象在buildObjects中被创建,下一步的任务就是在buildActions方法中确定它们的时序安排。modelActions=[ActionGroupcreate:[selfgetZ
one]];[modelActionscreateActionTo:heatmessage:M(stepRule)];[modelActionscreateActionForEach:heatbugListmessage:M(step)];[modelActionscreateA
ctionTo:heatmessage:M(updateLattice)];modelSchedule=[SchedulecreateBegin:[selfgetZone]];[modelSchedulesetRepeatInterval:1];mode
lSchedule=[modelSchedulecreateEnd];[modelScheduleat:0createAction:modelActions];第六步:建立图形化的探测器模型swarm已
经定义,下一步是安排图形化的探测器swarm。对于Heatbug模型来说,代码段在HeatbugObserverSwarm中。探测器swarm的结构同建立模型swarm几乎完全相同。interfaceHeatbugObserverSwarm:GUISwarm{int
displayFrequency;//oneparameter:updatefreqiddisplayActions;//scheduledatastructsiddisplaySchedule;HeatbugMod
elSwarm*heatbugModelSwarm;//theSwarmwe'reobserving//Lotsofdisplayobjects.First,widgetsXColormap*colormap;//allocatecoloursZoomRaster*world
Raster;//2ddisplaywidgetEZGraph*unhappyGraph;//graphingwidget//Now,higherorderdisplayanddataobjectsValue2dD
isplay*heatDisplay;//displaytheheatObject2dDisplay*heatbugDisplay;//displaytheheatbugs}第七步:建立数据图表数据图表是Hea
tbugObserverSwarm中的一个对象,表示平均的不高兴程度。这段代码用来创建这个对象://Createthegraphwidgettodisplayunhappiness.unhappyGraph=[EZGraphcreateBeg
in:[selfgetZone]];[unhappyGraphsetTitle:"Unhappinessofbugsvs.time"];[unhappyGraphsetAxisLabelsX:"tim
e"Y:"unhappiness"];unhappyGraph=[unhappyGraphcreateEnd];[unhappyGraphcreateAverageSequence:"unhappiness"withFeedFrom:[heatbugModelSwarmgetHeatbu
gList]andSelector:M(getUnhappiness)];第八步:主函数函数main()是你的程序中最先被调用的函数。所有的实际工作已经完成,剩下的就是在合适的时间创建对象。intmain(intargc,constch
ar**argv){idtheTopLevelSwarm;//Swarminitialization:allSwarmappsmustcallthisfirst.initSwarm(argc,argv);//swarmGUIModeissetininitSwarm().It'ss
ettobe0ifyou//typed`heatbugs--batchmode'or`heatbugs-b',Otherwise,it'ssetto//1.if(swarmGUIMode==1)//We'vegotgraphics,somakeafullObserverSwarmtogetGUI
objectstheTopLevelSwarm=[HeatbugObserverSwarmcreate:globalZone];else//Nographics-makeabatchmodeswarmandrunit.theTopLev
elSwarm=[HeatbugBatchSwarmcreate:globalZone];[theTopLevelSwarmbuildObjects];[theTopLevelSwarmbuildActions];[t
heTopLevelSwarmactivateIn:nil];[theTopLevelSwarmgo];//theTopLevelSwarmhasfinishedprocessing,soit'stimetoquit.return0;}6、Swar
m类库简介•Swarm类库有两个主要功能——被用户直接使用;用户使用Swarm库来建立自己的子类,为专门的建模需要你建立自己专门的类Swarmobjectsimtools该库包括两个重要的类,swarmobject和swarm。Swarmobject是所有模拟主体的根类,它定义了内存管理的接口并提
供对探测器的支持。Swarm类是模型的总控,ModelSwarm和ObserverSwarm都从这一基类处继承有用的代码。activity该库提供了对时间表的支持。时间表是模型运行的时序列表,用户可以将周期性执行的动
作按顺序放入这个数据结构中,并指明运行间隔和触发条件,模型就可以按照这个约定运行而不需人为的干预。该库中包括支持探测器的类,这样就可以在模型的运行过程中观察或修改变量。Simtools还提供数据分析和显示支持的工具,能够产生统计数据汇总,画时序图等等。Collec
tion该库中提供了一系列对象的列表,如List、Array、Set等。Swarm支持向一个列表中的所有对象传递消息,还可以将列表中的对象按某个属性排序。defobj该库中提供了对消息、错误处理、调试和内存分配的支持,增强了Objective-C的功能。它还支持对象界面和实现分离,
从而使Swarm编写的程序的层次性更加清晰。random该库提供给用户一套随机数生成器。支持正态分布、均匀分布、指数分布等多种随机分布。Space该库是一个简单的空间库,包括一系列用于二维离散模型的类。这些空间类型在生态系统模拟中经常用到。Space
中的类大多数是从Grid2D,一个可以在指定格点上存储对象和整型值的二维数组继承得来。ga和neuro遗传算法类和神经网络类。这是Swarm的第一个用户提供的库,是由JuanJ.Merelo在访问桑塔菲研究所时编
写的。Starlogo基于CAS理论的模拟平台之二Starlogo概述•StarLogo是一个可编程的建模环境。•它用来研究分散系统的运行机制。所谓分散系统是指:没有组织者而有组织,没有协调者而协调的系统。•使用StarLogo可以对许
多现实世界中的现象进行建模并且观察研究,例如鸟群、交通、蚂蚁以及市场经济。StarLogo非常适合于研究人工生命。•StarLogoisdevelopedatMediaLaboratory,MIT,Cambridge,Massachuset
ts,withsupportfromtheNationalScienceFoundationandtheLEGOgroup.•Starlogo中有海龟(turtle)和点(patch)。其中,海龟是我们自己创建的主体,点是画布(canvas)上固定的一个个小方格。我们可以对海龟和点的行为
及属性进行编程,海龟主要固有属性是坐标位置,头的朝向,颜色,和画笔。点的主要固有属性是颜色和坐标位置,我们还可以给它们自定义一些新的属性。程序运行时所有的海龟和点都以系统规定的时间步进,并行运转。Starlogo就是通过海龟和点的交互运作来模拟现实世界的运转的。•
另外,Starlogo允许对海龟进行分类(breeds),例如,我们可以创建两类海龟:狼和兔子,然后对这两类分别定义它们的属性和行为。•界面画布(canvas)、控件等•控制中心海龟窗口:命令窗口+函数窗口观察者窗口:命令窗口+函数窗口界面控制中心控制中心海龟窗口:每一个
海龟都执行观察者窗口:创建海龟等外部工作命令窗口:立即执行函数窗口:被命令窗口中的命令或按钮调用时执行控件•按钮:通过按按钮调用函数控制程序的运行;•滑块:显示及调节常量的值;•监控器(monitor):实时监控变量值;•绘图:折线图、柱状图等;•速度:
控制系统的时间步进;•画布:直观地表现海龟和点的运转;•output窗口:程序中print语句的输出窗口。特点•距离:以画布的点的宽度为单位长度•时间:以可调整的speed为时间步进,每隔一个speed时间系统
中的observer和turtles并行执行当前要求执行的命令。也可用timer来确定标准时间(以秒为单位)•海龟有序号(Who)•颜色:有14种主要色彩,每种主要色彩又都有色彩深浅程度,可用数字来表示。建立模型建模
就是要对现实世界进行抽象,剔除与主题无关的次要因素,抓住主要因素,提炼规则,用计算机来模拟主体在现实世界中依据一定规则运动的情况,观察结果,总结规律。不同的情况:•建模之前已经确切地知道会有怎样的结果,建模的目的只是让结果更加形象化地表现出来。•建模之前对于结果
的大致方向有一定的把握,建模后验证了自己的判断并了解了更多的细节。•建模之前对于结果没有什么判断或者有错误的判断,建模后出现了完全在意料之外的现象。这是最有价值的建模。可能应用的领域•生物学•流行病学•社会学•股市分析:每个股民有自己的行为规则,思维方式,不受他人控制,但所有股民
的行为集合则在股市的涨落上体现了个体所不具有的性质。变量(一)•Starlogo中只有四种数据类型:布尔型、数据列表型、数值型、字符串型。•状态变量:是海龟和点固有的特性,除了坐标属性外它们都可以用set命令改变。•自定义变量:我们可以创建全局变量和海龟、点及观察者的新的状态变量。
一旦创建了新的状态变量,系统便会自动生成相应的函数集来方便这个变量的使用。变量定义语句可以写在任何一个函数窗口中。变量(二)•变量的后缀:利用-at,-to,-towards等后缀我们可以读取、修改其它海龟或点的状态变量变量(三)•全局变量:……•局部变量:与全局变量一样和任何点或海龟无关。仅在定
义所在的函数内有效。(用let语句定义,以冒号开头)•函数参数:参数之前要加:,多个参数之间用空格隔开。list•可用list或sentence命令或[]生成列表,但是要注意这里只是针对数据列表,在Starlogo中,不能
将执行语句置于数据列表中•Pick[数据列表]随机返回列表中的一个数据•copy-list[数据列表]返回列表的一个副本•Median-of-list[数据列表]将数据列表按大小排序,返回中值•Mode-of-list[数据列表]返回列表中出现次数最多的项,
如果不止一个,则返回他们的集合列表•Setitemnumber[数据列表]thing把列表中第number项改为thing输出方式•画布•Output窗口•Plot窗口•监控器•Info窗口命令测试•diffusevariablepercentage语言
解释:让每个点把自己的variable变量取出percentage(0到1之间的数),并分成八份给邻近的每个点一份。程序测试:初始状态:(0,0)点的color置为139,其他点都置为0(黑色)。每调用一次go函数,每一个点都把自己的颜色拿出20%来平分给邻近的八个点
。相关命令:diffuse4variablepercentage,和diffuse基本相同,只是diffuse4是分成四份给上下左右的点。Diffuse测试程序运行结果初始状态运行一次后运行12次后运行27次后此外,我们还可以利用output窗口将每次运行后所有点的color值记录下来,定量地分
析diffuse语句的含义。•fd,step,jump,leap语言解释:这四个都是让海龟前进的命令。但它们又都不同。fd和step都是每移动一个step就要花一单位时间,也就是说移动10个step的时间=10*移动一个step的时间。但j
ump和leap是无论移动多少个step所花的时间都一样。也就是说移动10个step的时间=移动一个step的时间。jump和leap的区别在于leap要确定目标点上面没有别的海龟才执行跳跃,而jump没有这个要求。fd和step的区别在于fd后面要跟number,可以前进多步
,step就是前进一步,不带参数。•程序测试:•运行结果:打开output窗口观察结果togoask-turtle1[resettfd10printtimer]ask-turtle2[resettjump10pr
inttimer]ask-turtle3[resettleap10printtimer]ask-turtle0[resettrepeat10[step]printtimer]endTurtle#1:0.831Turtle#
2:0.14Turtle#3:0.14Turtle#0:0.811应用举例1.国会山保姆公司模型2.Akerlof模型3.企业集群研究4.ACE1、国会山保姆公司模型•模型背景一些主要在美国国会工作的年轻夫
妇成立的组织,他们愿意彼此之间充当保姆。国会山保姆公司通过印刷临时票券来解决问题:每做一个小时的保姆工作(即照顾别人的孩子)可以得到一个单位的票券,反过来,请别人照顾孩子,则要付给别人一张票券。•困惑出于
对未来的预期而导致当前消费减少,从而发生经济衰退。模型的实现•每个保姆对未来预期的票数为:•NumTicket=p*predictDay•当一个保姆手中掌握的票数大于他/她预期的票数时,出行的概率增加,找工作的概率下降;否则,找工作的概率上升
,出行的概率下降。•通过调整参数求得解决之道。模型结果分析(一)•刚开始,找工作和出行的人数基本相等。由于货币供给不足而导致的消费不足,最终将导致失业率上升,引发市场衰退。模型结果分析(二)•通过政策调整达到市场均衡1、
增加每个保姆手中的初始票数,也就是增加整个市场的货币投放量2、减少人们的预期天数,完善和健全贷款制度、保险制度和社会保障金制度模型结果分析(三)•由于主体竞争能力不同而导致贫富分化,需要税收政策等进行收入再分配返回2、阿克洛
夫模型•模型以旧车市场上旧车的销售情况来解释在非对称信息环境下产品销售方面的不利选择问题。•它解释了在某些特定情况下,一种低效率的市场是如何产生的。•所有外表相同的汽车都以同样的价格出售。高质量的汽车在旧车市场上就无法以预期的高价格出售。对于卖
主是不利的。•低质量汽车的卖主不愿意以较低价格卖出,直到旧汽车的低质量性质将要显示出来为止。•拥有高质量汽车的卖主往往将他们的汽车撤出市场。这样旧汽车市场上汽车的平均价格在下降。模型的实现•OBJECT:汽车、市场•汽车:定义汽车的属性和卖主
的行为•市场:容量固定,记录当前高质量和低质量的汽车的数量,和当前卖出的高质量和低质量的汽车的数量。•如何表示市场上交易双方的信息不对称:对于卖方,汽车的信息是完全的,即卖方知道汽车是高质量的还是低质量的,但是买方并不知道
汽车是高质量还是低质量的,只能根据上一轮的交易情况预测本轮交易中市场上高质量和低质量汽车的比例,并以此为基础给出买方购买汽车的期望价格模型结果分析•市场中汽车交易价格下降•高质量汽车退出市场•市场萧条•与传统经济学相悖,在非对称信息环境中,商品质量依赖于价格。返回3。关于企业集群形
成机制的研究•企业集群的形成是现代经济生活中引人注目的一种现象。•我们用模拟的方法,观察了其形成的过程,得到了一些有趣的结果。应用举例4:ACE1.有限理性和经济进化2.基于主体的可计算经济学3.基于主体的可计算经济模型1.有限理性和经济进化1.1新古典经济学的
理论基础1.2经济是一个复杂适应系统1.3经济主体行为的有限理性和经济进化论1.1新古典经济学的理论基础•经济主体行为的完全理性假设•经济系统的均衡假设在此理论基础上,经济学者应用数学工具推导出一系列经济结论,用于分析经济理
论和经济现实。1.1新古典经济学的理论基础•完全理性假设(1)经济主体行动的完全理性,所有经济主体愿意并能够极大化他们的预期效用或预期收益;2)经济主体知识的完全理性,所有经济主体具有理性预期。理性预期意味着所有经济主体关于其他主体如何行动有相同和正确的信念
(对称信息)•经济系统均衡假设追求个体利益最大化的行为在市场机制的作用下,能导致整个社会福利的最大化,资源达到最有效的配置。这里应用一个简单的竞争市场的静态模型阐述经济主体行为完全理性假设的应用。假设某行
业中存在n个同质企业(n很大),每个企业选择其产量x以使其利润RR(x.p)=px–c(x)达到最大化,其中p为价格,c(x)是一个递增的成本函数。存在一个下降的需求函数p=p(nX),表示价格是行业总产量nX的反函数,其中X是行业中的“平均”
企业(典型个体)的产量。每个企业的价格p给定,选择x以使其利润最大化,这意味着设置x以满足“价格等于边际成本(p=c’(x))”条件。通过求解x*=argmaxxR(x,p)=g(p)来得到该问题的解,其中argma
x意味着x的最大值。由于p=p(nX)依据市场需求函数,我们可以表示x如下:x=g(p(nX))=h(X)因而,经济主体利润最大化假设能从给定的平均企业归纳出一个个体(企业)的优化选择。理性预期假设要求个体的选择一致性。因为所有的企业是同质的,一致性X=h(X),每个企业最终选择平均企业的
选择X。由于x=X=h(X),我们可以断定每个企业都没有偏离平均企业产量的冬季。这一例子说明,完全理性假设可以用于分析竞争性市场。西方经济学者一直追求的是建立一个综合和统一的经济学理论。这个理论以经济主体的完全理性行为假设出发,构造消费理论、投资理论
和生产理论,进而形成完整的经济理论体系。随着数学工具的不断引入,理论发展的越来越精密,越来越机械,也离经济现实越来越远。1.2经济是一个复杂适应系统复杂性意味着:(1)系统是由一系列相互作用的主体(过程、元
素)构成一个网络;(2)这些主体的活动自然形成了系统的动态积累行为;(3)累积行为的描述可以与个别主体的细节知识无关。适应性意味着:(1)环境中主体的活动可以被赋予一个值(如效用、偿付或适应);(2)随着时间的推移,主体
的行为趋向于使该值增加。1.2经济是一个复杂适应系统经济是一种重要的复杂适应系统•经济是由无数个主体(如消费者)构成;•主体在重要的方面有所不同,如消费偏好和收入等;•主体被组织成群体或等级结构,如家庭和企业等;•主体为适应环境,必须从时间中学习或自然选择,如教育和
广告效应等;•主体的状态和行为随时间而改变,如价格调整;•主体的变化是反馈的结果,如购买或销售;•宏观层次行为从微观层次的相互作用中自然产生。如通货膨胀和失业等。1.2经济是一个复杂适应系统•沙堆模型:倒塌沙量的分配是在指定时间段T上遵循一种幂律分布。
也就是说,一个给定沙崩量的平均发生次数是和它的大小量成反比的。即大的沙崩是很少的,小的沙崩是经常的。•例如,24个小时你可能观察具有1000沙粒的一个沙崩,10个有100沙粒的沙崩,100个10颗沙粒的沙崩。log(N)=log(K)
-slog(c)N=沙崩的数量,K=1000,c=沙崩中沙粒的数量,s=1经济系统的许多行为,如股市崩盘,与此类似。1.3经济主体行为的有限理性和经济进化论•在复杂的经济系统面前,经济主体的理性是有限的。•进化经济学者认为经济中也存在自然选择。企业在市场中相互竞争,赢利的企业增长扩大,亏损
的企业收缩衰弱,直至被淘汰出局。企业要在激烈的竞争中利于不败之地,必须不断创新和不断适应,以保持持久的竞争优势。2.基于主体的可计算经济学•基于进化经济学、认知科学和人工智能技术产生出来的基于主体的可计算经济学(Agen
t-basedComputationalEconomics)简称ACE,是研究经济理论和经济现实的一个新的有效方法论。•ACE把经济模型化成由一系列相互作用主体构成的进化系统,是复杂适应系统的经济学体现。2.基于主体的可计算经济学2.1计算经济学2.2传统人工
智能技术及其在经济学中的应用2.3基于主体的可计算经济学研究的基本内容2.4遗传算法和分类器系统2.5基于主体的可计算经济学的建模过程2.6基于主体的可计算经济实验室2.1计算经济学•计算经济学(Com
putationalEconomics)是应用计算技术研究经济问题的方法论。•计算途径能对传统经济模型提供有效的数量求解方法,即利用计算机的高速计算和海量存储•计算途径可以提供更准确的洞察力,是对传统经济研究途径的替代。2.2传统人工智能技术及其在经济学中的应用人工智能(Artifi
cialIntelligence)是研究如何制造出人造的智能机器或智能系统,来模拟人类智能活动的能力,以延伸人类智能的技术。早在1992年一份美国国家科学基金的报告就指出:“经济学是人工智能一个很有前途的应用领域”,但人工智能在经济学中的应用仍远远滞后于其他自然科学领域。因为使用工具不同
,研究途径不同。2.2传统人工智能技术及其在经济学中的应用•人工智能的传统技术是专家系统和神经网络•专家系统是一种在相关领域中具有专家水平解题能力的智能程序系统,它能运用领域专家多年积累的知识与专门经验,模拟人类专家思维过程,求解需要专家才能解决的问题。•专家系统的最大优势是复杂系统的定性推
理能力,因而它可以作为传统定量计算程序(如计量经济模型)的有力补充。专家系统能够有效的处理不完全和不确定信息,而在现实经济中,不完全和不确定信息是广泛存在的,因而专家系统在经济学领域应该大有用武之地。2.2传统人工智能技术及其在经济学中的应用•目前,在经济领域应用最广泛的传统人
工智能技术是神经网络(NeuralNetworks)。神经网络是一个计算机程序,它模拟了人脑的认知处理过程•神经网络是由具有各种相互联系的单元组成的集合。每个单元具有极为简化的神经元的特性。神经网络常常被用来模拟神经系统中某些部分的行为,生产有用的商业化装置以及检验脑是如何工作的一般理论2.3基
于主体的可计算经济学研究的基本内容•基于主体的可计算经济学ACE研究的主要内容是经济的自组织和进化性,以及经济的模拟实验。•ACE运用了计算机强有力的运算能力,尤其是OO程序语言,来模拟经济政策导致的经济环境变化,在“结构、行为
和福利效果”这一框架中探讨经济政策的可行性。这种方法使经济学进一步接近了现实世界,并使经济政策在一定程度上可以如同科学实验一样得到检验。•ACE是从微观经济的角度(企业和消费者)分析宏观经济的运行规律(经济政策机制和经济周期)。2.3基于主体的可计算经济学
研究的基本内容•现代计算技术允许我们在计算机上建立一个人工经济(ModelEconomy)•在人工经济中,允许出现广泛的微观个体行为及其相互作用•进化过程可以被描述成自然选择压力直接作用于个体行为的过程,而不是被描述成群体的运动规律•一旦所有个体的初始状
态和行为模式以及个体――个体和个体――环境相互作用的市场协议被确定,经济系统中不存在集中控制,人工经济沿时间路径自动发展2.3基于主体的可计算经济学研究的基本内容发展现状例如在在财税领域中的不少成果:美国霍普金
斯大学Young对财政决策过程的分析,美国耶鲁大学Shubik对公共政策福利效应的研究,美国密执安大学Henrich对公共资源合理运用的分析,英国牛津大学Chattoe对预算过程的研究等等。在2001年,国家著名经济学刊物《Journ
alofEconomicDynamicsandControl》《ComputationEconomics》和计算机刊物《IEEETransactiononEvolutionaryComputation》都分别出版一期基于主体的可计算经济学专刊,表明它已经成为当前经济学研究
的一个热点。2.4遗传算法和分类器系统目前,经济学者主要应用遗传算法和分类器系统来研究经济主体的适应行为受达尔文进化论――适者生存的启发,Holland于1975年提出了模拟遗传进化过程的计算方法――遗传算法(GeneticAlgorithms)基本的遗传算法组成部分包括:•对主
体(或其潜在行为)编码的符号串表示;•评价符号串对环境适应程度的适应值函数;•产生新符号串的遗传算子2.4遗传算法和分类器系统•Holland(1986)提出分类器系统(ClassifierSystems)
技术。分类器系统是并行传递消息的基于规则系统,并能应用数学算法修改其规则。•分类器系统由3部分组成:(1)执行子系统;(2)赋适应值子系统;(3)规则发现子系统。2.4遗传算法和分类器系统执行子系统规
则:IF<条件>THEN<结论><强度>赋适应值子系统用某一算法计算适应值,用于调整规则的强度。在每一个时间片内,每一个满足条件的规则都要依靠其强度进行投标。规则发现子系统应用遗传算法发现新规则,其中规则强度相当于适应值。2.5基于主体的可计算经济学的建模过程
•问题识别分析经济理论和经济现实中存在的问题,并提出解决问题的目标•模型框架描述人工经济的框架:(1)主体的类型;(2)主体之间相互作用的市场协议;(3)人工经济一轮进化过程中的事件发生次序;(4)经济总量的统计方式。2.5基于主体的可计算经济学的建模过程•主体描述描述每
一类主体的状态和行为模式。主体的状态决定其行为,主体的行为能改变其状态,甚至改变行为模式本身(行为进化)•实验设计选择一种人工适应主体技术和一种计算机程序设计语言,模拟主体行为模式和经济运行模式。确定每一类主体的数目,并采用合
适的方法为所有主体状态赋初值。•结果分析观察模型运行的结果,并应用经济学理论给予解释。2.6基于主体的可计算经济实验室•可计算实验室CL(computationallaboratory)•CL是一个可计算框架,它支持有若干相互作用主体的系统依靠控制和可复制实验进行研究。
•具有清晰和简单的图形用户操作界面的CL使得研究者可以进行严谨的可计算研究,很容易操作。•CL可以设计成为有标准的可扩展的。可以开始使用可选择执行模块来实验,并可以使用CL来扩展系统的应用范围。2.6基于主体的可计算经济实验室•TradeNetworkGame(TNG)Lab(C++/Visual
Basic•SimBioSys,一个基于主体的进化模拟CL主要用于生物学和社会科学一般基于主体的进化模拟;•Swarm、Ascape(Java)、RePast(Java)平台;•一些建模语言,如MAML(Multi-AgentModell
ingLanguage)、MATLAB、SDML(TheStrictlyDeclarativeModellingLanguage)、StarLogo和StarlogoT等3.基于主体的可计算经济模型3.1ACE模型在经济理论研究中的应用3.2ACE模型在具体市场分析中的应用3.3T
homasSchelling的城市种族隔离模型3.4阿克洛夫模型3.5ACE模型的优势和存在的问题3.1ACE模型在经济理论研究中的应用1989年,Kiyotaki和Wright(1989)建立了著名的货币产生模型。但是在完全理性假设基础上进行的工作在Kiyotaki和Wright的基本环
境中,Marimon等人(1900)提出基于主体货币产生模型Vriend(1995)应用分类器系统来模拟市场的自组织过程,在有限理性假设下,验证了斯密的“看不见的手”Epstein(2001)应用一个基于主体的计算框架,实验性的研究了社会准则进化的
重要方面:主体思考某个行为的时间和与此行为有关的社会准则的强度负相关3.2ACE模型在具体市场分析中的应用•美国SantaFe研究院研制的著名的人工股票市场模型•Tesfasion应用一个基于主体的劳动力市场模型
,研究职业容量、职业集中度和市场力之间的关系。•工作供给者和雇主应用人工适应主体来描述,他们在不断更新预期效用的基础上寻找合作伙伴,相互作用基于囚徒困境模型,并随时间进化其行为。•模型的主要发现是,在用于预测工作者与雇主的相应市场力时
,职业容量一贯优于职业集中度。3.2ACE模型在具体市场分析中的应用•Kirman和Vriend(2001)建立了一个居于主体的零售渔业市场模型,用于分析显示渔业市场的两个特性即:价格分散和重复性购买•卖方的决策包括:产品供应量、产品要价和对老顾客的优惠。买方的决策包括:在谁那里购买和可接
受的价格。他们应用分类器系统模拟主体的决策行为。•实验结果表明:经过一段时期的协同进化,买方成为给他较大优惠卖方的忠实顾客,而卖方也通过优惠吸引老顾客以获得更大的收益。3.3ThomasSchelling的城市种族隔离模型•1.模型
描述Schelling著名的城市种族隔离模型主要描述一个城市中的人们在不愿意有太多和他们不同类邻居的情况下,怎样受响应局部干扰迅速由高度的综合转向高度的隔离。在城市中种族隔离的准确度很强的依赖于主体快乐法则的规范•2.模型实现3.5ACE模型的优势和存在的问题优势:•
ACE模型的一个优势是群体中每个个体的细节表示,他们的状态和行为存在重要差异。•ACE模型的另一个优势是群体中的个体存在广泛的相互作用。3.5ACE模型的优势和存在的问题问题:•几乎没有数学理论可以用来解释模型模拟的结果。•计算技术方面的问题•由于其研究工作起步较
晚,它目前通常作为研究方法论在实验室中进行研究•ACE模型缺少完整系统的经济理论的支持。•总结MATLAB•http://www.mathworks.com/四、几点思考•1。信息时代要求新的思维方法;•2。信息技术提供了新的工具和手段;•3。他山之石,可以攻玉
,学科之间的交流是科学进步之道。结束语•希望学习哲学和其他学科的同行,对于这种方法给予更多的关注,有更多的同学掌握和利用这些工具,从新的视角观察和研究丰富多彩的各种新发现的问题和现象。