Agent的通信解析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工作环境上,ACL必须提供可以处理异构和动态的工具,必须
支持与其它语言和协议之间的互操作,支持在大型网络环境 中的知识查找,易于与现存系统无缝地连接。
可靠性上,ACL必须支持Agent之间可靠的、安全的通信,应
提供识别和表示错误与警告的机制。
两种ACL

KQML(Knowledge Query and Manipulation Language)
ACL的产生
ACL最初源于KSE(Knowledge Sharing Effort知识
共享工程)的工作。 KSE发布的两个主要文件: 知识查询与操纵语言(KQML, Knowledge Query and Manipulation Language ) 。 KQML 是一种用做 Agent 通信的“外层”语言,它为消息定义了一个“信封 格式,使用这个格式,Agent可以明显地说明一条消 息不发音的言语想动作的能力。KQML并不关心消息 的内容。 知识交换格式(KIF,Knowledge Interface Format)。 KIF是一种显式地允许对某个特定的“谈论的领域” 进行知识表示的语言。它主要是要(尽管不是唯一 地)形成KQML消息的内容部分。
ACL的特性(一)
形式上,ACL应具有表达性,语法简单,容易被人类
阅读,能够被各种使用者接受;为了传输和解析的 方便,ACL应是线性或容易转变为线性的;为了易于 集成到各种系统中其语法应该可以扩展。 内容上, ACL 应是分层的,尤其是要将 ACL 传输的内 容与它所要表达的通信动作(即上面所说的命题态度) 分开。ACL中应该定义一个可扩展的执行原语集合 , 这些执行原语提供了Agent认知状态与消息标识之间 的映射,而且该集合中至少应包含独立于具体应用 的执行原语内核。 语义上, ACL 语义的描述应为 Agent 的通信提供一个 模型,保证应用系统的设计者们对ACL的理解和使用 无论何时何地都具有一致性。
Agent的通信层次
Agent 的通信可以从逻辑上划分成三个不同的层次, 从上到下依次是:会话层、通信语言层和传输层。
传输层指实现数据信息传输的协议和有关机制,如:
TCP/IP、UDP、HTTP、SMTP、IIOP等。
通信语言层则指Agent赖以表达它关于通信内容的观
点或态度并将其传输给会话方的一种媒介或工具。 Agent可以就某特定问题提出请求、查询、声明、通 知或作出回答等。
Agent的通信
合作可以获得整体利益大于各部分和的效果,而 通信是实现合作必不可少的基础条件。Agent之间如果 想进行合作交流,就必须进行通信。 Agent所处环境的变化对Agent的行为有很大甚至 是决定性的影响。一个Agent在对环境变化进行预测时, 要考虑到其它Agent的活动一般是不受自己控制,难于 预测的。为了更好地预测环境变迁和增强自身的行动 能力、实现自身需求,Agent之间必须进行通信。 通信是实现和提高Agent智能性的途径,是Agent 社会性的体现,是Agent具有实用价值不可或缺的能力 之一。
Agent的通信过程
发送方 sender 将自己的思想翻译成通信所用

语言的格式 sender 将语言格式加载到通信传播载体,比 如文字、声音和图象 传播载体到达接收方receiver receiver读取载体中的语言代码 receiver 在思维空间中将语言代码按其格式 翻译为思想,从而熟悉sender的思维状态
会话层包括Agent用以管理整个会话过程的结构、规
则和有关的会话策略。
Agent通信语言——ACL
Agent的通信是它与其环境(指它所生存的系统, 包括其他Agent)协调、交流、合作和竞争等活动的基 础。Agent可以通过某种“高级”的通信语言来表达它 关于其生存环境的认识、观念、态度、它的知识、解 题能力、合作愿望和方式、情感和它对问题空间的理 解 和 定 义 等 。 这 种 专 门 用 于 Agent 通 信 的 语 言 称 为 Agent通信语言,即(Agent Communication Language, 简称ACL)。 需要保证Agent在进行通信时可以屏蔽掉其内部的 实现细节,它们之间需要的是一种独立于领域知识的、 高层的、能够直接互相操作的通信语言.
KQML是由KSE制定的ACL,它常被ACL领域的研究人员当作是 KQML 通过对言语行为理论地研究,制定了一个框架模型来描述其 说明、理解和建造新 ACL的参照语言,也是目前应用得最多 消息的语义,而FIPA ACL则使用一种多模态逻辑语言SL来描述 的ACL。不过,由于KQML在建造的初期忽略了语义的科学说 其消息的语义含义,也正因为有了 SL语言的规范,使得FIPA 明,成为使用KQML的不同应用系统之间进行有效通信的障碍 ACL具有良好的扩展性。使用者可以根据自身的需要定义执行原 语 语言描述它的语义,这是它比 KQML 优越的地方。 ,并且利用 FIPA SL ACL(Foundation for Intelligent Physical Agents Agent Communication Language)。
ACL的特性(二)
实现上,ACL应该可以充分利用现有的软件技术;外部接口简
单易用并且可以被各种语言实现;位于通信原语底层的网络 情况对于用户来说是透明的;应用系统可以根据实际情况只 部分地实现语言的内容。
网络上,ACL应该支持各种先进的网络技术,连接方式(点到
点、组播、广播等)和通信模式(同步通信、异步通信等); 提供一个丰富的执行原语集合以支持高层语言和协议的构造, 且应保证这些高层协议独立于ACL使用的传输技术。
Agent进行通信就是要改变信息载体,将载体发送到
接收Agent的可观察环境中。
ACL基础
为了在开放的环境中进行合作,以Agent为基础的各种 系统,至少体现在系统接口上,必须在以下的几个 层次上达成一致: 传输层(Transport):Agent如何接受和发送消息。 语言层(Language) :每一条消息的含义是什么 规 则 (Policy) : Agent 如 何利 用 语 言 层 的 消 息 组 织对话 体系结构( Architecture ):根据各种协议如何连 接不同的系统 显而易见,语言层是Agent通信语言所最关注的。
Agent通信中的对象
在Agent的通信中涉及到两类对象:参与通信的 Agent和传播载体。传播载体的行为由自然规则约束, 它一旦离开了发送方,就不再完全由发送方控制。
Agent可以创建载体,发送载体,但是不能完全控制
它的传送。从实际的角度说,在动态开放环境中的
通信,其真正的通信行为,仅限于对载体的处理。
相关文档
最新文档