第5章-多智能体模拟.ppt_第1页
第5章-多智能体模拟.ppt_第2页
第5章-多智能体模拟.ppt_第3页
第5章-多智能体模拟.ppt_第4页
第5章-多智能体模拟.ppt_第5页
免费预览已结束,剩余48页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

管理系统模拟,华中科技大学肖人彬等电子工业出版社,2008,高等学校信息管理示范教材,第5章多智能体模拟,5.1引言5.2多智能体模拟的基本概念5.3多智能体建模5.4多智能体模拟工具5.5多智能体模拟工具AnyLogic,5.1引言,对于结构简单系统,可用数学建模方法来刻画。对于结构复杂系统,很难用统一的公式来描述。而简单的智能体间的交互作用可以产生复杂的行为。每一个智能体是对复杂系统中某个单独个体的简单模拟。个体之间存在动态、自主的交互行为,通过交互、合作与协调机制,多个功能单一的智能体能实现一系列复杂现象。,5.1引言,对于异构、分散的复杂系统,基于多智能体的模拟是最适当的建模方式。其建模元素具有更高的主动性、自治性和智能性。多智能体模拟能实现更加复杂、传统方法无法完成的模拟建模分析,充分利用计算机系统的并行计算和分布式计算的能力。对人类的学习、合作、协商等行为进行模拟。对自然、生态中的演化行为的仿真等。,5.2多智能体模拟的基本概念,一、智能体的定义智能体是一种处于一定环境下包装的计算机系统,为了实现设计目的,它能在那种环境下灵活地、自主地活动。系统具有如下的特性:1.自主性5.移动性2.社会性6.理性3.反应性7.诚实性4.合作性8.友好性,5.2多智能体模拟的基本概念,二、智能体与对象对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务(即方法)组成。智能体与对象的区别自治程度不同。自治行为的灵活性(自治性、反应性、社会性)不同。智能体组成的系统,对每一个智能体来说,它都有自己独立的控制线程;而在标准的对象模型中,整个系统才有一个控制线程。,5.2多智能体模拟的基本概念,三、多智能体系统概述1.多智能体系统的出现及发展多智能体系统(Multi-AgentSystem,MAS)是分布式人工智能(DistributedArtificialIntelligence,DAI)研究的一个前沿领域,MAS的研究重点在于如何协调系统中多个智能体的行为使其协同工作。多智能体系统是分布式人工智能研究的一个重要分支,是人工智能的最新发展方向。多智能体系统是由多个可计算的智能体组成的集合,其中每个智能体是一个物理的或抽象的实体,能作用于自身和环境,并与其他智能体通讯。,5.2多智能体模拟的基本概念,2.多智能体系统的特点多智能体系统中,每个智能体具有独立性和自主性。多智能体系统支持分布式应用。按面向对象的方法构造多层次的、多元化的智能体。多智能体系统是一个协调式的系统。在多智能体系统中,智能体之间相互通讯,彼此协调,并行地求解问题。同一个多智能体系统中各个智能体可以异构。多智能体技术打破了当前知识工程领域中仅使用一个专家系统的限制。,5.2多智能体模拟的基本概念,3.多智能体系统的求解机制(1)交互作用智能体的八类交互行为,5.2多智能体模拟的基本概念,(2)合作与协调分解与派发任务有两种方式:集中式分配设立一个专门的智能体来充当“协调者”的角色,将任务分解并根据各个智能体的能力将子任务分发。分布式分配各个智能体根据它自己的任务要求,在无法独立完成时,请求其它智能体提供服务,这种服务的请求不是强制性的。,5.2多智能体模拟的基本概念,(3)通信智能体间的交互、合作与协调都是通过通信来完成的。信息的传递有同步与异步两种方式。同步:当智能体发送消息后将会等待,知道接到答复为止。异步:智能体发出消息后并不等待,继续它的活动,而不论是否接到了答复。,5.2多智能体模拟的基本概念,4.多智能体系统的各领域应用(1)智能机器人(9)虚拟实现(2)交通控制(10)网络自动化与智能化(3)柔性制造(11)分布式计算(4)协调专家系统(12)产品设计(5)分布式预测(13)商业管理(6)监控及诊断(14)网络办公自动化(7)分布式智能决策(15)网络化计算机辅助教学(8)软件开发,5.3多智能体建模,一、多智能体建模概述1.基于智能体建模的思想基于智能体建模思想的三大要素:智能体、智能和交互。智能体是一个自治的计算实体,它可以通过感应器(物理的或软件的)来感知环境,并通过效应器作用于环境。智能是根据研究的需要和技术的可行性,使智能体具有合适的智能特性(如理性、诚实性等)。交互是指智能体可以被其他的为追求自己的子目标而执行相应任务的智能体(或人)所影响。交互可以通过他们之间共享的环境或共享的语言来实现。,5.3多智能体建模,2.多智能体模拟系统的模拟思路传统的模拟思路通过对系统整体结构与功能的分析,寻找其中规律,建立确定的逻辑模型,并使模型沿着某一变量(如时间)进行逐步演算,得到模拟结果,其本质是在计算机中还原实际系统。多智能体模拟系统的模拟思路采用自下而上的研究方法,通过对系统个体特征和行为的研究,建立个体特征和行为的模型,将个体映射为智能体,将个体特征映射为智能体的属性,将个体行为映射为智能体的方法,利用智能体间的自治、推理、通讯和协作机制,模拟个体间相互独立又交互作用的现象,从而研究系统的整体结构和功能。,5.3多智能体建模,3.多智能体模拟的优势(1)广泛适用性多智能体系统模拟技术是对传统的基于模块和面向对象的模拟技术的继承与发展,使多智能体模拟系统具有广泛适用性。(2)智能性和交互性单个智能体的智能是有限的,多智能体系统通过适当的体系结构把智能体组织起来,从而弥补各个智能体的不足,使得整个系统的能力超过任何单个智能体的能力。(3)分布性和移动性基于分布式计算的智能体,具有分布性和移动性,可以运行在网络中的任意位置,更适合群体决策的需要。,5.3多智能体建模,二、多智能体系统分析面向智能体的系统分析,就是用智能体来抽象要研究(或要开发)的系统并建立系统模型。1.规划单个智能体智能体抽象的基本原则:从系统的物理结构出发,围绕着系统的目标来对系统进行抽象。异质智能体与同质智能体的处理处理方法:将异质的智能体分别形成相应的智能体类,而将同质的多个智能体的抽象归结为一个智能体类。粒度太小,系统重组的灵活性增加、适应性增强,但由于规模大,系统的组织与控制的复杂程度增加、通信负载重、相应的运行效率也低;粒度太大,则系统灵活性差,并且降低了系统的并行性,但系统结构简单,管理和控制更容易。,5.3多智能体建模,集中服务智能体集中服务智能体:确定了实体智能体(即类型智能体)后,有时为了实现系统的目标,设计的一些其他辅助智能体,为一个智能体群体提供某些共同的服务,或是为研究人员(或用户)提供有关这个智能体群体的信息。移动智能体物理上分布的系统来说,为了传输信息或执行特定的功能,可能还需要一些移动智能体,如在分布式模拟系统中和分布式应用系统中就存在这种需求;对于单机系统的建模与模拟可不考虑。,5.3多智能体建模,2.多智能体群体的体系结构和交互关系分析(1)智能体之间的依赖关系独立:智能体之间没有依赖关系。单向依赖:一个智能体单向依赖另一个智能体。相互依赖:为了共同的目标,两个智能体相互依赖。交叉依赖:为了某一目标第一个智能体依赖于第二个智能体,而第二个智能体为了实现某一目标也依赖于第一个智能体(两个目标不必相同)。相互依赖蕴涵着交互依赖。,5.3多智能体建模,(2)智能体之间的协商一个协商框架包含4个部分:一个协商集合,表示智能体可能提出建议的空间;一个协议,定义智能体提出的合法的建议,它是先验的协商历史的函数;一组策略,每个智能体一个策略,决定了智能体将会提出什么建议;一条规则,决定什么时候达成交易以及交易内容。3种协商情况:一对一协商多对一协商多对多协商,5.3多智能体建模,(3)智能体间的关联结构设计各智能体之间依赖关系的关联结构,5.3多智能体建模,3.单个智能体的特征行为建模分析智能体由事件感知器、外部效应执行器、方法集和内部状态集等三个主要部分构成,环境指智能体本体以外的软件系统(主要是其他智能体)和用户。智能体的事件感知器时刻捕捉所关注的事件状态的出现,并根据事件状态的类型启动相应事件处理分发器,进而执行有关事件的处理。智能体的方法集是其大脑,决定了该智能体的能力,描述了智能体处理相关事件的方法。方法的执行由事件处理分发器引发。智能体的内部状态集是表现该智能体当前状态的成分,其中包括表征事件的状态。,5.3多智能体建模,智能体个体的基本结构,5.3多智能体建模,三、病毒传播实例分析通过多智能体模拟工具Agentsheets制作的病毒传播实例进行说明多智能体模型的系统分析。若干假设(1)假设这是一个封闭的区域,区域中有医生、正常人、感染者三类人;(2)假设人在移动的过程中会发生接触传染,人只在划定的区间中移动;(3)假设不考虑感染者治愈后的不具备免疫能力;(4)假设医生在移动过程中不会被感染。,5.3多智能体建模,1.规划智能体三种智能体规划方案的比较建立一种智能体(包括医生、正常人、感染者);建立三种智能体(医生、正常人、感染者各为一类智能体);建立两种智能体(医生智能体、正常人和感染者合为另一类智能体)。第三种方案建立的模拟模型与实际系统类似,同时考虑了正常人和感染者的属性和行为存在相似性,使模型更加简洁。注意还有一类特殊的环境智能体,它是其他智能体存在和交互的基础。,5.3多智能体建模,2.智能体行为建模智能体行为交互模型,5.3多智能体建模,3.病毒传播实例制作过程(1)新建工程在菜单中选择“File-NewProject”,选择工程存放的路径,建立一个工程命名VirusAttack的工程文件,最后单击OK。(2)设置智能体的大小进入到DefineAgentSize界面,单击下拉菜单,选择“Custome”,然后设定智能体的高和宽,最后单击OK。(3)定义智能体进入了Gallery界面,单击“NewAgent”按钮,给智能体的命名为person,单击OK。在Gallery界面中选择person,然后在此界面中单击“EditDepiction”按钮,改变person的外观。,5.3多智能体建模,(4)新建运行环境主界面中选择“File-NewWorksheet”,出现一个Worksheet,按Ctrl+S或者在菜单中选择“File-Save”,出现对话框,选择所要存放的路径,填写Worksheet的名字Epidemic,按OK。Worksheet(Epidemic),如图所示,在Grallery界面中选中person,在Epidemic中选择铅笔图标,接下来就可以在Epidemic中任意位置添加不生病的person,同理添加医生智能体和人智能体中感染者。(5)设置智能体运行条件双击Gallery窗口医生智能体,出现DoctorBehavior设置窗口,为医生智能体设置运行条件和运行行为。(6)病毒传播的运行结果在运行环境Epdemic窗口中点击“Run”按钮。,5.3多智能体建模,模拟效果图,5.4多智能体模拟工具,1.NetLogoNetLogo是美国西北大学网络学习和计算机建模中心推出的可编程建模环境。该系统是采用1.4.1版Java语言编写的,因此能够在多种主流平台上运行(Mac、Windows、Linux等)。它同时提供单机和网络环境两种版本,每个模型还可以保存为Javaapplets,可嵌入到网页上运行。目前NetLogo更新频繁,2004年8月发布了2.0.2版,9月15日又推出了NetLogo2.1的beta2版。对于教学和科研等非商业目的应用可免费下载,其网址是:/netlogo/。,5.4多智能体模拟工具,2.StarLogoStarLogo是在美国自然科学基金会和乐高集团(LEGOGroup)赞助下,由麻省理工学院多媒体实验室开发的基于智能体的可编程建模环境。早期版本的StarLogo只能在Macintosh机器上运行,2000年2月发布了基于Java的版本,摆脱了计算机平台的限制。2004年6月推出了StarLogo2.1版,其网址是:/starlogo/。上面介绍的StarLogo和NetLogo系统本身提供很多内置原语,支持多主体建模和并行操作,用于建立模型的编程语言是一种扩展的Logo语言的“方言”。,5.4多智能体模拟工具,3.SwarmSwarm是一个多智能体复杂系统模拟软件工具集,最初是由圣达菲研究所于1994年用一种被称为GNUObjective-C的扩展C语言开发的,其目的是为研究人员进行多智能体建模提供可用工具。2004年6月发布了WindowsXP下运行的Swarm2.1.1版,具体下载网址是:http:/eco83.econ.unito.it/swarm/materiale/cd/。从2004年3月起,Swarm网站迁移到新址:/。,5.4多智能体模拟工具,4.RepastRepast是RecursivePorusAgentSimulation的缩写。这是一个用Java开发的基于智能体的模拟框架。Repast从Swarm中借鉴了很多设计理念,形成一个“类Swarm”的模拟软件架构。Repast最初由芝加哥大学的社会科学计算实验室开发研制的,后来俄勒岗国家实验室维护了一段时间,现在由来自政府、教育界和行业组织成员组成的非赢利机构管理。参考网址:,5.4多智能体模拟工具,5.TNGLabTNGLab代表TradeNetworkGameLaboratory,它是美国爱荷华州立大学的McFadzean、Stewart和Tesfatsion用C+开发的软件包。参考网址:/tesfatsi/tnghome.htm。TNGLab有标准组件,并具有可扩展性,操作相对比较简单。它适于作为经济研究和教学的工具。,5.4多智能体模拟工具,6.JESJES是意大利都灵大学PietroTerna用Java开发的企业模拟项目,这是一个在Java版的本的Swarm基础上开发的模型架构,可用于测试带有不同目标的模拟企业的动态行为,并可进一步对虚拟企业的创建、发展,以及企业之间网络关系进行理论分析。参考网址:http:/web.econ.unito.it/terna/jes/。,5.4多智能体模拟工具,7.AscapeAscape代表AgentLandscape的意思,它是美国布鲁金斯研究所的MilesT.Parker开发的基于智能体建模平台。Ascape全部用Java语言实现,可以在Windows、Macintosh、Unix、Linux以及网络环境下使用。因为Ascape有选择性地使用了Java1.2API,其网络应用可以在任何浏览器中使用。开发者于2000年10月推出Ascape1.9.1版参考网址:/es/dynamics/models/ascape/main.htm/,5.4多智能体模拟工具,8.其他EcolabMASONABLECougaar,5.5模拟工具AnyLogic,一、AnyLogic的建模思想和方法AnyLogic模型的主要构建模块是活动对象(activeobject)。活动对象可以用于建模现实世界中类型广泛的各种对象,例如加工工作台,资源,人员,硬件,具体的物体,控制器等等。类等级结构:(1)活动对象继承(2)等级化分解(3)结构分解(4)活动对象重用,5.5模拟工具AnyLogic,AnyLogic强大而灵活,并提供多种建模方法:(1)基于UML语言的面向对象的建模方法(2)基于方图的流程图建模方法(3)Statecharts(状态机),分为普通的和混合的(4)微分和代数方程(5)用Java建模活动对象有其内部结构和行为,可以任意向下封装其他对象。活动对象通过边界对象与周围交互作用。,5.5模拟工具AnyLogic,二、关于多智能体模拟实例的说明采用多智能体模拟技术,从消费者的购买行为出发,逐步深入探讨,研究新产品的市场扩散问题。模型假设:(1)无竞争和替代产品,市场潜力不变;(2)不存在创新;(3)地域界限固定;(4)营销战略仅包括广告;(5)没有供给约束;(6)购买行为存在随机性;(7)存在重复购买;(8)产品信息非稳态渗透。,5.5模拟工具AnyLogic,将模型规划为两类智能体:顾客智能体(包括现有顾客和潜在顾客)环境智能体多智能体的体系结构框架,5.5模拟工具AnyLogic,三、产品生命周期模型1.创建一个新的工程2.创建智能体并放置于环境中(1)创

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论