当前位置: 首页 > 范文大全 > 公文范文 >

协商机制的KQML原语的设计研究

时间:2022-03-17 09:24:00  浏览次数:

[摘要]由于XML语言具有良好的语义表示能力,本文章采用XML扩展KQML的内容层,丰富了KQML语义的表达,可方便地表达智能体的多种语义,增强了语言内容的可扩展性,降低了语言的复杂度。下面我们将重点讲述如何利用XML语言来实现KQML原语的内容。

[关键词]KQML

KQML是一种最通用的智能体通信语言,1997年Finin和Labrou建议一种KQML新规范。新规范在KQML消息的句法和保留的执行参数方面差别很小,但是在保留的消息类型集、含义和使用方面有重大的改变。

KQML规定了消息格式和消息传送系统,为多智能体系统通信和协作提供了一种通用框架。特别是提供了一组识别、连接建立和消息交换的协议。消息的语义内容在KQML中规定并不详细。因为标准是开放的,各种语言可以用来传送知识,也可以集成在KQML中。

在智能体之间进行通信时,内容语言KIF表达语义能力不强,XML虽然具有很好的结构,但它在表达数据的语义方面也不是很强。由于XML语言具有良好的语义表示能力,本章采用XML扩展KQML的内容层,丰富了KQML语义的表达,可方便地表达智能体的多种语义,增强了语言内容的可扩展性,降低了语言的复杂度。这也是本文的特点之一。

对于多智能体中任何一种有意义的合作,方法和语言在信息共享中是不可缺少的。智能体通信语言定义了语法和语义用于智能体间通信。最有潜力和最常用的智能体通信语言是基于言语行为理论(Speech Act Theory)。KQML是其中重要的一种。言语行为理论是由英国哲学家和语言学家Austin提出的。有关言语行为理论的研究主要集中于如何划分不同类型的言语行为。言语行为理论是对人类通信语言分析的一种理论上的框架,它作为一种智能体通信的通用模式得到广泛应用。言语行为理论的主要原理是:通信语言也是一种动作,可以用来指导、控制相关的智能体的感知状态,并主要用来考虑智能体之间可以交互的信息类型。

KQML作为一种通信的语法规范,是一种知识查询与操作语言,既是消息的格式,又是一种用于支持智能体运行期间知识共享的消息处理协议,它可以作为用户、应用程序以及其它智能体交互的语言,以支持消息的传递。KQML可分为三个层次:通信层、消息层和内容层。

KQML语言采取了“协议栈”的思想,它划分为三个层次。内容层描述Agent所传递消息的实际内容,这些消息内容可以使用实现Agent的编程语言表达,即意味着 KQML可以携带任何一种语言表示的信息,因此 KQML内容层的语言无关性为Agent间互操作性提供了支持基础。消息层是 KQML的核心,它定义发送消息的协议和内容层消息所要体现的语义动作 (performative,即“言语行为”),以决定 Agent需对消息反应而采取的行为。同时还可对内容层的消息内容描述有关属性,如内容层所用语言和术语集等。通信层对低层的通信属性进行编码,包括消息发送/接收者指定通信进程的标识等。因此, 一条 KQML消息由三部分构成;一个语义动作 (performative) ;内容表达式;一套消息描述参数。KQML的句法是基于数据结构“表”的形式,即由一对圆括号括起的元素列表。表中首行为语义动作 (performative) ,其后为以关键词形式出现的语义动作参数。KQML的定义文档中提供了一套定义好的、具有明确语义的保留语义动作集,可供人们应用时选择。而且KQML的语义动作集是可扩充的,允许按照 KQML规则自己定义新的语义动作及其意义和用途。

全部技术通信参数协议都在通信层规定。消息层规定与消息有关的言语行为的类型。内容层规定消息内容。表2.1给出了KQML字符串BNF形式的句法结构。一般的KQML的动作表达式如下:

(performative

:sender //消息的发送者

:receiver//消息的接收者

:language //内容层所用语言

:reply-with//对目前消息的期望回答值

:in-reply-to//触发该消息的消息

:ontology //消息使用的本体

:content //消息的内容

在智能体之间进行通信的时候,KQML在概念上是一种分层语言,消息的内容涉及的领域知识并没有受到限制,也没有强制任何表示内容的形式化方法。而在实际系统中由于智能体本身的确定性,要求智能体本身必须能够正确地解释已知的消息内容。在一些通信内容比较简单的智能体系统中,内容的表达常常是以字符串的形式出现的,从而通信中可表达的消息的内容比较简单,不具备较强的语义信息。KSE开发的KIF作为一个通用内容交换语言的出现并不能支持多种类型特定用途的智能体通信的应用。

推荐访问: 协商 机制 研究 设计 KQML