《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 多Agent通信機制與策略分析
多Agent通信機制與策略分析
來源:微型機與應用2013年第2期
段桂芹
(廣東松山職業(yè)技術學院,廣東 韶關512126)
摘要: 通過分析多Agent通信的基本過程,以JADE為例對Agent請求和接收消息的過程進行了詳細的剖析,重點分析了通信策略和傳遞方式。在傳遞方式中,應答方可以直接回復,也可以間接回復,簡要地分析了這些方式的優(yōu)缺點。
Abstract:
Key words :

摘  要: 通過分析多Agent通信的基本過程,以JADE為例對Agent請求和接收消息的過程進行了詳細的剖析,重點分析了通信策略和傳遞方式。在傳遞方式中,應答方可以直接回復,也可以間接回復,簡要地分析了這些方式的優(yōu)缺點。
關鍵詞: Agent;Agent通信Agent通信語言;傳遞方式

   隨著上網人數(shù)的增加,Agent技術正變得越來越流行,對Agent終端的使用需求也越來越強烈[1]。電子商務和Web扮演著越來越重要的角色,對開發(fā)者設計出能夠豐富用戶體驗或使得后臺工作更便捷或更有效的Agent提出了重大挑戰(zhàn)[2]。Agent用于幫助用戶、雇員或者其他的Agent,這就涉及了Agent之間的協(xié)調、合作和通信的問題[3]。
    隨著對功能更強大、效率更高和更通用的Agent的需求增加,開發(fā)者的壓力也隨之增加[4]。畢竟一個Agent能夠做的事情是有限的,如果讓一個Agent執(zhí)行太多的任務,那么開發(fā)的復雜度和維護的復雜度將增加。就像其他任何類型的應用一樣,對軟件的需求越多,要實現(xiàn)所需功能而花費的工作量就越大[5]。Agent一般用來完成專門的任務,做一件或多件任務非常好,但通常不會被設計成實現(xiàn)所有任務。如果多個Agent必須執(zhí)行更多的任務,可以通過增加它們的復雜度(這也增加了開發(fā)工作量)或使它們聯(lián)合工作[6]來實現(xiàn)。為了使Agent之間的合作能夠成功,需要進行有效的通信。
1 Agent的基本概念
    在人工智能領域中,Agent通過傳感器感知環(huán)境,通過效應器作用于環(huán)境,可以看成是一個機器人或其他實體。英國著名Agent理論研究者Jennings教授與 Wooldridge博士將其定義為[7-8]:Agent是一個具有自適應性和智能性的軟件實體,能代表用戶或其他程序,以主動服務的方式完成一項工作。該定義中增加了通信要求。
    Agent的性質主要有自主性、代理性、機動性和智能性[9]。一個Agent主要由目標模塊、感知器、效應器、信息處理器和通信機制構成[10]。目標模塊描述了Agent通過一系列活動所期望的目標;感知器用于獲取環(huán)境的狀態(tài)信息;信息處理器用于將從感知器中獲取的信息按照一定的協(xié)議進行處理,以決定采取相應的動作,并通過效應器作用于環(huán)境上。
2 Agent之間通信過程分析
    可以把一些相互合作或在一起工作的Agent視為一個小社區(qū)。對任一個社區(qū),為了使其一直發(fā)揮功效,需要一個共同的語言和通信媒體。語言和通信媒體對Agent之間的合作非常重要,需要編寫專門的協(xié)議或語言,或者通過其他的協(xié)議(如HTTP)來發(fā)送請求。考慮到與共創(chuàng)系統(tǒng)的互操作性,選擇已有的Agent通信機制,使用一個共同的通信形式實現(xiàn)一個Agent與另一個Agent的通信。
2.1 Agent通信語言(ACL)
    實現(xiàn)Agent之間的通信和互操作一直是Agent開發(fā)人員追求的目標。正如不同國家的人溝通時需要一個共同的語言(英語)一樣,Agent之間的通信也需要一個共同的語言——Agent通信語言ACL(Agent Communication Language)。
    ACL由FIPA(Foundation for Intelligent Physical)建議,是一個被提議的Agent通信的標準語言。另一個被提議的標準語言是KQML(Knowledge Query and Manipulation Language)。這兩種標準都是基于Searle于1960年發(fā)展的講話行為理論,該理論在20世紀70年代由Winograd和Flores加強并定義了一組行為和它們的意義。行為的內容沒有標準化,隨著系統(tǒng)的不同而不同。為了使Agent理解其他的Agent,它們不僅需要使用相同的語言,而且還需要一個共同的本體。一個本體是Agent知識庫的一部分,它描述了一個Agent能夠處理的事情以及它們相互之間怎樣聯(lián)系在一起。設計一個ACL語言需要分別設計交互協(xié)議、通信行為和內容語言。
2.2 FIFP與JADE
    FIFP(Foundation for Intelligent Physical)是一個已被IEEE接納為第十一個標準委員會的針對Agent和多Agent的標準組織,致力于促進基于Agent的技術和與其他技術標準的互操作性。主要做一些標準化工作,例如Agent傳輸、Agent通信、Agent管理、抽象體系結構和應用。在這些類別中,Agent通信是多Agent系統(tǒng)模型的主要核心。
    目前有許多可用的Agent框架、協(xié)議、語言。一般來說,選擇合適的語言、框架、協(xié)議應參照如下幾點:(1)支持消息傳遞/查詢和數(shù)據(jù)交換;(2)可獲得相應目標平臺的實現(xiàn);(3)易用性;(4)支持文本和二進制數(shù)據(jù)交換。
    JADE(Java Agent Development Framework)是一個采用JAVA語言實現(xiàn)的軟件框架。JADE顯然符合上述幾點要求,因此,選用JADE框架作為樣例框架來說明Agent之間的通信過程。
2.3 JADE中Agent之間的通信
    JADE運行時發(fā)送由其他Agent發(fā)過來的消息。但是Agent何時從隊列中獲取消息進行處理則由Agent的設計者來決定,過程如圖1所示。

    JADE消息格式如下所示:
    (1)消息的發(fā)送者。
    (2)接收者列表。
    (3)表明發(fā)送方想通過發(fā)送消息實現(xiàn)什么目標的通信。假設通信行為是REQUEST,表示發(fā)送者想讓接收者執(zhí)行一個動作;若是INFORM,表示發(fā)送者想讓接收者知道某個事實;若是PROPOSE或者CFP(Call for Proposals),表示發(fā)送方想進入協(xié)商。
    (4)內容包含了通過消息進行實際交換的信息(例如,在一個REQUEST消息中要求執(zhí)行的動作,或者在一個INFORM消息中發(fā)送者想透露一個事實等)。
    (5)內容語言表明了表述內容時所用的語法。發(fā)送者和接收者都必須能夠編碼和解析符合語法規(guī)則的表達式。
    (6)本體表明了在內容中所使用的符號詞匯表。發(fā)送者和接收者都必須對這些符號賦予相同的意義以使通信有效地進行。
    (7)一些附加的域用于控制幾個并行的會話和指定接收一個諸如conversation-id、reply-with、in-reply-to和reply-by這樣的應答的超時時間。在JADE中,一條消息被實現(xiàn)為jade.lang.acl.ACLMessage類的一個對象。并提供了get和set方法用于訪問由ACL格式指定的所有域。所有定義在FIPA說明書中的行為都被映射為ACLMessage類中的常數(shù)。
2.3.1 發(fā)送消息
    在JADE中,發(fā)送一條消息到另一個Agent很簡單。首先只需將一個ACLMessage對象相應的域填滿,調用Agent類的send()方法。例如,下面的代碼段創(chuàng)建一條消息通知一個呢稱為Peter的Agent,告訴它“今天出太陽了”:
    ACLMessage msg=new ACLMessage(ACLMessage.INFORM);
    msg.addReceiver(new AID("Peter", AID.ISLOCALNAME));
    msg.setLanguage("中文");
    msg.setOntology("天氣預報");
    msg.setContent("今天出太陽了");
    send (msg);
2.3.2 接收消息
    正如前面所提到的,JADE運行過程中,消息到達時將自動地被發(fā)送到一個接收者的私有消息隊列中。Agent可通過receive()方法從消息隊列中獲取消息。
    ACLMessage msg=receive();
    if(msg !=null)
    {
    Process the message
    }
3 多Agent系統(tǒng)的通信策略分析
    多Agent系統(tǒng)中,Agent間的通信方式主要分為兩類——黑板方式與信息傳遞方式。黑板方式即把信息放在廣泛可存取的“黑板”上,主要實現(xiàn)廣播通信。但是這種方式的實時性不高,難以滿足緊急情況的要求。消息傳遞方式是比較常見的一種方式。在該通信方式中,請求方事先需要知道應答方的地址,發(fā)送方的消息中也應包括自己的地址信息,以便應答方能正確返回。Client_Agent與Server_Agent之間的通信過程如圖2所示。
    對于應答方Server_Agent來說,它可以采用直接回復或間接回復。

 

 

    (1)直接回復方式:客戶端Agent(Client_Agent)發(fā)送一詢問信息到服務器端Agent(Server_Agent)并等待回答,服務器端Agent(Server_Agent)直接回復給客戶端Agent(Client_Agent)。最小通信時間為:服務器端Agent(Server_
Agent)的延遲與線路上的延遲之和。公式如下:
    TDirect=tLine+tServer(1)
    (2)間接回復方式:客戶端Agent(Client_Agent)發(fā)送一查詢信息到服務器端Agent(Server_Agent)并等待回答,服務器端Agent(Server_Agent)將回答放到第三方地址處,然后客戶端Agent(Client_Agent)再去該地址取走回答。最小通信時間為:服務器端Agent(Server_Agent)的延遲、線路上的延遲、客戶端Agent(Client_Agent)本身的延遲之和。公式如下:
    TIndirect=tLine+tServer+tClient(2)
    比較兩種方式,在直接回復方式中,客戶端Agent(Client_Agent)至少在TDirect時間范圍內要始終保持某種內部狀態(tài),這將占用其一部分內部資源,但實時性較高。而間接回復方式中,客戶端Agent(Client_Agent)只需周期性地查看第三方地址,只有在真正接收時,才恢復原來的內部狀態(tài)。
    本文主要討論了多Agent的通信方面的一些關注點。實際上,在Agent交互中,還存在協(xié)商、協(xié)調等方面的內容,這些都要利用Agent通信機制。所以定義一個好的通信機制至關重要,從現(xiàn)有的Agent通信機制中選擇合適的機制同樣重要。FIPA是致力于實現(xiàn)多Agent之間互操作的重要規(guī)范,它設計了一套ACL語言標準,對今后實現(xiàn)多Agent系統(tǒng)是一個很好的參考標準。
參考文獻
[1] JENNINGS N R.On Agent-based software engineering[J]. Artificial Intelligence,2000,11(7):277-296.
[2] CHAIB-DRAA.Industrial applications of distributed AI[J]. Comm.ACM,1995,38(11):47-53.
[3] 張慶.負載平衡系統(tǒng)中一種基于多agent和動態(tài)冗余技術的通用機制[D].濟南:山東大學,2007.
[4] 李燕.面向電子政務基于多Agent技術的協(xié)同辦公系統(tǒng)研究[D].哈爾濱:哈爾濱工業(yè)大學,2003.
[5] 田洋.基于Agent的分布式工作流系統(tǒng)的研究[D].哈爾濱:哈爾濱工程大學,2005.
[6] 陳海龍.多Agent系統(tǒng)通信策略[J].哈爾濱理工大學學報,2007,12(1):86-89.
[7] 于紅彥.基于KQML的多Agent系統(tǒng)通信機制研究[D].長沙:中南工業(yè)大學,2001.
[8] 瞿中.基于多Agent技術的通信系統(tǒng)設計與實現(xiàn)[J].計算機工程與設計,2007,28(24):6051-6054.
[9] 趙杰,楊柳,李樹平.資源受限的多Agent系統(tǒng)通信研究[J].計算機科學,2010,37(6):271-272.
[10] 王魯,王志良,楊溢.一種多Agent系統(tǒng)框架與協(xié)商機制研究[J].計算機應用研究,2012,29(3):852-855,858.

此內容為AET網站原創(chuàng),未經授權禁止轉載。
主站蜘蛛池模板: 国产精品免费视频一区一 | 日本伊人精品一区二区三区 | 国产亚洲精品在天天在线麻豆 | 黄网在线免费看 | 欧美午夜精品久久久久免费视 | 丝袜天堂 | 国产欧美一级片 | 黄色三级国产 | 国产凹凸在线观看一区二区 | 日本一区二区高清不卡 | 五月婷婷在线观看 | 精品在线视频免费 | 深爱婷婷网 | 午夜在线免费视频 | 亚洲图片欧美色图 | 福利800av视频导航 | 欧美成人午夜做受视频 | 亚洲第一页在线 | 99九九精品| 日本午夜小视频 | 中国一级毛片免费观看 | 波多野结衣视频免费在线观看 | 丝袜美腿美女被狂躁动态图片 | 日韩毛片在线看 | 国产日韩欧美swag在线观看 | 成年人在线看 | 久久夜夜视频 | 一本大道香一蕉久在线影院 | 国产无套免费网站 | 国产级a爱做片免费观看 | 久久精品网| 另类成人| 国产亚洲欧美在在线人成 | 久久国产一级毛片一区二区 | 欧洲视频一区 | 成人免费观看视频久爱网 | 亚洲图片在线播放 | 曰批免费视频播放在线看片 | 中文字幕在线观看免费视频 | 免费高清特黄a 大片 | 日韩精品一区二区三区中文精品 |