許新華, 龔雄濤, 唐勝群
(①湖北職業技術學院,湖北 孝感 432000;②武漢大學軟件工程國家重點實驗室,武漢430072)
人工智能作為計算機科學的重要分支,它的目標就是構造能表現出一定智能行為的Agent。 面向Agent的程序設計被認為是軟件發展的下一個重大突破和新的軟件革命,很可能成為繼面向對象的第五代程序設計語言之后的第六代語言[1]。廣義上的Agent 指具有智能的任何實體,包括人類、智能硬件(如機器人)和智能軟件。智能軟件Agent是一種新的智能技術,目前人們對Agent的研究大致可分為智能Agent、多Agent系統(Multi-Agent System,簡稱 MAS)和面向 Agent的程序設計這 3個相互關聯的方面[2]。
關于 Agent的概念,下面是一些典型的觀點[3]:Agent是一個為完成某一特定任務而持續運行的軟件實體;Agent是通過代理你完成某項任務來模擬人類關系的計算機程序;Agent是一個可被委托任務的軟件實體;Agent是處在某個環境中的計算機系統,該系統有能力在這個環境中自主行動,以實現它們的設計目標。歸納起來,軟件Agent可定義為“一個能夠根據它對其環境的感知,主動采取決策和行為的軟件實體”。一般而言,Agent具有下列幾個關鍵特性[4]:自主性、社會性、適應性、持續性、推理和規劃能力、移動性、進化性。
(1)思考型Agent
思考Agent也稱為認知Agent,是一種符號AI,它保持了經典人工智能的傳統,是一種基于知識的系統,包括環境和智能行為的邏輯推理能力。
(2)反應型Agent
符號AI的特點和種種限制給思考型Agent帶來了很多尚未解決、甚至根本無法解決的問題,這就導致了反應型Agent(Reactive Agent)的出現。
(3)混合型Agent
混合型 Agent(Hybrid Agent)綜合了二者的優點,具有較強的靈活性和快速響應性。
Agent的應用主要是以多個Agent協作的形式出現。MAS的求解問題的能力超過單個 Agent,MAS是分布式人工智能研究的前沿領域,是指多Agent之間相互協調,相互服務,共同完成一個任務。MAS研究的主要內容包括任務的分解和分配、Agent間的協同、通訊以及系統結構動態組織與動態負載平衡[5]。
MAS是一個松散耦合的Agent網絡,這些Agent通過交互、協作進行問題求解(所解問題一般是單個 Agent能力或知識所不及的),其中的每一個Agent都是自主的,它們可以有不同的設計方法和語言開發而成,因而可以是完全異質的。
Agent組織架構采用的是一種樹型層次結構的組織方式,根據系統種各Agent所擔負的職能和所在的層次的不同,將其分為三個大類:管理Agent、輔助Agent和功能Agent。
(1)組中Agent的層次
在MAS系統構架模型中(見圖1 MAS系統中組內結構),一個MAS包括一個或多個組(Group),組內Agent分為上下兩層,上層是管理Agent和輔助Agent,FA1, FA2,…,FAi,…, FAn,其中MA是管理Agent, AA是輔助Agent, FA是功能Agent,各功能Agent在管理Agent與輔助Agent的管理和協同下協作完成某一任務。
(2)Agent組GROUP
定義在問題求解過程中所需要的所有管理 Agent、功能Agent和輔助Agent的集合為一個Agent組。在系統中,Agent組是由具體的待求解問題的提出而產生的、為協同完成某一個任務臨時組成的動態組織結構。

Agent采取聯合規劃的通訊協作方式進行協作,Agent間的通信是系統中較為關鍵的問題。操作性較好的通信方式,以“黑板”最為著名,也有人提出了介于黑板方式和預定點方式之間的類黑板方法[6](Similarity Blackboard Approach)。
每個GROUP在所屬的MAS里是被唯一標識的,每個GROUP中包含至少一個Agent,而每個Agent在所屬的MAS內也是被唯一標識的。Agent必須具有通信的能力才能執行任務,本MAS系統采用人工智能領域中經典模型—黑板模型結構(Black Board Architecture,BBA,見圖2)描述多Agent系統之間的通信方法。本模型試圖實現 Agent間的單播(Unicast)通信、多播(Multicast)通信、選播(Anycast)通信、廣播 (Broadcast) 通信,從而保證多 Agent系統的協同工作效率。本系統需要解決如下3類通信:
① GROUP內的單播、多播和廣播通信;
② 不同GROUP間的單播、組播、廣播和選播通信;
③ 單個Agent向MAS的廣播。
同一個組內各Agent間發送消息的通信原語為:
Send_Message(Sender,Receiver,Message):
① 當 Agent進行單播通信時,通信原語為:Send_Mesaage(Agent A1,Agent A2,Message);
② 當 Agent進行多播通信時,通信原語為:Send_Message(Agent A1,Multicast(A),Message);
其中,Multicast(A)={A2,A3,… ,Ak},Ai(i=1,2,…,k) 為該通信單元內除了發送Agent外任意的其他Agent;
③ 當 Agent進行廣播通信時,通信原語為:Send_Message(Agent Al, Group(default), Message), 其 中 ,Group(default)為發送Agent所在通信單元。

MAS內對于 Agent的組織不僅要滿足一個智能系統需要的恰當的層次結構,還應滿足Agent間的通信路由最優,人們求解問題的過程實質上是把問題分解和細化的過程,最終可以將問題分解為1棵樹。因此,本系統構造了一個樹形拓撲的多 Agent系統(Tree Topology Multi-Agent System,TTMAS)。
TTMAS通信模型如下頁圖3所示,整個通信模型呈樹狀拓撲結構,TTMAS中根節點是命名服務 Agent(NameServer-Agent)。該Agent擁有一個全局性的共享知識交換區,與 Agent命名服務器水平直接相連的 Agent為 MAS門戶Agent (MAS Gateway Agent,MGA),它為不同MAS間的通信起紐帶作用;在TTMAS中每個節點Agent都擁有自己區域的共享知識交換區,并且都能起到路由的作用,所以,該通信模型能夠實現系統全局的通信服務。

不同組中各 Agent間發送消息的通信原語為:Send_Message(Sender,Receiver,Message)。
① 當不同組間Agent進行單播通信時,通信原語為:
Send_Message(Agent Al,Group(B)::Agent Al,Message);
② 當不同組間Agent進行多播通信時,通信原語為:
Send_Message(Agent Al,Multicast(B),Message);
③ 當Agent進行不同組間的廣播通信時,通信原語為:
Send_ Message(Agent Al,Group(B),Message);
④ 當Agent進行選播通信時,通信原語為:
Send_Message(Agent Al,Group(B)::Any,Message)。
當Agent對MAS廣播時,通信原語為:
Send_Message(Agent Al,ALL,Message),
其中:ALL為MAS內所有Agent。
在數據庫語義查詢優化中運用TTMAS通訊模型,做了二次模擬實驗[7],主要差別在于圖書登記表BOOKS容量的區別,第一次它有2萬個元組,第二次它有5萬個元組,二次模擬實驗的結果見表1。

表1 二次 SQMAS模擬實驗數據
理論分析和模擬對比試驗表明,利用TTMAS模型設計的語義查詢優化算法能夠顯著地提高查詢效率,對于中間結果可能出現100,000條元組的查詢操作而言,采用該TTMAS通訊模型,整體運行時間可以節約30%以上;并且可以推測(見圖4和圖5),關系元組數目越大,查詢效率越高。


Agent技術誕生至今的20多年的時間里, 已經逐漸成為計算機網絡和人工智能的研究熱門甚至被一些文獻稱為“軟件開發的又一重大突破”。究其原因,主要是因為它為分析、設計和實現分布式信息系統提供了一種嶄新的方法。早在1991年Rao和Georgff就建立了基于BDI(信念,需求,意圖)觀念的Agent邏輯框架[8]。本文通過構建一個多Agent系統(Multi-Agent System),解決了多個Agent之間的組織結構;Agent間的通信采用“類黑板”的通信方式;在此基礎上設計了一個 TTMAS通訊模型,并以數據庫的查詢為例做了實證研究,整體效果良好,體現了 Agent的應用價值。
[1] 李賀華,林婧,單光慶.基于 Agent的 Web信息檢索應用研究[J].通信技術,2009,42(08):135-136.
[2] 劉大有,楊鯤. Agent研究現狀與發展趨勢[J].軟件學報,2003,11(03):315-321.
[3] 王一賓,李心科,劉桂江.軟件Agent技術與軟件體系結構[J].河南科技大學學報:自然科學版,2005,41(02):30-34.
[4] 李國徽,王洪亞.基于Agent的網上協同學習環境實現[J].微型電腦應用,2004,19(03):43-45.
[5] 李志芳,馮秀芳.基于模糊模型的多Agent故障診斷系統的研究[J].太原理工大學學報,2005,36(02):20-23.
[6] 李毅,羅詡,石純一.多Agent系統的一種交互策略[J].軟件學報,2004,10(07):9-12.
[7] 許新華.并行數據庫的語義查詢優化研究[J].西南師范大學學報,2007,8(04):77-81.
[8] 張鋒,尹東,吳文宇.基于Agent技術的遙感圖像檢索[J].通信技術,2008,41(10):119-121.