Agent是在一定环境下自主运行的软件实体,其心智和社会特性使得软件Agent是智能和自主的,具有学习性、知识性、主动性和协作性等特点。Agent之间可以相互通信、学习并感知。Agent的这些优点正好弥补了当今网上教学智能性、交互性和学习性的不足。近年来,研究人员发现Agent的概念及技术适应于CSCW的需求,因而采用Agent技术实现计算机支持的协同网上教学是自然可行的。
从Agent的概念可见,Agent区别于传统智能系统的显著特征在于其具备与其所处环境、其他Agent和人进行交互、协调和协作的能力。人工智能的研究目标是认识与模拟人类智能行为。一种普遍观点认为,Agent是一个计算实体,其模型如图9-1所示:
图9-1 Agent理论模型
通信模块是Agent感知外界的接口,包含了消息检测器、消息缓冲队列、消息处理器和消息发送器四个部分。工作时,消息检测器持续地监视外部环境的变化,并将外部事件存入消息缓冲队列,消息处理器则对消息缓冲队列中的消息进行合法性检查,分离出通信参数和通信内容。
控制模块用于决定是否接受委托的任务,消息发送器用于回答接受/拒绝和发布请求信息。能力是对外界环境呈现的服务描述,对那些超出能力的任务,Agent拒绝接受。对接受的任务,控制模块首先从知识库存中复制对应的问题求解规则,然后在问题知识的约束下,将问题求解规则转化为一个符合任务求解的可执行事务处理流程,并产生相应的事务流程执行控制命令。控制模块解释这些命令,激活相应的事务处理进程。事务处理结果经通信模块传到外界。
一个完整的Agent概念应该具有以下特征:
(1)自治性:Agent是在协同工作环境中独立自主的行为实体,能够在没有人或其他外界因素的直接干预下自主控制其自身的运作,并能对自身的动作行为和内部状态有某种控制能力,使Agent能与周围环境更加和谐地工作,即它从用户那里得到了一定程度的自治,能适应动态变化的信息世界,独立自主地完成某些任务。自治性是Agent最主要的特性之一。
(2)协作性:对于某些任务,仅靠单个Agent很难完成,这就需要通过多Agent的协调与合作。用户和Agent间的合作可以描述为一份协议的协定过程:用户定义其期望的操作,Agent说明其能力并给出结果,这可以视作双向交谈,每一方向另一方提问,保证双方对随后的工作达成一致。Agent间的交互通过Agent交换知识、信念及计划的机制来协同工作,解决由单个Agent很难完成的大型任务。
(3)可通信性:Agent间可以进行信息交换、任务的承接、多主体的协作等。
(4)面向目标性:每个Agent都有一个明确的目标,并且是提前制定行为的,所有的行为都应该符合这个目标。
(5)主动性:Agent在某一确定目标指导下具有主动性,可以主动地采取行动达到目标,它们可以根据目标和意图进行推理,并根据这些目标规划以后的行为。
(6)适应性:Agent具有开放的性质,能够在推理活动中积累或学习经验和知识,逐步适应环境,扩充、限制或修正自身的局部知识状态,以适应新环境的变化。
(7)反应性:Agent可以感知周围的物理环境、信息资源及各种事件的发生和变化,并及时做出反应,调整自身的内部状态,做出最适当的反应,使整个系统协调工作。其行为通过触发规则或执行定义好的计划来更新Agent的事实库,并发送消息给环境中其他Agent。
(8)独立性:Agent可以看成是一个“逻辑单位”的行为实体,如同面向对象思想中类的概念,对其内部状态的信念、事实、过程及通信信息进行封装,使Agent成为协同工作中界限明确、能够被独立调用的计算实体。
(9)持续性:Agent是连续运行的进程,而非执行一遍即终止的程序,其状态在运行过程中应保持一致。
以上是Agent理论上的特性,很少有一个Agent同时具有上述特性。研究和开发人员也没有必要构建一个包括以上所有特性的Agent或Agent系统,往往是从应用的实际出发来开发包含以上部分特性的Agent及由其组成的系统。正是因为Agent可以具有许多特性,因此可以用各种Agent来构筑丰富多彩的应用系统。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。