您好,欢迎访问三七文档
第5章多智能体模拟5.1引言5.2多智能体模拟的相关概念5.3多智能体系统与混合模拟5.4多智能体建模5.5多智能体模拟工具AnyLogic5.1引言与传统的基于公式的建模方法不同的是,基于多智能体的模拟注重的是分散而不是集成,通过一种自然的方式来建模。对于异构的、分散的复杂系统来说,基于多智能体是适当的建模和模拟方式。多智能体建模中使用的基本元素智能体具有主动性、自治性和智能性,使得这种建模方法能够实现传统方法难以胜任的复杂系统模拟。5.2多智能体模拟的相关概念5.2.1智能体的定义5.2.2智能体与对象5.2.1智能体的定义智能体是一种处于一定环境下包装的计算机系统,为了实现设计目的,它能在那种环境下灵活地、自主地活动。一个智能体具有如下全部或部分的特性:1.自主性5.移动性2.社会性6.理性3.反应性7.诚实性4.合作性8.友好性5.2.2智能体与对象(1)对象的定义对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务(即方法)组成。5.2.2智能体与对象(2)智能体与对象的区别1)自治程度不同。2)自治行为的灵活性(自治性、反应性、社会性)不同。3)智能体组成的系统,对每一个智能体来说,它都有自己独立的控制线程;而在标准的对象模型中,整个系统才有一个控制线程。注意:尽管智能体与对象有着重大的区别,但这并不妨碍用面向对象技术来实现智能体。5.3多智能体系统与混合模拟5.3.1多智能体系统概述5.3.2混合系统与混合模拟5.3.3多智能体与混合型模拟5.3.1多智能体系统概述1多智能体系统的出现及发展多智能体(Multi-AgentSystem,MAS)是分布式人工智能(DistributedArtificialIntelligence,DAI)研究的一个前沿领域,MAS的研究重点在与如何协调系统中多个智能体的行为使其协同工作。5.3.1多智能体系统概述2多智能体系统的特点。1)多智能体系统中,每个智能体具有独立性和自主性。2)多智能体系统支持分布式应用。3)按面向对象的方法构造多层次的、多元化的智能体。4)多智能体系统是一个协调式的系统。5)在多智能体系统中,智能体之间相互通讯,彼此协调,并行地求解问题。6)同一个多智能体系统中各个智能体可以异构。7)多智能体技术打破了当前知识工程领域中仅使用一个专家系统的限制。5.3.1多智能体系统概述3多智能体系统的应用多智能体在各个领域中的应用包括:智能机器人、交通控制、柔性制造、协调专家系统、分布式预测、监控及诊断、分布式智能决策、软件开发、虚拟实现、网络自动化与智能化、分布式计算、产品设计、商业管理、网络化的办公自动化、网络化计算机辅助教学及医疗等。5.3.2混合系统与混合模拟混合系统(HybridSystem)是包含有连续事件、离散事件和推理决策事件的一类复杂动态系统,其特征是既包含连续过程变量,又包含离散过程变量。混合系统广泛存在于自然及人工系统中。目前的混合系统和混合系统模拟的研究主要集中在工程控制理论领域,混合系统的应用集中表现在混合系统的故障诊断和监控设计方面。混合模拟的另外一个重要的应用领域是分布式模拟。5.3.3多智能体与混合型模拟1传统模拟下混合型模拟的集成方式这里的传统模拟指用基于过程的方式实现的系统或者采用了传统的面向对象的思想实现的系统。混合模拟系统结构,如图5.1所示。图5.1混合模拟系统结构推理决策系统连续型系统离散型系统5.3.3多智能体与混合型模拟2基于多智能体的混合型模拟的集成方式基于多智能体模拟与混合模拟集成中有个非常明显的特点,即其混合深度加深了,建模更加灵活了。基于多智能体的混合型模拟集成结构如图5.2所示。对于单个智能体,其行为受到其属性值或环境变量的影响,又由推理决策来决定,行为的结果又将改变自己或者其他智能体属性值或环境变量,依次动态推进。5.3.3多智能体与混合型模拟图5.2基于多智能体的混合型模拟集成结构5.3.3多智能体与混合型模拟3混合型模拟的工具与语言直接运用某种通用的高级语言编写和运行模拟程序,如C语言或者Java语言;采用专门的计算机模拟语言来进行建模与分析,如SLAM(SimulationLanguageforAlternationModeling),SIMSCRIPT,GASP等;最新的一些模拟软件不仅在混合型模拟和建模上有所进步,而且在模拟的动画效果方面也有巨大进步,如Arena和AnyLogic。5.4多智能体建模5.4.1多智能体建模概述5.4.2多智能体建模分析5.4.3常用多智能体建模工具5.4.4多智能体见面分析实例——以传染病传播为例5.4.1多智能体建模概述1多智能体模拟的理论基础本章所论述的多智能体模拟是狭义的多智能体模拟,它以复杂适应系统(ComplexityAdaptiveSystem,CAS)理论为基础,主要用于研究微观行为如何导致宏观现象。(1)CAS理论的基本思想一句话概括——适应产生复杂性。5.4.1多智能体建模概述(2)CAS理论的基本概念聚集(Aggregation)非线性(Non-Linearity)流(Flow)多样性(Diversity)标识(Tag)内部模型(InternalModel)积木块(BuildingBlock)5.4.1多智能体建模概述(3)CAS理论的主要特点适应性智能体(AdaptiveAgent)是主动的、活的个体。个体与环境(包括个体之间)的相互影响和相互作用,是系统演变和进化的主要动力。把宏观和微观有机地联系起来。引进了随机因素的作用,使它具有更强的描述和表达能力。5.4.1多智能体建模概述(4)CAS理论与多智能体模拟基于CAS理论的多Agent建模模拟方法所研究的主要问题与分布式人工智能领域所研究的智能体/多智能体系统(MAS)既有相同之处,又有所区别。5.4.1多智能体建模概述2基于智能体建模的思想基于智能体建模思想的三大要素:智能体、智能和交互。智能体是一个自治的计算实体,它可以通过感应器(物理的或软件的)来感知环境,并通过效应器作用于环境。智能是根据研究的需要和技术的可行性,使智能体具有合适的智能特性(如理性、诚实性等)。交互是指智能体可以被其他的为追求自己的子目标而执行相应任务的智能体(或人)所影响。交互可以通过他们之间共享的环境或共享的语言来实现。5.4.2多智能体系统分析面向智能体的系统分析,就是用智能体来抽象所研究(或要开发)的系统并建立系统模型。图5.3基于智能体的系统模型的层次买方6买方8买方5买方3买方4买方7买方1买方2卖方1属性集行为集属性集行为集卖方2卖方智能体5.4.2多智能体系统分析1规划单个智能体。进行智能体抽象的基本原则:从系统的物理结构出发,围绕着系统的目标来对系统进行抽象。注意的两个问题:异质智能体与同质智能体的处理。抽象的粒度。集中服务智能体。移动智能体。5.4.2多智能体系统分析2多智能体群体的交互关系分析1)智能体之间的依赖关系。独立:智能体之间没有依赖关系。单向依赖:一个智能体单向依赖另一个智能体。相互依赖:为了共同的目标,两个智能体相互依赖。交叉依赖:为了某一目标第一个智能体依赖于第二个智能体,而第二个智能体为了实现某一目标也依赖于第一个智能体(两个目标不必相同)。相互依赖蕴涵着交互依赖。2)智能体之间的关联结构和协商一对一协商:一个智能体只与另一个智能体协商。其中的智能体对于可能的交易有对称的偏好。5.4.2多智能体系统分析多对一协商:一个智能体与一定数量的智能体协商,拍卖是多对一协商的例子。多对多协商:多个智能体与另外多个智能体同时进行协商。3)智能体之间的通讯对于应用多智能体模拟方法解决实际问题过程,智能体间的通讯相对来说不是建立多智能体模拟模型过程中关注的重点。5.4.2多智能体系统分析3单个智能体的特征行为建模分析智能体个体基本结构如图5.4所示。图5.4智能体的通用模型事件感知器事件处理分发器内部状态集外部效应执行器方法集智能代理体环境(感知外部事件)(影响外部环境)5.4.3常用多智能体模拟工具1.NetLogoNetLogo是美国西北大学网络学习和计算机建模中心推出的可编程建模环境。该系统是采用1.4.1版Java语言编写的,因此能够在多种主流平台上运行(Mac、Windows、Linux等)。它同时提供单机和网络环境两种版本,每个模型还可以保存为Javaapplets,可嵌入到网页上运行。目前NetLogo更新频繁,2008年11月26发布了NetLogo4.0.4版。对于教学和科研等非商业目的应用可免费下载,其网址是:。5.4.3常用多智能体模拟工具2.StarLogoStarLogo是在美国自然科学基金会和乐高集团(LEGOGroup)赞助下,由麻省理工学院多媒体实验室开发的基于智能体的可编程建模环境。早期版本的StarLogo只能在Macintosh机器上运行,2000年2月发布了基于Java的版本,摆脱了计算机平台的限制。2008年7月推出了StarLogoTNG1.0版,其网址是:。上面介绍的StarLogo和NetLogo系统本身提供很多内置原语,支持多主体建模和并行操作,用于建立模型的编程语言是一种扩展的Logo语言的“方言”。5.4.3常用多智能体模拟工具3.AgentSheetsAgentSheets是一种基于智能体的模拟工具,它能让不同层次的使用者构建自己的交互式模拟或游戏。由于内嵌了一种叫做Ristretto的Jave技术,AgentSheets可以让你通过网络与世界上其他的人交流想法。在AgentSheets中,智能体(Agents)是使用者可编程的对象。AgentSheets将智能体(Agent)的结构分为感应器、效应器、状态和行为四个部分,并利用基于规则的VisualAgenTalk语言,提供基于规则的开发环境,为基于行为集、规则集和状态集智能体提供了完整的框架。5.4.3常用多智能体模拟工具4.SwarmSwarm是一个多智能体复杂系统模拟软件工具集,最初是由圣达菲研究所于1994年用一种被称为GNUObjective-C的扩展C语言开发的,其目的是为研究人员进行多智能体建模提供可用工具。2004年6月发布了WindowsXP下运行的Swarm2.1.1版,具体下载网址是:。从2004年3月起,Swarm网站迁移到新址:。5.4.3常用多智能体模拟工具5.RepastRepast是RecursivePorusAgentSimulation的缩写。这是一个用Java开发的基于智能体的模拟框架。Repast从Swarm中借鉴了很多设计理念,形成一个“类Swarm”的模拟软件架构。Repast最初是由芝加哥大学的社会科学计算实验室开发研制的,后来俄勒岗国家实验室维护了一段时间,现在由来自政府、教育界和行业组织成员组成的非赢利机构管理,网址是:。5.4.3常用多智能体模拟工具6.TNGLabTNGLab代表TradeNetworkGameLaboratory(商业网络博弈实验室),它是美国爱荷华州立大学的McFadzean、Stewart和Tesfatsion用C++开发的软件包。参考网址:。5.4.3常用多智能体模拟工具7
本文标题:多智能体仿真资料
链接地址:https://www.777doc.com/doc-6307180 .html