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

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

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

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

 

 

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

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品日韩精品欧美在线| 亚洲第一在线视频| 免费亚洲一区| 久久久久亚洲综合| 久久大逼视频| 欧美一区二区三区免费在线看| 亚洲永久免费视频| 亚洲一区二区三区免费观看| 亚洲视频久久| 亚洲伊人色欲综合网| 亚洲视频一区二区免费在线观看| 99热这里只有精品8| 日韩视频在线观看免费| 日韩亚洲国产欧美| 99这里只有精品| 一区二区三区四区五区在线| 亚洲视频一二三| 亚洲欧美欧美一区二区三区| 午夜精品免费在线| 久久国产精品久久久久久电车| 欧美永久精品| 久久久久青草大香线综合精品| 久久精品亚洲精品国产欧美kt∨| 久久精品主播| 榴莲视频成人在线观看| 欧美电影美腿模特1979在线看| 欧美成人免费大片| 欧美激情综合五月色丁香| 欧美日韩国产二区| 国产精品成人免费精品自在线观看| 欧美午夜精品伦理| 国产精品毛片va一区二区三区 | 国产午夜亚洲精品不卡| 国产日韩精品一区二区三区在线| 国产午夜精品美女视频明星a级 | 99国内精品久久久久久久软件| 99国产精品国产精品久久| 宅男66日本亚洲欧美视频| 亚洲在线国产日韩欧美| 午夜精品99久久免费| 欧美在线亚洲| 最新成人av在线| 一区二区国产精品| 亚洲一区影院| 久久精品国产69国产精品亚洲| 久久看片网站| 欧美二区在线看| 欧美视频福利| 国产视频在线观看一区| 亚洲国产成人精品视频| 一区二区三区四区五区精品| 亚洲欧美日韩国产一区| 亚洲国产欧美日韩精品| av成人黄色| 欧美一区二区播放| 久久综合狠狠综合久久综合88| 欧美大片在线观看一区二区| 国产精品igao视频网网址不卡日韩| 国产女人18毛片水18精品| 极品日韩av| 在线视频欧美一区| 久久精品亚洲热| 亚洲图片在线| 久久久久国色av免费看影院| 欧美国产日韩a欧美在线观看| 欧美无砖砖区免费| 激情成人av在线| 99ri日韩精品视频| 欧美中文字幕第一页| 99亚洲一区二区| 久久精品水蜜桃av综合天堂| 欧美精品激情| 国产香蕉97碰碰久久人人| 亚洲精品社区| 欧美一区激情| 99精品久久久| 玖玖视频精品| 国产精品欧美经典| 亚洲品质自拍| 欧美伊人久久大香线蕉综合69| 99国产精品久久久久老师| 欧美中文字幕在线| 欧美日韩国产高清视频| 韩国一区二区在线观看| 亚洲一级在线| 在线视频日韩| 欧美成人高清视频| 国产日韩欧美一区二区三区在线观看 | 午夜视频一区二区| 一本色道久久综合亚洲精品不卡 | 国产在线观看91精品一区| 日韩亚洲在线| 亚洲精品乱码久久久久久久久| 欧美在线精品一区| 欧美午夜一区二区福利视频| 亚洲第一福利视频| 亚洲欧美久久| 亚洲一卡久久| 欧美金8天国| 韩日精品中文字幕| 午夜精品久久久久久久久久久久| 99国产一区| 欧美成人a视频| 韩国精品久久久999| 午夜精品三级视频福利| 亚洲欧美国产精品桃花| 欧美日韩视频在线| 亚洲区免费影片| 亚洲国产精品成人精品| 欧美专区中文字幕| 国产精品视频免费| 中文精品在线| 亚洲香蕉视频| 欧美三级电影大全| 日韩亚洲一区在线播放| 日韩亚洲欧美高清| 欧美大片第1页| 亚洲国产精品一区二区www在线| 亚洲第一福利视频| 久久久青草婷婷精品综合日韩 | 欧美在线日韩精品| 国产精品日本欧美一区二区三区| aa成人免费视频| 一区二区激情视频| 欧美激情一区二区三区不卡| 亚洲国产精品123| 最新日韩中文字幕| 欧美va日韩va| 亚洲国产日本| 日韩亚洲一区二区| 欧美日韩国产精品| 亚洲日本在线视频观看| 99精品热视频| 欧美日韩系列| 一区二区欧美在线观看| 亚洲一区在线播放| 国产精品一区久久| 欧美在线观看视频一区二区| 久久久亚洲一区| 一区二区三区在线观看视频 | 亚洲欧洲日产国码二区| 欧美+日本+国产+在线a∨观看| 怡红院av一区二区三区| 亚洲激情社区| 欧美激情一区二区三区在线视频观看 | 久久综合九九| 亚洲黄色成人久久久| 在线视频精品一区| 国产精品家教| 性亚洲最疯狂xxxx高清| 久久久久久香蕉网| 在线观看日韩国产| 99re热这里只有精品免费视频| 欧美日韩精品一区二区| 亚洲午夜在线| 久久久久www| 在线免费观看日本一区| 99视频热这里只有精品免费| 欧美色精品天天在线观看视频| 亚洲午夜免费视频| 久久久精彩视频| 亚洲国产高清自拍| 亚洲一区二区三区影院| 国产视频精品免费播放| 亚洲国产黄色片| 欧美日韩综合不卡| 午夜激情综合网| 欧美国产第二页| 这里只有精品电影| 久久久久久综合网天天| 亚洲激情在线激情| 亚洲欧美国产三级| 黄色成人免费网站| 中文网丁香综合网| 国产一区二区精品久久91| 日韩视频不卡中文| 国产精品一区二区三区久久久 | 蜜桃久久av一区| 一区二区三区日韩欧美| 久久久午夜精品| 99国产精品久久久久久久| 久久久久久久波多野高潮日日| 亚洲娇小video精品| 午夜精品免费在线| 亚洲国产1区| 欧美中文字幕视频在线观看| 亚洲国产高清视频| 欧美有码视频| 亚洲看片免费| 久久香蕉精品| 亚洲午夜激情网页| 欧美电影在线观看| 欧美一区二区高清| 欧美三级电影一区| 久久www免费人成看片高清| 欧美日韩一区二区三区在线 | 久久电影一区| 国产精品高潮久久| 亚洲日本无吗高清不卡| 国产麻豆精品theporn|