文档库 最新最全的文档下载
当前位置:文档库 › 智能Agent与多Agent系统的研究

智能Agent与多Agent系统的研究

智能Agent与多Agent系统的研究

蒋云良1,徐从富2

(11湖州师范学院计算机系,浙江湖州313000; 2.浙江大学人工智能研究所,浙江杭州310027)

摘 要:智能Agent及多Agent系统自20世纪80年代起一直是分布式人工智能研究的热点。对Agent理论、语言、结构以及多Agent系统结构等问题进行了研究,并对Agent与对象(Object)、过程控制系统、软件“精灵”以及多Agent系统与分布式问题求解的区别进行了分析。

关键词:Agent;多Agent系统;区别

中图法分类号:TP30211 文献标识码:A 文章编号:100123695(2003)0420031204

Intelligent Agent and Multi2Agent System

J I ANG Y un2liang1,X U C ong2fu2

(11Dept.o f Computer Science,Huzhou Teacher’s College,Huzhou Zhejiang313000,China;2.Institute o f Artificial Intelligence,Zhejiang Univer sity, Hangzhou Zhejiang310027,China)

Abstract:Intelligent Agent and Multi2Agent System has become the focus of distributive artificial intelligence since1980s.In this paper the theory,language and structure of Agent and the architecture of Multi2Agent system are introduced;an analysis on Agent,object,pro2 cess control system,s oftware spirit and the difference of problem s olving of Multi2Agent and distribution is profoundly made.

K ey w ords:Agent;Multi2Agent System;Difference

0 引言

智能Agent自80年代起一直是分布式人工智能研究的热点,虽然该词已被广泛使用,但至今仍没有一个公认的定义。文献[1]将Agent定义为一种“基于某种场景,并具有灵活、自主的行为能力,以满足设计目标的计算机系统”。文献[2]将Agent的定义分为强弱两种。A2 gent被弱定义为满足如下特性的基于硬件或(更经常是)软件的计算机系统:

●自主性(Autonomy) Agent的运行无需人类或其它Agent的直接干预,并能对其自身行为及内部状态进行某种控制。

●社会性(S ocial Ability) 能通过某种Agent通信语言与其它Agent(也可能是人类)进行交互。交互主要有三种类型:协作(C ooperation)、协调(C oordination)和协商(Neg otiation)。

●反应性(Reactivity) 能感知它们的环境(可以是物理世界、一个经图形用户接口连接的用户、一系列其它Agent、Internet或所有这些的组合),并能对环境的变化及时作出反应。

●主动性(Pro2activeness) Agent不但能对环境作出反应,而且它们能够积极主动地做出使其目标得以实现的行为。

Agent被强定义为:除满足弱定义中所有特性外,还具有通常应用于人类的精神化(M entalistic)概念,如知识(K now ledge)、信念(Belief)、意图(Intention)和义务(Obliga2 tion),甚至具有情感(Em otional)因素的计算机系统。

此外,许多学者还提出了Agent具有的一些其它特性,如:

●基于场景性(S ituatedness) Agent能从场景中接收传感器输入,并完成以某种方式改变场景的行为。

●灵活性(Flexibility) 包含了反应性、主动性和社会性。

●移动性(M obility) Agent能在电子网络上移动的能力。

●诚实性(Veracity) Agent从不有意传送虚假信息。

●友好性(Benev olence) Agent之间无矛盾目标,故每个Agent总是尽力完成其它Agent提交的任务。

●理性(Rationality) Agent不会放弃其目标,直至目标实现,且它不会做出妨碍其目标实现的行为(至少在其信念允许范围内是这样)。

●长寿性(或时间连贯性) 传统程序由用户在需要时激活,不需要时或运算结束后停止。Agent与之不同,它应该至少在“相当长”的时间内连续地运行。这虽不是Agent的必须特性,但目前一般认为它是Agent的重要性质。

●自适应性(Adaptability) Agent应能积累或学习经验和知识,并修改自己的行为以适应新形势。

多Agent系统(M AS)是指由多个(半)自主构件组成的所有类型的系统。它是一个松散耦合的问题求解器网络,其目标是为了解决那些超出每个问题求解器的单

收稿日期:2002203206;修返日期:2002209213

独能力或知识的问题。这些问题求解器就是Agent,它们是自主的,并可能是异构的(Heterogeneous)。

要深刻理解Agent及多Agent系统的概念,必须将它们与对象、过程控制系统、软件“精灵”和分布式问题求解等概念区分开来。

1 Agent理论

Agent理论研究旨在严密地、形式化地讨论各个认知状态(C ognitive S tate)的概念,研究Agent的认知结构,分析Agent的特征。它涉及哲学、社会学、认知科学、软件工程、面向对象系统、分布式计算和人工智能等领域。下面主要从Agent的理论基础角度简单地加以介绍。

哲学家Dennett于1971年提出了“意图系统”(Inten2 tional System)的概念,用于描述这样一类实体,它们的行为可用信念、愿望等理性智慧来预测,他将意图系统分为一阶和二阶两种形式。后来他又创造了“意图姿态”(Intentional S tance)的概念,这一概念启发了AI学者将通常应用于人类自身的一些认知思想和概念(如信念、愿望、承诺等)应用于Agent。M cCarthy认为将信念、意图、能力等精神特性赋予机器(尤其是内部结构不是完全清楚的实体)是合乎情理的,而且是非常有用的。意图系统、意图姿态等概念为我们描述、解释和预测复杂系统提供了熟悉而又便利的方式。有人把意图姿态分为两类:一类是“信息态度”(In formation Attitudes),它是Agent 关于其所处世界的信息,如信念(Belief)、知识(K now l2 edge);另一类是“预先态度”(Pro2attitudes),即那些以某种方式引导Agent行为的态度,如愿望(Desire)、意图(Inten2 tion)、义务(Obligation)、承诺(C omm itment)、选择(Choice)等。C ohen和Levesque认为意图是对承诺的一种选择。Bratman指出在开放世界中,理性Agent的行为不能直接由信念、愿望,以及由两者组成的规划(Plan)驱动,在愿望与规划之间应有一个基于信念的意图存在;他认为只有保持信念、愿望和意图的理性平衡,才能有效地解决问题。Rao和G eorgeff提出了基于信念、愿望、意图的BDI 模型。至于哪些精神特性(或认知状态)对Agent而言是重要和必需的,目前人们仍不清楚。

1962年H intikka提出了用于描述知识和信念逻辑的可能世界模型(P ossible W orlds M odel),这是Agent理论基础的开创性工作之一。根据他的模型,可将Agent的信念特征化为一系列“可能世界”(P ossible W orlds)。现在普遍采用的是基于正规模态逻辑(N ormal M odal Logic)的可能世界语义(P ossible W orlds Semantic)方法。由于可能世界语义方法存在“逻辑万能”(Logical Omniscience)的问题,而现实的Agent是能力有限、资源受限的,不可能无所不知,为此许多学者做了大量的工作,主要有三类形式化方法:语法方法、格局化方法和演绎模型方法[3]。

“言语行为”(S peech Acts)理论是多Agent交互的重要理论基础之一,最早由Austin提出,Searle发展了该理论。言语行为理论认为,任何一种行为都可以等价地表示为言语行为(任何行为的含义都可用言语来表达),甚至可以认为所有的行为都是言语行为。多Agent交互是基于如下假定的,即当一个Agent的行为发生后,其它A2

gent都能感知到该行为,也就是说一个Agent的言语行为一旦发生,那么该言语行为就成为整个系统的常识。这样在多Agent系统中,Agent之间的相互影响就可用相对简单的言语行为来表达,故大大简化了Agent交互的复杂度。此外,“换位推理”使多Agent系统中一Agent对其它Agent的状态和行为的推理过程变得简明和清晰,其基本思想是:模仿语言学中的虚拟语气,即为了对某个Agent在某种场景下的状态或行为进行推测,设想出自己处于哪种场景时的状态或行为,再把这种设想的状态或行为作为对那个Agent的状态或行为的推测结果,详见文献[4]。当前研究Agent的形式化工具主要是结合了行为概念的正规模态逻辑和时序逻辑(T em poral Logic)。

2 Agent结构

Agent的结构主要有三类:(1)认知(C ognitive)型结构。这种结构是基于Newell和S im on提出的物理符号系统假设的,它包含世界和环境的显式表示和符号模型,使用逻辑或伪逻辑推理进行决策。一个典型例子是Fikes和Nilsson开发的STRIPS系统。Chapman在1987年用理论证明这种方法不能实现实时系统,使人们对符号式AI的能力产生了怀疑,于是出现了反应型结构。(2)反应(Reactive)型结构。这种结构的最主要特点是:不包括任何符号世界模型表示,不使用复杂的符号推理机制。应用这种方法的一个成功例子是Brooks的“机器虫”。(3)混合(Hybrid)型结构。它是将上述两类结构有机结合而形成的结构。在这种结构中,认知子系统包含符号的世界模型,用于规划和决策;反应式子系统对场景中比较紧急的事件及时作出反应,而不需要复杂的推理。一般情况下,反应子系统要比认知子系统有更高的优先级,以保证整个系统能对重要事件立即作出反应。目前主要采用“分层体系结构”(Layered Architecture),典型系统有T ouringM achines和InteRRaP。T ouringM achines 的混合型结构由感知和行为子系统,以及三个控制层组成。感知和行为子系统直接同场景接口、交互;三个控制层分别是:反应层、规划层和建模层。其中反应层是基于反应型结构思想设计的,另外则为认知型结构。三个控制层之间可以互相通信,并有一个协调它们的控制框架,以解决可能产生的冲突。InteRRaP也是一个层次体系结构,包含知识库和控制构件。控制构件由低到高分为四级:“世界接口控制构件”、“基于行为的构件”、“基于规划的构件”及“协作构件”。在系统的最底层是世界接口控制构件及相应的世界模型知识库,前者主要负责Agent与环境的交互;基于行为的构件的目的是实现和控制Agent的基本反应能力;基于规划的构件包含一个“规划器”,它响应来自基于行为的构件的请求,生成单个Agent的规划,对应于该层的知识库包含一系列规划(库);协作构件能根据规划构件的请求生成满足多个Agent要求的联合规划[2]。

纯反应型结构的Agent系统(也称为反应型Agent)只对环境的变化或来自其它Agent的消息产生反应,而不能对其内部状态进行推理,通过触发规则或执行预先

定制的规划来执行动作。该类型系统能及时快速响应环境变化和外来信息,但缺乏灵活性。纯认知型系统(也称为意识型Agent)能基于符号表示和逻辑推理来创建、更新、评价、选择及执行适宜规划,以采取动作和完成目标,具有较强的灵活性和较高的智能,但对环境的变化无法作出快速响应。从当前的研究结果来看,认知型方法在Agent结构研究中居主导地位。而由于缺乏响应的开发方法,反应型系统的研究和应用尚处于初级阶段,有人建议用神经网络、遗传算法和机器学习等技术来解决该类型系统的若干问题。许多研究者认为混合方法集中了两者的优点,是较佳的选择[5]

3 Agent语言

1990年美国S tan ford大学的Shoham提出了面向A2 gent的程序设计(AOP),并设计开发了AGE NT0语言。AOP是一种“以计算的社会观(S ocietal View of C om puta2 tion)为基础的新型程序设计范例”,其关键思想是用表示Agent特性的、精神化的意图概念(如信念、义务、选择、能力等)直接对Agent进行程序设计。AOP的出现及实验性语言AGE NT0的设计,反映了Agent的动态特征和多Agent之间交互活动越来越受到研究者的重视。

K QM L(K now ledge Query and M anipulation Language)是目前主要的Agent通信语言之一。K QM L既是一种消息格式,又是一种消息处理协议,它提供了一套标准的A2 gent通信原语,从而使得所有利用这种语言的Agent能够进行交流、共享知识。K QM L分为内容、消息和通信等三个层次。内容层以K IF(K now ledge Interchange F ormat)为语法对需要传输的知识进行编码;消息层包含行为类型、资格等,其中行为类型主要从言语行为理论演化而来;通信层包括发送者、接收者、惟一标志、同步等。

1995年发起的FIPA(F oundation for Intelligent Physical Agents)致力于Agent国际标准的设计与发布。1997年它发布的第一个标准是FIPA97,主要包括Agent管理、A2 gent通信语言(AC L)和Agent/软件集成。FIPA AC L为独立开发的Agent提供了基于消息的通信手段,它基于言语行为理论,将Agent之间传送的消息看作“通信行为”

(C ommunicative Acts)。FIPA AC L由一系列消息类型及其语用学(Pragmatics)描述组成。所谓消息的语用学描述,即消息对发送及接收Agent精神状态的影响。每个通信行为都用基于模态逻辑的标准形式和形式语义来描述。FIPA AC L还提供了一系列高级交互协议的标准描述。目前FIPA仍处于理论阶段,还需要通过实例系统进行测试和完善。此外,还有P LAC A、并发M etateM、APRI L、M AI L等Agent通信语言,它们都是基于传统的符号AI技术设计的认知型语言;相反,由Philips英国实验室开发的ABLE(Agent Behavior Language)语言则是纯反应型语言[2]。

4 Agent与对象(Object)的区别

有些面向对象的程序设计者误以为Agent与对象相比,没有什么新内容,所以要正确理解Agent的概念,就必须区分它与对象的区别。文献[1]将对象定义为“封装了一些状态,能够完成关于这些状态的方法或行为,并通过消息传递来通信的计算实体”。Jennings给出了两者的几个显著差别:

(1)Agent和对象的自主程度不同。对象的确对其状态显示出自主性,即能对自己的状态进行控制,但对象不能对其行为进行控制。对象不能自己决定某方法是否执行,它完全取决于其它调用该方法的对象。而对于Agent而言并非如此,当别的Agent请求它完成某个行为时,它可能执行,也完全可能不执行。对象之间是靠相互“激活”(Inv oking),而Agent之间是靠“请求”(Request2 ing)来完成行为的。故两者关于某个行为(或方法)是否执行的决策控制点是不同的,在Agent系统中,取决于收到请求的Agent,而在面向对象系统中,则取决于激活方法的对象。

(2)对灵活的、社会的、反应的、主动的自主行为的要求不同。尽管在面向对象系统中,人们确实可以构造出具有这些特性的行为(方法),但在标准的对象模型中,这些特性并非必需,而在Agent系统中则是必需的。

(3)在Agent系统中,每个Agent都有它自己的控制线程(Thread of C ontrol),而对标准的对象模型而言,一个系统仅有一个控制线程。

需要特别指出的是,虽然Agent和对象有很大的区别,但这并不妨碍我们利用面向对象的技术来实现A2 gent[2]。

5 Agent与过程控制系统和软件“精灵”的区别

过程控制系统和软件“精灵”(Daem on,如UNIX中的Xbiff程序)也都是基于场景的、自主的计算机系统,即它们必须监视实际(或软件)场景,且当场景发生变化时,执行动作以改变之,但它们不能说是Agent,因其不能灵活地作出行动以实现设计目标[2]。这里的“灵活性”同样包含反应性、主动性和社会性。

6 多Agent系统结构

文献[6]指出通用软件体系结构(S oftware Architec2 ture)主要有五类:①数据流系统,如批处理(Batch Sequen2 tial)系统、管道和过滤器(Pipes and Filters)等;②调用与返回系统,如主程序与子程序、面向对象系统、分层系统(H ierarchical Layers)等;③独立构件(Independent C om po2 nents)系统,如通信处理、事件系统等;④虚拟机(Virtual M achines),如解释器、基于规则系统等;⑤以数据为中心的系统,如数据库、超文本系统、黑板系统等。他们还总结出M AS的重要应用领域———“移动机器人”(M obile R obotics)的设计中有四种代表性的软件体系结构,即控制环(C ontrol Loop)体系结构、分层(Layered)体系结构、隐含调用(Im plicit Inv ocation)体系结构和黑板(Blackboard)体系结构。Shaw和G arlan从任务协调、处理不确定性的能力、容错能力、安全性、性能和灵活性等六个方面对四种体系结构进行了比较,结果表明隐含调用体系结构(实质上这是一种基于消息传递和任务分配的结构)的综合性能最佳,其次分别是黑板体系结构、控制环体系结构和分层体系结构。从单项特性来说,隐含调用的任

务协调、容错能力、安全性及性能都是最好,黑板体系结构处理不确定性的能力最强。

有人从多Agent系统中Agent之间通信、协调的角度出发,认为主要有以下三类体系结构:

(1)广播型体系结构

采用广播型体系结构的M AS的特点是:Agent之间可以直接进行通信。典型实例有:①合同网。合同网(C ontract Net)是一种简单的协商形式,由一个Agent提出招标,其它Agent进行投标的方式进行协商。M alone采用更加复杂的经济模式对合同网进行了改进。②规范共享。Agent把它的能力和需求告诉其它Agent,这些A2 gent就能用这些信息协调它们的行为。该方法通常比合同网的效率高。广播型体系结构的缺点是:通信代价高、实现复杂,要求每个Agent都具有协商通信的能力。

(2)联邦型体系结构

在此体系结构中,Agent只与通信体(Facilitator)通信,通信体之间互相通信。Agent将自主权交给通信体,而通信体负责满足Agent的需要。通信体应用人工智能和数据库领域中的自动推理技术。采用该结构的系统可提供如下功能:①目录服务,即帮助程序发现合作者和需求者;②分布式对象管理,为面向对象系统提供位置透明性,即消息发送者不需要知道对象的具体位置;

③经纪人,结合上述两类服务,找出合适的消息接收者,发送消息,处理可能出现的问题,将结果返回给发送者。

(3)协商型体系结构

协商型体系结构使得各Agent相互协调、互相帮助,以找到整个系统的目标。Agent之间在合作前或合作中的通信过程可称为协商。协商过程包括通过通信,或对系统中其它Agent的当前精神状态或意图的推理找出潜在的交互,并通过修改其它Agent的意图来避免有害的交互或进行合作。Durfee和Lesser认为协商是通过结构化地交互相关信息以提高对共同视图或规划的一致认识(减少不一致性和不确定性)的过程。协商的目的是解决Agent之间各种各样的冲突,促进Agent之间的合作,提高多Agent系统的一致性。M alone提出评价协商方法的两个通用标准:灵活性和效率。在M AS中灵活性和高效率并不是都能达到的,两者必须折中考虑。高度耦合的系统具有较高的效率,而通过大量信息交互的松散耦合系统能够适应迅速变化的复杂环境。对协商机制和策略的更完善的评估标准有:①对称分布。要求每个Agent的地位都是相同的,没有一个是特殊的。②有效性。通过协商能得到有效的解,如满足Pareto最优性,即所得的解不会与其它解相冲突。③稳定性。协商结果是平衡的,没有一个特别的Agent因协商而获利,尽管Agent群体会获利。④简单性。低通信代价,低计算复杂度。

7 多Agent系统与分布式问题求解的区别

多Agent系统(M AS)和分布式问题求解(DPS)是从分布式人工智能(DAI)中派生出的两大方向。M AS和DPS主要有以下四个方面的区别:

(1)含义不同。DPS考虑如何由许多模块(或节点)来求解一个特定的问题,这些模块(或节点)相互协作地分配和共享关于该问题及其解的演化的知识。DPS和M AS处于同一研究范系的两个端点上。DPS的目标是要创建大粒度的协作群体,它们之间共同工作以对某一问题进行求解[4]。而M AS除了要求各Agent之间的通信和交互(即满足社会性)外,尤其强调保持每个Agent的自主性、主动性和理性等特点。M AS允许已有的、异构的系统之间相互协作,以解决数据、领域知识或控制是分散的复杂问题。

(2)求解问题的方法不同。在一个纯DPS系统中,问题被分解成任务,并且为求解这些任务,仅需为该问题设计一些专用的任务执行系统。所有的交互策略(如协作等)都被集成为系统的一个完整部分。这是一种自上而下设计的系统,因为它是为满足顶部所给定的需求而设计的。相反,纯M AS是一种自下而上设计的系统,它更关心一系列可能已有的、可协作求解某个给定问题的自主Agent的行为[1],然后使得这些Agent进行通信和交互,以达到高效求解问题的目的。

(3)可处理问题的多寡不同。一般地,DPS侧重于解决某个特定的问题;而M AS并不局限于单一任务的执行,每个Agent都具有“开放的”接口,其它Agent可对其进行存取,它不仅可以完成单一目标,而且可以处理多个不同的目标[4]。

(4)灵活性程度不同。DPS针对不同的问题确定不同的求解策略,而且各模块(或节点)的功能也是根据特定问题(或任务)而设计的,故不具有普适性;M AS则强调随着求解问题的不同而灵活地重组那些能解决该问题的Agent,因此M AS的灵活性程度更高,且M AS的设计和实现要比DPS难得多。

参考文献:

[1]Jennings N R,Sycara K,W ooldridge M.A R oadmap of Agent

Research and Development[J].Autonom ous Agent and Multi2A2 gent Systems,1998,(1):27523061

[2]W ooldridge M,et al1Intelligent Agents:Theory and Practice[J].

K nowledge Engineering Review,1995,10(2):1152152.

[3]毛新军,陈火旺,等1智能体的理论研究[J].计算机科

学,1997,24(5):632671

[4]史忠植1高级人工智能[M].北京:科学出版社,1998.

[5]陈建中,刘大有,等1智能Agent建模的一种模板结构

[J].计算机研究与发展,1999,36(10):116421168.

[6]Shaw M,et al.S oftware Architecture2Perspectives on an Emer2

ging Discipline[M].Prentice Hall International Inc.,1998. [7]F orrest D.Client/Server M odel Breeds New Users[J].C om puting

Canada,1992,18(19):42.

作者简介:

蒋云良(19672),男,讲师,硕士,研究方向为人工智能、地理信息系统等;徐从富(19692),男,副教授,博士,研究方向为人工智能、计算机图形学等。

相关文档