收藏 分享(赏)

人工智能教案,08章智能体8.3 智能体之间的通讯.doc

上传人:kpmy5893 文档编号:8089557 上传时间:2019-06-08 格式:DOC 页数:12 大小:43KB
下载 相关 举报
人工智能教案,08章智能体8.3 智能体之间的通讯.doc_第1页
第1页 / 共12页
人工智能教案,08章智能体8.3 智能体之间的通讯.doc_第2页
第2页 / 共12页
人工智能教案,08章智能体8.3 智能体之间的通讯.doc_第3页
第3页 / 共12页
人工智能教案,08章智能体8.3 智能体之间的通讯.doc_第4页
第4页 / 共12页
人工智能教案,08章智能体8.3 智能体之间的通讯.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、83 智能体之间的通讯智能体之间的交互和协调是通过智能体之间的通讯来完成的。当前智能体在完成了对其它智能体的建模之后,如果要对其它智能体进行控制和协调,比如改变其它智能体的目标,知识或者是对环境的置信,就应该通过通讯动作来完成。本节主要介绍了智能体之间的言语行为,及言语行为的实验,最后用一个对语言符号串的理解来详细地说明。 8.3.1 言语行为当前智能体可以通过两类方法来有意地影响其它智能体的动作。如果当前智能体知道其它智能体如何对其环境的变化做出反应,那么当前智能体就可以通过改变环境来达到所需的效果。例如,当前智能体可能把一块积木放在另一个智能体的前面,因为当前智能体知道其它智能体可能有摞积

2、木的行为。当前智能体可以试图改变其它智能体的目标、知识(或者置信)和动作选择机制。它可以通过直接“ 写“ 另一个智能体的认知机构中的这些元素来达到目的。例如一个人(可假定为当前智能体)可以使用这个方法来控制一个拥有这种接口通道的智能体。更有趣的是,当前智能体可以用这种方法和其它智能体通讯,使得其它智能体对其的置信和目标(最终使得其它智能体采取其所希望的行动)做出改变。这种通讯的媒介是依赖于其它智能体的感觉和知觉装置的。比如,它可能包括“写“(基于另一个智能体的视觉能力) ,“声音“(基于其它智能体的听觉能力)或者“广播“(基于其它智能体的电磁接受能力) 。当一个智能体采取如上之一的行动,并有意

3、的去影响其它智能体的认知结构时,我们称其为正在进行一个通讯的行为(Communication act ) 。人类的通讯行为一般涉及到了说话时采用的语言(使用声波作为媒介) 。因此,语言学家也把各种不同的通讯行为称为言语的行为(speech act) 。讲话的一方称为说话者(Speaker ) ,受话的一方称为听众(Listener)。根据哲学家 John Searle 的理论,言语的行为一般有如下几种:表示型(陈述了一个主张或者建议) ,指示型(要求或者命令) ,委托型(许诺或威胁) ,表达型(感谢或者道歉)和声明型(实际上可以改变世界的状态,比如“ 我现在宣布你们成为夫妻“) 。言语的行为可

4、能有不同的物理表现形式,它们可以是一个动作的序列(比如在手势语言中) 、一串符号(在文本中) 、一个声音扰动(尖叫讲话)或者闪光灯。无论采用什么形式,言语行为的表现都被称为讲话。据 Searle 所说,讲话不但要表达讲话的内容,还要表达讲话的类型。例如,如果采用英文文本作为媒介,那么语句“Put block A on block B“不但表达了其要求的性质,而且表示了命题的内容:On(A, B)。 (这种讲话的方式被说话者采用来改变听众的目标结构。 )假设言语的行为可以对听众的知道产生影响。如果当前智能体 A1 通过一个表示型的言语行为来通知听众 A2:一个由 f指代的命题为真。那么 A1 可

5、以认为这个言语行为的后果是:A2 知道 A1 要告诉它 f。这里没有描述 A2 是如何表达这个意图的,也没有描述 A1 如何表达以上的信息让 A2 知道。目标和意图的表达方式所涉及到的装置是比较多的。幸运的是,通过谈话(talk)可以代替 A1 想通过言语行为对 A2 产生的影响:A2相信 f。说话者想对听众产生的影响被称为言语表达效果的影响。当然,言语表达效果影响的实现完全依赖于听众,只有听众是极端的轻信,或者听众相信说话者是值得信赖的情况下,才能假定言语表达的效果。我们再回到前面的例子中,可通过假设 A1 认定它的行为(通知 A2 关于 f)具有言语表达效果来简化我们的讨论。我们假设 A1

6、 用公式 (A2,f)来表达它对 A2 的影响。当人类使用语言时,一个语句的言语表达效果有时会产生意外的效果。例如,在句子“You left the refrigerator door open“中,说话者的真正意图是要求受话者关上冰箱。言语行为的表达效果不同于所谓的间接言语行为(indirect speech act) 。一个采用间接言语行为的说话者假定听众可以从上下文的环境中推断出说话者的意图,并使用这个意图去决定言语行为的表达效果。因此,“Do you have the time?“是一个间接的问话方式(因为此方式更有礼貌) ,它要求听众回答告诉说话人时间,而并不要求听众是否知道时间。言

7、语行为的实现言语行为的实现,或者说物理的表现形式是讲话。现在讨论一下类似 Tell(a,f)的通讯行为是如何像说话者和听众之间的交谈一样进行传输的。可以考虑两种可能性:(a)从说话者到受话者之间的一个逻辑公式的直接传输;(b)说话者传送一些符号串,然后受话者把它们转换成自己的认知结构(比如说逻辑公式) 。如果说话者和受话者共享了某些基于特征的世界模型,而且这些模型的公式都由相同的符号构成,那么一个言语行为可以通过传递逻辑公式来实现(附加上传送的言语形式的类型) 。例如,在这种情况下,言语的行为 Tell(A2,Clear(B)On(B,C)可以通过如下方式实现:当前智能体发送公式 Clear(

8、B)On(B,C)给智能体 A2,并指示了所传送的言语行为的类型为表示型。注意,这样做要假定公式 Clear(B)On(B,C)相对于A2 所表达的意思和其对于当前智能体所表达的意思相同。甚至在我们对所有的智能体构建和编程的情况下,这种相同的知识表达词汇相同的假设条件还是太强了,对于我们某些感兴趣的情况是根本不可行的。即使两个智能体的知识表示词汇和模型在启动时是一致的,如果遇到任何新的对象,几乎不可能赋予它们相同的名字。如果智能体能够使用基本的原语创建新的谓词,这些等价的谓词也可能有不同的符号。正因为当前智能体对其它的智能体采取一种有意的方式,其它的智能体可以不采用逻辑公式来对世界模型进行编码

9、。 在如上的限制下,智能体之间的通讯如何成为可能呢?一种答案包括了前面阐述的两种选择中的第二个:用一个一致、通用的通讯语言,通过设计、使用和指令,通讯智能体对在这种通讯语言方式下传输的符号串如何改变其它智能体的认知结构进行学习。举例来说,采用有意的方式,当前智能体能够对如下情况作出预测:如果传送给智能体 A2 的字符串为“block B is on block C and block B is clear“,那么对 A2 的认知结构的言语表示效果就可以用当前智能体的知识库中的公式:(A2, On(B, C)Clear(B)来描述。在这个例子中,当前智能体通过发送语句“block B is on

10、 block C“和“block B is clear“来执行言语行为Tell(A2, On(B, C) Clear(B)。受话者把这些语句翻译成其知识表示的内部形式。当然,因为假定正在智能体的设计阶段,我们能选择我们喜欢的任何通讯语言。如果当前智能体也需要用一些像英语一样的语言与人通讯,就可以发明一个如同例子中的类似英语的语言。 使用基于符号串的语言蕴涵了两个问题的解决方案:给定一个言语的行为,如何生成一个符号串;如何把一个符号串翻译成一个对认知结构的影响。虽然鼓励在人工的智能体中使用符号串作为通讯的媒介,但是用机器生成并理解自然语言是依各自的兴趣进行的。通讯使用的符号串的生成和理解主要在自

11、然语言的领域中学习和研究范畴。因此对智能体之间通过字符串的通讯,处理将主要集中在类似于英语的语句言语行为中,这将通过自然语言处理的手段来解决。8.3.2 理解语言字符串一个符号字符串是被智能体由一个带有一定意图的言语方式所传递。我们要考虑的是如何将被接受方接受的字符串翻译成讲话方希望的命题公式。这个翻译过程所需的一些信息嵌入在字符串的语法属性里面。例如,讲话方可能希望将字符串block b is on block C 翻译成 On(B,C)而不是 On(C,B)。利用自然语言处理的句法分析和语义分析,我们可以得到所希望的结果。参见第 7 章自然语言处理下面所列出的语法规则都符合上下文相关语法,

12、其中表示逻辑蕴涵。例:一个扩充的短语结构语法如下所示: A Noun(E(A)B Noun(E(B)C Noun(E(C)Block A Noun(Block(A)Block B Noun(Block(B)Block C Noun(Block(C)Floor Noun(Floor(Fl)And Conj()Or Conj()Clear Adj(x Clear(x)Empty Adj(x Clear(x)Occupied Adj(x Clear(x)On Prep(xy On(x, y)Above Prep(xy On(x, y)Below Prep(xy On(y, x)Is Adj(x (x

13、) VP(x (x)Is PP(x (x ,) VP(x (x,)Prep(xy (x,y)NP() PP(x (x ,)()Noun() NP()Adj(x (x)NP() NP()()NP()VP(x(x) S() ()S( 1)Conj() S( 2) S( 1 2)显示“block B is on block C and block B is clear“分析过程的语义分析树,如右图所示:图 8-6 语义分析树t8-6_swf.htm下面就上述语义树的分析过程,进行详细的说明:从逻辑结构和每个终结符开始,先看一下语法规则为名词的终结符号。例如第一个规则 A Noun(E(A),它陈述了

14、和名词“A“ 相关的语法元件是原子 E(A)(E(A)的意思是由 A 代表的对象是一个实体)。在语法分析中,这个规则陈述了终结符 A在符号串的出现能被重写为 Noun(E(A)所有的规则按照自左向右的方式进行书写,因为这些公式将应用到自底向上的分析中(用箭头右边的分析代替终结符)。这里,执行名词置换,我们可以得到如下已经过分析的句子:Noun(Block(B) is on Noun(Block(C) and Noun(Block(B) is clear下面是对终结符 and 和 or 写的规则:And Conj()Or Conj( )应用 and 规则生成:Noun(Block(B) is o

15、n Noun(Block(C) Conj() Noun(Block(B) is clear公式中的部件并非与其他的终结符直接相关。在本例中,形容词 clear, empty 和 occupied 都陈述了一些对象的属性,因此它们应该用适当的关系常量和对象常量引入谓词演算算子。但是,在我们置换这些形容词时,可能不知道它们正在描述哪个对象的属性。因此,对形容词 clear,规则表中应该有如下的规则:clear Adj(Clear(x)。表达式 clear(x)解释为一个谓词演算公式,为了生成一个谓词演算公式,该范式应该应用到一些对象常量上。这里使用 l表达式来定义这种范式。因此对 clear 规则

16、的一个更精确的描述为:Clear Adj(x Clear(x) 。在这里一个短语的含义有时用另一个短语的含义来表达,例如,如果我们把该范式应用到对象常量 B,就会得到:(x Clear(x)B = Clear(B)。 把 Clear 规则应用到我们已经部分解释的句子,得到:Noun(Block(B) is on Noun(Block(C) Conj() Noun(Block(B) is Adj(x Clear(x)对于其它的形容词,利用相同的规则。下面是关于名词短语(非终结符)的规则。首先一个名词是一个名词短语(在语法上没有任何改变):Noun(s) NP(s)其中 f(s)是一个一元原子(带

17、有模式变量 ) 。应用这个规则产生:NP(Block(B) is on NP(Block(C) Conj() NP(Block(B) is Adj(x Clear(x)一个名词短语也是一个跟随着名词短语的形容词,在后面的归纳中给出。在动词短语中,本例只含有一个动词 is。它总是和一个形容词或一个介词短语合用。当用一个形容词时,我们有规则:Is Adj(x (x) VP(x (x)在这个规则中, 是一个一元关系常量,表示该形容词的相关属性。 (本例中没有涉及) 下面说明一个名词短语和一个动词短语如何组合成为一个句子:NP(s)VP(x (x) S(x (x)(s)s)其中 是任何关系常量,当应用

18、 表达式时, 的 变量x 被约束。这个组合通过把来自动词短语的一个 表达式应用到由名词短语给出的对象常量上面获得。 经过精简后得到:NP()VP(x (x) S() ()应用此规则会产生:NP(Block(B) is on NP(Block(C) Conj() NP(Block(B) VP(x Clear(x)NP(Block(B) is on NP(Block(C) Conj() S(Clear(B)Block(B)下面处理介词和介词短语:On Prep(xy On(x, y)注意:on 引入一个二元谓词,而 lambda 变量所跟踪的变量就是要求的变量。Prep(xy (x,y)NP()

19、PP(x(y (x ,y)()经过简化可以得出:Prep(xy (x,y)NP() PP(x (x ,)()其中 是与介词相关的任何二元关系常量。 然后后应用关于动词短语的规则和以上说明的其它规则:Is PP(x (x ,) VP(x (x,)可以得到:NP(Block(B) is Prep(xy On(x, y) NP(Block(C) Conj() S(Clear(B)Block(B)NP(Block(B) is PP(x On(x, C)(Block(C) Conj() S(Clear(B)Block(B)NP(Block(B) VP(x On(x, C)(Block(C) Conj() S(Clear(B)Block(B)S(Block(B) (Block(C) On(B,C) Conj() S(Clear(B)Block(B) 最后应用连接两个句子的规则:S( 1)Conj() S(2) S( 1 2)得到:S(On(B,C)Clear(B)Block(B) Block(C)就得到了我们应该分析的语义结果。图中,谓词演算公式显示在相邻的对应节点上。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报