Agent理论及其应用主要内容:1.引言2.Agent理论与应用3.多Agent系统及其组织结构1.引言Agent和MAS是一个快速发展的领域。它的出现是分布式人工智能和现代计算机、通信技术发展的必然结果。由于Agent和MAS很接近人类的社会智能,具有很大的灵活性、适应性和智能性,因而对Agent和MAS的研究已成为当前研究的热点。虽然在20世纪以前就可以看到Agent的思想,但Agent领域是在1956年举办的著名的Dartmouth讨论会之后才变的活跃的。20世纪80年代中期,只有相当少的研究将Agent的思想作为一个整体,由此,产生了规划、学习和自然语言通信等很多Agent的子学科。这样的一种研究氛围导致了在20世纪80年代中期以前,虽然由Agent产生的子学科在自身方面都取得了重大进展,但Agent作为一个整体思想的研究却进展甚微。直到20世纪80年代后期才开始尝试建立完整的Agent的各种理论与方法。2.Agent理论与应用2.1Agent的基本概念2.2Agent的特性2.3Agent的理论模型2.4Agent的结构模型2.5Agent通信2.6Agent的应用2.1Agent的基本概念Agent作为一个新兴的研究课题,要想给其下一个确切的定义很难。不同的Agent研究者根据自己的研究方向给Agent下了各种各样的定义。能够得到大家广泛认可的有以下几种定义。FIPA(FoundationforIntelligentPhysicalAgent)对Agent定义是:Agent是驻留于环境中的实体,它可以解释环境中所发生事件的数据,并执行对环境产生影响的行为。MarvinMinsky从多主体系统的社会智能的角度,给出agent的一个定义:这些进程我们称之为主体(agent),每一个主体(agent)本身只会做些简单的事情,但当我们用特定方法将这些主体(agent)组成一个主体群时,就产生了真正的智能。Wooldridge和Jenning也给予了简单的定义:Agent是处在某个环境中的计算机系统,该系统有能力在这个环境中自主行动以实现其设计目标。软件Agent研究者对Agent的定义为:Agent是能为用户执行特定任务的、具有一定程度的智能的、能自主执行任务的、并能与环境相互作用的软件程序。因此综上所述,Agent是一种处于一定环境下包装的计算机系统,它能在那种环境下,灵活地自主地活动。2.2Agent的特性从Agent的弱概念来说,Agent应具有以下特性:★自治性(autonomy)。★社交能力(socialability)也称交流能力(communicationability)。★反应能力(reactivity)。★自发行为(pro-activeness)。具有实体的Agent一般还具有以下特性:★长寿性(longevity)。★移动性(mobility)。★推理能力(reasoning)。★规划能力(planning)。★学习和自适应能力(learningandadaptability)。★真实性(veracity)。★善意(benevolence)和理性(rationality)。2.3Agent的理论模型Agent的理论研究主要包括对Agent的认知模型和有关理论研究。Agent的认知模型主要从逻辑、行为、心理、社会角度出发,研究如何用符合表示复杂现实世界中的Agent,以及Agent如何根据各种信息对环境进行推理和决策。Bratman的BDI理论是被公认的Agent理论基础。Agent使用的BDI模型一般都是在Cohen和Levesque的正规模态逻辑的意图模型以及Rao和Georgeff的BDI计算数逻辑模型基础上发展起来的,BDI模型侧重于描述信念(belief)、愿望(desire)和意图(intention),简称BDI,其本质上要解决的问题是如何确定主体(agent)的目标以及如何实现这个目标。Agent的BDI模型包含三种基本成分:信念(Belief)、愿望(Desire)、意图(Intention)。基于BDI模型的Agent研究一般分为两个层面,一个就是理论层面,也叫做逻辑层面,主要研究如何使用逻辑方法给出BDI模型的Agent正规语义描述;另一个层面是实际应用层面,包括系统体系结构的设计以及编程实现。2.4Agent的结构模型(1)认知型结构。基于Simon和Newell符号语言假设的认知型Agent是一种符号模型。(2)反应型结构。这种模型结构不包含用符号表示的模型,Agent在决定如何行动时并不参照历史,它们的决策完全基于当前状态,不考虑过去的状态。(3)混合型结构。对于建立具有智能自治行动的Agent而言纯逻辑或纯推理方法或纯行为的方法都不是最好的路线。智能自治的行动蕴涵推理和反应式行为能力。这种认识产生了混合结构。2.5Agent通信Agent之间的通信是实现Agent间相互作用的基础。Agent间的通信涉及到Agent之间的方式、Agent通信语言的理解和生成等。面向Agent的程序设计AOP的核心思想是用思维属性(如信念、愿望、意图等)直接对Agent进行程序设计,思维属性是Agent理论研究人员提出的表示Agent特性的方法。第一个实现面向Agent程序设计风格的语言是Agent0程序设计语言。在这个语言中,使用一组能力集(Agent可以做到事情)、初始信念集、初始承诺集,以及承诺规则集来说明一个消息条件、一个思维状态条件和一个动作。目前国际上最著名的Agent通信语言是美国ARPA的知识共享计划中提出的两种相关的语言:一种是KQML,另一种是KIF。2.5.1KIF语言KIF即知识交换格式。KIF是一种显示地允许对某个特定的“谈论的领域”进行知识表示的语言。最初开发的目的是用来表示某一个特定领域的公共语言,并不是想作为表示消息本身的语言,而是设想由KIF可以来表示消息的内容。KIF假定一个基本的、固定的逻辑结构,包含通常的一阶逻辑链接符:二元Boole接符and,or,not,等等,以及全称量词forall和存在量词exists。此外,KIF提供了基本的对象词汇——特别是数字、字符、字符串。还提供了一些标志函数,以及这些对象的关系,如数字之间的小于关系,以及加法函数。还提供了类LISP表示符处理用表表示对象。使用这种基本结构,可以定义新的对象函数,以及这些对象之间的其他关系。2.5.2KQML语言KQML即知识查询与操作语言。KQML是一种目前来说最通用的Agent通信语言。KQML定义了消息格式和消息传送系统,为多Agent系统通信和协作提供了一种通用框架。KQML的消息可以大致认为是一个对象:每条消息有一个语用词,以及多个参数。KQML分为内容、消息和通信等三个层次。内容层以KIF为语法对需要传输的知识进行编码;消息层包含行为类型、资格等,其中行为类型主要从言语行为理论演化而来;通信层包括发送者、接受者、惟一标志、同步等。KQML并不关心消息的内容,它好比一个信封,为消息定义了一个格式,使用这个格式,Agent之间可以彼此协调合作。KQML的消息传送机制(即AgentB从AgentA得到消息的方式)从来没有做严格的定义,这导致使用不同的KQML会话的Agent难于互操作。KQML的语义没有严格的语义定义,严格的语义定义可以辨别出声称使用KQML的两个Agent实际上是否“恰当地”使用了这个语言。KQML语用词的“含义”只是用非形式化的语言描述,因此会引起不同的解释。2.5.3FIPAAgent通信语言由于Agent引起在工业范围内的广泛研究,所以1995年智能物理Agent基金会(FIPA)开始了Agent系统国际标准的设计与发布。1997年它发布的第一个标准是FIPA97,主要包括Agent管理、Agent通信语言(ACL)和Agent软件集成,主要的内核就是Agent的通信语言(ACL)。标准化的ACL包含三大部分:外部语言、内部语言和本体。外部语言定义消息的意思,内部语言也就是内容语言,用来表达谈话者的信念、愿望和意愿,本体提供词汇表。FIPAACL定义了一整套消息类型,每种消息类型都表示某种特定的意思。FIPAACL的使用主要体现在FIPAACL消息中。一条FIPAACL消息的组成包括五个要素:述行语、通信的参与者、消息内容、内容描述和绘画控制。2.6Agent的应用单个的Agent的应用主要在建模与仿真方面。基于Agent的建模和仿真方法在复杂系统所涉及的社会、经济、生态、军事、工业等领域已经有了相对广泛的应用。桑塔菲研究所在Swarm平台上开发的虚拟股市,成功的将基于Agent的思想和遗传算法应用到了股市的仿真中。美国Sandia国家试验室开发完成的ASPEN,采用Multi-Agent思想来建模,在Agent的决策机制上采用了适应性学习方法。洛斯阿拉莫斯实验室和桑塔菲研究所仿真了阿尔布揩克试中的交通状况和环境状况,试图仿真人类对空气、土地等的开发利用,对环境的影响程度,以及道路设施的发展,对人民交通状况的影响程度等。3.多Agent系统及其组织结构3.1多Agent系统(Multi-AgentSystem)概念3.2多Agent系统的模型和结3.1多Agent系统(Multi-AgentSystem)概念MAS是由多个Agent组成的Agent社会,是一种分布式自主系统。即多Agent系统是由多个可以相互交户的,称为Agent的计算单元所组成的系统。MAS的表现通过Agent的交互来实现,主要研究多个Agent为了联合采取行动或求解问题,如何协调各自的知识、目标、规划和策略。MAS之所以受到如此重视,是因为其具有如下能力:可以将现有系统合并到广阔的Agent社区,使其可以被其他系统所利用,实现软件重用。为有效使用空间广泛分布的资源提供便利。为被认为有自主交互的Agent构成的社区问题提供便利。增强系统并发性、可靠性、扩展性、可维护性、可重用性。多Agent系统吸取了不同领域的内容,如经济学、哲学、逻辑学、生态学和社会科学等,使得MAS学科成为一个高度交叉的研究领域。对于理解和构造各种所谓的人工社会系统来说,多Agent似乎是一个自然的选择。多Agent系统的思想并不局限在某个特定的领域,像在此前出现的对象一样,多Agent系统会在许多不同的应用领域中出现。3.2多Agent系统的模型和结3.2.1多Agent系统的基本模型在MAS的研究过程中,适应不同的应用环境而从不同的角度提出了多种类型MAS,包括理性Agent的BDI模型、协商模型、协作规划模型和自协调模型等。BDI模型:BDI模型是一个概念和逻辑上的理论模型,它渗透在其他模型中,成为研究Agent理性和推理机制的基础。协商模型:虽然各个Agent的行动目标是要使自身效用最大化,然而在完成全局目标时,就需要各Agent在全局上建立一致的目标。协作规划模型:每个Agent都具有自己的求解目标,考虑其他Agent的行动与约束,并进行独立规划(部分规划)。网络节点上的部分规划可以用通信方式来协调所有节点,达到所有Agent都接受的全局规划。自协调模型:此类模型是为适合复杂系统的动态实时控制和优化而提出来的。它能随环境的变化自适应地调整行为,是建立在开放和动态环境下的MAS。3.2.2MAS的体系结构MAS的组织结构为Agent各个成员提供了一个相互之间进行交互的框架,为每个成员Agent提供一个多Agent群体求解问题的整体观点和相关信息,以便合理地分配任务并使这些成员Agent能够协同工作,共同为系统服务。按照不同的划分标准会有不同的Agent结构形式。例如:集中式和分布式、封闭式和开放式。集中式Agent组:集中式Agent组中拥有一个管理服务机构,负责对组内的所有成员Agent的行为、状态、任务分配以及资源共享等提供统一的协调和管理服务。分布式Agent组:分布式Agent组中各个成员Agent之间是相互平等的,相互服务。封闭式Agent组:封闭式是相对于开放式来说的,由于Agent