摘 要: 基于Agent的應急響應建模仿真具有優越性和現實性,通過分析應急響應體系中Agent主體所應具有的特征——反應性、推理性、互動性和能動性,構建了基于BDI模型的反應+思考+通信的混合型Agent結構,并在NetLogo仿真平臺上實現。為今后進一步研究基于Agent的應急管理建模仿真奠定研究基礎,同時也為在NetLogo平臺下開發基于BDI模型的Agent結構提供范式和標準。
關鍵詞: 應急響應;BDI模型;Agent結構;NetLogo平臺
由于公共事件的突發及發展具有不可逆性和不可實驗性,建模仿真成為研究各類突發公共事件應急管理的重要實驗手段之一。Agent作為分布式人工智能概念模型,具備自己行為、目標和知識,是在一定環境下能自主運行的實體,具有主動性、獨立性、智能性、反應性、交互性等特點,并具有良好的決策分析的能力,能夠適應應急響應過程建模的需要。因此,基于Agent的應急響應建模仿真具有優越性和現實性。
本文通過研究和構建應急響應環境下基于BDI模型的Agent結構,并在NetLogo平臺中實現,為今后進一步研究基于Agent的應急管理建模仿真奠定研究基礎;同時也為在NetLogo平臺下的程序開發工作,提供一定的Agent結構的范式和標準。
1 BDI模型
BDI(Belief-Desire-Intention)模型是近年來學術界廣泛研究的一種基于思考型的Agent結構,其哲學觀點源自Bratman[1]在IRMA系統的設計中明確表示了信念、愿望和意圖,并將意圖看作部分行為計劃,這些計劃是Agent承諾執行、完成其目標的計劃,從而使Agent能夠根據資源的變化情況有效實現手段目的推理。
BDI模型的結構可以表示為[2]:
Agent::=<Aid,P,B,D,I,A,see,brf,options,filter,execute>.
其中,Aid為某一具體Agent的標識;P為Agent的視覺狀態集,即Agent所感知的外部事物;B為Agent的信念,即對P進行的理解和認知;D為Agent的愿望,即對B所形成所要達到目標的偏好和情感;I為Agent的意圖,即對達成D中的一項或多項愿望進行行動承諾;A為Agent根據I所做出的行動集;see、brf、options、filter、execute五個具體行為則用于刻畫出Agent的感知過程、意念修正過程、思維過程、愿望篩選過程和行為決策過程[2]。所以,整個結構可以理解為當Agent接受或感知到一個事件時,它根據當前環境狀態信息而構成的信念庫,進行信念修正,并完善信念庫;然后根據實現狀態及意圖確定愿望,形成愿望庫;經規則推理及篩選函數,基于當前信念、愿望及意圖的基礎上形成新的意圖庫,最后Agent由該意圖驅使進行行為選擇,并執行活動。
本文所構建的Agent結構采取BDI模型,這是因為Agent決策的制定過程依賴于表達Agent的信念、愿望和意圖的行為操作來實現,所以BDI結構更接近人類的思維方式,更能夠在應急響應過程中,解釋各個主體的行為過程。
2 應急響應環境下基于BDI模型的Agent基本結構
應急響應環境下的Agent結構建模是一個非常復雜的構建過程。(1)突發公共事件的場景是一個動態的、不斷發生變化的場景,構建的Agent必須能夠對外界環境的改變做出及時的隨機應變,需要不斷地做出滾動決策和決策更新,這一要求符合反應型Agent的特征。(2)突發公共事件的應急響應過程是一個緊急、錯綜復雜、處理不當可能會導致巨大損失的過程,需要做好事先的預案和演習工作,要求Agent能夠按照事先的規劃進行及時、有序的操作,這是思考型Agent的典型特征。(3)突發公共事件的應急響應需要在指揮部的協調下,各個職能部門協調溝通、協同工作,要求Agent之間能夠及時通信和消息共享,有完善的協調商議機制。
基于上述要求,為應急響應所構建的Agent結構必須是一個具有信息感知、匹配處理、篩選決策、執行和與其他Agent通信能力的“反應+思考+通信”混合結構。因此,本文提出基于BDI的Agent基本結構可定義為一個九元組(主體標識、目標、感知器、信念、匹配器、篩選器、意圖、執行器、通信器),即:
<AGENT>::=<主體標識><目標><感知器><信念><匹配器><篩選器><意圖><執行器><通信器>
<主體標識>::=<主體名><主體的相關屬性>
<目標>::=<角色分配>
<感知器>::=<激活條件><信息流>
<信念>::=<任務表><知識庫>
<匹配器>::=<任務分解規則>
<篩選器>::=<策略配置機制>
<意圖>::=<事物名><事物處理描述>
<執行器>::=<意圖的執行者>
<通信器>::=<發送者><接收者><通信原語><通信內容>
基于BDI的應急響應Agent基本結構與BDI模型相比,增加了基于角色分配的Agent目標、感知器、匹配器、篩選器、通信器等內容,同時進一步強調基于團隊目標和個人目標的深層次思考,決策過程中策略設置和求解,外界環境和資源的變化,以及團隊協作、信息共享對于Agent結構的影響,以此來提高Agent的反應性、互動性和能動性。
3 應急響應環境下基于BDI模型的Agent結構框架
在基于BDI的Agent基本結構基礎上,考慮環境、資源、目標、組織給Agent帶來的影響,進一步細化、深化、模塊化、多維地、系統地來搭建Agent結構框架體系,構建出應急響應環境下基于BDI模型的Agent結構框架,并進行具體闡述。
應急響應環境下基于BDI模型的Agent結構框架如圖1所示,由感知模塊、決策模塊、執行模塊、通信模塊四大模塊組成,實現一個智能主體的整個活動過程。
其中,感知模塊、決策模塊、執行模塊三層順序結構體現了Agent的自主思考性;通信模塊對于感知模塊、決策模塊的影響展現了Agent的社交性;感知模塊對于環境和資源的充分感知,根據環境的變化所進行的動態裝載執行模塊都說明了Agent具有良好的反應性;Agent在角色分配之后獲得角色責任和權限,即明確了自身的子目標和組織的總體目標,整個結構框架體現了Agent是在目標的引導下開展思考、決策和行為,符合Agent的預動性要求。
四大模塊中分別包含感知器、信念、匹配器、篩選器、意圖、執行器、通信器七大功能件,其中由于意圖的產生和執行分屬于決策模塊和執行模塊兩大模塊,所以意圖為跨模塊功能件。同時,Agent結構中還包括任務分解、策略配置、動態裝載、通信標準等協議和規則,確保Agent結構的準確、動態、協作性的運作的實現。
各模塊中的功能件的作用分別為(以應急響應過程中消防員Agent的行為為例):
(1)感知模塊
感知器是Agent獲得外部環境信息以及從Agent自身屬性獲取信息的部分,感知內容形成Agent自身的信念。應急響應過程中,感知器幫助消防員Agent從應急場景中了解到著火區域位置信息、需要救援市民的信息以及救援過程中所需要的其他相關信息等。
信念為描述Agent對當前環境的認知和自身可能采取行為的估計,形成任務集和知識庫。消防員Agent將所需要進行救援的人員和位置信息作為此時自身的信念,并加入所要完成的任務集中。
任務集與知識庫是用來儲存任務信念和知識信念的存儲器,通過感知器和信念更新進行不斷修正。任務集中包括Agent所要完成的各項任務。任務可以來源于自身感知現場的發現,也可能來自上一級的命令。知識庫中可包括Agent的能力屬性及感知外界產生的知識,如消防員Agent自身的滅火能力、行進能力、救援能力,以及消防員Agent根據演習結果或其他歷史經驗確定到達救援現場的最短路徑等。
(2)決策模塊
匹配器的作用是根據信念產生的行為估計,進行任務分解,匹配選擇多個可行的行動。任務分解是指根據有限的元規則庫,形成一定的任務集。匹配器根據條件得出下一步能夠進行的行為。行為中包括為達成目標所采取的各種類型(如消防員Agent的機動行為、任務行為和通信行為),機動行為包括尋找路線、尋找目標、接近目標;任務行為包括滅火、救人、挖掘、疏散、修路等;通信行為包括下達命令、接受命令、請求協助、同意協助和拒絕協助等類型。符合匹配條件的行為被匹配器輸入篩選器進行下一步精確過濾。
篩選器的作用是在匹配后,根據一定的規則進一步選出一個最優愿望,形成意圖進行實施。篩選最優愿望就是對這些行為進行評估,找到最優行為。策略配置是根據一定規則策略的選擇和調整,從眾多候選行為中選擇出一個最先執行的行為形成意圖。策略配置受到外界環境(如社會)和資源限制的影響,如消防員Agent在救援過程中,策略配置可以分為確定救援目標(最短距離目標、最危險形勢目標),確定救援優先性(以人為本、以發現順序為本),確定協作方案(有內部協作、無內部協作),確定救援順序(多目標記憶救援、單目標順序救援)等。
由于匹配器和篩選器的聯合作用,已經完整呈現出了BDI模型中愿望形成的整個過程,所以,在本模型結構中,愿望以虛線框形式表現,并非某個真實存在的功能件。
(3)執行模塊
意圖用來描述Agent為達到某個具體目標所做出的承諾,是Agent下一步立刻執行的行動。意圖的執行是通過裝載n個不同的意圖子模塊來實現的。動態裝載是指根據團隊協作的需要、環境資源發生的變化以及篩選器的規則過濾,動態添加、改變執行順序或者刪除某個意圖子模塊,來實現Agent具有良好的即時反應能力。消防員Agent擁有救人子意圖、滅火子意圖、搜尋子意圖,以及根據救援現場的實際情況變化,對于這些基本子意圖的動態組合或動態更新。
執行器是用于執行意圖的效應器。它能根據消防員Agent知識庫中的能力屬性,如視距、視角、聽覺、滅火距離、速度、方位等性能指標,實現諸如機動或救人任務、滅火任務等意圖。意圖在執行過程中,受到外界資源的限制,同時對外界環境產生影響。
(4)通信模塊
通信器用于與其他Agent進行聯系,如傳達命令、協同配合等。通信器主要由消息發送、消息接收、消息處理等子模塊構成。得到的有用信息被反饋到感知器,以不斷更新信念和任務集等動態因素,使以后的判斷和行動更加正確有效。消防員Agent在救援過程中,可以和其他消防員Agent、等待救援的市民Agent、指揮Agent等進行即時通信,以完成高效、及時的救援工作。
4 應急響應環境下基于BDI模型的Agent結構的仿真實現
Netlogo是一個由美國西北大學Center for Connected Learning研發的模擬自然和社會現象多實體編程語言和仿真平臺[3],尤其適合復雜性系統的開發。開發者可對成百上千個相互依賴且并行運行的Agent發實時指令,與突發公共事件應急響應的環境要求十分相似,故本文采用Netlogo對應急響應過程進行建模仿真研究,并實現應急響應環境下基于BDI模型的Agent結構。
在研究過程中,通過不斷地改進和修正,在NetLogo開發平臺上實現了本文所提出的應急響應環境下基于BDI模型的Agent結構。在仿真過程中,消防員Agent結構包括四個模塊:感知模塊、決策模塊、執行模塊、通信模塊。決策模塊和通信模塊是整個仿真程序的核心部分。
(1)決策模塊
根據本文所提出的Agent結構模型,決策模塊由匹配器和感知器組成,對產生的信念進行任務匹配和策略配置,形成可執行的意圖,對于仿真程序來說,即是一組基于if-then的元規則庫。
(2)通信模塊
本文所提出的Agent結構模型的通信模塊,采取的通信標準為FIPA-ACL通信標準[4-5],包含消息發送方、消息接收方、消息類型、消息內容等四大基本內容。在NetLogo平臺的實現過程中,可調用平臺所提供的communication.nls庫[6-7],簡化、減少程序的開發量。
(3)感知模塊和執行模塊
感知模塊和執行模塊是仿真程序的重要組成部分,模塊中的過程和方法供決策模塊和通信模塊調用執行。其中,為了有效實現BDI模型結構和減少程序的開發量,這兩個模塊中均調用了Netlogo平臺所提供較為成熟和穩定的bdi.nls庫[6-7]。
感知模塊中,根據組織中不同層級、不同權限的Agent,提供了不同的視圖,視圖范圍通過賦予Agent不同的屬性變量加以實現。其中,指揮層級擁有全局視圖,可根據整個城市(或仿真系統邊界內)的應急需求,通盤統籌考慮資源的調撥和協調;隊長層級擁有區域視圖,能夠及時了解某一個救災片區中消防隊員的救援情況,根據實際的災害情況,做出指揮和部署。在缺乏所需要的救災資源時,向上級部門請求調撥;隊員層級擁有視域視圖,受視力范圍所限,只能感知到周圍環境的變化,并在隊長的指揮和隊友的通信交互過程中,協作完成救援任務。
執行模塊則調用bdi.nls庫中的intention子過程,實現intention模塊中的執行程序動態添加、更新和刪除,確保Agent能夠快速應對環境和任務的變化,準確執行篩選器中選出的最優行為,提高Agent的個體效率,使整個多Agent系統達到全局最優。
本研究使用Netlogo平臺實現應急響應環境下基于BDI模型的Agent結構的部分仿真程序,實現了消防員在建筑內部滅火救人的基本場景,如圖2所示。整個大矩形代表某個著火的建筑物;里面的小矩形塊代表著火地塊,即著火點;圓點代表樓內市民;消防員集中在建筑的出入口處,整裝待命;外圈部分則是用于市民逃生的道路;右下角的小地塊則代表公共綠地或者逃生人員集中地;各個控件是不同策略配置的開關控件。本文所提出的模型結構能夠在NetLogo平臺上順利執行實現,取得了仿真所要達到的數據和效果,如圖3所示。應急響應環境下基于BDI模型的Agent結構能夠對突發公共事件應急管理研究起到較好地支撐作用,同時也為基于BDI模型的Agent結構在Netlogo環境下的編程開發工作提供了范例,具有一定的通用性。
通過NetLogo平臺的仿真結果證明,本文所構建的應急響應環境下基于BDI模型的Agent結構符合應急響應場景救援工作的需要,具有一定的通用性,為進一步研究應急響應過程中的指揮控制、協同協作、信息共享提供了基本場景,為研究應急響應過程中各Agent的行為提供了解釋結構,為基于BDI模型的Agent結構在Netlogo環境下的編程開發工作提供了范例。在今后的研究工作中,將以此Agent結構模型為研究基礎,進一步研究應急響應過程中組織的動態調整、協同計劃和團隊協作等內容。
參考文獻
[1] O’HARE G M P, JENNINGS N R. Foundations of distributed artificial intelligence[M]. John Wiley&Sons, Inc. 1996: 505-526.
[2] KINNY D, GEORGEFF M, RAO A. A methodology and modeling technique for systems of BDI agents[A].In W. VELDE V, PERRAM J W, Agents breaking away[C]. Proceedings of the Seventh European Workshop on Modeling Autonomous Agents in a Multi-Agent World (LNAI Volume 1038), Springer-Verlag: Berlin, Germany, 1996, 56-71.
[3] WILENSKY U. Netlogo center for connected learning and computerbased modelling, Northwestern University, Evanston, IL(1999), http://ccl.northwestern.edu/netlogo
[4] 張德同,周明全,耿國華.FIPA規范:Agent系統的開放標準[J].計算機科學,2002.29(10):30-32.
[5] FIPA Content Language Specifications. Foundation for Intelligent Physical Agents, 2003. http://www.fipa.org/repository/cls.php3.
[6] SAKELLARIOU I, KEFALAS P, STAMATOPOULOU I. Enhancing NetLogo to simulate BDI communicating agents [M]. SETN 2008, LNAI 5138, pp. 263–275, 2008.
[7] SAKELLARIOU I. Extending NetLogo to support BDI-like architecture and FIPA ACL-like message passing: Libraries, Manuals and Examples (2008), http://eos.uom.gr/~iliass/projects/NetLogo.