没有合适的资源?快使用搜索试试~ 我知道了~
基于FIPA-ACL的Agent灵活通信
理论计算机科学电子笔记159(2006)23-39www.elsevier.com/locate/entcs基于FIPA-ACL的Agent灵活通信Jamshid Bagherzadeh1乌尔米亚大学,乌尔米亚,伊朗S. Arun-Kumar阿伦-库马尔2,3印度新德里印度理工学院摘要多智能体系统中的通信是当前研究的一个重要课题。在本文中,语法和语义的多智能体编程语言,称为ECCS,定义。我们特别关注代理商的沟通。本文的主要贡献是一个新的和灵活的方式进行通信的代理。最后给出了一个著名的协议作为例子。保留字: 多代理系统,代理通信语言,FIPA-ACL。1引言在过去的十年中,一些新的面向Agent的语言和Agent通信语言(Agentcommunication languages,ACL),如KQML和FIPA-ACL,已被定义。其中两个在文献中得到了较多的关注:KQML [3]和FIPA-ACL [4]。这些语义的语义已被定义在代理人的心理状态,这是应该有信念,意图等条件。1Email:jamsh i d@cse. IIT D. ernet t。I n2Email:sak@c s e. IITD. ernett。In3 部分得到印度政府人力资源开发部F.26-1/2002-TS.V研究赠款的支助。1571-0661 © 2006 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2005.12.06024J. Bagherzadeh,S.Arun-Kumar/Electronic Notes in Theoretical Computer Science 159(2006)23我们假设当一个代理发送一个消息时,它应该满足一些先决条件,而且在发送消息之后,它可能会更新它的本地信息以保存必要的信息,我们称之为发送消息的效果另一方面,接收方可能会在收到消息后更新其本地信息。在[1]中,我们定义了一种用于多智能体编程的语言ECCS,并根据结构操作语义定义了语言的语义[10]。该语义的缺点之一是消息的先决条件和效果的静态性质,即,消息的先决条件和效果是固定的,程序员不能改变它们。这有两个缺点,首先,程序员可能不喜欢指定的条件和效果,他可能想定义一些其他的条件和效果,在发送或接收消息时使用其次,程序的合理性很低,在这个意义上,所有的代理人都以同样的方式对待,但程序员可能希望有不同的代理人以不同的方式进行通信例如,将消息发送给受信任的代理可能具有与不受信任的代理不同的效果。在本文中,我们已经改变了ECCS来解决这个问题。为了做到这一点,我们假设程序员将定义一组我们称之为施为式的通信动作,其中每个施为式都有一个前提条件和一个后动作。前提条件是一个公式,后动作是一个过程,描述了通信后Agent信息存储的变化所以通信行为的集合不是固定的并且新的可以由程序员添加。文献中包含了几种面向代理的语言,具有各种各样的交际行为(例如。AGENT-0 [12]、AgentSpeak(L)[11]、ConGORNET [7,5]、3APL [6]等)。这些都是与ECCS相同的缺点[1]。虽然这些语言中已经考虑了通信问题,但它们只形成了主要来自KQML或FIPA-ACL的通信行为(CA)的一小部分。我们使用CCS [8]并使用FIPA-ACL [4]中的一些原始CA对其进行扩展我们定义了语言的结构化操作语义[10]本文的组织结构如下。在第2节中,我们展示了信息存储的结构。第3节定义了代理程序设计语言ECCS的语法,第4节定义了ECCS的语义。第五部分给出了FIPA请求协议的实现,第六部分是结论。2信息存储令Ag={1,.,n}是一组代理。 每个代理都有一个信息存储(IS),其中包括一组信念和一组目标。 我们使用模态算子Bi和Gi分别表示Agenti∈Ag的信念和目标。我们有J. Bagherzadeh,S.Arun-Kumar/Electronic Notes in Theoretical Computer Science 159(2006)2325假设逻辑KD 45用于信念算子,逻辑KD用于目标。信念算子的这些公理是:(假设F和H是两个公式)K:Bi(FH)(BiFBiH)D:BiF <$Bi <$F4:BiFBiBiF5:<$BiFBi<$BiF除了上述公理之外,我们定义了以下公理,这些公理代表了Agent的信念和目标之间的合理关系。• BiGiF优惠• Bi<$GiF惠<$GiF2.1逻辑PrBGn [2]假设D是表示系统的对象集合的域,Const是常数集合,其中每个常数表示域D的对象,Var是变量符号集合,并且P={p,q,r,. }是一组原子谓词,每个原子谓词都有一个预定义的arity。 项t是常量或变量(变量在最大范围内普遍量化)。假设i∈Ag是一个智能体,则PrBGn的公式定义为:• 真和假是PrBGn的公式;• 任何原子谓词p(t1,. . .,tn)∈ P在PrBGn中,其中t1,. . .,tn是项;• 如果F和H在PrBGn中,则€F,F·H,F·H,BiF,GiF我们假设一个简单的字符串(sayi)具有一个定义,该定义是由basei定义的,并被定义为:Bi|当ω是一个封闭的PrBGnformula}如果公式没有任何自由变量,则该公式是封闭的。请注意,信念或目标基础可能具有嵌套模态的公式。逻辑PrBGn的语义在[2]中以相当标准的方式定义。我们假设置信区间f的集合是连续的,即。e. ,|=false.任何智能体i都有一个有限的目标集,称为i的目标基。agenti的目标baedasedaGi|当ω是一个封闭的PrBGnformula}请注意,代理的目标基础应该是一致的,并且它可能不会一直保持一致。 I. e. ,ZoGi|=false.这 两 种 情 况 的 关 系 式 分 别 为 : 对 于 矩 阵 i ,φ∈PrBGn,当矩阵i=(Pr Bi,P rGi)时,对于矩阵i的存储是一种约束关系,并且φ ∈PrBGn,定义为:26J. Bagherzadeh,S.Arun-Kumar/Electronic Notes in Theoretical Computer Science 159(2006)23| A)、• 吉吉|=Biφiff Bi|=φ• 吉吉|=Giφiff<$ω∈<$Gi,ω|=φ• 我们定义意向满足关系为:|= Iiφiff|= Giφ和i|= Biφ。第一条规则规定,如果φ是其信念基础的逻辑结果,则主体相信某个公式φ。第二个规则指出,代理i有φ作为目标i,如果φ是一个逻辑代数方程的someformulaω∈Gi。第三个规则是,如果φ是某个目标的结果,并且代理人不相信φ,则代理人打算使用公式φ。在这篇文章中,我们并不认为这是因为它可能会导致失败,因为它们已经在[ 2 ]中进行了讨论。文[2]也给出了PrBGn的命题片断的一个完备的证明系统。我们已经假设在那里定义的置信修正函数对于置信函数和去盲都有效。 我们将一个函数(RMBi,φ)与h φ一起向上调整babe,并将函数(RMBi,φ)与hφ一起向上调整babe。 此外,运算符R1用于从信念或目标基中删除公式。为了从baseBi中确定用于多个φ的值,我们对revise(baseBi,φ)进行计算。 从Goabeuevise(Gi,φ)中移动多个φ,其中移动隐含φ的目标。3Agent程序设计语言下面的BNF定义了编程语言L。π::=0|c(m)。π|c(m)。π|update(Oiω). π|perform(Bact). π|观察(l). π|π 1|π1+π2−→(1)(t.π不同结构的直观含义如CCS [8]。运算符c(m)和c(m)分别用于搜索和接收两个目标,其中c是两个目标之间的单向通信信道(具有输入端口c和输出端口c),并且m是一个具有诸如通知(ω)或请求(a)之类的可执行性的参数。这些施为式将在后续中解释。算子update(Oiω)(其中Oi∈ {Bi,Gi},ω∈BGn)和query(ω)分别用于更新和查询信息存储。observe(l)用于从环境中观察文字l,其中l=p或l=<$p,p∈ P是一个原子谓词。 Bact是程序员定义的内部动作(基本动作),而perform(Bact)则运行Bact。基本动作稍后再解释。复合运算符的含义与通常一样。a.π是一个可以执行动作a然后变成过程π的过程,π1+π2是选择,J. Bagherzadeh,S.Arun-Kumar/Electronic Notes in Theoretical Computer Science 159(2006)2327将被处决一不B我,B我GiGi这意味着要么π1或π2−→(t)是标签的调用(或procedurereinimperativelanguag es)withithactualparameters−→.形式上,ECCS代理是元组Mi= Bacts,Ch,LB,其中i是代理的标识,是它最初的信念基础和100是初始目标基础,Bacts是一组基本动作,Ch是一个列表i用于通信的信道。LB是我们称之为标号的一组过程,而L ∈ L是主程序。最后,P行为是一组用于交流的施为行为。一个basication定义为asb(−→x):φ(−→x),(−→x),其中b是f其中,−→x是一个关于p和dp re(b(−→x))=φ(−→x)∈BGn,dps t(b(−→x))=φ(−→x)∈BGn的方程。通道被定义为c(s,r),其中c是通道的名称,s是发送者,这是一个很好的选择。L是一个定义为A(−→x)=defπ(−→x)的函数,其中eπ∈L它是一般代数(1)的一个prgam,d-→x是一个prmamemers的集合。一施为行为(P act)类似于基本行为,有一个前提条件,但不是后置条件,而是一个后置行为,它是语法(1)的一个限制性程序(没有交流和标签)。任何一个P行为都表明了沟通之前要满足的条件和行动之后要达到的效果P行为将在4.2节中全面讨论。最后,多代理系统是可以一起通信的各种代理的并行组合。其语法定义为:M = M1|M2|......这是什么?|Mn其中Mi(i∈Ag)是智能体。3.1FIPA-ACL的性能FIPA-ACL [4]的一些表现形式如图1所示。perf.句法语义inform_s,inform(r,ω)FP:Bsω<$Bs(BifrωUifrω)RE:BrωFP:(FP(a)[s\r])BsAgent(r,a)BsIrDone(a)请求(r,a)回复:完成(a)s,agree(r,a)s,拒绝(r,a)其中,α=可行(a),β=<$Done(a)<$<$IsDone(a)s,failure(r,a)α=(e)单一(e)完成(e,可行(a)完成(a))完成(a)完成(a)完成(a)Fig. 1. FIPA-ACL的一些表现形式前两个施为动词是基本的,后三个是复合的28J. Bagherzadeh,S.Arun-Kumar/Electronic Notes in Theoretical Computer Science 159(2006)23施为式,是在基本施为式的基础上定义的。 每个施为式的句法形式为s,act(r,α)s,其中s是发送者,r是接收者,act是动作类型,α是消息的内容。每个施为语的语义由可行性前提(FP)和理性效果(RE)组成,可行性前提(FP)是在行为执行之前需要满足的,理性效果(RE)是行为执行之后发送者所期望的效果在这个图中,Urω意味着r关于ω是不确定的。虽然这个操作符是在FIPA-ACL执行式的语义中定义的,但它的语义是模糊的,我们将在框架中忽略它。在[2]中定义的证明方法的上下文中,当我们将不确定性算子与信念和目标结合时,出现了使用不确定性算子我们认为,在这种情况下,证明方法变得非常困难。此 外 , 在 该 图 中 , Bifr ( ω ) =Brω<$Br<$ω , Uifr ( ω )=Urω<$Ur<$ω。FP(a)[s\r]表示a的FP的一部分,其是s,Agent(r,a)表示Agentr可以执行动作a,Done(a,φ)表示动作a已经完 成( 如 果BiDone (a, φ) )或 打 算 完成 ( 如 果IiDone ( a,φ) ), 并 且φ在 动作 执行 之 前为 真, Done ( a)=Done ( a,true),Single(e)表示动作e是原子动作,Feasible(a)表示动作a的前提条件得到满足。我们将在第4.2节中再次讨论这些问题。4ECCS的语义ECCS的语义由结构操作语义(SOS)定义[10]。许多语义规则是CCS规则的扩展[8]。如果P是一组原子谓词,那么文字l要么是P的谓词,要么是它的否定。设c为沟通渠道,m为沟通行为或施为语。也让Actint是所有内部动作的集合。我们假设Actτ是一组行动,以及一个独特的无形行动τ。形式上:Actτ={τ}<${c(m),<$c(m)}<${observe(l)}<$Actint代理的配置包括在执行期间可能改变的那些部分。对于代理i,它是一个元组i,i,θi,did(i,a),其中i是代理的mam_i_p_r_a_m的函数,i是用于代理的函数,其中定义了a_i =(B i,G i)r_p_e_idid(i,a)指定操作a是由i在前一个转换中完成的。中定义了更新、查询和基本操作的操作语义2. 设O∈{B,G},ω∈PrBGn,且ω′=(ω′,ω′)是i BiGi修改后的代理i的信息存储运算符查询(ω)用于从信息存储中查询ω并绑定自由变量。此运算符J. Bagherzadeh,S.Arun-Kumar/Electronic Notes in Theoretical Computer Science 159(2006)2329tθitθiε′=revise(εi,Oiωθi)我update(Oiω). i,我吉吉|=ωθiηquery(ω). i,吉吉|=pre(b−→i/−→x))andd′=revise(i,post(b−→i/−→x)(tθi(t θ从rm(b−→)开始。i,(t)i(tθ图二. 内部操作的语义。如果存在基替换η,使得ωθiη由i的形式存储满足,则执行,否则不执行。 Weassumeη是一个基替换,使得Free(ωθi)≠Dom(η)。这里Dom(η)是列表自由(ωθi)是ωθi的自由变量的集合。在basictions的结构中,b(−→x)是abasiction,d−→是a−→−→t θi−→基项列表,并且(t θi/ x)是x其中核心观点是从rom−→开始的。4.1Observe和Label的语义−→(t)凡−→(t)是文字,用于更新通过观察环境中的一些原子谓词来识别智能体观测的目的有两个:一是观测环境中的新信息从环境中判断或验证现有的信念在以下我们假设mm m是一个大的子空间,因此,F ree(−→)mmm(n),Env表示环境,它包含一组相关的真值。谓词。4nv|= l(−→θiη),′= revise(i,Bil(−→θiη))titobserv e(l(−→)). i,tit如果没有(−→),则恢复将不会发生变化(tθiη−→一套信念。如果l−→t θi是接地的,则环境只−→(t θi)。 最后,如果没有替换η使得l(t θiη)由下式隐含:4环境可以被假设为一个代理人,由观察者命令观察L30J. Bagherzadeh,S.Arun-Kumar/Electronic Notes in Theoretical Computer Science 159(2006)23不B我(t)be a calloft. 让(t)定义为:那么我们有以下规则:中文(简体)|=l(−→θiη)obs erve(l(−→)). i,Inthisruleifl−→不i)isgroundhen'我=revise(B,Bil−→我(i)),即(tθ−→Bi−→(tθBil(t θi)将从信念集合中删除。但如果l(t θi)不接地thenΨ′I. 我们希望所有的人都能在一起,−→观察到t θi。 也就是说,如果Env具有多于一个可能的替换η,则仅其中一个将被观察。在标签执行的语义中,我们将使用变量的概念我们假设ρ′是ρ的一个变体,如果ρ′是通过自由变量的重命名从ρLetA(−→x)=defπ(−→x)bealabeldefinition,anddA−→A与actualparamers−→πv(−→x)beavariatofπ(−→x)weFree(πv(−→x))(Free(θi)<$D om(θi))=θ。A−→的结构πv−→i −→) ii′ ′ ′(t θ/x,α,θ,α,α → απ, α i,αi,θi,d(i,a))A−→)。αi,αi,θi,αi→απ′。i,(ti i4.2通信运营商我们有两个用于数据块的并行处理器:cs r(m)和dcs r(m),分别用于通过信道csr 5接收和发送信息m。我们假设m的形式为perf(α),其中perf是消息类型,如通知或请求,α是消息的内容。假设perf是一个典型的per-formative。要发送消息,发送者必须满足一些先决条件。 此外,可能会有一些修正的精神状态的代理人在虚拟的共同体中。我们没有规定任何一个程序员在通信操作符的语义中对心理状态进行修改和修正,相反,我们让程序员为任何特定的施为语定义这些先决条件和适当的修正。程序员被允许定义一个执行行为(P act),执行任何执行行为。 这个P动作有一个前置条件和一个后置动作,它们显示了发送perf之前要满足的条件,以及发送之 后 的 修 订 。 类 似 地 , 程 序 员 可 以 定 义 一 个 Pact , perfinfor anyperformativeperf,以在接收到消息后指定相应的修订。形式上,这些动作被定义为:对于发送,perfout(r,α)=<$ω(self,r,α),ρ(self,r,α)<$ω;对于接收,perfin(s,α)=<$−,ρ(self,s,α)<$ω。5请记住,chan_nel_c_r具有由r使用的seen_i_g_p_r_c_s_r和由r使用的reece_i_g_p_c_r_r_s_r。J. Bagherzadeh,S.Arun-Kumar/Electronic Notes in Theoretical Computer Science 159(2006)2331其中r,α是形式参数,ω(self,r,α)是PrBG的公式,n表示施为性的前提条件.ρ(self,r,α)是下面文法(2)的一个程序,它显示了在通信之后self要立即完成的内部动作。self是动作的所有者。考虑一个程序,而不是在行动后的公式,给我们更多的灵活性,以合理地采取行动。为了避免非终止过程,我们只允许简单的顺序程序的内部行动没有通信行为和递归。这种简化语言的正式语法是:ρ::= 0|update(Oiω). ρ|perform(b−→))。ρ|query(ω). ρ|observ e(p). ρ|ρ+ ρ(t12(二)我们假设pre(perfout(r,α))= ω和post(perfout(r,α))= ρ。请注意,通常没有任何先决条件。例4.1假设我们要为主体i定义一个名为inform的施为式。我们可以定义代理i的P行为通知为:通知输出(r,α):pre = Bselfα<$$> Bself(Brα<$Br<$α)post = update(BselfBrBselfα).query(BselfTrusts(r,self)).update(BselfBrα)这里self表示包括P行为的施事,即,本例中的代理I。我们也可以为代理i定义一个P actinform:在(s,α)中通知post= update(BselfBsα)。update(a).query(Trustable(s)).更新(Bselfα)其中e∈{c<$s(self)(inform(α)),c<$s(self)(informif(α))}通知的前提条件与图1中给出的条件类似。在它的后作用中,我们加上BselfBrBselfα,如果self相信r信任self,那么它将暗示r会相信α,并删除Brα的目标,因为self相信Brα直觉自我在收到s发送的通知(α)后,相信s相信α,因为它假设s是真诚的。此外,它还将暗示s不再打算通知(α),它也不再相信s相信self打算通知a(self可能已经打算让s通知α)。如果self相信s,那么它也相信α。32J. Bagherzadeh,S.Arun-Kumar/Electronic Notes in Theoretical Computer Science 159(2006)234.2.1输出动作首 先, 我们 定 义FIPA-ACL 中 使用 的一 些 运算 符我 们 假设 运算 符Feasible(a),其中a是一个原子动作或原子动作的选择,意味着a是可行的或其前提条件成立。如果一个选择是可行的,那么这个选择就是可行的。如果前提条件成立,则原子动作是可行的。一个交际行为的前提条件a,表示为pre(a),由相应的perfout(如果是发送动作)或perfin(如果是接收动作)定义。基本动作的前提条件在基本动作的定义中定义。动作的可行性可以通过检查其先决条件来直接检查,即, 对于动作a,我们可以检查pre(a)。 只有当我们知道a的确切前提时,这才成立。在我们被告知另一个行动者的行动是可行的情况下,我们可能不知道行动的确切前提条件。例如,假设i被告知j打算做出动作,一个可行的解决方案。在这种情况下,我可能对a的前提条件没有任何想法。然而,从i已经接收到的信息可以暗示Gj可行(kj,ak)。因此,我们使用两个不同的(然而语义上具有相同的含义)概念来区分这些情况。为了检查一个动作的确切前提条件,我们使用运算符pre(a),并意识到一个动作a,在不知道它的确切前提条件的情况下,我们使用谓词Feasible(a)。类似于FIPA-ACL,操作符Done(i,a,φ)描述了原子动作a刚刚在前一步中由i完成的情况,并且φ∈PrBGn在a的执行之前为真。我们不应该将Done(a,a,φ)存储在任何主体的信念库中,因为它只在a执行之后的状态下才成立。因此,如果我们想在信念库中存储Done(i,a,φ),它将在执行另一个动作后立即失效。我们在这里使用了三种不同的符号:HasDone(i,a),Done(i,a)和Do(i,a)。HasDone(i,a)表示动作a在之前的某个状态下已经完成它通常在信念运算符中使用Done(i,a)表示刚刚完成。我们不在任何模态操作符中使用它这个操作符通常用于施为句的语义中如果需要将其存储在IS中,则应将其转换为HasDone(i,a)或Do(i,a)。Do(i,a)表示动作a将来可能会做。它通常用于目标运算符内部。操作符Agent(i,a)描述了i是一个可以执行动作a的agent。假设有一个全局函数Agt,任何代理i都可以全局读取,但可以本地写入,即只有那些可以通过J. Bagherzadeh,S.Arun-Kumar/Electronic Notes in Theoretical Computer Science 159(2006)2333ǫ我可能会被我更新。这个函数被定义为Agt:Ag×Act→({true,false})×Φ,给定一个agent和一个action,指定agent是否可以执行该action,以及action的后置条件是什么。在这个定义中,Φ是PrBGn公式的集合,Ag是代理的集合,Act是动作的集合。为了检查BiAgent(j,a),我们使用函数Agt(带有参数j和a)。使用函数Agt也可以检查像BiBkAgent(j,a)这样的嵌套公式,并且它将减少到只检查Agt(j,a)。这是因为,i知道k可以访问该函数。L ∈ρ,ρ′和ρ′ ′是图ar(2)的一部分,θ,θ′,θ ′ ′是图a r(2)的一部分,θ,θ′,θ′ ′是图a r(2)的一部分,θ,θ ′,θ′是图a r(2)的一部分,θ∈L是图a r(2)的一部分. 我们将大步长转换关系定义为:我的天,,我的天,是的。,,你好。,我的天,你好。,第四个元素的配置是不重要的过渡=,我们表示为“-”。现在我们准备好定义输出操作的语义了设i和j是发送方和接收方代理,cij是 从 i 到 j 的 通 道 , α 是 消 息 的 内 容 , ω=pre ( perfout ( j ,αθi)),并且ρ=post(perfout(j,αθi)),消息发送的语义定义如下:Ψ|=ω,ωρ。,θ′,θ′,−θ我我我我我我c<$i j(perf(α)). i,我我这条规则指出,如果满足ω,则过程ρ。i可以执行一些输入和字符串,以执行procesc 过程管理是指过程管理中的通信行为和变更。信息存储器θi和替换θi分别被改变这些变化是由部分过程ρ的执行引起的。图3显示了某些性能的perfout(j,α))的默认定义。我们已经把施为句的后动作写成了一个简单的过程,尽管一个理性的施事者可能有一个复杂的过程。需要对图3进行一些讨论。在这个讨论中,我们通常使用意图来表示目标。在requestout(j,a)中,前提条件类似于图1中没有FP(a)[self\j]的对应部分,而且self的目标是a由j完成。在它的后动作中,如果self知道j信任self,它将暗示j将打算做a。与图1相反,这里我们不考虑ǫ34J. Bagherzadeh,S.Arun-Kumar/Electronic Notes in Theoretical Computer Science 159(2006)23请求输出(j,a)pre=<$BselfGjDo(j,a)<$BselfAgent(j,a)<$GselfDo(j,a)post =query(BselfTrusts(j,self)). review(BselfGjDo(j,a))agreeout(j,a)pre=β<$BselfBifjβpost=revise(BselfBjβ)/*β=GselfDo(Bself,a)*/拒绝(j,a)pre =<$pre(a)<$Done(self,a)<$GselfDo(self,a)<$BselfBifjβpost=revise(BselfBjβ)/*β=<$Feasible(a)<$GselfDo(self,a)*/failureout(j,a)pre=β1<$BselfBifjβ2post=revise(BselfBjβ2)/*β1=Done(self,−)<$Done(self,a)<$GselfDo(self,a)*//*β2=<$HasDone(self,a)<$GselfDo(self,a)*/图三. perfout(j,α)的默认定义。FP(a)[s\j]为简单起见agreeout(j,a)的前提条件表明self打算做a,并且不相信j知道这一点。所以在执行同意动作后,self相信j也相信self打算做a。refuseout(j,a)的前提条件表示a不可行,不做,self不想做a,不相信j知道这些事实。所以在发送拒绝动作后,self相信j也已经相信a是不可行的,并且它不打算由self来做。失 败 ( j , a ) 的 前 提 条 件 是 self 相 信 某 个 动 作 已 经 做 了 , Done(done,-done),但这个动作不是a,Done(done,-done),self不想再做a。 此外,self并不相信j知道这些事实。 所以在发送失败后,自己相信j也相信了这些事实。注意,我们使用了<$HasDone(self,a)来表示a还没有完成。4.2.2输入动作假设cij(perf(α))表示消息的接收,perfin(i,α)是一个参数j的行为,其中r是该参数,ρ=pst(perfin(iθj,αθjη)),并且η是αθj的可供选择的参数的一个值,其中在该参数的计算过程中,该参数将是不确定的。ηb i中的unif i i表示perf(αθj)的可查值,并从i发送的相应消息中获取其值。这一点将在J. Bagherzadeh,S.Arun-Kumar/Electronic Notes in Theoretical Computer Science 159(2006)2335平行组合规则。 接收的语义定义为:θ′=θn,θρ。,⟨Π,Ψ′,θ′′,−⟩jj j jjjj jci j(p erf(α))。j,J J这一规则表明,如果在 θj上设置子结构,则会将数据更新为包含替换η。 然后给出了能在新的子进程中运行的部分进程ρ,该过程为scij(p erf(α)). 这可 能 会 让 您 感 到 满 意 , 并 成 为 您 的 首 选。图4显示了P act的默认后动作,perfin(i,α)用于各种施为句。让我们解释一下图中P行为的含义-在(i,a)中请求pre =-post = query(Bselfpre(a)).review(GselfDo(Aself,Aself))+ query(<$Bselfpre(a))。review(<$GselfDo(self,a))}同意(i,a)pre =-post =review(BselfGiDo(i,a))在(i,a)中拒绝pre =-post = review(BselfBiβ<$Bselfβ)/*β=GiDo(i,a)*/(i,a)pre =-post = revise(BselfBiβ<$Bselfβ)中的失败/*β=GiDo(i,a)*/图四、中的P actperf的默认后操作。当然4.请求(a)的接收者将根据(i,a)中的请求行事在接收到请求(a)之后,如果a是可行的,那么self将打算做a,否则如果a是不可行的,那么self将不打算做a。agree的接收者会根据agree在(i,a)中的后置动作相信i已经打算做a在(i,a)的拒绝中,self认为a是不可行的,并且i没有目标去做。(i,a)中失败的后作用类似于中的拒绝。4.3求和与并行合成我们发现了一些关于Ummation1+Umm2的信息。Leta∈Actτthen:⟨Πi1,Ψi,θi,−⟩→⟨Π′, Ψ′,θ′,did(i,a)⟩i1i i⟨Πi1+Πi2,Ψi,θi,−⟩→⟨Π′,Ψ′,θ′,did(i,a)⟩i1i i⟨Πi2,Ψi,θi,−⟩→⟨Π′, Ψ′,θ′,did(i,a)⟩i2i i⟨Πi1+Πi2,Ψi,θi,−⟩→⟨Π′,Ψ′,θ′,did(i,a)⟩i2i i36J. Bagherzadeh,S.Arun-Kumar/Electronic Notes in Theoretical Computer Science 159(2006)23在并行复合的语义中,有两种情况:1:对于任何l∈ {τ}个字面值:⟨Πi,Ψi,θi,−⟩→⟨Π′,Ψ′,θ′,did(i,l)⟩我我我[……|...|... ]→[. |...|... ]我我我2:L etc<$i j(p erf(α))是yi发送的消息,而dci j(p erf(β))是j接收的消息。 然后,两个代理i和j的通信可以在如下条件下进行:如果该条件为aθi=βθjη,则通信是一个简单的单位。此通信的语义定义为:⟨Πi,Ψi,θi,−⟩→⟨Π′,Ψ′,θ′,did(i,γ¯)⟩,⟨Πj,Ψj,θj,−⟩→⟨Π′,Ψ′,θ′,did(j,γ)⟩i i i j j j[……|...|... |...|... ]→[……|...|... |...|... ]i i i j j j其中r eγ<$=c<$i j(p erf(αθi))和dγ=ci j(p erf(βθjη))。5示例:FIPA请求协议现在我们在框架的上下文中解释FIPA请求协议该协议允许一个代理请求另一个代理执行某些操作,并且接收代理要么执行该操作,要么以某种方式回复它不能[4]。图5显示了该协议在ECCS中的实现。在该协议中,发起者以请求开始,并且听者以拒绝或同意回复,并且在同意之后,它以通知或失败回复。在ECCS代码中,我们使用一些新的符号来代替以前定义的符号。如果c=(i,j)是从i到j的通道,我们使用符号(i,j)! 这是一个不重复的过程,它对我来说是一个很大的损失。 ntion(i,j)由j用来表示j从i接收消息。我们用Bel i p表示Bip,用Goal i p表示Gip。在图5中,表示了两个代理i和j之间的协议的示例执行消息的前置条件和后置操作应用于前面的表。在协议的执行过程中,我们假设新信念或目标的加入将导致矛盾的旧信念或目标及其后果的消除例如,请注意,代理i的最后一个状态没有公式2(因为Bipost(j,a))和公式4(因为informin的post-action)。在j的最后一个状态中,由于a的性能,公式3和4分别被删除,并且增加了5J. Bagherzadeh,S.Arun-Kumar/Electronic Notes in Theoretical Computer Science 159(2006)2337图五、FIPA请求协议在ECCS中的实现(上)及其执行(下)。38J. Bagherzadeh,S.Arun-Kumar/Electronic Notes in Theoretical Computer Science 159(2006)236结论和今后的工作在本文中,我们定义了一个语言ECCS,它的语法和语义。我们看到了如何用适当的操作语义学来定义新的交际行为。在[13]中,已经提出了代理通信语言的操作语义,这表明在FIPA-ACL中要做类似的工作本文的主要观点之一是灵活定义各种语义的交际行为和能力,以定义新的施为。然而,我们在定义施为式的一些前提条件和后动作时,考虑了FIPA-ACL的协议。当程序员想要使用新的协议时,他们可以改变语义在[9]中,提出了一种类似的通信方法本工作以各种方式扩展了[1]的框架最重要的是一种新的通信方法,以及使用来自[2]的更具表达力的信息存储但是由于篇幅的限制,我们没有在这里给出模型检测算法,但是它可以用类似于[1]的方式定义在这种情况下,我们可以简单地检查FIPA合规性属性以及代理的其他属性未来工作的一个问题是考虑完整的FIPA-ACL执行和协议集。引用[1] Bagherzadeh和S.阿伦库玛一个基于通信和并发的多代理框架。在LNCS,3326卷。Springer-Verlag,2004.[2] Bagherzadeh和S.阿伦·库马尔beliefsandgoals多模态逻辑中的分句分层归结。 InLNCS,第3452卷,第544 - 559页,2005年。[3] T. Finin和et. KQML作为Agent通信语言。在N.亚当和ET。例如,editors,P roc. 参见C1KM' 94,第456 - 463页,美国,1994。 ACMPress.[4] 基础为智能物理代理(FIPA)。Fipa2000代理规范,http://www.fipa.org。[5] G. DeGiacomo,Y. 我是说,还有H。 我爱你。CONGLOG是一种基于该结构的计算用户生成的一个概念。 ArticialInteligence,121(1- 2):109 - 169,2000.[6] K. 诉Hindriks和et.al. 3APL中的Agent编程 自治代理和多代理系统,2(4):357- 401,1999。[7] H. Levesque和et. GOOGLE:一种用于动态域的逻辑编程语言。JournalofLogicProgramming,31:59- 84,1997.[8] R.米尔纳通信和并发。普伦蒂斯-霍尔,1989年。[9] J. Pitt和E. H.玛姆达尼代理通信语言的基于协议的语义。在中国。 参见IJCAI,第486-491页,1999。[10] G. D.普洛特金操作语义学的结构化方
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功