基于主体的模型 Agent-based model
基于主体的模型(ABM)是一类计算模型,用于模拟自主主体(个体或集体实体,如组织或团体)的行为和交互,以评估它们对整个系统的影响。它结合了博弈论、复杂系统、涌现、计算社会学、多主体系统和进化规划的要素。采用蒙特卡罗方法引入随机性。特别是在生态学中,ABMs也被称为基于个体的模型(IBMs)[1],并且IBMs内的个体可能比ABMs内的完全自主的主体更简单。最近关于基于个体的模型、基于主体的模型和多主体系统的文献综述表明,ABMs被用于非计算相关的科学领域,包括生物学、生态学和社会科学。[2]
基于主体的建模与多主体系统或多主体仿真的概念相关,但与之不同,因为ABM的目的是寻找对遵守简单规则的主体的集体行为的解释性见解,这通常是在自然系统中,而不是在设计主体或解决具体的实际或工程问题中。[2]
基于主体的模型是一种微观模型[3],它模拟多个主体的同时操作和交互,试图重新创建和预测复杂现象的出现。这一过程是一个涌现的过程,有人将其表述为“整体大于部分之和”。换言之,更高层次的系统属性来自于较低层次子系统的交互作用。或者,宏观尺度的状态变化是由微观尺度的主体行为产生的。或者,简单的行为(意味着由主体遵循的规则)会产生复杂的行为(意味着整个系统级别的状态变化)。
个体行为者通常被定义为无限理性,被假定其行为符合他们认为的自身利益,如再生产、经济利益或社会地位[4],能利用启发式或简单的决策规则。ABM主体可能会经历“学习”,适应和复制阶段。[5]
多数基于主体的模型由以下部分组成:以不同规模指定的众多主体(通常称为主体粒度);决策启发式;学习规则或自适应过程;交互拓扑和环境。ABM通常作为计算机模拟来实现,或者作为定制软件,或者通过ABM工具包来实现,可以使用该软件来测试单个行为的变化将如何影响系统正在表现的总体行为。
历史
基于主体的建模思想是20世纪40年代后期发展起来的一个相对简单的概念,由于它需要大量的计算过程,直到90年代才得到广泛的应用。
早期发展
基于主体的模型的历史可以追溯到冯·诺依曼机器,一个能够复制的理论机器。冯·诺依曼提出的装置将精确地按照详细的指示来制作自己的复制品。这个概念是由冯·诺依曼的朋友斯坦尼斯瓦夫·乌拉姆建立的,乌拉姆也是数学家;乌拉姆建议把机器构建理论化,作为网格上的细胞集合。这个想法引起了冯·诺依曼的兴趣,他实施了这个想法——创造了第一个后来被称为元胞自动机的设备。另一个进步是由数学家约翰·康威促成的,他建造了著名的生命游戏。与冯·诺依曼的机器不同,康威的《生命的游戏》以二维棋盘的形式在虚拟世界中以极其简单的规则操作。
1970年代和1980年代:第一批模型
最早的基于主体的概念模型之一是托马斯·谢林的分离模型[6] ,在他1971年的论文“分离的动态模型”中讨论过。虽然谢林最初使用的是硬币和图表纸,而不是计算机,但他的模型体现了基于智能体的模型的基本概念,即作为在共享环境中与观测到的聚集的、突发的结果进行交互的自主智能体。
在20世纪80年代早期,罗伯特·阿克塞尔罗德主持了一场囚徒困境策略的锦标赛,并让他们以基于主体的方式进行互动,以确定获胜者。阿克塞尔罗德将继续发展政治科学领域的许多其他基于主体的模型,研究从种族中心主义到文化传播等现象[7]。到20世纪80年代末,克雷格·雷诺兹关于植绒模型的研究促成了一些具有社会特征的基于生物制剂的模型的发展。他试图模拟现实中活跃的生物制剂,也就是人们熟知的人工生命,这个术语是由克里斯托弗·兰顿创造的。 “主体”这个词的第一个用法,以及目前使用的定义,现在很难追踪到。其中约翰·霍兰德和约翰·米勒1991年的论文《经济理论中的人工适应性主体》是一个候选,该论文是基于他们较早的会议介绍而发表的。[8]
与此同时,在20世纪80年代,社会科学家、数学家、运筹学家以及来自其他学科的人员组成了计算与数学组织理论(CMOT)。该领域作为管理科学研究所(TIMS)及其姐妹协会美国运筹学学会(ORSA)的一个特殊利益集团而发展起来。
1990年代:扩张
随着1990年StarLogo、1990 年代中期的Swarm和NetLogo以及2000年RePast和AnyLogic的出现,或者2007年GAMA 以及一些定制设计的代码的出现,建模软件开始广泛使用,广泛应用ABM的领域的数量在增长。Bonabeau(2002)对当时基于主体的建模的潜力进行了很好的调查。
1990年代,ABM在社会科学领域的发展尤为显著,其中一项值得注意的工作是由Joshua M. Epstein和Robert Axtell共同开发的大规模ABM:Sugarscape, 用于模拟和探索季节性迁徙等群体现象、污染、性繁殖、战斗、疾病甚至文化的传播[9]。1990年代的其他显著发展包括卡内基·梅隆大学(Carnegie Mellon University)的凯瑟琳·卡利(Kathleen Carley) ABM[10] ,用于探索社会网络和文化的共同发展。在1990年代,奈杰尔·吉尔伯特(Nigel Gilbert)出版了第一本教科书:《社会模拟:社会科学家的模拟》(1999年),并创立了社会科学期刊:《人工社会与社会模拟杂志》(JASSS)。除了JASSS之外,任何科学的基于主体的模型都囊括在SpringerOpen杂志:复杂自适应系统建模(CASM)的范围内。[11]
从上世纪90年代中期开始,ABM的社会科学方向开始关注于设计有效的团队、理解组织有效性所需的沟通以及社交网络的行为等问题。CMOT——后来更名为社会和组织系统计算分析(CASOS)——纳入了越来越多的基于主体的建模。萨缪尔森2000年发表了一篇综述文章[12] ,概述了ABM的早期历史,紧接着在2005年和2006年左右Samuelson和 Macal 追踪了更多的最新进展。[13][14]
在20世纪90年代末,TIMS和ORSA的合并成了INFORMS, INFORMS从每年两次的会议变成了一次会议,这促使CMOT组形成了一个独立的协会——北美计算社会和组织科学协会(NAACSOS)。Hleen Carley是主要的贡献者,尤其是对社交网络模型的贡献。她为年会获得了国家科学基金会的资助,并担任NAACSOS的首任总裁。接替她的是芝加哥大学和阿贡国家实验室的大卫·萨拉克,然后是埃默里大学的迈克尔·普里图拉。与此同时,欧洲社会模拟协会(ESSA)和亚太社会系统科学研究机构协会(PAAA)也成立了。截至2013年,这三个组织在国际上展开合作。第一届社会模拟世界大会于2006年8月在日本京都举行。2008年7月,第二届世界大会在华盛顿特区北弗吉尼亚郊区举行,乔治·梅森大学在当地安排中起了带头作用。
2000年代及以后
最近,Ron Sun开发了基于人类认知模型的基于主体的模拟方法,即社会认知模拟。Bill McKelvey, Suzanne Lohmann, Dario Nardi, Dwight Read等人在UCLA也对组织行为和决策做出了重大贡献。2001年,加州大学洛杉矶分校在加州的阿罗沙德湖举办了一个会议,这已经成为该领域从业者的另一个主要聚会点。2014年,哥伦比亚大学的Sadegh Asgari和他的同事开发了一个基于主体的建筑竞标模型。该模型用于分析低标总包施工的招标,可适用于其他招标方式,对模型的修改很小。
理论
多数计算模型研究描述了处于平衡状态或在平衡状态之间移动的系统。然而,使用简单规则的基于主体的建模可能会导致各种复杂而有趣的行为。基于主体的模型的三个核心思想是主体作为对象、涌现和复杂性。
基于主体的模型由基于规则的动态交互的主体组成。它们系统的交互中可以产生真实世界的复杂性。主体通常坐落在离散的时间、空间和驻留在网络或格状的社区。主体的位置和它们的响应行为以算法形式编码在计算机程序中。在某些情况下,主体被认为是智能的和有目的性的。在生态ABM(通常在生态学中被称为“基于个体的模型”)中,主体可能是森林中的树木,因此不会被认为是智能的,尽管它们可能在优化资源(如水)的获取方面具有“目的性”。建模过程最好用归纳的方式来描述。建模者认为这些假设与当前的情况最相关,然后观察从主体的交互中出现的现象。有时这是一个平衡的结果。有时它是一种突现的模式。然而,有时候是一种难以理解的混乱。
从某些方面来说,基于主体的模型是对传统分析方法的补充。再分析方法使人类能够表征系统的平衡,基于主体的模型允许产生那些平衡的可能性。这个生成的贡献可能是最主流的基于主体建模的潜在好处。基于主体的模型可以解释高阶模式的出现——恐怖组织的网络结构和互联网,交通堵塞、战争和股市崩溃等规模的幂律分布,以及尽管拥有宽容的人,但仍然存在的社会隔离。基于主体的模型还可以用来识别杠杆点,即干预产生极端后果的时刻,并区分路径依赖的类型。
许多模型并不关注稳定状态,而是考虑系统的健壮性——复杂系统适应内部和外部压力以保持其功能的方式。驾驭这种复杂性的任务需要考虑主体本身——它们的多样性、连接性和交互的级别。
框架
最近在复杂自适应系统建模和仿真方面的工作已经证明了将基于agent和基于复杂网络的模型相结合的必要性:
- 使用各种系统组件的交互数据开发模型的复杂网络建模级别。
- 建立基于主体的建模层次,用于开发基于主体的模型,以评估进一步研究的可行性。例如,在不需要研究人员大量学习曲线的情况下,可以用于开发概念验证模型(如资助应用程序)。
- 基于描述主体的建模(DREAM),通过使用模板和复杂的基于网络的模型来开发基于主体的模型的描述。建立理想模型允许跨科学学科的模型比较。
- 使用虚拟覆盖多主体系统(VOMAS)进行基于主体的验证建模,以正式的方式开发经过认证和证实的模型。
描述基于主体的模型的其他方法包括代码模板和基于文本的方法,如ODD(概述、设计概念和设计细节)协议。
在基于主体的建模和仿真工作中,主体所处的宏观和微观环境的作用也成为一个重要的因素。简单的环境提供简单的主体,而复杂的环境产生行为的多样性。
应用
在生物学中
权威文章: Agent-based model in biology
基于主体建模已被广泛用于生物学,包括流行病的传播的分析和细菌战的威胁,生物用途包括种群动力学、随机基因表达、植被生态学、景观多样性、古代文明的兴衰,民族中心主义的进化行为,强迫位移/迁移,语言选择动力学,认知建模,生物医学应用包括三维乳腺组织形态形成建模,电离辐射对乳房干细胞亚群动力学、炎症和人类免疫系统的影响。基于主体的模型也被用于开发决策支持系统,如乳腺癌。基于主体的模型越来越多地被用于在早期阶段和临床前研究中为药理学系统建模,以帮助药物开发,并获得对生物系统的洞见。此外,基于主体的模型最近被用于研究分子水平的生物系统。
在业务,技术和网络理论中
自上世纪90年代中期以来,基于主体的模型一直被用于解决各种业务和技术问题。应用的例子包括组织行为和认知建模、团队工作、供应链优化和物流、消费者行为建模(包括口碑、社交网络效应、分布式计算、劳动力管理和项目组合管理)。它们还被用来分析交通拥堵。
最近,基于主体的建模和仿真已经被应用到不同的领域,例如计算机科学领域的研究人员研究出版地的影响(期刊与会议)。此外,ABM已被用于模拟环境中的信息传递。2016年11月arXiv上的一篇文章分析了帖子在Facebook在线社交网络传播的基于主体的模拟。在对等网络、自组织网络和其它复杂网络中,基于主体的建模和仿真的有效性已经得到了证明。且最近演示了一个结合计算机科学的形式化规范框架和无线传感器网络、基于主体的仿真的使用。
基于主体的进化搜索算法是解决复杂优化问题的一个新的研究课题。
在经济学和社会科学中
权威文章: Agent-based computational economics and Agent-based social simulation.
金融危机前后,人们对将ABMs作为经济分析工具的兴趣有所增长。ABMs并不假设经济可以达到均衡,“典型主体”被具有多样性、动态和相互依赖行为(包括羊群行为)的主体所取代。ABMs采用一种“自下而上”的方法,可以生成极其复杂和不稳定的模拟经济体。ABMs可以代表不稳定的系统,崩溃和繁荣是从非线性地(不成比例)响应比例小的变化发展而来的。《经济学人》2010年7月的一篇文章将ABMs视为DSGE模型的替代品。《自然》杂志也鼓励基于主体的建模,社论提出,与标准模型相比,ABMs能够更好地代表金融市场和其它经济复杂性。此外,多恩•法默(J. Doyne Farmer)和邓肯•弗利(Duncan Foley)的一篇文章也指出,ABMs能够满足凯恩斯描绘复杂经济的愿望,以及罗伯特•卢卡斯(Robert Lucas)基于微观基础构建模型的愿望。法默和福利指出,使用ABMs对经济的部分进行建模已经取得了进展,但他们主张创建一个包含低层次模型的非常大的模型。以模仿、反模仿和无差异金融市场这三种不同的行为特征为基础,建立一个复杂的分析师系统模型,并对其进行了高精度的模拟。结果表明,网络形态与股票市场指数之间存在相关性。
自21世纪初以来,ABMs已被应用于建筑和城市规划中,以评估设计和模拟城市环境中的行人流量。利用ABM的识别社会经济网络系统影响的能力,对应基础设施投资的影响进行社会经济分析的领域也越来越多。
组织ABM:主体导向的模拟
主体导向模拟(ADS)隐喻区分为两类,即“主体系统”和“系统主体”。主体的系统是实现主体的系统,用于工程、人类和社会动力学、军事应用和其他领域。系统的主体分为两个子类。Agent-supported系统以主体作为支持工具,使用计算机协助解决问题或提高认知能力。基于主体的系统侧重于在系统评估中使用主体生成模型行为(系统研究和分析)。
实现
许多ABM框架是基于冯·诺伊曼计算机架构设计的,这限制了实现模型的速度和可伸缩性。由于大规模ABMs中的突发行为依赖于种群大小,因此可伸缩性限制可能会阻碍模型验证。使用分布式计算可以从很大程度上解决这些限制,例如使用Repast HPC等框架。但是,尽管这些方法可以很好地映射到集群和超级计算机体系结构,通信和同步以及部署复杂性相关的问题仍然是广泛采用它们的潜在障 碍。
最近的发展是在图形处理单元gpu上使用数据并行算法进行ABM模拟。极端的内存带宽加上多处理器gpu强大的数字处理能力,使得以每秒数十帧的速度模拟数百万主体成为可能。
验证和确认
仿真模型的验证和确认是非常重要的。验证包括对模型进行调试以确保其正确工作,而确认则确保构建了正确的模型。面部验证、敏感性分析、校准和统计验证也已被证明。离散事件仿真框架的方法提出了基于主体的验证系统。在这里可以找到关于基于主体的模型的经验验证的全面资源。
V&V技术的一个例子是VOMAS (virtual overlay multi-agent system),一种基于软件工程的方法,在基于主体的模型基础上开发虚拟覆盖多主体系统。多主体系统中的主体能够通过生成日志来收集数据,并通过监视主体提供运行时验证和确认支持,以检查运行时是否存在不变量冲突。这些是模拟专家在SME(主题专家)的帮助下设置的。Muazi等人还提供了一个使用VOMAS验证和确认森林火灾模拟模型的例子。
VOMAS提供了一个正式的确认和验证的方法。为了开发一个VOMAS,必须在实际模拟中设计VOMAS主体,最好从一开始就设计。当仿真模型完成时,基本上可以认为它是一个包含两个模型的模型:
- 目标系统的基于主体的模型
- 基于主体的VOMAS模型
与以前所有的验证和确认工作不同,VOMAS主体确保模拟在仿真中(即在执行过程中)可以得到验证。在任何特殊情况下,用模拟专家(SS)的指令编程,VOMAS主体可以自行报告。此外,可以使用VOMAS主体来记录关键事件,以便调试和随后的模拟分析。换句话说,在任何领域中,为了验证和确认基于主体的模型,VOMAS允许灵活地使用任何给定的技术。
复杂系统建模
复杂系统的数学模型有三种类型:黑盒(现象学)、白盒(机械的,基于第一原理)和灰盒(现象学和机械模型的混合)。
在黑盒模型中,复杂动态系统的基于个体的(机械的)机制仍然是隐藏的。
复杂系统的数学模型 黑箱模型是完全非机械性的。它们是现象学的,忽视了复杂系统的组成和内部结构。我们无法研究一个不透明模型的子系统之间的相互作用。复杂动态系统的白盒模型具有“透明的墙壁”,并直接显示底层机制。动态系统的所有微观、中观和宏观层面的事件在白盒模型演化的所有阶段都是直接可见的。在大多数情况下,数学建模者使用繁重的黑箱数学方法,这产生不了复杂动态系统的力学模型。灰盒模型介于上述二者之间,并结合了黑盒和白盒方法。
基于逻辑确定性的个体元胞自动机模型的种群增长模型 复杂系统白盒模型的建立涉及到建模主体先验基础知识的必要性问题。确定性逻辑元胞自动机是白盒模型的必要条件,但不是充分条件。白盒模型的第二个必要前提是被研究对象的物理本体论的存在。白盒建模代表了来自第一原理的自动超逻辑推理,因为它完全基于主体的确定性逻辑和公理理论。白盒建模的目的是从基本的公理中获得关于被研究对象的动态的更详细、更具体的力学知识。在创建白盒模型之前,需要建立主体的内在公理系统,这将白盒型元胞自动机模型与基于任意逻辑规则的元胞自动机模型区分开来。如果元胞自动机规则没有从主体的第一原则中制定出来,那么这样的模型可能与真正的问题的相关性较微弱。
另外参阅
- Agent-based computational economics
- Agent-based model in biology
- Agent-based social simulation (ABSS)
- Artificial society
- Boids
- Comparison of agent-based modeling software
- Complex system
- Complex adaptive system
- Computational sociology
- Conway's Game of Life
- Dynamic network analysis
- Emergence
- Evolutionary algorithm
- Flocking
- Internet bot
- Kinetic exchange models of markets
- Multi-agent system
- Simulated reality
- Social complexity
- Social simulation
- Sociophysics
- Software agent
- Swarming behaviour
- Web-based simulation
- TOTREP
外部链接
文章/一般信息
- Agent-based models of social networks, java applets.
- On-Line Guide for Newcomers to Agent-Based Modeling in the Social Sciences
- Introduction to Agent-based Modeling and Simulation. Argonne National Laboratory, November 29, 2006.
- Agent-based models in Ecology – Using computer models as theoretical tools to analyze complex ecological systems[permanent dead link]
- Network for Computational Modeling in the Social and Ecological Sciences' Agent Based Modeling FAQ
- Multiagent Information Systems – Article on the convergence of SOA, BPM and Multi-Agent Technology in the domain of the Enterprise Information Systems. Jose Manuel Gomez Alvarez, Artificial Intelligence, Technical University of Madrid – 2006
- Artificial Life Framework
- Article providing methodology for moving real world human behaviors into a simulation model where agent behaviors are represented
- Agent-based Modeling Resources, an information hub for modelers, methods, and philosophy for agent-based modeling
- An Agent-Based Model of the Flash Crash of May 6, 2010, with Policy Implications, Tommi A. Vuorenmaa (Valo Research and Trading), Liang Wang (University of Helsinki - Department of Computer Science), October, 2013
仿真模型
- Multi-agent Meeting Scheduling System Model by Qasim Siddique
- Multi-firm market simulation by Valentino Piana
编者推荐
计算仿真课程
NetLogo NetLogo多主体建模课程
- 北京师范大学系统科学学院张江教授通过数个案例教会大家如何去动手搭建一个多主体仿真模型,以及如何利用NetLogo去实现。可以教你如何用Netlogo程序来做人工社会的仿真和模拟。
包括以下模型:
- 用“生命游戏”认识Patch
- 从Langton的蚂蚁看Turtle与Patch的交互
- 从羊-草生态系统深入Turtle与Plot画图
- 玩具经济模型与 Turtles间的互动
- 从玩具经济模型学文件导出与复杂曲线绘制
- 从玩具经济模型学习如何使用行为空间做实验
- 透过人工鸟群Boid模型学习List的使用
- 网络上病毒传播的SIR模型 用Links建模网络动力学
- 重访羊-草模型与系统动力学建模
本中文词条Pitorlin 翻译编辑,由高飞审校,张江总审校,思无涯咿呀咿呀编辑欢迎在讨论页面留言。
本词条内容翻译自 wikipedia.org,遵守 CC3.0协议。
- ↑ Grimm, Volker; Railsback, Steven F. (2005). Individual-based Modeling and Ecology. Princeton University Press. pp. 485. ISBN 978-0-691-09666-7.
- ↑ 2.0 2.1 Niazi, Muaz; Hussain, Amir (2011). "Agent-based Computing from Multi-agent Systems to Agent-Based Models: A Visual Survey" (PDF). Scientometrics. 89 (2): 479–499. arXiv:1708.05872. doi:10.1007/s11192-011-0468-9. S2CID 17934527. Archived from the original (PDF) on October 12, 2013.
- ↑ Gustafsson, Leif; Sternad, Mikael (2010). "Consistent micro, macro, and state-based population modelling". Mathematical Biosciences. 225 (2): 94–107. doi:10.1016/j.mbs.2010.02.003. PMID 20171974.
- ↑ "Agent-Based Models of Industrial Ecosystems". Rutgers University. October 6, 2003. Archived from the original on July 20, 2011.
- ↑ Bonabeau, E. (May 14, 2002). "Agent-based modeling: Methods and techniques for simulating human systems". Proceedings of the National Academy of Sciences of the United States of America. 99: 7280–7. Bibcode:2002PNAS...99.7280B. doi:10.1073/pnas.082080899. PMC 128598. PMID 12011407.
- ↑ Schelling, Thomas C. (1971). "Dynamic Models of Segregation" (PDF). Journal of Mathematical Sociology. 1 (2): 143–186. doi:10.1080/0022250x.1971.9989794.
- ↑ Axelrod, Robert (1997). The Complexity of Cooperation: Agent-Based Models of Competition and Collaboration. Princeton: Princeton University Press. ISBN 978-0-691-01567-5.
- ↑ Holland, J.H.; Miller, J.H. (1991). "Artificial Adaptive Agents in Economic Theory" (PDF). American Economic Review. 81 (2): 365–71. Archived from the original (PDF) on 2005-10-27.
- ↑ Epstein, Joshua M.; Axtell, Robert (October 11, 1996). Growing artificial societies: social science from the bottom up. Brookings Institution Press. pp. 224. ISBN 978-0-262-55025-3. https://archive.org/details/growingartificia00epst/page/224.
- ↑ "Construct". Computational Analysis of Social Organizational Systems.
- ↑ Springer Complex Adaptive Systems Modeling Journal (CASM)
- ↑ Samuelson, Douglas A. (December 2000). "Designing Organizations". OR/MS Today.
- ↑ Samuelson, Douglas A. (February 2005). "Agents of Change". OR/MS Today.
- ↑ Samuelson, Douglas A.; Macal, Charles M. (August 2006). "Agent-Based Modeling Comes of Age". OR/MS Today.