劉 益,周 陶
(1.宜賓學院計算機與信息工程學院,四川宜賓644007;2.宜賓學院政府管理學院,四川宜賓644007)
MAIA
——建立在IAD框架上人工社會模型
劉 益1,周 陶2
(1.宜賓學院計算機與信息工程學院,四川宜賓644007;2.宜賓學院政府管理學院,四川宜賓644007)
通過比較BDI、SugarScape、MAIA三種Agent模型結構特點,介紹了MAIA結構與IAD框架之間的聯系、構成MAIA元模型五個模塊(集體模塊、體制模塊、物質模塊、操作模塊、評估模塊)的作用和包括的內容,以及利用MAIA元模型建立人工社會的步驟.
Agent模型;人工社會;MAIA;IAD框架
社會科學研究在經歷過數理模型、統計數據實證、基于自然語言的論證[1]等方法后進入了社會學仿真研究階段.社會學仿真有七種方法:系統動力學、微仿真、排列模型、多層仿真、元胞自動機、基于多Agent建模和學習與演化模型[2].隨著社會學仿真的研究,社會學研究者提出了人工社會概念,并在1992年舉行的第一次研討會[3-4].人工社會把復雜系統科學體系方法應用到社會科學研究領域,利用計算機模擬現實社會建立起來的一種計算機模型.它通過社會規則抽象出一個一個的個體,并讓這些個體在社會制度下相互作用來反映現實系統[5].人工社會依賴于Agent建模,這一點與社會學仿真相似.但人工社會在討論Agent模型ABM(Agent Based Model)時,是將其放置在社會規則制度中進行的.換句話說,人工社會包括Agent系統和規則制度兩個方面.如不考慮社會的規則制度,讓Agent自由游走,也可以認為Agent模型ABM就是一個簡單的人工社會模型.
Agent一般被劃分為三類:理想Agent、智能Agent和軟件Agent[6].理想Agent是具有各種像人一樣能力的實體,智能Agent是具有部分能力的實體,是理想Agent在人工智能中的一種應用,而軟件Agent則是從軟件編程中定義的Agent.
1987年Bratman提出了BDI(belief、desire、intention)結構[7],認為信念、愿望、意圖是Agent基本的思維屬性.而后Shoham從系統實現角度討論了Agent的結構和行為特性,提出了面向Agent的程序設計[8].BDI結構完成了對Agent直觀性、模塊性、復雜行為的抽象化描述,它在描述Agent的心理行為特征方面比較成功,但不能很好地把Agent的外在行為和社會行為統一起來.
1996年Epstein和Axtell提出了采用基于Agent建模的方法建立的SugarScape人工社會模型[9].Sugarscape翻譯為“糖域”.它描述了在一個二維空間中分布著一定的資源“糖”,空間中的Agents不斷游走,吸收“糖”增加資源.同時在“糖域”中設定每個Agent在一個周期中消耗一定單位的資源“糖”,如果Agent的“糖”消耗殆盡,則表示Agent死去.通過“糖域”可以仿真諸如自然資源利用,市場交易等社會現象,初步體現了Agents與自然、社會環境的交互作用.由于“糖域”模型更多的是考慮Agents的自發行為,因此在這個系統中無法體現Agents在特定社會規則、制度的表現.
2011年Ghorbani等提出了一種描述以個體和制度為關鍵元素的人工社會系統建模工具——MAIA(Modeling Agent systems based on Institutional Analysis)[10]. MAIA元模型是基于Ostrom的制度分析與發展框架IAD(Institutional Analysis and Development framework)提出的[11-12].Ostrom的制度分析與發展框架IAD很好地描述了社會結構和社會制度,它證明使用者自主治理的公共池塘資源可以通過合理的制度安排,取得優于人們先前根據標準理論所預測的結果.Ghorbani等根據IAD引入主體(Agent)和角色(Role),主體依據它在模型中擔任的角色遵守制度規則行動.MAIA元模型很好的釋義了Agents與社會規則、制度之間的關系.主體、角色和制度三者的關系如圖1所示.

圖1 主體、角色和制度三者的關系
MAIA元模型通過參考了IAD框架抽取出集體模塊、體制模塊、物質模塊、操作模塊、評估模塊五個模塊.通過對五個模塊中個要素的定義完成人工社會模型的建立.
(1)MAIA元模型與IAD框架
根據Ostrom理論,制度分析與發展框架包括7組主要變量,形成圖2所示的結構.這7組變量分為三個模塊:①自然物質性質、社群屬性、實際運行規則代表社會系統的根本結構;②行動場景代表操作環境;③通過評估標準觀察互動模式和結果,并將結果反饋給系統.

圖2 制度分析與發展框架
直接根據制度分析與發展框架理論來建立人工社會模型是相當困難的,MAIA元模型在引入Agent概念后對IAD建模進行了相應修改,主要體現在四個方面:
①對參與者及其內在的特征進行格式化,這些特征是獨立于參與者所扮演的角色和遵從的規則的.
②對IAD某些概念進行嚴格詳實的定義和格式化.
③對IAD的互動模式、結果和評判標準這三個模塊按照軟件模型的輸出結果重新定義和格式化.
④對IAD各部分之間的關系暗含的系統行為進行格式化,理清軟件模型之間的關系.
由于IAD采用的是自然語言描述的概念性的知識,這些信息在建立計算機人工社會模型時必須按照計算機語言形式進行描述,因此在使用MAIA工具前必須將它們進行重新定義和格式化.這種規范方式一般稱為元模型方式.對模型的精準描述能夠更好地挖掘、分析和理解所要模擬的定義域.用來描述模型的一組正式規范的概念稱之謂元模型[13-14].根據IAD框架的核心思想:搞清楚行動舞臺中行動情境和行動者在外生變量影響下的相互作用及其產生的結果對兩者的反作用,MAIA對IAD框架進行了分解和組合,形成了一個包括5個部分的元模型并給出了如圖3的關系圖[15]:集體模塊、體制模塊、物質模塊、操作模塊、評估模塊.

圖3 MAIA元模型框架
在這5個模塊中,可以大致認為集體模塊定義了參與者的信息;體制模塊定義了行動情境中的社會環境以及規則;物質模塊定義了行動情境中自然條件以及規則;操作模塊定義了互動模式;評估模塊定義了對結果的驗證和衡量模式.
將圖2的制度分析與發展框架轉變為圖3的MAIA元模型框架是建立基于Agent的人工社會模型非常重要的一步,這一步是概念轉化過程,它將抽象的、自然語言描述的社會結構轉變為規范的,格式化的模型結構,為建立計算機軟件模型做好了充分的準備.
(2)MAIA工具
Ghorbani為了支持MAIA元模型的應用,開發了基于web的MAIA工具來處理概念化過程,并分別對元模型種的5大模塊進行說明.
①集體模塊:在集體模塊中定義了所有Agents,并詳細描述了每個Agent的屬性.在MAIA中Agent被定義為系統中制度驅動的實體,它必須擔任能完成系統任務的角色.一個Agent包括屬性、個人價值、信息、物質成分、可能的角色、內在行為和判斷標準幾個內容.
②體制模塊:體制模塊定義了三個對象:角色,制度以及角色之間的依賴關系.
角色是一系列行為的表示,是一種身份.角色的行為是根據系統規則為了完成社會目標做出的,它由獨立定義在集體模塊中的Agent扮演.一個Agent可能同時或者先后擔任多個角色.不同的agent擔任相同的角色可能因為他們內在特性的差異(比如個人價值)有不同的行為.一個角色有下列性質:目標,規則制度,入場條件,責任.
角色的屬性中的規則制度在體制模塊中作為制度專門列出來進行了說明.制度的制定遵循ADICO(Attributes,Deontic,aIm,Condition and Orelse),它分別為:屬性、義務、目標、條件,否則.Agent根據他們所擔任的角色遵守這些制度.
依賴關系描述了一個角色在實現自己目標時對其它角色的依賴.依賴對象是一個角色的目標.依賴者是這角色,它實現依賴對象的目標.
③物質模塊:物質模塊由系統中所有具有物質表現的實體,以及這些物質實體的合成物、連接物組成.它分三個方面說明:物質成分、物質聯系、物質合成.
系統中的一個物質成分是一個能反映系統中Agent行為的實體.一個物質成分可能被指定給一個Agent從頭到尾扮演的角色,或者可能是Agent自身擁有的,與它所扮演的角色無關.它包括特性、類型、行為、功能性幾個方面.
物質成分之間可能存在各種關系,比如在門和房間之間有一個關聯.同時物質成分能夠有其它物質成分構成,比如一輛汽車由輪子、發動機等組成.
④操作模塊:操作模塊借助在物質模塊、集體模塊中定義的概念為Agent提供一個基本的動態模型.使用一次操作模塊就完成一次模擬.操作模塊有一個精確的活動區域,這區域被一系列活動環境所定義.操作模塊中包括實體行為、計劃、活動區域、角色扮演幾個部分.每個實體都要自己的行為,這些行為具有下列屬性:行為執行者、行動集、決策、前提、后置條件.
實體的行為是按計劃進行.在系統中有四種不同類型的計劃.原子計劃,單一實體行為組成,比如員工演變為單位老板;順序計劃,由一套按特定次序執行的計劃組成;可選擇計劃,由一套隨機選擇的計劃組成(平等機會);循環,由一套保持條件的重復計劃組成.
活動區域根據實體活動環境定義,每個活動環境的繪制是根據計劃清單中大量相關實體行動發生次序完成的.在操作模塊中Agent將被選為實體行為的實施者,也就是說Agent在不同行動中扮演某個角色.
⑤評估模塊:評估模塊幫助模型設計者分析模型仿真結果,評估模型的有效性(是否滿足現實需要),可使用性(能幫助探索預先的問題).評估模塊的評估方式是利用模型參數進行分析,包括問題領域變量、確認變量.
模型的執行不能違背現實世界條件,根據現實世界條件定義問題領域變量.它用于監控模型的運行,可從模擬運行結果的數據和變量中計算出來.問題領域變量與實體行為之間的關系用問題領域矩陣描述,變量和實體行為之間的關系可以是直接關系,也可以是間接關系.確認變量根據設計者想探索的問題來定義.
(3)MAIA建模思路
分析現實社會進行形式化;建立個體、社會模型;編寫仿真程序并進行仿真運算;分析仿真結果并修正仿真模型,這是人工社會研究方法的基本步驟.它對于缺乏計算機學科背景的社會科學研究者是一件相當困難的事情.為此一些學者提出了以模型概念設計,運行模型,校正和數據分析為基本步驟的基于主體的人工社會建模指南[16].其中模型概念設計是人工社會模型能否被合理有效構建出來的關鍵.計算機建模語言很多,結構化方法,面向對象方法,面向目標建模方法,情景實例方法,形式化方法等[17].這里選擇UML(Unified Modeling Language)進行討論.
通過IDA框架我們可以確定研究問題,確定系統重要參數和條件,但這些問題、參數、條件的描述是一種自然語言的描述.在實現人工社會模型仿真中,我們需要準確的,形式化的計算機建模語言描述.MAIA元模型結構條理化人工社會模型中的各個要素,它對人工社會模型中的各個概念按模塊進行的定義和說明,這些定義和說明在UML中的靜態視圖中按照程序設計思路用類圖進一步完善并建立各對象之間的關系,為軟件工程建模做準備.MAIA一方面是模型分析者和程序員之間的交流工具;另一方面它生產的概念模型表達了社會學研究者和程序員對所研究的社會模型的理解,以方便對模型的評估和校對.MAIA建模思路是利用MAIA元模型建立起了這樣的一座橋梁:IAD—MAIA—UML.
基于IAD結構發展起來的MAIA元模型與其它人工社會模型相比,它將社會制度和Agent全面的聯系起來,更好地反映社會結構特征.根據MAIA元模型得到的MAIA工具定位在人工社會模型設計階段:IAD框架的社會描述與計算機軟件模型設計兩個步驟之間,為社會學研究者和程序設計人員之間建立了一座橋梁,方便了兩者的溝通交流.但是社會的復雜性不是能完全用MAIA元模型來體現的.在實際運用中,在具體的社會環境中,有些特定的參數需要專門列出來討論.
[1]張江,李學偉.人工社會——基于Agent的社會學仿真[J].系統工程,2005,23(1):13-20.
[2]Gilbert N,Troitzsch K.Simulation for the Social(Second Edition)[M]. Buckingham:Open University Press,2005.
[3]Gilbert N,Doran J.Simulating societies:The computer simulation of social phenomena[M].London:UCL Press,1994.
[4]Gilbert N,Conte R.Artificial societies:the computer simulation of social life[M].London:UCL Press,1995.
[5]Lansing J S.Artificial societies and the social sciences[J].Artificial Life,2002,8(3):279-292.
[6]Hayes-Roth F,Erman L,Fouse S,Lark J,Davidson J.ABE:A cooperative operation system and development environment[M]//Bond A H,Gasser L.Reading in Distributed Artificial Intelligence.San Mateo:Morgan Kaufmann Publishers,1988:457-490.
[7]Bratman M E.Intentions,Plans,and Practical Reason[M].Cambridge, MA:Harvard University Press,1987.
[8]Shoham Y.An overview of agent-oriented programming[M]//Bradshaw M.Software Agents.Menlo Park,CA:AAA I Press,1997:271-289.
[9]Epstein J M,Axtell R.Growing Artificial Societies:Social Science from the Bottom up[M].Washington DC,USA:Brookings Institution Press and Cambridge,MA,USA:MIT Press,1996.
[10]Ghorbani A,Dignum V,Dijkema G.MAIA:An analysis and design framework for building artificial societies[J].Autonomous Agents and Multiagent Systems,2011,2(6):13-25.
[11]Ostrom E,Gardner R,Walker J.規則、博弈與公共池塘資源[M].王巧玲,任睿譯.西安:陜西人民出版社,2011.
[12]王群.奧斯特羅姆制度分析與發展框架評介[J].經濟學動態,2010, 4:137-143.
[13]Bézivin J.On the unification power of models[J].Software and Systems Modeling,2005,4(2):171-188.
[14]Schmidt D C.Guest editor’s introduction:Model-driven engineering [J].Computer 2005,39(2):5-31.
[15]Ghorbani A,Bots P,Dignum V,et al.MAIA:a framework for developing agent-based social simulations[J].Journal of Artificial Societies and Social Simulation,2013,16(2):9.
[16]Heath B,Hill R,Ciarallo F.A survey of agent-based modeling practices[J].Journal of Artificial Societies and Social Simulation,2009,12(4): 9-20.
[17]牛曦,劉強.軟件工程需求建模方法的比較與分析[J].微計算機應用,2006,27(6):646-651.
【編校:王露】
MAIA——The Artificial Societies Model Based on IAD Framework
LIU Yi1,ZHOU Tao2
(1.School of Computer&Information Engineering,Yibin University,Yibin,Sichuan 644007,China;2.School of Government, Yibin University,Yibin,Sichuan 644007,China)
The characteristics of three Agent models(BDI,SugarScape,MAIA)were compared,and the connection between the structure of MAIA and the frame of IAD was introduced.The function and contents of MAIA Meta model's five structures,which include collective structure,constitutional structure,physical structure,operational structure and evaluative structure was concluded,and the elementary step of manual society based on MAIA Meta model was established.
Agent model;artificial society;MAIA;IAD framework
TP182
A
1671-5365(2014)06-0099-04
2014-02-21修回:2014-04-28
四川省教育廳資助項目(14ZA0266);宜賓學院資助項目(2011Z17)
劉益(1971-),男,副教授,碩士研究生,研究方向為計算機邏輯、人工智能
時間:2014-05-16 11:31
http://www.cnki.net/kcms/detail/51.1630.Z.20140516.1301.012.html