版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Agent的通信合作可以獲得整體利益大于各部分和的效果,而通信是實(shí)現(xiàn)合作必不可少的基礎(chǔ)條件。Agent之間如果想進(jìn)行合作交流,就必須進(jìn)行通信。Agent所處環(huán)境的變化對(duì)Agent的行為有很大甚至是決定性的影響。一個(gè)Agent在對(duì)環(huán)境變化進(jìn)行預(yù)測時(shí),要考慮到其它Agent的活動(dòng)一般是不受自己控制,難于預(yù)測的。為了更好地預(yù)測環(huán)境變遷和增強(qiáng)自身的行動(dòng)能力、實(shí)現(xiàn)自身需求,Agent之間必須進(jìn)行通信。
通信是實(shí)現(xiàn)和提高Agent智能性的途徑,是Agent社會(huì)性的體現(xiàn),是Agent具有實(shí)用價(jià)值不可或缺的能力之一。
Agent的通信合作可以獲得整體利益大于各部分1Agent的通信過程發(fā)送方sender將自己的思想翻譯成通信所用語言的格式sender將語言格式加載到通信傳播載體,比如文字、聲音和圖象傳播載體到達(dá)接收方receiverreceiver讀取載體中的語言代碼receiver在思維空間中將語言代碼按其格式翻譯為思想,從而熟悉sender的思維狀態(tài)
Agent的通信過程發(fā)送方sender將自己的思想翻譯成通信2Agent的通信層次Agent的通信可以從邏輯上劃分成三個(gè)不同的層次,從上到下依次是:會(huì)話層、通信語言層和傳輸層。傳輸層指實(shí)現(xiàn)數(shù)據(jù)信息傳輸?shù)膮f(xié)議和有關(guān)機(jī)制,如:TCP/IP、UDP、HTTP、SMTP、IIOP等。通信語言層則指Agent賴以表達(dá)它關(guān)于通信內(nèi)容的觀點(diǎn)或態(tài)度并將其傳輸給會(huì)話方的一種媒介或工具。Agent可以就某特定問題提出請(qǐng)求、查詢、聲明、通知或作出回答等。會(huì)話層包括Agent用以管理整個(gè)會(huì)話過程的結(jié)構(gòu)、規(guī)則和有關(guān)的會(huì)話策略。
Agent的通信層次Agent的通信可以從邏輯上劃分成3Agent通信語言——ACLAgent的通信是它與其環(huán)境(指它所生存的系統(tǒng),包括其他Agent)協(xié)調(diào)、交流、合作和競爭等活動(dòng)的基礎(chǔ)。Agent可以通過某種“高級(jí)”的通信語言來表達(dá)它關(guān)于其生存環(huán)境的認(rèn)識(shí)、觀念、態(tài)度、它的知識(shí)、解題能力、合作愿望和方式、情感和它對(duì)問題空間的理解和定義等。這種專門用于Agent通信的語言稱為Agent通信語言,即(AgentCommunicationLanguage,簡稱ACL)。需要保證Agent在進(jìn)行通信時(shí)可以屏蔽掉其內(nèi)部的實(shí)現(xiàn)細(xì)節(jié),它們之間需要的是一種獨(dú)立于領(lǐng)域知識(shí)的、高層的、能夠直接互相操作的通信語言.
Agent通信語言——ACLAgent的通信是它與其環(huán)境(指4Agent通信中的對(duì)象在Agent的通信中涉及到兩類對(duì)象:參與通信的Agent和傳播載體。傳播載體的行為由自然規(guī)則約束,它一旦離開了發(fā)送方,就不再完全由發(fā)送方控制。Agent可以創(chuàng)建載體,發(fā)送載體,但是不能完全控制它的傳送。從實(shí)際的角度說,在動(dòng)態(tài)開放環(huán)境中的通信,其真正的通信行為,僅限于對(duì)載體的處理。Agent進(jìn)行通信就是要改變信息載體,將載體發(fā)送到接收Agent的可觀察環(huán)境中。
Agent通信中的對(duì)象在Agent的通信中涉及到兩類對(duì)象5ACL基礎(chǔ)為了在開放的環(huán)境中進(jìn)行合作,以Agent為基礎(chǔ)的各種系統(tǒng),至少體現(xiàn)在系統(tǒng)接口上,必須在以下的幾個(gè)層次上達(dá)成一致:傳輸層(Transport):Agent如何接受和發(fā)送消息。語言層(Language):每一條消息的含義是什么規(guī)則(Policy):Agent如何利用語言層的消息組織對(duì)話體系結(jié)構(gòu)(Architecture):根據(jù)各種協(xié)議如何連接不同的系統(tǒng)顯而易見,語言層是Agent通信語言所最關(guān)注的。
ACL基礎(chǔ)為了在開放的環(huán)境中進(jìn)行合作,以Agent為基礎(chǔ)的各6ACL的產(chǎn)生ACL最初源于KSE(KnowledgeSharingEffort知識(shí)共享工程)的工作。
KSE發(fā)布的兩個(gè)主要文件:知識(shí)查詢與操縱語言(KQML,KnowledgeQueryandManipulationLanguage
)。KQML是一種用做Agent通信的“外層”語言,它為消息定義了一個(gè)“信封”格式,使用這個(gè)格式,Agent可以明顯地說明一條消息不發(fā)音的言語想動(dòng)作的能力。KQML并不關(guān)心消息的內(nèi)容。知識(shí)交換格式(KIF,KnowledgeInterfaceFormat)。KIF是一種顯式地允許對(duì)某個(gè)特定的“談?wù)摰念I(lǐng)域”進(jìn)行知識(shí)表示的語言。它主要是要(盡管不是唯一地)形成KQML消息的內(nèi)容部分。ACL的產(chǎn)生ACL最初源于KSE(KnowledgeSha7ACL的特性(一)形式上,ACL應(yīng)具有表達(dá)性,語法簡單,容易被人類閱讀,能夠被各種使用者接受;為了傳輸和解析的方便,ACL應(yīng)是線性或容易轉(zhuǎn)變?yōu)榫€性的;為了易于集成到各種系統(tǒng)中其語法應(yīng)該可以擴(kuò)展。內(nèi)容上,ACL應(yīng)是分層的,尤其是要將ACL傳輸?shù)膬?nèi)容與它所要表達(dá)的通信動(dòng)作(即上面所說的命題態(tài)度)分開。ACL中應(yīng)該定義一個(gè)可擴(kuò)展的執(zhí)行原語集合,這些執(zhí)行原語提供了Agent認(rèn)知狀態(tài)與消息標(biāo)識(shí)之間的映射,而且該集合中至少應(yīng)包含獨(dú)立于具體應(yīng)用的執(zhí)行原語內(nèi)核。語義上,ACL語義的描述應(yīng)為Agent的通信提供一個(gè)模型,保證應(yīng)用系統(tǒng)的設(shè)計(jì)者們對(duì)ACL的理解和使用無論何時(shí)何地都具有一致性。ACL的特性(一)形式上,ACL應(yīng)具有表達(dá)性,語法簡單,容易8ACL的特性(二)實(shí)現(xiàn)上,ACL應(yīng)該可以充分利用現(xiàn)有的軟件技術(shù);外部接口簡單易用并且可以被各種語言實(shí)現(xiàn);位于通信原語底層的網(wǎng)絡(luò)情況對(duì)于用戶來說是透明的;應(yīng)用系統(tǒng)可以根據(jù)實(shí)際情況只部分地實(shí)現(xiàn)語言的內(nèi)容。網(wǎng)絡(luò)上,ACL應(yīng)該支持各種先進(jìn)的網(wǎng)絡(luò)技術(shù),連接方式(點(diǎn)到點(diǎn)、組播、廣播等)和通信模式(同步通信、異步通信等);提供一個(gè)豐富的執(zhí)行原語集合以支持高層語言和協(xié)議的構(gòu)造,且應(yīng)保證這些高層協(xié)議獨(dú)立于ACL使用的傳輸技術(shù)。工作環(huán)境上,ACL必須提供可以處理異構(gòu)和動(dòng)態(tài)的工具,必須支持與其它語言和協(xié)議之間的互操作,支持在大型網(wǎng)絡(luò)環(huán)境中的知識(shí)查找,易于與現(xiàn)存系統(tǒng)無縫地連接??煽啃陨?,ACL必須支持Agent之間可靠的、安全的通信,應(yīng)提供識(shí)別和表示錯(cuò)誤與警告的機(jī)制。
ACL的特性(二)實(shí)現(xiàn)上,ACL應(yīng)該可以充分利用現(xiàn)有的軟件技9兩種ACLKQML(KnowledgeQueryandManipulationLanguage)
KQML是由KSE制定的ACL,它常被ACL領(lǐng)域的研究人員當(dāng)作是說明、理解和建造新ACL的參照語言,也是目前應(yīng)用得最多的ACL。不過,由于KQML在建造的初期忽略了語義的科學(xué)說明,成為使用KQML的不同應(yīng)用系統(tǒng)之間進(jìn)行有效通信的障礙
FIPAACL(FoundationforIntelligentPhysicalAgentsAgentCommunicationLanguage)。FIPAACL是由FIPA制定的ACL,它與KQML有很多的相似之處,例如它們都是基于言語行為理論、分層的通信語言、有相同的語法形式等等。但是,KQML和FIPAACL使用的是完全不同的語義模型,因此,想在兩者之間進(jìn)行精確的轉(zhuǎn)換幾乎是不可能的
KQML通過對(duì)言語行為理論地研究,制定了一個(gè)框架模型來描述其消息的語義,而FIPAACL則使用一種多模態(tài)邏輯語言SL來描述其消息的語義含義,也正因?yàn)橛辛薙L語言的規(guī)范,使得FIPAACL具有良好的擴(kuò)展性。使用者可以根據(jù)自身的需要定義執(zhí)行原語,并且利用SL語言描述它的語義,這是它比KQML優(yōu)越的地方。從目前的使用情況看,大部分Agent應(yīng)用系統(tǒng)采用的通信語言為KQML,而使用FIPAACL的應(yīng)用系統(tǒng)則比較少。
兩種ACLKQML(KnowledgeQueryan10KQMLKQML是目前被應(yīng)用得最多的ACL,它的核心是提供一個(gè)通信原語(消息類型)的抽象集合,利用這些通信原語表達(dá)出消息發(fā)送者對(duì)待真正想要交換的信息的態(tài)度。為此,KQML被設(shè)計(jì)成一種分層的語言,它共有三個(gè)邏輯層次:內(nèi)容層(contentlayer)、消息層(messagelayer)和通信層(communicationlayer)。(ask-one:content(PRICEIBM?price):receiverstock-server:languageLPROLOG:ontologyNYSE-TICKS)執(zhí)行原語參數(shù)名參數(shù)值KQMLKQML是目前被應(yīng)用得最多的ACL,它的核心是11KQML邏輯層具體含義內(nèi)容層中攜帶的信息是一條KQML消息所真正要傳輸?shù)男畔?。通過利用內(nèi)容層,KQML消息可傳遞使用任何語言編寫的信息,實(shí)現(xiàn)KQML消息與傳輸內(nèi)容的分離,從而屏蔽Agent內(nèi)部實(shí)現(xiàn)的異構(gòu)性。消息層是KQML的核心,它最重要的功能是提供發(fā)送者對(duì)待內(nèi)容層信息所要傳遞的言語行為(比如,這條KQML消息是陳述一個(gè)事實(shí)還是發(fā)出一個(gè)詢問或者是請(qǐng)求),也就是說,這一層包含了發(fā)送者對(duì)待內(nèi)容層中信息的態(tài)度。此外,由于內(nèi)容層的表示語言對(duì)KQML消息來說是透明的,所以在消息層中還應(yīng)包含可以識(shí)別內(nèi)容層所使用語言的信息,即提供內(nèi)容層的語義信息,包括內(nèi)容層使用的是什么語言,如何解釋其所涉及信息的含義。這一點(diǎn)是非常重要的,從常規(guī)意義上說,如果相互通信的Agent之間,對(duì)同一個(gè)內(nèi)容有不同的理解,通信也就失去了其意義。但由于理論與現(xiàn)實(shí)的差距,真正做到這一點(diǎn)是非常不容易的。通信層中所攜帶的信息主要是為底層傳輸服務(wù)的。如提供KQML消息發(fā)送者和接收者的身份識(shí)別信息,是同步還是異步消息。KQML邏輯層具體含義內(nèi)容層中攜帶的信息是一條KQML消息所12語言的三要素任何一種語言都需要包括語法、語義和語用三大要素。語法確定了語言使用的基本符號(hào)(字符、字母、字)的集合,提供了一批可以用于判斷什么樣的符號(hào)序列(排列)是一個(gè)合法句子的約定,保證了語言形式的合法性。語義說明了合法的語言所蘊(yùn)涵的意義,為理解語言的含義提供了一個(gè)標(biāo)準(zhǔn)。語用則是關(guān)于語言使用方面的一些約定的規(guī)則。
語言的三要素任何一種語言都需要包括語法、語義和語用三大要13KQML的語法標(biāo)準(zhǔn)的KQML語法基于Lisp語言中的S-表達(dá)式。一條KQML消息以執(zhí)行原語(performative)開始,接在它后面的是若干個(gè)該原語所需要使用的參數(shù)名和參數(shù)值對(duì),參數(shù)名以“:”開始。KQML中定義了一些保留的參數(shù)名。不同的執(zhí)行原語可以有不同的參數(shù),而且其中有些參數(shù)是可選的。
KQML的語法標(biāo)準(zhǔn)的KQML語法基于Lisp語言中的S-表達(dá)14KQML的BNF表示KQML的BNF表示15KQML的保留參數(shù)(部分)參數(shù)名參數(shù)含義receiver一條KQML消息真正的接收者in-reply-to接收者針對(duì)前一個(gè)收到的消息回答時(shí)所使用的標(biāo)識(shí)號(hào)
sender
一條KQML消息真正的發(fā)送者
reply-with針對(duì)當(dāng)前的消息期望接收者在回答時(shí)
所使用的標(biāo)識(shí)號(hào)
ontology
解釋content中所使用的各種術(shù)語的含義content
一條KQML消息真正要傳輸?shù)膬?nèi)容language
content所使用的表示語言
KQML的保留參數(shù)(部分)參數(shù)名16
KQML的語義
言語行為理論認(rèn)為一個(gè)句子是由“以言指事”、“以言行事”和“以言成事”三個(gè)層次構(gòu)成?!耙匝灾甘隆北磉_(dá)了說話人的語氣以及相關(guān)的由滿足語言語法及詞匯要求的單詞所組成的句子內(nèi)容;“以言行事”將說話人的意愿傳達(dá)給聽話人,用來執(zhí)行相應(yīng)的動(dòng)作;“以言成事”則是完成動(dòng)作到達(dá)的目標(biāo)。映射到一條KQML消息上,“以言指事”是消息內(nèi)容完整的語法表示,包括消息真正要傳輸?shù)膬?nèi)容和說話者對(duì)待消息內(nèi)容態(tài)度的標(biāo)識(shí),即KQML的執(zhí)行原語?!耙匝孕惺隆卑凳境鱿⒌暮x,它將說話者的意圖傳達(dá)給聽話者。最后,“以言成事”與消息所暗指的動(dòng)作是否成功執(zhí)行有關(guān)。KQML的語義言語行為理論認(rèn)為一個(gè)句子是由“以言指事17KQML的執(zhí)行原語根據(jù)具體的應(yīng)用,KQML的執(zhí)行原語可擴(kuò)充執(zhí)行原語
執(zhí)行原語含義Announce(A,B,X)
A向B就任務(wù)X招標(biāo)
Bid(A,B,X)
A向B就任務(wù)X投標(biāo)
Award(A,B,X)
A向B委托任務(wù)XAccept(A,B,X)
A接受B委托的任務(wù)X
Thank(A,B,X)
A收到B的最終匯報(bào),通知B任務(wù)結(jié)束
合同網(wǎng)中的部分執(zhí)行原語KQML的執(zhí)行原語根據(jù)具體的應(yīng)用,KQML的執(zhí)行原語可擴(kuò)充執(zhí)18課堂思考結(jié)合上節(jié)課所講的基于合同網(wǎng)的協(xié)商和本節(jié)課的執(zhí)行原語,試畫出用執(zhí)行原語描述的過程示意流程圖。對(duì)上述的執(zhí)行原語可以進(jìn)行相應(yīng)擴(kuò)充。試構(gòu)造拍賣的執(zhí)行原語。課堂思考結(jié)合上節(jié)課所講的基于合同網(wǎng)的協(xié)商和本節(jié)課的執(zhí)行原語19Agent通信的本體本體問題的出現(xiàn)有如下原因:如果兩個(gè)Agent就某個(gè)領(lǐng)域的問題通信,那么,它們必須就描述這一領(lǐng)域使用的術(shù)語取得一致。本體就是對(duì)這些術(shù)語集合的說明。如前面所述的KIF就是定義本體的語言的例子。也開發(fā)了許多其他語言和工具表示本體,最重要的可能就是可擴(kuò)展標(biāo)記語言XML(一種定義語言的語言)和DARPAAgent標(biāo)記語言DAML(一個(gè)基于XML的語言)。Agent通信的本體本體問題的出現(xiàn)有如下原因:如果兩個(gè)Age20協(xié)調(diào)語言(黑板模型)開發(fā)多Agent系統(tǒng)最重要的先導(dǎo)之一是黑板模型(EngelmoreandMorgan,1988)。黑板模型首先于1973-1976年在美國Carnegie-Mellon大學(xué)開發(fā)的HEARSAY-Ⅱ系統(tǒng)中創(chuàng)立,又在HEARSAY-Ⅲ中得到發(fā)展,這個(gè)模型建議群體問題求解由一組“知識(shí)源”(Agent)完成,它們觀察一個(gè)稱為黑板的共享數(shù)據(jù)結(jié)構(gòu):隨著知識(shí)源不斷提供問題的部分答案,完成問題求解。協(xié)調(diào)語言(黑板模型)開發(fā)多Agent系統(tǒng)最重要的先導(dǎo)之一是黑21黑板模型結(jié)構(gòu)
黑板模型由“黑板”、知識(shí)源(KnowledgeSource)和控制機(jī)構(gòu)組成。黑板模型結(jié)構(gòu)黑板模型由“黑板”、知識(shí)源(Knowled22所謂“黑板”,就是一個(gè)分層的全局工作區(qū)(或稱全局?jǐn)?shù)據(jù)庫)。它用來存儲(chǔ)初始數(shù)據(jù)、中間結(jié)果和最終結(jié)果。整個(gè)黑板被分為若干層,每一層用于描述領(lǐng)域問題的某一類信息。高層信息可以看作是下層信息的抽象(或整體),反之,下層信息可以看作是上層信息的實(shí)例(或部分)。
所謂知識(shí)源,就是一個(gè)知識(shí)模塊。黑板結(jié)構(gòu)中具有多個(gè)知識(shí)源,每個(gè)知識(shí)源能用來完成某些特定的解題功能。知識(shí)源可以表示完成過程、規(guī)則集或邏輯斷言等形式。一個(gè)知識(shí)源可以視為一個(gè)大規(guī)則,其條件部分稱為知識(shí)源先決條件,動(dòng)作部分稱為知識(shí)源體。知識(shí)源的先決條件一旦與黑板狀態(tài)匹配,該知識(shí)源便被激活,這時(shí)知識(shí)源體執(zhí)行,其結(jié)果將導(dǎo)致黑板狀態(tài)的變化。知識(shí)源之間互相獨(dú)立,它們只能通過黑板進(jìn)行通訊和互相調(diào)用。所謂“黑板”,就是一個(gè)分層的全局工作區(qū)(或稱全局?jǐn)?shù)據(jù)庫)。它23控制機(jī)構(gòu)是求解問題的推理機(jī)構(gòu),由監(jiān)督程序和調(diào)度程序組成。監(jiān)督程序時(shí)刻注視著黑板狀態(tài),根據(jù)黑板狀態(tài)采用某種策略選擇合適的知識(shí)源。將其條件部分放入調(diào)度隊(duì)列,隨后條件部分與黑板狀態(tài)匹配,若匹配成功,則將其動(dòng)作部分放入調(diào)度隊(duì)列。動(dòng)作部分的執(zhí)行便又改變了黑板狀態(tài)。調(diào)度程序通過選擇所謂“聚焦”來優(yōu)先使用隊(duì)列中最重要、最有希望的知識(shí)源來執(zhí)行。黑板模型是一種適時(shí)推理模型,即系統(tǒng)能按“最適宜”的原則自行決定什么時(shí)候和怎樣使用知識(shí)。在黑板模型中,解空間被組織成層次性結(jié)構(gòu),層次結(jié)構(gòu)中每一層上的信息都表示局部解,相應(yīng)層次上的知識(shí)模塊對(duì)這種信息進(jìn)行處理,生成更高級(jí)的局部解,直到最后的解??刂茩C(jī)構(gòu)是求解問題的推理機(jī)構(gòu),由監(jiān)督程序和調(diào)度程序組成。監(jiān)督24黑板模型的變體——Linda20世紀(jì)80年代(Gelernter,1985;CarrieroandGelernter,1989),對(duì)黑板模型提出了有意義的變體——Linda,其核心是元組空間。<“person”,“Jack”,35>標(biāo)記值值進(jìn)程訪問元組空間的三條指令:out,in,rd黑板模型的變體——Linda20世紀(jì)80年代(Gelernt25Agent的通信合作可以獲得整體利益大于各部分和的效果,而通信是實(shí)現(xiàn)合作必不可少的基礎(chǔ)條件。Agent之間如果想進(jìn)行合作交流,就必須進(jìn)行通信。Agent所處環(huán)境的變化對(duì)Agent的行為有很大甚至是決定性的影響。一個(gè)Agent在對(duì)環(huán)境變化進(jìn)行預(yù)測時(shí),要考慮到其它Agent的活動(dòng)一般是不受自己控制,難于預(yù)測的。為了更好地預(yù)測環(huán)境變遷和增強(qiáng)自身的行動(dòng)能力、實(shí)現(xiàn)自身需求,Agent之間必須進(jìn)行通信。
通信是實(shí)現(xiàn)和提高Agent智能性的途徑,是Agent社會(huì)性的體現(xiàn),是Agent具有實(shí)用價(jià)值不可或缺的能力之一。
Agent的通信合作可以獲得整體利益大于各部分26Agent的通信過程發(fā)送方sender將自己的思想翻譯成通信所用語言的格式sender將語言格式加載到通信傳播載體,比如文字、聲音和圖象傳播載體到達(dá)接收方receiverreceiver讀取載體中的語言代碼receiver在思維空間中將語言代碼按其格式翻譯為思想,從而熟悉sender的思維狀態(tài)
Agent的通信過程發(fā)送方sender將自己的思想翻譯成通信27Agent的通信層次Agent的通信可以從邏輯上劃分成三個(gè)不同的層次,從上到下依次是:會(huì)話層、通信語言層和傳輸層。傳輸層指實(shí)現(xiàn)數(shù)據(jù)信息傳輸?shù)膮f(xié)議和有關(guān)機(jī)制,如:TCP/IP、UDP、HTTP、SMTP、IIOP等。通信語言層則指Agent賴以表達(dá)它關(guān)于通信內(nèi)容的觀點(diǎn)或態(tài)度并將其傳輸給會(huì)話方的一種媒介或工具。Agent可以就某特定問題提出請(qǐng)求、查詢、聲明、通知或作出回答等。會(huì)話層包括Agent用以管理整個(gè)會(huì)話過程的結(jié)構(gòu)、規(guī)則和有關(guān)的會(huì)話策略。
Agent的通信層次Agent的通信可以從邏輯上劃分成28Agent通信語言——ACLAgent的通信是它與其環(huán)境(指它所生存的系統(tǒng),包括其他Agent)協(xié)調(diào)、交流、合作和競爭等活動(dòng)的基礎(chǔ)。Agent可以通過某種“高級(jí)”的通信語言來表達(dá)它關(guān)于其生存環(huán)境的認(rèn)識(shí)、觀念、態(tài)度、它的知識(shí)、解題能力、合作愿望和方式、情感和它對(duì)問題空間的理解和定義等。這種專門用于Agent通信的語言稱為Agent通信語言,即(AgentCommunicationLanguage,簡稱ACL)。需要保證Agent在進(jìn)行通信時(shí)可以屏蔽掉其內(nèi)部的實(shí)現(xiàn)細(xì)節(jié),它們之間需要的是一種獨(dú)立于領(lǐng)域知識(shí)的、高層的、能夠直接互相操作的通信語言.
Agent通信語言——ACLAgent的通信是它與其環(huán)境(指29Agent通信中的對(duì)象在Agent的通信中涉及到兩類對(duì)象:參與通信的Agent和傳播載體。傳播載體的行為由自然規(guī)則約束,它一旦離開了發(fā)送方,就不再完全由發(fā)送方控制。Agent可以創(chuàng)建載體,發(fā)送載體,但是不能完全控制它的傳送。從實(shí)際的角度說,在動(dòng)態(tài)開放環(huán)境中的通信,其真正的通信行為,僅限于對(duì)載體的處理。Agent進(jìn)行通信就是要改變信息載體,將載體發(fā)送到接收Agent的可觀察環(huán)境中。
Agent通信中的對(duì)象在Agent的通信中涉及到兩類對(duì)象30ACL基礎(chǔ)為了在開放的環(huán)境中進(jìn)行合作,以Agent為基礎(chǔ)的各種系統(tǒng),至少體現(xiàn)在系統(tǒng)接口上,必須在以下的幾個(gè)層次上達(dá)成一致:傳輸層(Transport):Agent如何接受和發(fā)送消息。語言層(Language):每一條消息的含義是什么規(guī)則(Policy):Agent如何利用語言層的消息組織對(duì)話體系結(jié)構(gòu)(Architecture):根據(jù)各種協(xié)議如何連接不同的系統(tǒng)顯而易見,語言層是Agent通信語言所最關(guān)注的。
ACL基礎(chǔ)為了在開放的環(huán)境中進(jìn)行合作,以Agent為基礎(chǔ)的各31ACL的產(chǎn)生ACL最初源于KSE(KnowledgeSharingEffort知識(shí)共享工程)的工作。
KSE發(fā)布的兩個(gè)主要文件:知識(shí)查詢與操縱語言(KQML,KnowledgeQueryandManipulationLanguage
)。KQML是一種用做Agent通信的“外層”語言,它為消息定義了一個(gè)“信封”格式,使用這個(gè)格式,Agent可以明顯地說明一條消息不發(fā)音的言語想動(dòng)作的能力。KQML并不關(guān)心消息的內(nèi)容。知識(shí)交換格式(KIF,KnowledgeInterfaceFormat)。KIF是一種顯式地允許對(duì)某個(gè)特定的“談?wù)摰念I(lǐng)域”進(jìn)行知識(shí)表示的語言。它主要是要(盡管不是唯一地)形成KQML消息的內(nèi)容部分。ACL的產(chǎn)生ACL最初源于KSE(KnowledgeSha32ACL的特性(一)形式上,ACL應(yīng)具有表達(dá)性,語法簡單,容易被人類閱讀,能夠被各種使用者接受;為了傳輸和解析的方便,ACL應(yīng)是線性或容易轉(zhuǎn)變?yōu)榫€性的;為了易于集成到各種系統(tǒng)中其語法應(yīng)該可以擴(kuò)展。內(nèi)容上,ACL應(yīng)是分層的,尤其是要將ACL傳輸?shù)膬?nèi)容與它所要表達(dá)的通信動(dòng)作(即上面所說的命題態(tài)度)分開。ACL中應(yīng)該定義一個(gè)可擴(kuò)展的執(zhí)行原語集合,這些執(zhí)行原語提供了Agent認(rèn)知狀態(tài)與消息標(biāo)識(shí)之間的映射,而且該集合中至少應(yīng)包含獨(dú)立于具體應(yīng)用的執(zhí)行原語內(nèi)核。語義上,ACL語義的描述應(yīng)為Agent的通信提供一個(gè)模型,保證應(yīng)用系統(tǒng)的設(shè)計(jì)者們對(duì)ACL的理解和使用無論何時(shí)何地都具有一致性。ACL的特性(一)形式上,ACL應(yīng)具有表達(dá)性,語法簡單,容易33ACL的特性(二)實(shí)現(xiàn)上,ACL應(yīng)該可以充分利用現(xiàn)有的軟件技術(shù);外部接口簡單易用并且可以被各種語言實(shí)現(xiàn);位于通信原語底層的網(wǎng)絡(luò)情況對(duì)于用戶來說是透明的;應(yīng)用系統(tǒng)可以根據(jù)實(shí)際情況只部分地實(shí)現(xiàn)語言的內(nèi)容。網(wǎng)絡(luò)上,ACL應(yīng)該支持各種先進(jìn)的網(wǎng)絡(luò)技術(shù),連接方式(點(diǎn)到點(diǎn)、組播、廣播等)和通信模式(同步通信、異步通信等);提供一個(gè)豐富的執(zhí)行原語集合以支持高層語言和協(xié)議的構(gòu)造,且應(yīng)保證這些高層協(xié)議獨(dú)立于ACL使用的傳輸技術(shù)。工作環(huán)境上,ACL必須提供可以處理異構(gòu)和動(dòng)態(tài)的工具,必須支持與其它語言和協(xié)議之間的互操作,支持在大型網(wǎng)絡(luò)環(huán)境中的知識(shí)查找,易于與現(xiàn)存系統(tǒng)無縫地連接??煽啃陨?,ACL必須支持Agent之間可靠的、安全的通信,應(yīng)提供識(shí)別和表示錯(cuò)誤與警告的機(jī)制。
ACL的特性(二)實(shí)現(xiàn)上,ACL應(yīng)該可以充分利用現(xiàn)有的軟件技34兩種ACLKQML(KnowledgeQueryandManipulationLanguage)
KQML是由KSE制定的ACL,它常被ACL領(lǐng)域的研究人員當(dāng)作是說明、理解和建造新ACL的參照語言,也是目前應(yīng)用得最多的ACL。不過,由于KQML在建造的初期忽略了語義的科學(xué)說明,成為使用KQML的不同應(yīng)用系統(tǒng)之間進(jìn)行有效通信的障礙
FIPAACL(FoundationforIntelligentPhysicalAgentsAgentCommunicationLanguage)。FIPAACL是由FIPA制定的ACL,它與KQML有很多的相似之處,例如它們都是基于言語行為理論、分層的通信語言、有相同的語法形式等等。但是,KQML和FIPAACL使用的是完全不同的語義模型,因此,想在兩者之間進(jìn)行精確的轉(zhuǎn)換幾乎是不可能的
KQML通過對(duì)言語行為理論地研究,制定了一個(gè)框架模型來描述其消息的語義,而FIPAACL則使用一種多模態(tài)邏輯語言SL來描述其消息的語義含義,也正因?yàn)橛辛薙L語言的規(guī)范,使得FIPAACL具有良好的擴(kuò)展性。使用者可以根據(jù)自身的需要定義執(zhí)行原語,并且利用SL語言描述它的語義,這是它比KQML優(yōu)越的地方。從目前的使用情況看,大部分Agent應(yīng)用系統(tǒng)采用的通信語言為KQML,而使用FIPAACL的應(yīng)用系統(tǒng)則比較少。
兩種ACLKQML(KnowledgeQueryan35KQMLKQML是目前被應(yīng)用得最多的ACL,它的核心是提供一個(gè)通信原語(消息類型)的抽象集合,利用這些通信原語表達(dá)出消息發(fā)送者對(duì)待真正想要交換的信息的態(tài)度。為此,KQML被設(shè)計(jì)成一種分層的語言,它共有三個(gè)邏輯層次:內(nèi)容層(contentlayer)、消息層(messagelayer)和通信層(communicationlayer)。(ask-one:content(PRICEIBM?price):receiverstock-server:languageLPROLOG:ontologyNYSE-TICKS)執(zhí)行原語參數(shù)名參數(shù)值KQMLKQML是目前被應(yīng)用得最多的ACL,它的核心是36KQML邏輯層具體含義內(nèi)容層中攜帶的信息是一條KQML消息所真正要傳輸?shù)男畔?。通過利用內(nèi)容層,KQML消息可傳遞使用任何語言編寫的信息,實(shí)現(xiàn)KQML消息與傳輸內(nèi)容的分離,從而屏蔽Agent內(nèi)部實(shí)現(xiàn)的異構(gòu)性。消息層是KQML的核心,它最重要的功能是提供發(fā)送者對(duì)待內(nèi)容層信息所要傳遞的言語行為(比如,這條KQML消息是陳述一個(gè)事實(shí)還是發(fā)出一個(gè)詢問或者是請(qǐng)求),也就是說,這一層包含了發(fā)送者對(duì)待內(nèi)容層中信息的態(tài)度。此外,由于內(nèi)容層的表示語言對(duì)KQML消息來說是透明的,所以在消息層中還應(yīng)包含可以識(shí)別內(nèi)容層所使用語言的信息,即提供內(nèi)容層的語義信息,包括內(nèi)容層使用的是什么語言,如何解釋其所涉及信息的含義。這一點(diǎn)是非常重要的,從常規(guī)意義上說,如果相互通信的Agent之間,對(duì)同一個(gè)內(nèi)容有不同的理解,通信也就失去了其意義。但由于理論與現(xiàn)實(shí)的差距,真正做到這一點(diǎn)是非常不容易的。通信層中所攜帶的信息主要是為底層傳輸服務(wù)的。如提供KQML消息發(fā)送者和接收者的身份識(shí)別信息,是同步還是異步消息。KQML邏輯層具體含義內(nèi)容層中攜帶的信息是一條KQML消息所37語言的三要素任何一種語言都需要包括語法、語義和語用三大要素。語法確定了語言使用的基本符號(hào)(字符、字母、字)的集合,提供了一批可以用于判斷什么樣的符號(hào)序列(排列)是一個(gè)合法句子的約定,保證了語言形式的合法性。語義說明了合法的語言所蘊(yùn)涵的意義,為理解語言的含義提供了一個(gè)標(biāo)準(zhǔn)。語用則是關(guān)于語言使用方面的一些約定的規(guī)則。
語言的三要素任何一種語言都需要包括語法、語義和語用三大要38KQML的語法標(biāo)準(zhǔn)的KQML語法基于Lisp語言中的S-表達(dá)式。一條KQML消息以執(zhí)行原語(performative)開始,接在它后面的是若干個(gè)該原語所需要使用的參數(shù)名和參數(shù)值對(duì),參數(shù)名以“:”開始。KQML中定義了一些保留的參數(shù)名。不同的執(zhí)行原語可以有不同的參數(shù),而且其中有些參數(shù)是可選的。
KQML的語法標(biāo)準(zhǔn)的KQML語法基于Lisp語言中的S-表達(dá)39KQML的BNF表示KQML的BNF表示40KQML的保留參數(shù)(部分)參數(shù)名參數(shù)含義receiver一條KQML消息真正的接收者in-reply-to接收者針對(duì)前一個(gè)收到的消息回答時(shí)所使用的標(biāo)識(shí)號(hào)
sender
一條KQML消息真正的發(fā)送者
reply-with針對(duì)當(dāng)前的消息期望接收者在回答時(shí)
所使用的標(biāo)識(shí)號(hào)
ontology
解釋content中所使用的各種術(shù)語的含義content
一條KQML消息真正要傳輸?shù)膬?nèi)容language
content所使用的表示語言
KQML的保留參數(shù)(部分)參數(shù)名41
KQML的語義
言語行為理論認(rèn)為一個(gè)句子是由“以言指事”、“以言行事”和“以言成事”三個(gè)層次構(gòu)成?!耙匝灾甘隆北磉_(dá)了說話人的語氣以及相關(guān)的由滿足語言語法及詞匯要求的單詞所組成的句子內(nèi)容;“以言行事”將說話人的意愿傳達(dá)給聽話人,用來執(zhí)行相應(yīng)的動(dòng)作;“以言成事”則是完成動(dòng)作到達(dá)的目標(biāo)。映射到一條KQML消息上,“以言指事”是消息內(nèi)容完整的語法表示,包括消息真正要傳輸?shù)膬?nèi)容和說話者對(duì)待消息內(nèi)容態(tài)度的標(biāo)識(shí),即KQML的執(zhí)行原語?!耙匝孕惺隆卑凳境鱿⒌暮x,它將說話者的意圖傳達(dá)給聽話者。最后,“以言成事”與消息所暗指的動(dòng)作是否成功執(zhí)行有關(guān)。KQML的語義言語行為理論認(rèn)為一個(gè)句子是由“以言指事42KQML的執(zhí)行原語根據(jù)具體的應(yīng)用,KQML的執(zhí)行原語可擴(kuò)充執(zhí)行原語
執(zhí)行原語含義Announce(A,B,X)
A向B就任務(wù)X招標(biāo)
Bid(A,B,X)
A向B就任務(wù)X投標(biāo)
Award(A,B,X)
A向B委托任務(wù)XAccept(A,B,X)
A接受B委托的任務(wù)X
Thank(A,B,X)
A收到B的最終匯報(bào),通知B任務(wù)結(jié)束
合同網(wǎng)中的部分執(zhí)行原語KQML的執(zhí)行原語根據(jù)具體的應(yīng)用,KQML的執(zhí)行原語可擴(kuò)充執(zhí)43課堂思考結(jié)合上節(jié)課所講的基于合同網(wǎng)的協(xié)商和本節(jié)課的執(zhí)行原語,試畫出用執(zhí)行原語描述的過程示意流程圖。對(duì)上述的執(zhí)行原語可以進(jìn)行相應(yīng)擴(kuò)充。試構(gòu)造拍賣的執(zhí)行原語。課堂思考結(jié)合上節(jié)課所講的基于合同網(wǎng)的協(xié)商和本節(jié)課的執(zhí)行原語44Agent通信的本體本體問題的出現(xiàn)有如下原因:如果兩個(gè)Agent就某個(gè)領(lǐng)域的問
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025二手房購房合同協(xié)議
- 2025補(bǔ)充協(xié)議合同
- 2025技術(shù)合同簽訂指南
- 老年公寓護(hù)理員合同樣本
- 通信基站場地平整施工合同
- 室內(nèi)裝飾花崗巖安裝合同
- 國有企業(yè)采購廉政協(xié)議第八部分
- 專業(yè)培訓(xùn)及職業(yè)發(fā)展協(xié)議書(2篇)
- 道路照明降水施工分包協(xié)議
- 電影首映服裝租賃協(xié)議
- 長江引航中心公開招聘45人【共500題附答案解析】模擬試卷
- 監(jiān)控立桿規(guī)格及施工規(guī)范
- 2.軟件著作權(quán)-操作手冊(cè)編寫示例
- 行政管理專業(yè)公共政策學(xué)課程大綱
- 江蘇省無錫市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 可逆性胼胝體壓部綜合癥培訓(xùn)課件
- 國家開放大學(xué)《可編程控制器應(yīng)用實(shí)訓(xùn)》形考任務(wù)4(實(shí)訓(xùn)四)
- 寵物店洗護(hù)免責(zé)協(xié)議書
- 六年級(jí)數(shù)學(xué)上冊(cè)課件-6. 百分?jǐn)?shù)的認(rèn)識(shí)-人教版(共13張PPT)
- 2021-2022學(xué)年度第二學(xué)期中小學(xué)校德育活動(dòng)安排表
- 話劇《林黛玉進(jìn)賈府》
評(píng)論
0/150
提交評(píng)論