为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

复杂系统的计算机模拟_by_方美琪

2017-08-09 50页 ppt 1MB 28阅读

用户头像

is_384503

暂无简介

举报
复杂系统的计算机模拟_by_方美琪复杂系统的计算机模拟探索复杂性的模型方法方美琪MQFANG@PUBLIC.BTA.NET.CN复杂——诞生于秩序与混沌边缘的科学一场激动人心的科学观念的革命瞬间照亮了各个学科领域,其中的原则和思想影响是如此地深远和广泛,以至于绝大多数学科都卷入其中!过去我们用数学给出世界完美的描述,我们很陶醉,以为我们已经认识了世界。但近来我们发现世界其实很复杂,并不确定,偶然的小情况可能放大为决定性的事件,影响了整个历史进程复杂地发展。原来组成系统的个体是有适应性的。个体的适应性就产生了系统的复杂性。用计算机程序描述...
复杂系统的计算机模拟_by_方美琪
复杂系统的计算机模拟探索复杂性的模型方法方美琪MQFANG@PUBLIC.BTA.NET.CN复杂——诞生于秩序与混沌边缘的科学一场激动人心的科学观念的革命瞬间照亮了各个学科领域,其中的原则和思想影响是如此地深远和广泛,以至于绝大多数学科都卷入其中!过去我们用数学给出世界完美的描述,我们很陶醉,以为我们已经认识了世界。但近来我们发现世界其实很复杂,并不确定,偶然的小情况可能放大为决定性的事件,影响了整个历史进程复杂地发展。原来组成系统的个体是有适应性的。个体的适应性就产生了系统的复杂性。用计算机程序描述个体的行为,在一定的框架之下,个体平行地动作起来,这包括个体对外界的适应,偶然的小情况,个体的相互作用…..如此,计算机模拟就比较真实地反映了复杂世界的一个个方面。第一节复杂性科学确定性的终结、复杂性科学的兴起路径依赖的反思复杂性研究的方法 第二节复杂系统系统理论复杂适应系统第三节模型与模拟方法模型建摸与模拟模拟软件平台SWARM的介绍模拟软件平台STARLOGO的介绍应用举例第一节复杂性科学 I确定性的终结、复杂性科学的兴起I确定性的终结!拉普拉斯决定论宇宙不过是一台机械的钟表 宇宙的未来完全由它的过去决定。 世界是可被预知的。只要我们明白了支配宇宙的规律,那么我们就能推察过去,预言未来。 宇宙的统一规律已找到了(牛顿),宇宙的图景已被描绘出来了。拉普拉斯写道:“假如有一位智者在任一给定时刻都能洞见所有支配自然界的力和组成自然界的存在物之间的相互位置,假如这一智者的智慧巨大到足以对自然界的所有数据进行,他就能将宇宙最大的天体和最小的原子的运动统统纳入单一的公式之中。对这样的智者来说,没有什么是不能确定的,未来同过去一样都历历在目。”确定性的乐观诗人蒲柏为伟大的牛顿写下的墓志铭所言:自然和自然的法则在黑夜中隐藏,上帝说,让牛顿去吧于是一切都已照亮。通向混沌 初始条件的微小变动就会导致轨道完全不一样。“差之毫厘,失之千里” 牛顿定律本身虽是确定性的,但它所描述的具体事物,很可能出现随机行为。 混沌=非线性动力学=难以精确求解洛伦兹与气象混沌 1963年的一天,气象学家洛伦兹踱进麻省理工学院的咖啡馆。而在他进来之前,他刚把一个数据输入他那台现在看来工作速度其慢无比的计算机,以验证上一次的结果。他知道结果还需要等一个来小时,他大可一边躲开噪音,一边来悠闲地享受点咖啡。当他回到自己的工作室时,令他惊讶的事发生了:这次的结果与上次的结果在开始时相同,但到后来却出现了很大的差异。他的结果是通过曲线表示的,这就是说两条曲线只是在开始时相吻合,而到后来两者却分道扬镳了。问题出在计算机上吗?要知道,那时的计算机是经常出错的。但洛伦兹通过再次验证排除了这种可能。那么原因何在?不久他就找到了缘由。在初次计算中,他输入的值是0.506127,而在后来的计算中,他输入的值是0.506。混沌与复杂 复杂是多体系统 多体之间的交互关系是非线性的 单独一个主体的运动轨迹是混沌 系统整体则涌现出一定的秩序和结构例子:湍流与水分子社会与人历史规律经济周期与经济主体股票行情与股民的行为在传统的社会科学研究中,解释和预测间的过渡看来太随意而缺乏严谨了——对一个社会现象的正确解释并不意味必然能够对这个现象的未来进行预测,特别当内在机制中有非线性关系时,这种从解释到预测之间的思维延伸几乎百分之百是不可能的。复杂理论告诉我们,即便我们能够很清楚地界定和完全掌握了对个体行为影响的所有因素,对组织或机构行为的预测仍然是非常不充分的。人类认识实践中的经验教训大自然对人类线性思维的教训 水坝生态 中国垦荒与沙漠化 美国西部的风尘暴 核泄露 人工生态实验的失败上个世纪中期,世界各国纷纷建立水坝,利用水能发电,后来发现水坝影响了水系,对水系流域的自然生态破坏非常严重比如尼罗河流域的生态遭到不可恢复的破坏人对于逻辑和线性思维能力的过分自信,头疼医头,脚疼医脚,最后顾头不顾臀《失败的逻辑》事情因何出错,世间有无妙策为什么铁路信号系统工作正常时,列车仍然会发生撞车事故?为什么所有操作人员警觉地坚守着工作岗位,核反应堆依然会发生灾难性的熔化事故?为什么我们制定得甚好的那么多专业和个人计划,会如此频繁地出岔子?心理学迪特里希.德尔纳德国最高科学奖获得者,在此考虑为什么--假定具备所有智能、经验和信息条件--我们却仍然会犯错误,有时甚至引起灾难性的后果。令人惊讶的是,他发现问题的答案不在于疏忽或粗心,而是缘于他所谓的“失败的逻辑”:我们思维模式中的某些倾向--诸如一次只做一件事,因果关系,还有线性思维--它们适合于过去的简单世界,对于我们现在所生活的复杂世界却有着灾难性影响。当今世界,一切事物都是相互关联的。我们不能一次只做一件事情,因为每件事都有多重结果;我们不能用孤立的因果模式考虑问题,因为所有的情况都有副作用和长远影响。德尔纳给我们找到了不少例子。为什么阿斯旺水坝的规划者们,只想到会给埃及带来廉价用电的好处,却没有意识到他们也将会中断几千年来维持尼罗河谷地肥活富饶的一年一次的洪水漫灌?为什么第三世界健康计划的规划者们不能认识到提高平均寿命就要求增加食物供应,从而疏忽地终止对饥民的捐助?德尔纳的指出,在未了解一个复杂系统中所有连锁因素之前就采取行动,即使我们怀着善良的意愿,也难免铸成大错。面对我们力不能及的问题,小错误累积起来,最后就会酿成严重的错误结论。过于频繁地忽视问题的大局,却只在我们知道如何做的范围内寻求权宜之计--这只能是杯水车薪无济于事。德尔纳用他自己编制的引人入胜的计算机摸拟程序,提示了我们思维中的这些缺陷。他的例子--有时是开心的,有时是吓人的--和他那“梳脑”思维实验,使我们认识到应该如何处理复杂问题。这些实例使本书成为一件矫正工具,一种明智的规划和决策指南,使商业经理、决策者以及面临由本书将改变我们构思变化的方法本身,使我们对成功之路的判断能力得到提高。本书尽量用深入浅出的笔法来阐明物理学的基本知识,尽力避免繁复的数学语言;为强化实用性和时代性,大部分篇幅用于介绍近代物理学及其应用。其中近三分之一的篇幅用比较通俗的语言介绍现代科技及其与物理学的关系,目的是使读者对现代科技,特别是面向21世纪的新科技有一个初步的了解,这无疑会对他们将来从事任何工作均有裨益。同时以物理学史和自然哲学为主要线索阐明物理的认识论和方法论,使读者从物理学的研究方法中获得教益,从而有助于他们在从事其他行业的工作中提高其分析问题处理问题的能力。本书集专业性与通俗性、科学性与哲学性于一身,是贯通理科和文科的一道理想的桥梁。对人类思维方式的反思 德国心理学迪特里希.德尔纳思维复杂性研究 用计算机模拟情景试验 让不同的专家以游戏的方式发掘决策思维模式的一般特征 理性思维的局限性:逻辑严密线性思维方式 直觉、联想=思维的并行康德1。理性是可能的2。理性不是万能的而是有边界的3知识为信仰留有余地,有限理性为人的自由意志、人文关怀留有余地直觉思维整体思维的回归 世界上原来不只存在一种逻辑思维方式 神秘主义思潮和新时代(newage)运动伯格森的直觉主义II路经依赖的反思路经依赖 系统的发展与其初始条件紧密相关,与其发展过程中的偶然事件密切相关 个体微不足道的行为可能产生出乎意料的结果马屁股的宽度决定了火星探测发射器的宽度? 马屁股的宽度决定了双马马车的车辙宽度决定了电车轨道的宽度 电车轨道的宽度决定了铁轨的宽度(修建第一条铁路顺着马车的车辙印记) 铁轨的宽度决定了火车的车厢的宽度 决定了火箭发射仓的最大宽度(为了运载方便) 决定了火星探测发射器尺寸一个不可思议的关联,这就是路径依赖,事态的发展依赖于发生过程中的不重要因素的锁定 故事是颇有趣的。从一定意义上说,今天世界是最先进的运输系统的,或许是由两千年前两匹战马的屁股宽度来决定的。历史惯性的力量是多么的强大,要冲破由惯性形成的规则又是多么的艰难。经济领域内的路经依赖 经济领域内的路经锁定:钟表的顺时针, 信息化的和垄断 微软的战略:当盗版让人们已经习惯于使用windows时,就会受制于它,很多人只会使用装了windows的计算机. 高科技的竞争就是标准的竞争DVD格式无线上网的格式的争议最开始钟表并不都是顺时针的,随着市场的演化,很少量的优势逐渐被锁定\放大,越来越多的人习惯于顺时针的中标,最后这种习惯称谓约定习俗的惯例也许一开始的差异仅仅取决于某个人的偶然决定。自然科学领域的路径依赖 极其微小的初始状态会成指数的放大,极大地影响了混沌系统的输出 人类对世界的认识实践活动影响了世界科学认识的反思 人类对世界的认识实践活动影响了世界 后现代科学:自然规律是自然的习惯 集体的习惯有被锁定成为既定成俗的倾向 个人习惯之间的交互涌现出集体的习惯 自由落体难道是铜球的一种难改的积习? 万有引力难道是物质世界的一种惯例? 惯性vs习惯参考作为习性的自然法则:科学的后现代基础[英]鲁珀特·谢尔德拉克Sheldrake网上有个人主页科学认识的反思2 科学的自然观,不以人的意志为转移的客观世界是否存在?完全严格的重复试验是否可能? 完全严格的重复实验是不可能的 人是否可以第二次踏入同一条河流? 反归纳法归纳得到的现象越多,推广的余地越小 正归纳归纳得到的现象越多,推广到全部的可能性越大清华大学人文学院将劲松:略论科学对自然观的依赖人不可能第二次踏入同一条河流,因为人在踏入这一河流之后,这条河流发生了变化正归纳:以前的太阳都从东方升起以后太阳肯定会从东方升起反归纳:以前的太阳都从东方升起以后太阳从东方升起的可能性会越来越小,即便明天太阳还从东方升起,也无法证明太阳永远从东方升起后现代科学 心理学家麦独孤的老鼠迷宫实验随着实验的重复进行,虽然选定重复实验的老鼠是完全不同的个体,但老鼠的智力却随着实验的重复而递增,后来参加实验的老鼠比前面参加实验的老鼠更快地学会走出迷宫 文化人类学和新时代巫术的兴起影视界的《波利哈特》热后现代科学形态共振场的概念单只老鼠的记忆被在形态共振场中对所有的老鼠都有训练的效果隐秩序3.复杂性研究方法复杂系统的特征 涌现 非线性 反馈循环 开放式 部分不能包含整体 路径依赖,与历史相关(混沌特性) 多层次嵌套 边界模糊定域:单元间的作用是定域的,只与邻近范围内的其它单元交互复杂系统研究的议题和范例 发现和应用刻划社会系统、自然系统演化的规律的普适性方法 对人工技术系统(企业信息化、互联网络、数字化生存)的演化规律进行探讨例如:企业信息化建模信息经济学人工技术网络和社会网络的脆性研究网络对社会交往的影响交往媒介的革新与社会文化的变革等交通、自来水、电能网络的抗灾变能力信息网络发展的趋势研究、标准化研究把复杂科学的系统理论与计算机模拟技术结合起来,把研究对象看作一个有机系统去试图把握其进化演化的一般规律,在把握一般规律基础上进行有效的引导和调控复杂系统的普遍性 生命体 智力——神经网络 社会系统蚁群经济股市 人际关系网互联网电讯网航运线路眼睛和肾脏的组织结构非常精妙复杂生命体的复杂性 2002年5月,英国《自然》周刊上宣布在冰岛北部海下发现了一种迄今所知最小的生命。这种被称为“Nanoarchaeumequitans”的微生物属于古细菌的一种,其基因组的DNA碱基对仅有50万左右。假设一个基因的平均长度为1000个碱基,那么这个细菌所拥有的基因大约是500个。如果每个基因编码一种蛋白质,那么这个细菌最多可以拥有500种蛋白质。 哪怕是最小、最简单的生物体,也是由许多执行不同功能的组分构成的。因此,生命复杂性的第一个特征是,生命是一种复合体,不可能由一个成分(一种基因或蛋白质)构成。全球通讯网络全球通讯网络航空交通网航空交通网分形图案分形分布的宇宙:瑞士天文学家FrancesoSylosLabini宇宙平均看起来是各向同性的,但却不是均匀的,我们在某一层级上。。。网络上有大量可以下载的图案CAS复杂自适应系统理论 CAS理论的最基本的思想 系统的复杂性(整个系统的演变或进化,包括新层次的产生、分化和多样性的出现,新的、聚合而成的、更大的主体的出现等等,)是来源于系统中的成员的适应性。所谓具有适应性,就是指它能够与环境以及其它主体进行交流,在这种交流的过程中“学习”或“积累经验”,并且根据学到的经验改变自身的结构和行为方式。[1]参见《系统科学》,徐国志等,上海科技教育出版社2000年P252返回ComplexityAdaptiveSystem复杂系统研究的方法和理论 结构状态描述分形分维状态空间自组织与耗散结构 演化机制的动力学描述艾根超循环协同学 复杂系统建模与模型表示受限生成系统网络模型非线性动力学方程元胞自动机多主体系统人工生命自组织与耗散结构:自催化反应与涨落产生有序(Prigogine1977)协同学Synergetics:分离慢变量与快变量-来自激光物理的经验(Haken1977)复杂系统研究的方法和理论 CAS理论 网络模型:复杂网络拓扑研究小世界网络尺度无关的网络ComplexityAdaptiveSystemMulti-AgentSystemSmallworldScalefreenetwork为什么用计算机? 1860年,法国天文学家Delaunay(CharlesEugeneDelaunay,1816-1872)为计算受到地球与太阳重力影响的月球运动轨迹,花了二十年,计算过程填满一本书,也只得到一个近似解 1970年,用符号方程检查他的计算,计算机只花了20个小时,不但求出更精确的近似解,还找出Delaunay的三个计算错误 四色图问题   整体大于部分之和:个体设计上的简单规则不能预料交互过程中涌现出的整体新特征 根本原因:——非线性方程的不可积,不能精确求解,不能长期预测计算机的重要性人工社会 Sugarscape模型糖域模型芝加哥大学社会政治学研究所 人工社会拓展了社会学、人类学研究的手段 在虚拟的社会中观察战争、文化等因素的形成 例如:货币的形成过程。在一个追求交换效益最大化、以分工细化为方向的人工社会中这是必然发生的。统一规范与计算机建模工具如SwarmRepastAscapeSatrlogoDynamo等 工具化 标准化 简便化 跨学科性计算机建模工具应该规范研究方便研究方便交流抽象出复杂系统多主体模型的共同抽象特征与一般过程形成标准化模块与步骤减轻模型研究者的负担使得模型的重复检验成为可能增加的研究的客观性便于发现新的规律性使得研究之间的交流成为可能模型方法是现代科学的一种核心方法 用于复杂性研究的典型信息模型是一种半经验半理论模型。 模型是知识表示的基本概念和工具第二节复杂系统 系统理论 复杂适应系统系统理论系统什么是系统?贝塔朗菲认为,系统是处于一定相互关系中与环境发生关系的各组成部分(要素)的总体。或者说,系统是集合内各要素按一定的结构组织而成的一个整体,并在与外部环境进行物质、能量、信息的交换过程中体现出一定的功能。系统科学 系统科学是探索系统的存在方式和运动变化规律的学问,是对系统本质的正确反映和真理性认识。系统科学已经形成了一个学科群:如系统论、信息论、控制论、运筹学、博奕论、协同学、耗散结构理论等。 系统科学方法是按照系统科学的观点和理论,把研究对象视为系统来解决认识和实践中的各种问题和方法的总称。系统科学方法的原则运用系统的观点研究和处理对象时,要把握以下一些原则:(1)整体性原则。整体性原则是系统方法的首要原则。(2)动态原则。这是指系统方法的历时性原则。系统科学方法的原则(续)(3)最优化原则。亦称整体优化原则。本着“多利相权取其重,多害相权取其轻”的精神进行综合优化和系统筛选。(4)模型化原则。采用系统科学方法需要这真实系统模型化。模型化原则是采用系统化方法时求得最优化的保证。前两个原则是基础,第三个是目标,第四个是手段。系统科学方法的作用为人们提供了新的思想模式,是推动科技整体化、综合化的重要方法。兼具多种认识功能,是研究复杂系统的有效工具。为人们提供了制定系统最佳以实行优化组合和优化管理的手段。探索复杂性的方法一探索简单性 研究相对简单的对象特别是把用简化的方法研究事物,称为探索简单性。 近代自然科学基本上属于探索简单性的科学,人们形成了一种信念,即认为一旦掌握了简单性的实体和关系,任何复杂的对象都可以构造和计算出来。二探索复杂性 强调整体与部分的关系是一种非加和性。 复杂系统各要素之间存在非线性。 系统变化过程服从因果反馈规律。 系统不但存在,还在生长和消逝着。复杂性探索的方法论启示: 从还原论到整体论的转变; 从线性观到非线性观的转变; 科学兴趣从简单性向复杂性的转变; 从崇尚解析方法向重视非解析方法的转变; 确定论和概率论两套描述体系从对立到沟通。复杂适应系统理论的最基本的思想 复杂适应系统也即CAS(ComplexAdaptiveSystem)。 我们把系统中的成员称为具有适应性的主体(AdaptiveAgent),简称为主体。 所谓具有适应性,就是指它能够与环境以及其它主体进行交流,在这种交流的过程中“学习”或“积累经验”,并且根据学到的经验改变自身的结构和行为方式。 整个系统的演变或进化,包括新层次的产生,分化和多样性的出现,新的、聚合而成的、更大的主体的出现等等,都是在这个基础上出现的。复杂适应系统的例子 生物有机体 生态系统 经济 运输为什么使用Agent-BasedModelling 传统的建模方法能够描述宏观的系统,但是并不能解释一些特性的来源; 不能很好的处理离散系统; 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内部模型用搭积木的方法对已测试过的规则进行组合,产生新问题的处理规则,已有的规则被形象化地称为积木块,它们是新规则产生的基础。第三节模型与模拟方法模型建摸与模拟模拟软件平台SWARM的介绍模拟软件平台STARLOGO的介绍应用举例具体地用模型与模拟方法探索复杂性模型数学模型模拟基于主体的建模方法和CAS模型方法定义:模型是在结构或/和行为的重要方面和所研究的系统相似的,真实的或想象的系统的映象。它往往能为大范围的观察事实提供解释。模型与原型 模型的建立不是“原型的重复”,而是按研究目的的实际需要和侧重面,寻找一个便于进行系统研究的“替身”。不同的人由于研究的目标不同,就会对某些方面做出不同的简化。 在原型系统及模型之间存在着“反馈”的关系,根据对原型系统规律的认识,可以建立模型。而建立模型进行实验的过程又可发现一些新的规律,由此预测未来或丰富对原型系统的认识。模型应用范围 人类对世界的探索过程,就是建立各种模型表示的过程。人类知识积累的过程,也是修正和具体化各种形态的模型的过程。 静态结构的模型称为静态模型 描述事物发生、发展、演化过程的模型称为动态模型。 历史地看,模型形态的变化也有一个逐渐从简单到复杂的发展过程。 从最初原始的思维意象模型,发展到借用外在的工具搭建的各种模型,包括绘画模型、建筑雕塑模型、工具模型等,再到哲学和神学中发展出的各种理论模型。模型分类 按照模型存在的空间,模型可分为物质模型与思维模型两大类。 物质模型是以某种速度、形式相似、人造或自然的模型实体去再现原型。物质模型是模拟实验赖以进行的物质手段。 思维模型是人们在头脑中创造出来的,并且运用它在思维中进行逻辑推理、数学演算和“思想实验”,可分为形象的(唯象的)模型和符号的(标志性的)模型。建模动机一般可以把人类建立模型的动机分为四个层次:(1)解释和理解的需要。(2)预测的需要。(3)控制的需要。(4)技术理性和工具的需要。一近代常见的模型物质形式的模型——物理模型思维形式的模型——数学模型——统计模型——逻辑模型物质形式的科学模型物理模型对要研究的客体,按照一定的研究目的,寻找一种天然存在的具有相似性的实物或者人工地制造一种具有相似形的实物,作为原形客体的实际模拟物,即实物模型。运用这种实物模型,进行模拟实验或模型实验,以获取关于客体的某种规律性认识。 天然模型:以天然存在物作为模型。最为典型和运用得最多的就是生物模型。其方法论作用:一方面生物所具有的奇妙器官和功能作为仿生学的对象。另一方面,把某类生物作为人的科学模型来研究,获得对人体的认识。 人工模型:即以人工制作物作为科学模型。思维形式的科学模型对要研究的对象,按照一定的研究目的,经过科学的分析而抽象出它的本质属性特征,构造一种思维形式的模拟物,即思维模型,常表现为抽象的、数学的、理论的形态。(1)理想模型:是对研究对象的一种简化和理想化。(2)数学模型:(3)理论模型:(4)半经验半理论模型:二建立模型的方法论原则模型具有工具性与对象性双重性质。建立模型的方法论原则: 相似性与简单性的统一。要求具有本质上的相似性。 可验证性。 多种知识和方法的综合运用。三科学模型的多重功能 科学模型的研究纲领作用; 科学研究的间接方法; 思维模型可以起到思想实验的目的。思想实验实际上是思维操作亦即逻辑推理的结果。是实际实验的逻辑补充。 模型是研究复杂系统的关键。 模型研究对实践的指导作用。四模型的多样性和有限性 多样性 局限性:常常过于简化。模型的系统分析模型小结模型:——客观事物的反映——客观规律的简化和抽象——整理信息的概念框架模型具有以下这些基本的性质: 客观性:必须符合实际。 主观性:对于目标有效。 相对性:只反映客观事物的某一侧面。 渐进性:随认识和实践的发展而发展。模型的作用模型是人类认识和改造世界的必经之路:——描述系统——整理信息——寻找规律——预测未来——设计人为事物从模型到模拟数学模型计算机模拟CAS数学模型方法数学模型是对于某个特定对象或一定问题,采用形式化数学语言来描述其特征及数量相依关系的一种数学结构,它是一组数学关系式或一套具体的数学算法。即用数学语言表达事物的状态、关系和过程,经推导、演算和分析,以形成解释、判断和预言的方法。数学模型的类型 确定性数学模型; 随机性数学模型; 模糊性数学模型; 突变性数学模型。。。。。数学模型的特征: 高度的抽象性; 具有严密的逻辑性; 具有应用的广泛性; 过程描述,非直观:如果是非线性动力学方程,可表示、但却不可求解。数学方法在科学认识中的作用 为科学技术研究提供简洁精确的形式化语言 为科学技术研究提供数量分析和计算的方法: 为科学研究提供逻辑推理的工具计算机模型方法:所要研究问题的数学模型,转换为能输入计算机进行数值运算的形式,或直接建立计算机仿真模型,在计算机上通过系统地变换参数作大量数值计算。计算机模拟-发展的历史 计算的历史主要是模拟的历史; 在PC上模拟人的智能、智能发育过程; 在平台上模拟系统,如人工生命,机器人足球,蚁群算法; 在网络上模拟社会,如email,电子商务,网格计算; 在平台上,网络上模拟智能agent,agent是虚拟社会人,实质上是现实社会人的缩扩模型。 PC,网络是系统,人,社会是系统,它们之间是模拟关系。模拟 计算机发展中模拟是不变的,而变化的只不过是模拟的对象,那么什么是模拟? 从系统观来看,模拟是两个系统之间的关系,模拟的实质是两事物或两个系统同一性的转化。 模拟要素有四:原型,转化,模型,系统同一性。传统建摸方法的问题近代科学使用的各种建模方法普遍存在以下几个缺点:——宏观和微观的割裂。——状态和过程的割裂。——难以描述反映非线性过程。——忽视个体或元素的主动性。基于主体的建摸方法新的方法具有三个显著的特点:——宏观和微观的结合——过程和状态的结合——可操作性强,软件工具的提供。基于主体的建模方法多主体建模的理论常见缩写CAScomplexadaptivesystem MASMulti-AgentSystem ABMAgentbasedModel ACEAgentbasedComputionalEconomy 。。。广泛应用于各种社会科学、自然科学与工程科学中(生态经济学人工社会政治科学人工智能人工生命商务经济模拟工程模拟地理信息系统决策支持系统生物信息学)计算机模型的一般特点 (1)计算机模型一般只输出一组离散的数值。它不像解微分方程组那样给出通解或一个函数。 (2)它不用深究变动机理,只需从实际数据或直观感觉出发,来模仿描述系统,然后通过逐步求精,最后达到正确地反映系统。计算机模型的一般特点(续) (3)计算机建模用其程序模拟现象,计算机语言被证明是便于进行模拟的。计算机语言的丰富的数据结构可以方便地描述系统的状态。用计算机程序能灵活地描述各种复杂的进程。 (4)计算机建模的应用很广泛,可用于工、农、商及军事等各行各业的规划、调度、设计和决策等等。有人对美国1000家最大的公司的计划系统应用定量分析方法的情况调查时,得到不同方法应用的频数表,发现在各种定量分析方法中模拟方法所占的比重很大。应用定量分析方法的频率计算机模型的一般特点(续) (5)可充分发挥人和计算机的优势。 人具有直觉,其思维方式是很灵活的。在寻找复杂的因果关系时,可以根据直觉与经验比较敏锐地给出一个模型结构的框架。 计算机有大的存储器,又有高速运算的能力,所以它可以同时顾及系统的各方面结构或易于展现系统动态变化的具体情节 计算机模型发挥了人机两方面的优势,通过人的直觉、思维和推理,一块一块地构筑模型,送入计算机,然后可迅速地逐步计算。计算机模型的一般特点(续) (6)计算机建模的实现方法灵活。一般来说,用解析式表示量之间的关系,明确、清晰、令人信服。然而,它只解决较简单而且有固定模式的问题。对复杂而灵活的问题,就要用模拟的办法。 (7)智能化的发展方向。人工智能的原理就是从人脑处理问题的模式中抽象出来的。计算机模型把人机的优势结合,以解决传统数学方法不易解决的复杂系统的认识问题,所以必然利用人工智能所取得的成果。计算机建模方法优势 经济性对于一个大型的系统、直接实验成本十分昂贵,使用计算机建模实验能大大地降低实验成本,而且可以多次重复使用; 安全性对于某些系统,如载人宇宙飞行器、核电站控制、直接实验往往是危险的和不允许的; 预见性对于经济、社会、生物、战争等非工程系统,直接实验几乎是不可能的。计算机模型可用于预测系统的特性和外部作用的影响,从而研究管理、控制的策略。计算机模拟局限性 各种模型都是基于建模者的认知水平和观测能力的结果,从而模型模拟的可信度缺乏统一的测量尺度,因此结果很难被大众采纳而形成公共知识; 根据测不准定理,观测事实不过是一种近似结果,由于建模者的参与,观测事实的细节和观测指标的取舍都带有建模者预先设计的痕迹,得到的结果很难客观 第三,建模者本身就是有限信息和有限理性的主体,就是现实系统的参与者。因此不大可能实现超越系统、超越自身的理性。 这些局限在通常的实验研究方法中也同样存在,但在计算机建模方法中更容易引起人们的质疑模拟软件平台的介绍SwarmStarlogoSWARM简介1、背景2、Swarm的历史与简介3、面向对象的技术4、用Swarm建模的思想和方法5、对Swarm的感性认识——例子6、Swarm类库简介1、背景 早期的科学家通常自己制造实验仪器,自己磨透镜,自己连探测器,甚至自己制造计算机。研究者首先是工程师、技师、电工,其次才是科学家。 计算机模拟程序实际上就是用软件制造的实验仪器,这种方法在某些方面已经取代了物理实验仪器。 计算机模型常常使优秀的科学家变成糟糕的程序员。 Swarm是一个高效率的、可信的、可重用的软件实验仪器。其目标就是予科学家们一个标准的软件工具集,从而提供一个设备精良的软件实验室,帮助人们集中精力于研究工作而非制造工具。Swarm是一个面向对象的类库,用户可以通过调用这些类库简化模拟工作。用户通过在自己的程序中引入Swarm类建模。Swarm类用ObjectiveC编写,ObjectiveC是一种面向对象的C语言。图形用户界面用Tcl/Tk编写,这是一种用于编写窗口小部件的脚本语言。既可用于Unix平台又可以用于Windows95/98/NT。2、Swarm的历史与简介开发环境:Swarm支持SUNJDK1.2或以上版本。因此,常用的开发工具,如Jbuilder3,VisualCafe4等都可以用来编写和调试基于Java的Swarm程序。Unix下:1)如果要使用Java,必须首先安装Swarm支持的Java虚拟机。在Unix下,可以使用Kaffe(http://www.alphaworks.ibm.com/tech/jikes),BlackdownJDK(http://www.Blackdown.org)或SUNJDK(http://java.sun.com/products/jdk/1.2/)。2)系统中还必须安装emacs,emacs是一个GNU的编辑器,由于它配置灵活,功能强大,可以免费获得,又与开发工具具有一定的集成性,应用非常广泛。3、SWARM的技术基础——面向对象的技术 对象(object)这个词在英语中的意思是被感知或被触摸的事物。对象在客观世界中的意义是很简单的,即明确的物体,小到一个螺丝钉、大到一个生物、一个社会,都是实实在在的对象。作为系统的一个组成部分,它们都为其所在的系统提供一定的功能,在系统中具有一定的作用,担当一定的角色。实际上,我们在认识世界的时候就是面向对象的,我们通过了解系统中这些实实在在的对象来把握整个系统的各个方面。简单的术语类封装了对象的变量和方法父类其变量和方法将被继承子类从父类处继承了变量和方法实例一个对象,也是一个类的实例实例变量一个实例中的内部变量方法函数.可以通过给实例发消息来调用三大特点封装对象把他们的功能(方法)和数据(实例变量和方法变量)隐藏起来继承所有子类都继承其父类的所有方法和变量多态一个类可以有多个对象,他们有共同的行为,但是又有不同的状态父类子类4。用Swarm建模的思想和方法  Swarm建模框架是一系列独立的主体通过独立事件进行交互。Swarm模拟可使用不同的领域如化学、经济、物理、人类学和政治科学。  Swarm模拟的基本单位是主体,一个主体就象系统中的一个演员,是能够产生动作并影响自身和其他个体的一个实体。模拟包括几组交互的主体。 主体定义Swarm系统中的基本对象——模拟部件。一个时间表定义这些对象的独立事件发生的流程。getparametersinitializefor1totimestepsdo:for1tonum_agentsdo:agent-i-do-somethingendforshowstateendforquit提供一些数据结构来存储主体的状态和行为初始化,设定数据结构和输入输出等将状态数据输出给程序在编程语言中的实现建模结构:探测器输出界面模型“swarm”SWARM就是许多个体(对象)组成的一个群体,这些个体共享一个行为时间表和内存池。显然“swarm”有两个主要的组成部分: 对象——模型“swarm”中的每一项对应模型世界中的每一个对象(个体)。“swarm”中的个体就象系统中的演员,是能够产生动作并影响自身和其他个体的一个实体。 时间表——时间表是一个数据结构,定义了各个对象的独立事件发生的流程,即各事件的执行顺序。在SWARM中特定的事件发生在特定的时间,按照时间表安排的顺序进行。每种行为是一个独立的动作。模型按照这种安排好的事件的执行顺序向前发展,并尽量使这些事件看起来象同步发生的。 输入输出——模型“swarm”还包括一系列输入和输出。输入是模型参数:如世界的大小,主体的个数等环境参数。输出是可观察的模型的运行结果:如个体的行为等等。观察员“swarm”模型“swarm”只是定义了被模拟的世界。但是一个实验不应只包括实验对象,还应包括用来观察和测量的实验仪器。在SWARM计算机模拟中,这些观察对象放在一个叫观察员“swarm”的“swarm”中。 最重要的观察组件是——模型Swarm 观察员行为的时间表主要是为了驱动数据收集,即从模型中将数据读出,并画出图表。 输入是对观察工具的配置,例如生成哪类图表;输出是观察结果。在图形模式下运行时,观察员“swarm”中的大部分对象被用来调节用户界面。这些对象可能是平面网格图,折线图或探测器,它们一方面与模型“Swarm”相连以读取数据,同时把数据输出到到图形界面,为用户提供了很好的实验观察方式。 Swarm中所有的主体和变量都可以被探测。 探测器将它自己和主体联系起来,它可以给主体发送消息,还可以通过直接读取或者调用主体来获得或修改主体变量。探测器被观测变量=10.2探测器 探测器将主体与图形界面联系起来 缺省的探测器图形界面会显示被观测的主体的所有变量——也可以由用户自定义显示变量。探测器执行方法输入变量值打开该类的探测器关闭探测器探测器与图形用户界面(GUI) 可用于绘制 线性图 柱状图 格栅图 Digraphs 图形用户界面的支持对象可以实现数据的收集,计算和更新。图形用户界面(GUI)平均价格平均成本探测器探测器主体图形窗口 图形窗口输出依赖于探测器动态地收集主体的数据。给图形用户界面(GUI)提供数据建模思想: 这种建模方法不需要一个方程形式来体现系统中内生的关系。 这种方法强调非均衡的发展路径,它的分析是基于进化和突变行为而不是基于一种机械的观点来看待社会。 这种方法是基于单个主体的,因此用户必须为每个决策者建立微观模型,而不是为整个市场建立宏观模型。 这种方法将经济系统看作是一个进化的复杂系统。 用户可以使用Swarm提供的随机数生成器轻松的引入随机因素。建模方法:Swarm是一种支持“自下而上”(bottom-up)的建模工具。5、对Swarm的感性认识——例子热虫(Heatbugs) 热虫是Swarm的经典例子之一,它说明了简单的局部的主体活动如何产生复杂的全局的行为。结果显示界面的样子interfaceHeatbugModelSwarm:Swarm{intnumBugs;//simulationparametersdoubleevaporationRate;doublediffuseConstant;intworldXSize,worldYSize;intminIdealTemp,maxIdealTemp;intminOutputHeat,maxOutputHeat;doublerandomMoveProbability;idmodelActions;//schedulingdata structuresidmodelSchedule;idheatbugList;//listofalltheheatbugsGrid2d*world;//objectsrepresentingHeatSpace*heat;//theworld}-getHeatbugList;//accessmethodsintothe-(Grid2d*)getWorld;//modelswarm.Thesemethods-(HeatSpace*)getHeat;//allowthemodelswarmtobe observed.+createBegin:aZone;//extramethodsyou-createEnd;//provideforSwarms-buildObjects;-buildActions;-activateIn:swarmContext;第一步:建立一个模型swarm 一个模拟的关键部分是模型swarm。这里是HeatbugModelSwarm的定义:第二步:定义一个主体 所有个体是整个模拟的中心。在模拟中的大部分工作来自于定义个体的行为,以使模型与真实世界的现象类似。heatbug主体的定义如下:interfaceHeatbug:SwarmObject{doubleunhappiness;//mycurrentunhappinessintx,y;//myspatialcoordinatesHeatValueidealTemperature;//myideal temperatureHeatValueoutputHeat;//howmuchheatIputoutfloatrandomMoveProbability;//chanceofmoving randomlyGrid2d*world;//theworldIliveinintworldXSize,worldYSize;//howbigthatworldisHeatSpace*heat;//theheatfortheworldColorbugColor;//mycolour(display)}-setWorld:(Grid2d*)wHeat:(HeatSpace*)h;//whichworldarewein-createEnd;-(double)getUnhappiness;-setIdealTemperature:(HeatValue)i;-setOutputHeat:(HeatValue)o;-setRandomMoveProbability:(float)p;-setX:(int)xY:(int)y;//bug'sposition-setBugColor:(Color)c;//bug'scolour(display)-step;-drawSelfOn:(id<Raster>)r;第三步:建立主体 Heatbug们已经被定义,模型swarm需要创建它们。这里是HeatbugModelSwarm中buildObjects方法的一段代码:for(i=0;i<numBugs;i++){Heatbug*hbug;intidealTemp,outputHeat;//Choosearandomidealtemperature,outputheatfromthespecifiedidealTemp=[uniformRandomrMin:minIdealTempMax:maxIdealTemp];outputHeat=[uniformRandomrMin:minOutputHeatMax:maxOutputHeat];//Createtheheatbug,setthecreationtimevariableshbug=[HeatbugcreateBegin:[selfgetZone]];[hbugsetWorld:worldHeat:heat];hbug=[hbugcreateEnd];//Addthebugtotheendofthelist.[heatbugListaddLast:hbug];//Nowinitializetherestoftheheatbug'sstate.[hbugsetIdealTemperature:idealTemp];[hbugsetOutputHeat:outputHeat];[hbugsetX:[uniformRandomrMax:worldXSize]//randompositionY:[uniformRandomrMax:worldYSize]];}第四步:建立空间对象 在swarm中,空间是另一种个体。在Heatbug模型中我们创建一个热空间,这是swarm的space库中一个散射对象的子类。这里是HeatbugModelSwarm中buildObjects方法的一段代码:heat=[HeatSpacecreateBegin:[selfgetZone]];[heatsetSizeX:worldXSizeY:worldYSize];[heatsetDiffusionConstant:diffuseConstant];[heatsetEvaporationRate:evaporationRate];heat=[heatcreateEnd];第五步:模型swarm的时序安排 一旦所有的模拟对象在buildObjects中被创建,下一步的任务就是在buildActions方法中确定它们的时序安排。modelActions=[ActionGroupcreate:[selfgetZone]];[modelActionscreateActionTo:heatmessage:M(stepRule)];[modelActionscreateActionForEach:heatbugListmessage:M(step)];[modelActionscreateActionTo:heatmessage:M(updateLattice)];modelSchedule=[SchedulecreateBegin:[selfgetZone]];[modelSchedulesetRepeatInterval:1];modelSchedule=[modelSchedulecreateEnd];[modelScheduleat:0createAction:modelActions];第六步:建立图形化的探测器 模型swarm已经定义,下一步是安排图形化的探测器swarm。对于Heatbug模型来说,代码段在HeatbugObserverSwarm中。探测器swarm的结构同建立模型swarm几乎完全相同。interfaceHeatbugObserverSwarm:GUISwarm{intdisplayFrequency;//oneparameter:updatefreqiddisplayActions;//scheduledatastructsiddisplaySchedule;HeatbugModelSwarm*heatbugModelSwarm;//theSwarmwe'reobserving //Lotsofdisplayobjects.First,widgetsXColormap*colormap;//allocatecoloursZoomRaster*worldRaster;//2ddisplaywidgetEZGraph*unhappyGrap
/
本文档为【复杂系统的计算机模拟_by_方美琪】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索