1) FIPA(Foundation for Intelligent Physical Agent),一个致力于Agent技术标准化的组织给Agent下的定义是:“Agent是驻留于环境中的实体,它可以解释从环境中获得的反映环境中所发生事件的数据,并执行对环境产生影响的行动。” 在这个定义中,Agent被看作是一种在环境中“生存”的实体,它既可以是硬件(如机器人),也可以是软件。
2) 著名Agent理论研究学者Wooldridge博士等在讨论Agent时,则提出“弱定义”和“强定义”二种定义方法:弱定义Agent是指具有自主性、社会性、反应性和能动性等基本特性的Agent;强定义Agent是指不仅具有弱定义中的基本特性,而且具有移动性、通信能力、理性或其它特性的Agent;
3) Franklin和Graesser则把Agent描述为“Agent是一个处于环境之中并且作为这个环境一部分的系统,它随时可以感测环境并且执行相应的动作,同时逐渐建立自己的活动规划以应付未来可能感测到的环境变化”;
4) 著名人工智能学者、美国斯坦福大学的Hayes-Roth认为“智能Agent能够持续执行三项功能:感知环境中的动态条件;执行动作影响环境条件;进行推理以解释感知信息、求解问题、产生推断和决定动作”;
5) Agent研究的先行者之一,美国的Macs则认为“自治或自主Agent是指那些宿主于复杂动态环境中,自治地感知环境信息,自主采取行动,并实现一系列预先设定的目标或任务的计算系统”[10]。
2.1.3 Agent的特性
由以上定义可知,Agent具有下列基本特性:
1)自治性(Autonomy ) : Agent能根据外界环境的变化,而自动地对自己的行为和状态进行调整,而不是仅仅被动地接受外界的刺激,具有自我管理自我调节的能力。
2)反应性(Reactive):能对外界的刺激作出反应的能力。
3)主动性(Proactive):对于外界环境的改变,Agent能主动采取活动的能力。
4)社会性(Social ) : Agent具有与其它Agent或人进行合作的能力,不同的Agent可根据各自的意图与其它Agent进行交互,以达到解决问题的目的。
5)进化性:Agent能积累或学习经验和知识,并修改自己的行为以适应新环境。
2.1.4 Agent与对象的区别
从Agent的特性就可以看出,Agent与对象既有相同之处,又有很大的不同。Agent和对象一样具有标识、状态、行为和接口,但Agent和对象相比,主要有以下差异:
1) Agent具有智能,通常拥有自己的知识库和推理机,而对象一般不具有智能性。
2) Agent能够自主地决定是否对来自其它Agent的信息作出响应,而对象必须按照外界的要求去行动。也就是说Agent系统能封装行为,而对象只能封装状态,不能封装行为,对象的行为取决于外部方法的调用;
3) Agent之间有通信通常采用支持知识传递的通信语言。但Agent可以看做是一类特殊的对象,即具有心智状态和智能的对象,Agent本身可以通过对象技术进行构造,而且目前大多数Agent都采用了面向对象的技术,Agent本身具有的特性又弥补了对象技术本身存在的不足,成为继对象技术后,计算机领域的又一次飞跃。目前,全球范围内的Agent研究浪潮正在兴起,包括计算机、人工智能以及其它行业的研究人员正在对该技术进行更深入的研究,并将其引入到各自的研究领域,为更加有效地解决生产实际问题提供了新的工具[11]。
2.2 JADE平台简介
JADE(Java Agent Deveiopment Flamewolk)是基于Java 语言的Agent开发框架, 是由TILAB 开发的开放源代码的自由软件。 它包括一个Agent 赖以生存的运行环境,开发Agent应用的类库和用来调试和配置的一套图形化的工具, 简化了一个多Agent系统的开发过程。JADE 为多Agent 系统提供了以下功能: 基于JADE的多agent在线研讨系统设计(4):http://www.youerw.com/jisuanji/lunwen_9203.html