中国人工智能学会_第1页
中国人工智能学会_第2页
中国人工智能学会_第3页
中国人工智能学会_第4页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、可视化多主体系统开发平台VAStudio 设计与实现林芬 1,2邱莉榕1,2 贾颖杰 1,2 史忠植 11 中国科学院计算技术研究所北京1000802 中国科学院研究生院北京 100039linf摘要 :多主体系统( Multi-AgentSystem)开发工具是解决面向主体的程序设计的关键技术,目前开发的多种多主体系统开发工具都尚未满足实际要求或存在某些缺陷,本文设计和实现了可视化多主体系统开发平台VAStudio,为用户提供一个功能强大的可视化多主体系统设计和编程环境,根据用户的需求,可视化智能引导生成主体, 方便了基于主体的应用系统的开发,很大程度上提高了多主体系统开发的适应性。本文详细

2、介绍了VAStudio 的设计思想包括体系结构和各个功能模块,并以分布式数据挖掘为例验证了该工具的可行性和优越性。关键词: 主体 多主体系统设计工具开发工具Design and Implementation of Visual Multi- Agent Studio1,21,21,21Fen Lin Lirong QiuYingjie JiaZhongzhi Shi1 (Institute of Computing Technology, CAS, Beijing 100080)2 (Graduate School of Chinese Academy of Science, Beijing

3、100039)linfAbstract: Multi- Agent Toolkits is an important field in the research domain of agent-oriented software engineering. However there still lies this or that kind of deficits in most traditional multi-agent toolkits. This paper introduces the implementation of Visual Multi-Agent Studio, whic

4、h provides an integrated design and programming environment to support generatingagents automatically. Also the system makes it easy to develop agent-oriented application system and improve its adaptability on a large scale. This paper introduces the design philosophy such asarchitecture and functio

5、nal module of VAStudio in detail. Finally it proves the feasibility and superiority of the toolkit by taking Distribute Data Mining for example.Key Words: AgentMulti-Agent SystemDesign ToolDevelopment Tool1 引言主体和多主体系统经过了 20 多年的研究和发展,已经成为人工智能甚至计算机科学的研究热点之一, 并已经广泛应用到很多领域之中。 主体技术被认为是在复杂计算环境下构建可扩展的、健壮的、

6、可重用的、一致的高质量软件系统的最有前途的技术之一。智能主体和多主体系统为开发分布式、智能化、开放性复杂软件系统提供了一种新的实现范型1,2。虽然主体和多主体系统技术受到了越来越多的重视,目前已出现了各种各样的关于主体基金项目: 国家 973 计划项目( 2003CB317004 ),国家 863 计划项目( 2003AA115220 ),自然科学基金( 60435010),北京科学基金( 4052025)作者简介: 林芬,硕士生,主要研究方向为智能主体技术、数据挖掘等。和多主体系统的理论和开发平台,工业界也开始使用主体技术和多主体系统来开发自己的产品。但是基于主体的系统开发仍然不是一件容易的

7、工作,目前主体开发平台主要提供主体运行环境, 缺乏可视化主体设计和开发环境,未能很好的利用面向主体的思想,导致用户理解和应用主体平台开发系统困难度增加,从而使得主体开发平台的适用性大大降低。针对上述种种问题, 本文结合面向主体软件工程的思想,分析了已有的主体设计模型和主体体系结构的缺陷和存在的主要问题,设计和实现了相应的可视化主体设计和开发平台VAStudio ,为用户提供一个集成的主体设计和编程环境,并在主体支持环境MAGE的支持下运行。MAGE是一种成熟的完全与FIPA 规范 3 兼容的分布式的主体平台,提供主体运行环境许多必不可少的服务, 如白页 / 黄页服务、 生命周期服务、 通信服务

8、、 主体管理服务等。 MAGE的详细介绍,请参考 4,5,6 。2. 相关工作比较自从人们开展对分布式人工智能的研究之时起,多主体系统开发工具就一直是研究重点。本节中主要比较典型多主体系统开发工具,包括采用的优先技术、具有的通用功能以及存在的不足。 University of Parma开发的 JADE7, 它将多主体系统的实现简单化,提供了一系列的工具来支持开发和调试,虽然提供了一系列底层支持帮助用户构建主体,但是用户只能自己编码实现没有提供相应的可视化工具。StanfordUniversity开发的 JATLite8适合分布式环境里开发主体系统,提供了基本的主体框架,提供了方便的通信接口,

9、然而也没有提供相应的可视化工具。由British Telecommunications Laboratory 开发的著名的多主体系统开发工具Zeus9 ,它提供了一个软件构建和工具库能够快速和方便的设计、开发、实现多主体系统。Zeus 包含三个主要功能部件:主体构件库、主体开发工具和可视化工具,然而 Zeus 的学习和使用对于非专业用户来说比较困难,相应的可视化平台并没有提供主体模型设计工具而且功能十分有限,并没有很大程度上方便用户的开发。分析以上多主体系统开发工具,我们发现这些工具都没有提供适用的可视化多主体系统设计和编程环境。因此本文设计和实现了可视化多主体系统开发平台VAStudio ,

10、为用户提供一个功能强大的可视化多主体系统设计和编程环境,方便了用户开发基于主体的应用系统,在一定程度上提高了多主体系统开发适应性。在表 1 中本文将这些工具作了简单的比较( 标* 表示不明确 )。从表中可以看出, VAStudio在可视化主体设计、软件复用和学习曲线方面有特殊优势。表 1多主体系统开发工具评价名 称JADEJATLiteAgentBuilderZEUSVAStudio编程语言javajavajavaJavajava可视化设计不支持不支持不支持部分支持支持软件复用部分支持*支持支持软件构件库提供*不提供提供提供工具集提供*提供提供提供本体编辑支持*支持支持支持学习曲线难难难中易3

11、. 多主体系统层次模型理论与VAStudio 设计实现3.1 多主体系统层次模型多主体系统是一个开放的复杂系统。抽象是人们处理复杂系统的一个常用方法。根据多主体系统蕴涵的本质特征和抽象级别,本文提出一个层次开发模型10 ,由抽象级从低到高分别为遗留构件层、行为层、主体层和主体社会层,如图1 所示。组件可以是任何可重用的构件。行为是主体的一个能力单位10 。主体可以看成一个软件实体,即可以看成一个黑箱,通过传感器感知环境,通过效应器作用于环境。主体的体系结构主要包括三种:慎思结构、反应式结构、混合式结构 11 。主体社会层包括各种各样的自治主体,以及主体之间的交互,使用的协议等等。一般来说有两种

12、方式来开发多主体系统,一种是自顶向下,另一种是自底向上。自顶向下是首先对主体社会建模,然后分析所需的主体,最后分析出主体所需的行为。而自底向上是在已有行为的基础上来构建我们所需的主体,在已有主体的基础上构建我们所需的主体社会。在我们的设计中, VAStudio 支持两种方式的使用,首先我们采用自顶向下分析出我们所需的行为,放入行为库,然后采用自底向上根据行为库里的行为构建我们所需的应用。3.2 VAStudio 的系统设计基于上述思想, 本文开发了一个多主体系统工具集 VAStudio ,设计目标就是提供一个友好的集成环境来支持主体的设计和编程, 不仅是系统编程环境,而且是面向主体的设计与编程

13、环境,根据主体模型支持多种图形界面智能引导生成主体方式。 同时为软件复用提供了一系列基本工具, 如构件库管理工具、行为库、主体库、 ADL 分析器以及本体编辑器等等。如图 2 所示:VAStudio 主要 由四大功能块 组成: VAStudio 的设计平台, VAStudio 的编程平台, VAStudio 的运行平台和 VAStudio 的工具箱。AgentSocietylayerAgentlayerBehaviourlayerLegacycomponentEntitiesConnectors图 1基于复用的多Agent 系统层次模型VAStudioDesignPlatformVAStudi

14、oProgrammingPlatformDesignGUIDevelopGUITemplateADL/BDLCloneFSMEditCompile Debug TestLibraryProcessDesignProcessDesignLibraryVAStudioRuntimePlatformInterfaceAgentADL/BDLReasonerProcessWSInterfaceWorkListLoaderLoaderEntityAgentSupportingInterfaceOntologyInterface图 2 VAStudio 体系结构( 1)VAStudio 的设计平台是针对行

15、为和主体设计的环境,平台采用可视化图像界面智能引导, 一步步帮助用户生成智能主体。目前平台支持行为和主体生成的五种方式:有限状态自动机方式,流程图方式,模板库方式,行为描述和主体描述方式11 ,克隆方式。其中有限状态自动机方式,流程图方式对用户构建主体非常方便。有限状态自动机生成方式中支持图形方式对行为通过有限状态自动机来进行定制来生成用户所需的主体流程图生成方式中,可以通过对行为流程的定制来生成满足用户需要的主体。模板库方式中支持上节层次模型描述的主体多种结构:慎思结构、 反应式结构、 混合式结构,以及各种功能性主体比如推理主体、移动主体和网格主体。行为描述和主体描述声称方式中,行为又可以分

16、为简单行为和复合行为,它们可由实体构件和连接构件通过有限自动机来进行描述,主体描述除了描述主体所具有的能力之外,还需要描述主体名称、目标和所要求的外部资源等。克隆生成方式中通过对已有的主体克隆生成新的主体。( 2)在 VAStudio 编程平台支持代码的编辑,编译,调试和测试工具。( 3)最重要的平台就是提供后台主体运行的平台也就是主体支持环境MAGE运行环境,将上述智能主体的体系结构和主体设计应用到多主体支持环境MAGE中。( 4)VAStudio 的工具箱为用户使用提供了极大的方便,支持行为库,主体库,使得用户可以复用已有的资源, 支持本体, 使得主体之间的通信更加方便, 在以后的版本中会

17、逐步加入支持 Web服务等。VAStudio作为一个集成的统一的可视化多主体系统设计和编程环境,需要保持各功能模块之间的统一,设计模块需要和编程模块保持动态一致性,图像化智能设计的结果会体现在编程模块的编程环境中,同样编程模块的变化体现在智能化设计界面中。不论是设计和编码的主体运行时都需要通过运行参数设计和运行平台的控制性打交道,将要运行的主体和参数发送到 MAGE主体支持平台运行,在运行过程中可能需要加载行为库,主体库,需要加载用到的外部服务比如 Web服务,以及用户或者系统定义的本体等。3.3 VAStudio 主窗口和主要特点 VAStudio 主界面如下图 3 所示。界面主要分为三部分

18、: Society 树结构、工作区和控制区。 Society 树结构包括主体树结构和行为树结构; 工作区主要分为设计界面和编程界面; 控制区输出编译运行结果,如右图所示。概括起来, VAStudio 支持如下主要特征:支持软件重用。 VAStudio 支持重用现有软件实体构件,包括 exe、 dll 、Java 类等。支持多种主体生成方式, 有限状态自动机方式, 流程图方式, 模板库方式,行为描述和主体描述方式,克隆方式图 3VAStudio 主窗口使用有限状态自动机方式,流程图方式重用行为库构建主体。提供了丰富的工具集。如代码编辑器、 DFSM编辑器、 ADL分析器、本体编辑器、行为库管理工

19、具等。用户界面友好且易于普通用户使用。 VAStudio 支持智能化向导方式生成主体并提供完善的帮助支持。VAStudio 体系结构中立,完全采用 java 语言实现,不受平台限制,支持 XML语言方便数据交换。4. 分布式数据挖掘4.1功能概述面对一个实际的挖掘任务, 要制定出适合此数据任务特点的的最佳实验方案, 事先我们并不能得到理论指导; 唯一的方法是, 根据实验人员的工作经验, 指定出多种供选择的实验方案,再逐个实现这些方案,以选择并确定最佳的部署计划。基于以上的实际需求,该系统主要提供如下两个方面的功能:1、数据挖掘流的设定:提供方便的图形化界面,统一设定供选择的多种数据挖掘方案;2

20、、数据挖掘流的执行:在多主体环境的支撑下,利用 mobile Agent 技术,在多台 PC 上并行执行此数据挖掘流; 即利用多台 PC的计算能力, 实现一个统一的数据挖掘计算平台。本文用数据挖掘流来统一描述多个数据挖掘方案12 。数据挖掘流一般分为PreProcessing Phase, Training&Testing Phase和 Evaluating Phase。每个阶段都可以指定不同的step12。以 Training&TestPhase 为例,该过程有多种分类算法,如:Ripper 、SVM、C4.5 等,每种算法又可以设定不同的参数;设定好参数的某种算法形成一个s

21、tep 。完成一次挖掘有多条路径,评估这些算法差异需要进行N1×× Nk 次实验。step4.3在 VAStudio 中设计主体虽然各个数据挖掘phase 间具有固定的先后关系,必须串行执行; 但同一 phase 的不同之间具有天然的并行执行优势。因此我们可以设计一个网格主体:PlanAgent 根据目前任务的数目,任务轻重以及参加主机的数目和每台主机的负载情况规划出一系列的子任务主体:MiningTaskAgent1, 。,MiningTaskAgentN。这些子任务主体携 带 自 己 的 任 务Task , 参 数Parameter 和数据 Data 移动到其运行平台去

22、完成任务。如果主体能够顺利完成任务, 则完成后返回相应的结果;如果不能顺利完成任务,则可以请求其他主体帮助,让其他主体协助完成任务,再将结果返回, 这样 PlanAgent接着下一轮任务规划。图 4:制定任务流首先,采用自顶向下对整个系统建模,如图 4 定制任务流 FlowAgent ,分析出我们所需的行为(每一个蓝色的方块代表一个行为),这样 VAStudio自动生成了我们所需的行为的代码框架,根据实际功能需要, 向代码框架中填入所需的代码,使每个行为具有相应的功能。然后, 这些编制好的行为放入行为库中。最后采用上面设计方式中行为主体流程生成方式来生成各种流程的主体,如图 5 所示(每一个蓝

23、色的方块是左边行为库中的一个行为) 。此外, 还有控制主体,包括两类:Schedule Agent和Monitor Agent 。 Schedule Agent负责接受当前Container中 Mining TaskAgent 执行完任务后接着执行下一个Phase 请求的任务分配, Monitor Agent负责监控当前主机的资源使用情况和回复各个 Container中 Schedule Agent 请求。这些可采用模板库方式来生成。图 5:定制数据挖掘流程4.4运行主体及结果利用 MAGE主体支持平台将每台参与计算的主机(Container )连接起来实现上述分布式数据挖掘系统。数据挖掘主体

24、可以在这些Container中运行即运行在不同的主机上, 共享不同主机的计算能力。针对上述数据挖掘流,考虑到不同Phase 的串行关系和每个Phase 中Step 的并行关系, 可以将每个 Phase 中的 Step 根据参与计算的主机负载情况分配到不同主机上运行。这些Step运行时间各不相同,只要得到一个Step 结果我们便可以启动下一个Phase,开始运行时,首先 FlowAgent根据用户定制的任务流程,将任务发送给PlanAgent进行规划出一系列子任务到各个网格节点上运行,每个任务运行完后返回结果给PlanAgent ,PlanAgent根据 FlowAgent 提供的任务流程和子任

25、务来触发下一阶段的子任务。直到整个流程完成, 最后生成一个报表描述整个流程各个路径运行的结果比较。上面例子上面流程共有四条路径,在各个路径算法参数选择不同情况下上面例子的运行结果如下表2所示(也可以图形化显示) :可以看出路径 S4 是可供选择的路径中最好的路径。表 2:实例运行结果Scheme pathMining Flow Description:S1:start*Normalization_0*Discretization_0Normalization_0:flag=0*AttReduct_0*SVM_0 Accuracy=0.029411765Normalization_1:flag=

26、1lowerS2:start*Normalization_0*Discretization_0bound=0.0lower bound=1.0*AttReduct_0*Ripper_0Accuracy=0.6764706Discretization_0:flag=0S3:start*Normalization_0*Discretization_1Discretization_1:flag=1*AttReduct_0*SVM_0 Accuracy=0.7058824AttReduct_0:flag=0S4:start*Normalization_0*Discretization_1Ripper_

27、0:minimal number=1*AttReduct_0*Ripper_0Accuracy=0.8235294SVM_0:c=1.0gamma=0.1255. 小结和进一步工作基于主体模型设计的思想, 本文提出了一种分层的方法来建造多主体系统,并设计了相应的可视化多主体系统设计和编程工具VAStudio 。目前该工具已应用到各个领域,在各个项目中得到很好的应用。典型的有国家信息产业部基金项目城市应急联动与社会综合服务,开发一个基于主体的智能决策系统,另外还有自然科学基金和中澳特别合作基金项目石油勘探系统, 开发一个基于主体的知识发现平台等。以及电力系统容错诊断, 中国电力科学院基于上述方法开发了一个基于主体的智能决策支持系统。根据用户的反馈信息, 在这些基于主体的应用项目中VAStudio 的使用方便了用户使用,提高了开发效率。但是在逐步应用过程中,也发现了一些问题,如主体模型设计界面的优化,确定性有限自动机的描述优化,以及如何提高主体的效率,提供对

温馨提示

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

评论

0/150

提交评论