梅創社
(陜西工業職業技術學院 陜西 咸陽 712000)
隨著計算機技術和人工智能的發展以及互聯網(Internet)和萬維網(World Wide Web)的出現與發展,集中式系統已不能完全適應科學技術的發展需要。并行計算和分布式處理等技術(包括分布式人工智能技術)應運而生,并在過去20多年中獲得快速發展。近10年來,Agent和多Agent系統的研究成為分布式人工智能研究的一個熱點。
規模,使系統具有比單個系統更大的開放性和靈活性。
5)容錯性 系統具有較多的冗余處理節點、通信路徑和知識,能夠使系統在出現故障時,僅僅通過降低速度或求解精度,就可以保持系統正常工作,提高工作可靠性。
6)獨立性 系統把求解任務歸約為幾個相對獨立的子任務,從而降低了各個處理節點和子系統問題求解的復雜性,也降低了軟件設計開發的復雜性。
分布式人工智能(Distributed Artificial Intelligence,DAI)[1]的研究源于20世紀70年代末期。當時主要研究分布式問題求解,其研究目標是要建立一個由多個子系統構成的協作系統,各子系統之間協同工作對特定問題進行求解。分布式人工智能系統具有如下的特點:
1)分布性 整個系統的信息,包括數據、知識和控制等,無論是在邏輯上或者是物理上都是分布的,不存在全局控制和全局數據存儲。系統中各路徑和節點能夠并行地求解問題,從而提高了子系統的求解效率。
2)連接性 在問題求解過程中,各個子系統和求解機構通過計算機網絡相互連接,求解問題的通信代價和求解代價。
3)協作性 各子系統協調工作,能夠求解單個機構難以解決或者無法解決的困難問題。
4)開放性 通過網絡互連和系統的分布,便于擴充系統
在信息技術,尤其是人工智能和計算機領域,可把Agent看作是能夠通過傳感器感知其環境并借助執行器作用于該環境的實體。對于計算機系統而言,Agent是指當使用者向機器說明完成某些任務,而無需了解機器自身是如何工作,即將其處理為黑箱時,就稱其為Agent,其典型的結構框圖[2]如圖1所示。

圖1 Agent的典型結構Fig.1 The typical structure of Agent
Agent與分布式人工智能系統一樣具有協作性、適應性等特性,此外,Agent還具有如下重要性質:
1)行為自主性 Agent能夠控制它的自身行為,其行為是主動的、自發的、有目標和意圖的,并能根據目標和環境要求對短期行為作出規劃。
2)作用交互性,也叫反應性 Agent能夠與環境交互作用,能夠感知其所處環境,并借助目己的行為結果,對環境做出適當反應。
3)環境協調性 Agent存在于一定的環境中,感知環境的狀態、事件和特征,并通過其動作和行為影響環境,與環境保持協調。環境和Agent是對立統一體的兩個方面,互相依存,互相作用。
4)面向目標性 Agent不是對環境中的事件做出簡單的反應,它能夠表現出某種目標指導下的行為,為實現其內在目標而采取主動行為。
5)存在社會性 Agent存在于由多個Agent構成的社會環境中,與其他Agent交換信息、交互作用和通信。
6)工作協作性 各Agent合作和協調工作,求解單個A-gent無法處理的問題,提高處理問題的能力。
7)系統適應性 Agent的程序在啟動后,能夠在相當長的一段時間內維持運行狀態,不隨運算的停止而立即結束運行。
8)系統適應性 Agent不僅能夠感知環境,對環境做出反應,而且能夠把新建立的Agent集成到系統中而無需對原有的多Agent系統進行重新設計,因而具有很強的適應性和可擴展性。
9)結構分布性 在物理上或邏輯上分布和異構的實體(或真體),如主動數據庫、知識庫、控制器、決策體、感知器和執行器等,在多Agent系統中具有分布式結構,便于技術集成、資源共享、性能優化和系統整合。
10)功能智能性 Agent強調理性作用,可作為描述機器智能、動物智能和人類智能的統一模型。
1)多Agent系統的體系結構[3]
從通信的角度出發,多Agent系統的體系結構一般可分為3種,如圖2所示。

圖2 多Agent系統的體系結構Fig.2 Multi-agent system structure
從圖2中可以看出:(a)系統中的Agent直接通信,結構簡單,易于實現,適用于Agent個數較少的MAS系統;(b)系統中的Agent未直接通信,而是通過協調者轉發消息,尋求適當的合作伙伴,有利于平衡系統的通信負載,而協調者的處理機制決定了整個系統的效率,適用于大多數MAS系統;(c)系統中的Agent組成若干Agent聯盟,每個聯盟擁有自己的協調者,各個聯盟內部的通信類似于圖2的(b),聯盟之間的通信由各協調者實現,結構比較復雜,適用于大型MAS系統。實踐中,可根據實際情況靈活采用上述的體系結構,或與各種結構相結合,創造適合需求的系統模式。
2)多Agent系統的協作、協商和協調
在計算機科學領域,最具有挑戰性的目標之一就是如何建立能夠在一起工作的計算機系統。
由于多Agent系統中信息和資源的分布性以及系統中各個自治或者半自治Agent所擁有能力的有限性,為了實現系統設計的任務和目標,系統中的各個Agent需要進行有效的協同工作。另外,主體間的協作也是多主體系統與其他相關研究領域(如分布式計算,面向對象的系統,專家系統等)區別開來的關鍵性概念之一。
隨著計算機系統越來越復雜,如何將智能的自主系統(即主體)集成起來,則更具挑戰性。而主體間的協作是保證系統能在一起共同工作的關鍵。
Agent之間的協作和協商是多Agent研究的核心問題之一。多Agent協調是指多個Agent通過協調各自行為,合作完成共同目標。具有不同目標的多個Agent對其目標、資源等進行合理安排,以協調各自行為,最大程度的實現各自目標。協調是對環境的適應,在這個環境中存在多個Agent并且都在執行某個動作。協調一般是改變Agent的意圖,協調的原因是由于其他Agent意圖的存在。協作是非對抗的Agent之間保持行為協調的一個特例,它通過適當的協調,合作完成共同目標。同時,由于應用領域,問題求解方法,技術實現途徑等的差異性和復雜性,Agent間進行協同的方式多種多樣,既有涉及沖突問題消解的協商,對立性的競爭,又有非對立性,友好的合作。其中請求/服務是多Agent系統中一類典型的合作方式。
對策和學習是Agent協作的內在機制[4]。Agent通過交互對策,在理性約束下選擇基于對手或聯合策略的最佳響應行動。Agent的行動選擇又必須建立在對環境和其他Agent行動了解的基礎上,因而需要利用學習方法建立并不斷修正對其他Agent的信念。Agent的協作始終貫穿著對策和學習的思想。多Agent系統的協作,從本質上說是每個Agent學習其他Agent的行動策略模型而采取相應的最優反應。Agent學習方法包括貝葉斯學習和強化學習等,強化學習是多Agent系統的主要學習方法。近年來,以互連網為實驗平臺,設計和實現了具有某種學習能力的用戶接口Agent和搜索引擎Agent,它們已經成為多Agent學習系統,在人機協作系統中,人也是一個Agent。
使用對策論研究多Agent協調、協作是目前MAS研究的一個熱點,這是因為對策論被公認為研究人類交互的最佳數學工具,將這一工具應用于多Agent的交互是很自然的。傳統對策論的協調與協作一般通過建立對方效用模型實現。多Agent的協調與協作有如下3個實現方法:
①無通訊的協調(協作),其方法與傳統對策論相似。
②有中心控制的通信協調:類似于傳統操作系統的方法。
③協商:協商是多Agent系統實現協同、協作、沖突消解和矛盾處理的關鍵環節,其關鍵技術有協商協議、協商策略和協商處理3種。
Internet和WWW己成為世界范圍內的電子商務工具。Internet用戶的不斷增長將在網絡學習中帶來無限希望。同時,網絡低帶寬,高延遲越來越成為限制網絡應用發展和推廣的一個瓶頸。人們希望通過軟件來解決這個矛盾,移動A gent就是在這種形式下提出的一種新的分布式計算模型。
移動Agent模式的關鍵特征[5]就是網絡中的任一主機都擁有處理資源、處理器和方法組合的高度靈活性,方法沒有鎖定在一臺主機上,而是在整個網絡內共享。移動Agent模式為分布式系統的設計、實現和維護帶來了新的活力,該模式能減輕網絡負載、克服網絡隱患并封裝協議。移動Agent的應變能力具有自然異構性,移動Agent的異步自主運行具有健壯性和容錯性,移動Agent不同于網絡執行,它能夠不斷地從一個網絡位置移動到另一個位置,也能夠根據自己的選擇進行移動。移動Agent不同于進程遷移,一般來說系統不允許進程選擇遷移的時間和地址,而移動Agent帶有狀態,所以可以根據應用的需要在任意時刻移動,并可移動到它想去的任何地方。移動Agent不需要統一的調度,由用戶創建的Agent可以在不同節點上異步地運行,待任務完成后再將結果傳送給用戶。為了完成某項任務,用戶可以創建多個Agent,同時在一個或若干個節點上運行,形成并行求解能力。
因此,隨著網絡教育的發展,就需要移動Agent技術來解決網絡教學中對教學情況的控制和監督以及與其他Agent之間的通訊交流。
移動Agent支持離線運行,提供本地交互和多跳的解決方式,對網絡考試系統具有發放(push)和回取(pull)兩種工作形式。網絡考試對于每個考生的實時信息非常敏感,移動Agent降低了網絡負擔,Agent可以被派遣到遠地去搜索信息,并創建新的Agent處理具體的內容,把有用的數據返回本地,免去了數據的大量傳遞,因此很適合用于網絡考試系統。
計算機支持的協同學習[6](以CSCL)是由計算機支持協同工作(CSCW)與合作學習的理論和教育方法相結合而成的一種新的學習方法研究。由于多媒體網絡的發展,這種通過人-機交互、機-機交互間接實現的人與人交互仍然可以擁有視聽覺形象系統通道和視、聽覺符號信息通道。因此CSCL的交互包含有面對面、文字和圖像以及視頻媒體、程序軟件等交互形式的不同特點,進而保證了學習者之間進行有效協作所需的必要交互。
在支持協同工作與環境中,教師提出一個明確的任務,學生以小組的形式組織,分工合作,有的用計算機查資料,有的進行一部分計算與信息處理,形成文檔,小組共同完成該任務;教師觀測學習的進行過程,并組織小組的交流,相互幫助與競爭,保證教學目標的實現。這種學習方法不僅讓學生像專業人從事工作一樣利用計算機環境解決問題、進行學習有關知識和培養解決問題的能力;而且以小組形式組織,分工合作、既有合作與相互幫助的一面,又有競爭與達到目標的一方面,它的發展正引起廣泛注意。
在CSCL環境中,要注意設計兩類合作和協商關系[7]:
1)學生與學生的合作 這是合作學習的關鍵,學生的合作互動取決于如下幾個因素的設計:問題(任務)的提出、回報的獲得,小組的狀態,交互的技巧等。
2)教師與學生的合作 教師作為學習過程中的主導人物,引導、幫助、促進學生的學習。
一個CSCL系統按從低層到高層可依次劃分協作鏈路層、協作控制層、互學習層等3個層面。因此,交互性和協作性是實現 CSCL系統最關鍵的兩個問題。CSCL的交互包含有面對面、文字和圖像以及視頻媒體、程序軟件等交互形式的不同特點,進而保證了學習者之間進行有效協作所需的必要交互。CSCL的交互是為實現最終協作學習的必要條件,解決交互問題僅僅是CSCL實現的第一步驟,要使學習者產生協作學習行為,必須提供協作的機制[8]。
1)支持共享信息 提供共享信息的功能,不僅可以使成員個體獲得更多、更廣、更新的信息,而且也會使協作組成為信息接受的整體,加強內部凝聚力。
2)支持共享活動 協作學習目標的實現都是通過一系列共享活動如集體討論、輪流發言、流線操作等來實現的。
3)支持角色扮演 協同學習中學生,教師,管理員各司其職,共擔榮辱。
4)支持創造行為 學習過程中達到此目標的過程是多維的,協同學習過程本身就會促進個體自身學習觀念、方法等內部知識、技能結構的極大豐富,所以新的觀點、思路、策略常常會涌現出來。
5)支持控制管理 由于學生在學習過程中交互多樣化而且極為復雜,各個成員的學習行為也大不一樣,為使協作和諧一致,需要完善的控制管理策略。
從邏輯上講,一個分布式系統可以定義為由多個相互作用的Agent組成的系統,各種分布式系統的差異主要表現為其中Agent的角色和交互方式上的差別。例如分布式客戶/服務器系統是這樣的分布式系統,其中的Agent或為客戶或為服務器,交互關系僅限于客戶主動請求/服務器被動服務的交互方式。然而,這種基于Agent的分布式系統[9]觀使人們跳出了客戶/服務器系統的局限,適應了應用需求的發展。
[1]曹曉葉.基于Web的個性化、智能化計算機輔助教學系統改進及實現[D]廣州:華南理工大學,2002:52-54.
[2]王曉東.基于Ontology知識庫系統建模與應用研究[D].上海:華東師范大學,2003:64-69.
[3]劉韶峰,廖力清.基于粗糙集理論的饋線自動化技術[J].傳感器世界,2009(6):45-47.LIU Shao-feng,LIAO Li-qing.Rough set theory based feeder automation technologies[J].Sensors World, 2009 (6):45-47.
[4]翟軍昌,秦玉平,王春立.基于多Agent的垃圾郵件過濾系統的研究 [J].長春理工大學學報:自然科學版,2009(2):58-59.DI Jun-chang.QIN Yu-ping.WANG Chun-li.Multi Agent based spam filtering system[J].Changchun University of Technology:Natural Science,2009 (2):58-59.
[5]孫筱川,趙敏,顧偉,等.VxWorks下多Agent現場總線測控系統設計[J].計算機技術與發展,2009(6):32-35.SUN Xiao-chuan,ZHAO Min,GU Wei,et al.VxWorks multi Agent field bus control system design[J].Computer Technology and Development,2009 (6):32-35.
[6]周敏,占銘,郭媛.基于知識驅動的大型設備智能預測決策模型研究[J].機械科學與技術,2009(4):47-48.ZHOU Min,ZHAN Ming,GUO Yuan.In the large-scale knowledge-driven decision-making model for intelligent predictive device[J].Mechanical Science and Technology,2009(4):47-48.
[7]尤杰,韓松臣.基于多Agent的機場場面最優滑行路徑算法[J].交通運輸工程學報,2009(1):63-65.YOU Jie,HANG Song-chen.Agent-based multi-path algorithm airport scenes optimal sliding[J].Traffic and Transportation Engineering,2009 (1):63-65.
[8]熊金泉,古和今,段隆振.基于XML的多Agent通信體系結構[J].南昌大學學報:理科版,2008(3):78-80.XIONG Jin-quan.GU He-jin,DUAN Long-zhen.XML-based multi-agent communication architecture[J].Nanchang University:Natural Science,2008 (3):78-80.
[9]生桂勇.基于Agent的分布式計算[J].現代電子技術,2009(12):52-54,58.SHENG Gui-yong.Distributed computing based on Agent[J].Modern Electronics Technique,2009(12):52-54,58.