软件代理定义:
一个能在特定环境下连续,自发的实现功能,并且是与相关代理和进程相联系的软件实体。
其特点为:
自主性:能在没有人工干预下完成大部分功能。
社会能力:能够同其他代理和人交互。
被动响应能力:能够感知环境的变化产生实时的响应
主动响应能力:主动的执行给予滋生信念和目标的活动。
时间连续性:进程是连续的。
自适应性:通过学习机制,适应环境的变化。
可移动性:能够携带自己的上下文迁移到其他环境执行。
软件代理的三个特性维,交互性,智能性以及移动性。这3个维构成了一个类型空间。软件代理事例可以通过对以上3个因素的评估得到其在空间中的位置。
代理系统所需要的理论知识
一个代理要有智能,就需要对自己所拥有的知识进行推理,因此需要知识的表达和推理机制。
多代理体系中,知识具有局部性,而问题具有全局性,在大多数情况下,需要同其他的代理联合解决一个问题 , 这样代理间的信息传递不可避免,因此需要有代理通讯语言(ACL). KQML是一个发展比较完善的ACL, 有3个层次:内容, 通信和消息。
需要一个协调模型来处理代理的创建,删除和通讯等活动。协调模型的目的是提供一个形势化的框架, 包括3个元素:协调体, 协调媒介以及协调规则。
多代理系统的社会性进化为多代理的协商模型,其要求代理必须具有如下3个功能:1表达自己2:推测别人3:影响别人。