多智能体 - 图文 下载本文

分布式计算是一门计算机科学,一种计算方法,和集中式计算是相对的。它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。这样可以节约整体计算时间,大大提高计算效率。

分布式人工智能(Distributed Artificial Intelligence),简称DAI,它是人工智能和分布式计算相结合的产物。DAI的提出,适应了设计并建立大型复杂智能系统以及计算机支持协同工作(CSCW)的需要。目前,DAI的研究大约可划分为两个基本范畴:一是分布式问题求解(Distributed Problem Solving,DPS);另一个是关于多智能体系统(Multi Agent System,MAS)实现技术的研究。

分布式问题求解:往往针对待解决的总问题,将其分解为若干子任务,并为每个子任务设计一个问题求解的子系统。这里,首先需要智能地确定一个分配策略:如何把总工作任务在一群模块(Module)或者节点(Node)之间进行子任务分配;其次需要智能地确定一个工作任务协同的策略:要在基于分散、松耦合知识源的基础上,实现对问题的合作求解。这里所谓“分散”的概念是指任务的控制操作和可利用的信息都是分布的,没有全局控制和全局数据;知识源分布在不同的处理节点上,数据、信息、知识和问题的答案可以按照某种规则予以共享。

(松耦合系统通常是基于消息的系统,此时客户端和远程服务并不知道对方是如何实现的。客户端和服务之间的通讯由消息的架构支配。只要消息符合协商的架构,则客户端或服务的实现就可以根据需要进行更改,而不必担心会破坏对方。)

智能体(Agent):是人工智能领域中一个很重要的概念。指驻留在某一环境下,能持续自主地发挥作用,具备驻留性、反应性、社会性、主动性等特征的计算实体。任何独立的能够思想并可以同环境交互的实体都可以抽象为智能体。 智能体为一个灵活的主体,通过自身的传感器感知外界的信息,和其他智能体交换信息,实现自治的个体系统。智能体与环境的关系如下图所示: 效应器环境传感器 图智能体与环境的关系 智能体具有下列基本特性: (1)自治性(Autonomy ) : 智能体能根据外界环境的变化,而自动地对自己的行为和状态进行调整,而不是仅仅被动地接受外界的刺激,具有自我管理自我调节的能力。 (2)反应性(Reactive):能对外界的刺激做出反应的能力、 智能体(3)主动性(Proactive):对于外界环境的改变,智能体能主动采取活动的能力。 (4)社会性(Social ) : 智能体具有与其它智能体或人进行合作的能力,不同的智能体可根据各自的意图与其它智能体进行交互,以达到解决问题的目的。

(5)进化性:智能体能积累或学习经验和知识,并修改自己的行为以适应新环境。 智能体可以看作是一类特殊的对象,即具有心智状态和智能的对象,智能体本身可以通过对象技术进行构造,而且目前大多数智能体都采用了面向对象的技术,智能体本身具有的特性又弥补了对象技术本身存在的不足,成为继对象技术后,计算机领域的又一次飞跃。

单智能体的基本结构如下图

通信模块环境信息感知器知识库管理效应器角色列表图单智能体基本结构 感知器用来接收环境信息;知识库管理用来处理知识库中的各种知识,通信模块在Agent内部进行信息交互;效应器用来影响或改变环境;角色列表对Agent在系统中所扮演的角色进行列表。

多智能体系统(MAS, Multi-AgentSystem)也称多智能体技术(MAT, Multi-AgentTechnology):是多个智能体组成的集合,是由一个在一个环境中交互通讯、协调合作的多个智能体组成的计算系统。

它的目标是通过智能体之间的紧密合作,将大而复杂的系统建设成小的、彼此互相通信和协调的,易于管理的系统,从而解决大型、复杂的现实问题。是分布式人工智能(DAI,DistributedArtificial Intelligence)的一个重要分支,是20世纪末至21世纪初国际上人工智能的前沿学科。研究的目的在于解决大型、复杂的现实问题。

多智能体系统(MAS,M山ti.Agent System)是智能体概念的延伸,是指智能体之间通过连接拓扑结构、刚体连接或者通信连接等,与周围的智能体进行交互【2】。这种交互方式可指协同、竞争或者知识共享

相比于单个智能体的控制效果,多智能体系统的协调控制显现出更好的鲁棒性、灵活性、经济性

多智能体系统由于其健壮、可靠、成本低等特点在自主机器人、空间飞行器、无人机和无线传感器网络等领域有着广泛的应用

它的研究涉及智能体的知识、目标、技能、规划以及如何使智能体采取协调行动解决问题等。研究者主要研究智能体之间的交互通信、协调合作、冲突消解等方面,强调多个智

能体之间的紧密群体合作,而非个体能力的自治和发挥,主要说明如何分析、设计和集成多个智能体构成相互协作的系统。Simon的有限性理论是多智能体系统形成的一个重要的理论基础,Simon认为一个大的结构把许多个体组织起来可以弥补个体工作能力的有限;每个个体负责一项专门的任务可以弥补个体学习新任务的能力的有限;社会机构间有组织的信息流动可以弥补个体知识的有限;精确的社会机构和明确的个体任务可以弥补个体处理信息和应用信息的能力的有限。

MuIti-agent之间的通信

通信是agent相互协作的前提,多智能体之间知识和信息的交换需要解决有关表示、语言、传输、上下文等方面的问题。当多个agent组成MAS以后,agent之间信息的交互就产生了所谓的通信问题。目前agent的通信方式主要有黑板系统和消息通信系统。黑板系统是传统的人工智能系统和专家系统的议事同程的扩充,通过实用合适的结构支持分布式问题求解。在Multi.agent系统中,黑板提供公共工作区供agent交换信息、数据和知识。agent可以在黑板写入信息项,其它agent通过黑板读取信息,agent之间不直接发生通信。黑板系统实现了局部数据共享,但它的不足之处在于要求各agent具有统一的数据结构或知识表达方式,降低了设计和建造agent的灵活性。采用消息通信系统是实现灵活复杂的协调策略的基础,消息通信的两个agent只要知道对方地址的标识就可以建立连接,进行直接的消息交换。消息通信系统中需要解决的问题可分为三个方面,对话管理、通信语言和通信协议。

对话管理:通信意图一旦产生,通常不是一条消息所能完成的,消息与消息之间存在一定的逻辑关系。一条消息的正确理解不仅依赖于消息内容和对话协议,也依赖于对话历史。因此通话双方需要对对话过程进行管理,以保证通信内容正确地结合到协议过程中去。通信语言:通信语言是agent间传送信息和交换知识的媒介,通信双方共享语言的语义、语法的定义。通信协议:包括高层对话协议和底层传输协议。对话协议说明对话的基本过程和相应消息的各种可能情况;传输协议指通信中实际使用的底层传送机制,如TCP、SMTP和HTTP。

其中通信语言(ACL ,Agent Communication Language)和通信协议是agent之间能够高效交互信息和知识的基础。作为一种高层的agent通信语言,ACL一般都有其一定的规范框架,见图2.2所示,ACL位于逻辑层上,用来定义各agent能够理解交流的消息类型和消息内容。在ACL框架中,主要包括消息类型、消息格式、语义描述和内容语言等几个部分,以及支持的共享本体和采用的交互协议。

一般的ACL在此规范框架上建立起来,其中知识查询与处理语言KQML(Knowledge Query and Manipulation Language) 是当前主流的ACL之一,它是一种用于信息和知识交换的语言和协议,可以认为是一种agent之间消息的表示格式,也可以理解为一种消息处理协议。作为应用程序与智能系统之间进行交流的一种语言,KQML以知识共享为基础,支持协同问题处理。标准的KQML语法基于Lisp语言中的S-表达式,用一个通信原语(消息形式)开头,紧跟参数名称和参数值。

图2.3所示为一般的KQML消息语法,它是基于由配对括号括住的表,表的第一元素是行为原语,其余元素是行为原语的参数及其值,图中以冒号开头的是KQML的保留参数关键字。可见,一条KQML语言结构在概念上分为三层,一是通信层,用来描述底层的通信参数,包括信息发送者(:sender)和接收者(:receiver)信息,该层是KQML语言的核心,明确了agent的收发方;二是协议层,明确了信息所对应的应答标识ID(:in_replyto)、当前信息