一种基于Agent的通讯模型设计及其应用

2010-08-14 07:01许新华龚雄涛唐胜群
通信技术 2010年2期
关键词:单播原语黑板

许新华, 龚雄涛, 唐胜群

(①湖北职业技术学院,湖北 孝感 432000;②武汉大学软件工程国家重点实验室,武汉430072)

0 引言

人工智能作为计算机科学的重要分支,它的目标就是构造能表现出一定智能行为的Agent。 面向Agent的程序设计被认为是软件发展的下一个重大突破和新的软件革命,很可能成为继面向对象的第五代程序设计语言之后的第六代语言[1]。广义上的Agent 指具有智能的任何实体,包括人类、智能硬件(如机器人)和智能软件。智能软件Agent是一种新的智能技术,目前人们对Agent的研究大致可分为智能Agent、多Agent系统(Multi-Agent System,简称 MAS)和面向 Agent的程序设计这 3个相互关联的方面[2]。

1 Agent概述

1.1 Agent的概念及特性

关于 Agent的概念,下面是一些典型的观点[3]:Agent是一个为完成某一特定任务而持续运行的软件实体;Agent是通过代理你完成某项任务来模拟人类关系的计算机程序;Agent是一个可被委托任务的软件实体;Agent是处在某个环境中的计算机系统,该系统有能力在这个环境中自主行动,以实现它们的设计目标。归纳起来,软件Agent可定义为“一个能够根据它对其环境的感知,主动采取决策和行为的软件实体”。一般而言,Agent具有下列几个关键特性[4]:自主性、社会性、适应性、持续性、推理和规划能力、移动性、进化性。

1.2 Agent的类型

(1)思考型Agent

思考Agent也称为认知Agent,是一种符号AI,它保持了经典人工智能的传统,是一种基于知识的系统,包括环境和智能行为的逻辑推理能力。

(2)反应型Agent

符号AI的特点和种种限制给思考型Agent带来了很多尚未解决、甚至根本无法解决的问题,这就导致了反应型Agent(Reactive Agent)的出现。

(3)混合型Agent

混合型 Agent(Hybrid Agent)综合了二者的优点,具有较强的灵活性和快速响应性。

2 多Agent系统(简称MAS)及其内部组织

Agent的应用主要是以多个Agent协作的形式出现。MAS的求解问题的能力超过单个 Agent,MAS是分布式人工智能研究的前沿领域,是指多Agent之间相互协调,相互服务,共同完成一个任务。MAS研究的主要内容包括任务的分解和分配、Agent间的协同、通讯以及系统结构动态组织与动态负载平衡[5]。

2.1 MAS的特性

MAS是一个松散耦合的Agent网络,这些Agent通过交互、协作进行问题求解(所解问题一般是单个 Agent能力或知识所不及的),其中的每一个Agent都是自主的,它们可以有不同的设计方法和语言开发而成,因而可以是完全异质的。

2.2 Agent的组织

Agent组织架构采用的是一种树型层次结构的组织方式,根据系统种各Agent所担负的职能和所在的层次的不同,将其分为三个大类:管理Agent、辅助Agent和功能Agent。

(1)组中Agent的层次

在MAS系统构架模型中(见图1 MAS系统中组内结构),一个MAS包括一个或多个组(Group),组内Agent分为上下两层,上层是管理Agent和辅助Agent,FA1, FA2,…,FAi,…, FAn,其中MA是管理Agent, AA是辅助Agent, FA是功能Agent,各功能Agent在管理Agent与辅助Agent的管理和协同下协作完成某一任务。

(2)Agent组GROUP

定义在问题求解过程中所需要的所有管理 Agent、功能Agent和辅助Agent的集合为一个Agent组。在系统中,Agent组是由具体的待求解问题的提出而产生的、为协同完成某一个任务临时组成的动态组织结构。

2.3 Agent间的协作与通信

Agent采取联合规划的通讯协作方式进行协作,Agent间的通信是系统中较为关键的问题。操作性较好的通信方式,以“黑板”最为著名,也有人提出了介于黑板方式和预定点方式之间的类黑板方法[6](Similarity Blackboard Approach)。

每个GROUP在所属的MAS里是被唯一标识的,每个GROUP中包含至少一个Agent,而每个Agent在所属的MAS内也是被唯一标识的。Agent必须具有通信的能力才能执行任务,本MAS系统采用人工智能领域中经典模型—黑板模型结构(Black Board Architecture,BBA,见图2)描述多Agent系统之间的通信方法。本模型试图实现 Agent间的单播(Unicast)通信、多播(Multicast)通信、选播(Anycast)通信、广播 (Broadcast) 通信,从而保证多 Agent系统的协同工作效率。本系统需要解决如下3类通信:

① GROUP内的单播、多播和广播通信;

② 不同GROUP间的单播、组播、广播和选播通信;

③ 单个Agent向MAS的广播。

同一个组内各Agent间发送消息的通信原语为:

Send_Message(Sender,Receiver,Message):

① 当 Agent进行单播通信时,通信原语为:Send_Mesaage(Agent A1,Agent A2,Message);

② 当 Agent进行多播通信时,通信原语为:Send_Message(Agent A1,Multicast(A),Message);

其中,Multicast(A)={A2,A3,… ,Ak},Ai(i=1,2,…,k) 为该通信单元内除了发送Agent外任意的其他Agent;

③ 当 Agent进行广播通信时,通信原语为:Send_Message(Agent Al, Group(default), Message), 其 中 ,Group(default)为发送Agent所在通信单元。

3 TTMAS通讯模型设计

MAS内对于 Agent的组织不仅要满足一个智能系统需要的恰当的层次结构,还应满足Agent间的通信路由最优,人们求解问题的过程实质上是把问题分解和细化的过程,最终可以将问题分解为1棵树。因此,本系统构造了一个树形拓扑的多 Agent系统(Tree Topology Multi-Agent System,TTMAS)。

3.1 树形拓扑的多Agent系统TTMAS的构建

TTMAS通信模型如下页图3所示,整个通信模型呈树状拓扑结构,TTMAS中根节点是命名服务 Agent(NameServer-Agent)。该Agent拥有一个全局性的共享知识交换区,与 Agent命名服务器水平直接相连的 Agent为 MAS门户Agent (MAS Gateway Agent,MGA),它为不同MAS间的通信起纽带作用;在TTMAS中每个节点Agent都拥有自己区域的共享知识交换区,并且都能起到路由的作用,所以,该通信模型能够实现系统全局的通信服务。

3.2 TTMAS不同GROUP间的单播、组播、广播和选播通信

不同组中各 Agent间发送消息的通信原语为:Send_Message(Sender,Receiver,Message)。

① 当不同组间Agent进行单播通信时,通信原语为:

Send_Message(Agent Al,Group(B)::Agent Al,Message);

② 当不同组间Agent进行多播通信时,通信原语为:

Send_Message(Agent Al,Multicast(B),Message);

③ 当Agent进行不同组间的广播通信时,通信原语为:

Send_ Message(Agent Al,Group(B),Message);

④ 当Agent进行选播通信时,通信原语为:

Send_Message(Agent Al,Group(B)::Any,Message)。

3.3 单个Agent向MAS的广播

当Agent对MAS广播时,通信原语为:

Send_Message(Agent Al,ALL,Message),

其中:ALL为MAS内所有Agent。

4 TTMAS通讯模型的应用

在数据库语义查询优化中运用TTMAS通讯模型,做了二次模拟实验[7],主要差别在于图书登记表BOOKS容量的区别,第一次它有2万个元组,第二次它有5万个元组,二次模拟实验的结果见表1。

表1 二次 SQMAS模拟实验数据

理论分析和模拟对比试验表明,利用TTMAS模型设计的语义查询优化算法能够显著地提高查询效率,对于中间结果可能出现100,000条元组的查询操作而言,采用该TTMAS通讯模型,整体运行时间可以节约30%以上;并且可以推测(见图4和图5),关系元组数目越大,查询效率越高。

5 结语

Agent技术诞生至今的20多年的时间里, 已经逐渐成为计算机网络和人工智能的研究热门甚至被一些文献称为“软件开发的又一重大突破”。究其原因,主要是因为它为分析、设计和实现分布式信息系统提供了一种崭新的方法。早在1991年Rao和Georgff就建立了基于BDI(信念,需求,意图)观念的Agent逻辑框架[8]。本文通过构建一个多Agent系统(Multi-Agent System),解决了多个Agent之间的组织结构;Agent间的通信采用“类黑板”的通信方式;在此基础上设计了一个 TTMAS通讯模型,并以数据库的查询为例做了实证研究,整体效果良好,体现了 Agent的应用价值。

[1] 李贺华,林婧,单光庆.基于 Agent的 Web信息检索应用研究[J].通信技术,2009,42(08):135-136.

[2] 刘大有,杨鲲. Agent研究现状与发展趋势[J].软件学报,2003,11(03):315-321.

[3] 王一宾,李心科,刘桂江.软件Agent技术与软件体系结构[J].河南科技大学学报:自然科学版,2005,41(02):30-34.

[4] 李国徽,王洪亚.基于Agent的网上协同学习环境实现[J].微型电脑应用,2004,19(03):43-45.

[5] 李志芳,冯秀芳.基于模糊模型的多Agent故障诊断系统的研究[J].太原理工大学学报,2005,36(02):20-23.

[6] 李毅,罗诩,石纯一.多Agent系统的一种交互策略[J].软件学报,2004,10(07):9-12.

[7] 许新华.并行数据库的语义查询优化研究[J].西南师范大学学报,2007,8(04):77-81.

[8] 张锋,尹东,吴文宇.基于Agent技术的遥感图像检索[J].通信技术,2008,41(10):119-121.

猜你喜欢
单播原语黑板
高空通信平台非正交广播与单播复用容量研究
长在黑板上的诗
晓黑板
黑板
密码消息原语通信协议介绍及安全分析
浅谈旅游翻译中文化差异的处理
基于ZigBee协议栈的PHY服务研究
城市车辆网络单播路由协议:审查、分类和开放问题研究
IP互动电视快速频道切换的解决方案与实现
基于原语自动生成的安全协议组合设计策略及应用研究