顧明
(阜新高等專科學校,遼寧阜新,123000)
隨著分布式人工智能(DAI)技術研究的深入,多Agent(Multi-agentSystem,MAS)技術得以快速發展完善,該技術主要針對分布式開放動態的環境,對一組自治的Agent 在完成復雜的控制或分解任務時所采取的行為,包括交互、合作、競爭、協商等行為。但在多Agent 系統中的交互、計算與合作過程中,極易改變Agent 的角色及相對重要性,并且在不同階段,應用系統中Agent 的離開和加入基本不受限制,使系統的穩定性會隨著系統規模的增大而減小,因此開發相應多Agent 應用系統時需重點確保其穩定性。
在分布式人工智能中,可通過運用具有層次性、內在并行性等優勢的黑板模型結構(BBA)使多個計算實體的協作問題得以有效解決,作為平行信息共享數據結構的一種,黑板模型實現了多信息源間的共享和交互。由于在控制器的作用下需串行執行知識源,因此需彌補傳統的黑板模型在實現環境(以串行硬件環境為主)方面存在的不足,主要由“黑板”、知識源(含有領域知識且自驅動)和控制機構組成,黑板上的狀態信息由各知識源監視,并適時地決定對黑板的操作行為。在設計與實現網絡學習系統時,針對分布式開放動態的網絡環境,可通過應用多Agent(MAS)系統使學習系統整體的協作化和智能化水平得到顯著提高,在MAS 中具有一定社會性的各個Agent 之間能夠相互通信,由于在多Agent 系統中實施這些行為時,Agent 會不斷加入加入或離開,可能使Agent 的角色和重要程度發生較大的變化。因此在應用多Agent 構建學習系統時,為確保系統高效穩定的運行,文中結合運用了黑板模型,在模型中集成了異構知識源,借助模型中的協作機制,從而使系統的協作服務質量及智能化水平得到顯著提高。多個實體在不同物理環境下分布時,可通過黑板模型協作完成具體任務,形成一個專家系統結構模式,進一步提高多Agent 學習系統的智能化水平[1]。
該學習系統模型可劃分為3 層:(1)界面層,主要負責為用戶提供一個簡潔美觀的系統訪問和操作界面。(2)服務管理層,該層主要由Jadex 接口、負責與客戶端界面通信的Web服務器、負責管理多個Agent 間的協作的Agent 協作管理區構成,web 服務器主要,并且把客戶端請求轉發給JadexWeb接口,多Agent 平臺即Jadex 系統根據接收到JadexWeb 轉發的用戶請求執行相應功能。(3)資源層,主要負責對學生庫、資源庫等資源進行存儲[2]。系統模型如圖1 所示。

圖1 學習系統模型
本文系統中的普通任務節點間的通信采用黑板方式完成,無需Agent 間有較深的了解,由控制節點負責對黑板中的信息頻繁的進行收集,并據此完成相應任務Agent 的調度與執行。信息在控制節點間的交互是系統實現有效通信過程的基礎和關鍵,直接采用消息進行通信,可在使系統的實時性需求得到有效滿足的同時,提升應對緊急情況的能力。采用統一的信息交互格式,以確保多Agent 間信息交互的實現,本文采用的黑板的消息格式由報文標識(代表討論區中消息的序列號)、源agent 標識、目的agent 標識、許可權、生命周期、報文或消息、消息優先級(確定控制器收集消息的順序)、消息是否已讀構成,許可權包括只讀權限和刪除權限。
黑板協調Agent 的作用機理如圖2 所示,通過黑板模型對Agent 進行控制時,能以用戶需求為依據完成問題類型的確定,再對問題采用知識庫和模型庫進行分解,據此將相應的決策Agent 分配給子問題,發送數據和控制信息,當黑板中寫入來自決策Agent 的信息與結果時,即改變黑板上的各數據內容,對各決策Agent 進行協調,包括消除不同Agent 間的沖突,向用戶反饋最終的合成結果。

圖2 黑板協調Agent 的作用機理
JADE 軟件開發框架基于Java 語言編程實現,采用JADE對多Agent 學習系統及應用程序進行開發,并符合FlPA 規范,JADE 包含較多的Java 包,提供多種現成功能及抽象界面,可供應用系統程序員使用。學習系統中的多Agent 間相互協作,針對同一課題的內容,由系統中具有相近的學習目標的Agent 對其進行學習,對于在學習過程中學生遇到的問題,通過教師Agent 答疑、交流、討論等方式解決[3]。

考慮到存在較多的多Agent 并發執行時,可能出現不可預測的引用同一黑板數據的情況,本文系統采用鎖機制實現并發控制過程,包括讀鎖和寫鎖,在某一知識源將寫鎖加入到黑板的某數據項的情況下,只有該加鎖的Agent 可操作該數據項,其它Agent 則不具有讀寫該數據項的操作權限。若某一Agent 在某數據項上加了讀鎖,此時其它Agent 只能讀取該數據項,但不具備寫操作的權限。Agent 需先獲得一個適當的鎖,才能對一個數據項時進行操作;某個鎖被其它Agent占有時,某一Agent 試圖獲得鎖的執行將會被掛起,直至這個鎖被釋放,而某Agent 的鎖直到執行結束后才會被釋放[4]。本文采用了一種死鎖預防法,具體通過利用Agent 的優先權實現,一個Agent 比另一個Agent 優先權高時才能等待另一個Agent 釋放鎖。為解決低優先權的Agent 存在的不停被啟動或終止的問題,針對Agent 開始執行的時間,采用了時間郵戳的改進方法,一個Agent 比另一個Agent 時間郵戳小時允許等待另一個Agent 釋放鎖,越往后執行的Agent 的時間郵戳越小,重新啟動某一被終止執行的Agent 時仍保持原來的時間郵戳,從而確保每個Agent 均能夠得到鎖,進而使學生的協作學習質量和效率得到有效提升。
本文主要完成了一種學習系統的設計,具體通過結合運用黑板模型和多Agent 技術實現了一種智能協作學習系統設計方案的構建,有效提高了學習系統的服務質量以及學生在協作學習過程中的學習效率和積極性,實現智能協作學習功能。