劉 益,周 陶
(1.宜賓學(xué)院計算機(jī)與信息工程學(xué)院,四川宜賓644007;2.宜賓學(xué)院政府管理學(xué)院,四川宜賓644007)
MAIA
——建立在IAD框架上人工社會模型
劉 益1,周 陶2
(1.宜賓學(xué)院計算機(jī)與信息工程學(xué)院,四川宜賓644007;2.宜賓學(xué)院政府管理學(xué)院,四川宜賓644007)
通過比較BDI、SugarScape、MAIA三種Agent模型結(jié)構(gòu)特點(diǎn),介紹了MAIA結(jié)構(gòu)與IAD框架之間的聯(lián)系、構(gòu)成MAIA元模型五個模塊(集體模塊、體制模塊、物質(zhì)模塊、操作模塊、評估模塊)的作用和包括的內(nèi)容,以及利用MAIA元模型建立人工社會的步驟.
Agent模型;人工社會;MAIA;IAD框架
社會科學(xué)研究在經(jīng)歷過數(shù)理模型、統(tǒng)計數(shù)據(jù)實(shí)證、基于自然語言的論證[1]等方法后進(jìn)入了社會學(xué)仿真研究階段.社會學(xué)仿真有七種方法:系統(tǒng)動力學(xué)、微仿真、排列模型、多層仿真、元胞自動機(jī)、基于多Agent建模和學(xué)習(xí)與演化模型[2].隨著社會學(xué)仿真的研究,社會學(xué)研究者提出了人工社會概念,并在1992年舉行的第一次研討會[3-4].人工社會把復(fù)雜系統(tǒng)科學(xué)體系方法應(yīng)用到社會科學(xué)研究領(lǐng)域,利用計算機(jī)模擬現(xiàn)實(shí)社會建立起來的一種計算機(jī)模型.它通過社會規(guī)則抽象出一個一個的個體,并讓這些個體在社會制度下相互作用來反映現(xiàn)實(shí)系統(tǒng)[5].人工社會依賴于Agent建模,這一點(diǎn)與社會學(xué)仿真相似.但人工社會在討論Agent模型ABM(Agent Based Model)時,是將其放置在社會規(guī)則制度中進(jìn)行的.換句話說,人工社會包括Agent系統(tǒng)和規(guī)則制度兩個方面.如不考慮社會的規(guī)則制度,讓Agent自由游走,也可以認(rèn)為Agent模型ABM就是一個簡單的人工社會模型.
Agent一般被劃分為三類:理想Agent、智能Agent和軟件Agent[6].理想Agent是具有各種像人一樣能力的實(shí)體,智能Agent是具有部分能力的實(shí)體,是理想Agent在人工智能中的一種應(yīng)用,而軟件Agent則是從軟件編程中定義的Agent.
1987年Bratman提出了BDI(belief、desire、intention)結(jié)構(gòu)[7],認(rèn)為信念、愿望、意圖是Agent基本的思維屬性.而后Shoham從系統(tǒng)實(shí)現(xiàn)角度討論了Agent的結(jié)構(gòu)和行為特性,提出了面向Agent的程序設(shè)計[8].BDI結(jié)構(gòu)完成了對Agent直觀性、模塊性、復(fù)雜行為的抽象化描述,它在描述Agent的心理行為特征方面比較成功,但不能很好地把Agent的外在行為和社會行為統(tǒng)一起來.
1996年Epstein和Axtell提出了采用基于Agent建模的方法建立的SugarScape人工社會模型[9].Sugarscape翻譯為“糖域”.它描述了在一個二維空間中分布著一定的資源“糖”,空間中的Agents不斷游走,吸收“糖”增加資源.同時在“糖域”中設(shè)定每個Agent在一個周期中消耗一定單位的資源“糖”,如果Agent的“糖”消耗殆盡,則表示Agent死去.通過“糖域”可以仿真諸如自然資源利用,市場交易等社會現(xiàn)象,初步體現(xiàn)了Agents與自然、社會環(huán)境的交互作用.由于“糖域”模型更多的是考慮Agents的自發(fā)行為,因此在這個系統(tǒng)中無法體現(xiàn)Agents在特定社會規(guī)則、制度的表現(xiàn).
2011年Ghorbani等提出了一種描述以個體和制度為關(guān)鍵元素的人工社會系統(tǒng)建模工具——MAIA(Modeling Agent systems based on Institutional Analysis)[10]. MAIA元模型是基于Ostrom的制度分析與發(fā)展框架IAD(Institutional Analysis and Development framework)提出的[11-12].Ostrom的制度分析與發(fā)展框架IAD很好地描述了社會結(jié)構(gòu)和社會制度,它證明使用者自主治理的公共池塘資源可以通過合理的制度安排,取得優(yōu)于人們先前根據(jù)標(biāo)準(zhǔn)理論所預(yù)測的結(jié)果.Ghorbani等根據(jù)IAD引入主體(Agent)和角色(Role),主體依據(jù)它在模型中擔(dān)任的角色遵守制度規(guī)則行動.MAIA元模型很好的釋義了Agents與社會規(guī)則、制度之間的關(guān)系.主體、角色和制度三者的關(guān)系如圖1所示.
圖1 主體、角色和制度三者的關(guān)系
MAIA元模型通過參考了IAD框架抽取出集體模塊、體制模塊、物質(zhì)模塊、操作模塊、評估模塊五個模塊.通過對五個模塊中個要素的定義完成人工社會模型的建立.
(1)MAIA元模型與IAD框架
根據(jù)Ostrom理論,制度分析與發(fā)展框架包括7組主要變量,形成圖2所示的結(jié)構(gòu).這7組變量分為三個模塊:①自然物質(zhì)性質(zhì)、社群屬性、實(shí)際運(yùn)行規(guī)則代表社會系統(tǒng)的根本結(jié)構(gòu);②行動場景代表操作環(huán)境;③通過評估標(biāo)準(zhǔn)觀察互動模式和結(jié)果,并將結(jié)果反饋給系統(tǒng).
圖2 制度分析與發(fā)展框架
直接根據(jù)制度分析與發(fā)展框架理論來建立人工社會模型是相當(dāng)困難的,MAIA元模型在引入Agent概念后對IAD建模進(jìn)行了相應(yīng)修改,主要體現(xiàn)在四個方面:
①對參與者及其內(nèi)在的特征進(jìn)行格式化,這些特征是獨(dú)立于參與者所扮演的角色和遵從的規(guī)則的.
②對IAD某些概念進(jìn)行嚴(yán)格詳實(shí)的定義和格式化.
③對IAD的互動模式、結(jié)果和評判標(biāo)準(zhǔn)這三個模塊按照軟件模型的輸出結(jié)果重新定義和格式化.
④對IAD各部分之間的關(guān)系暗含的系統(tǒng)行為進(jìn)行格式化,理清軟件模型之間的關(guān)系.
由于IAD采用的是自然語言描述的概念性的知識,這些信息在建立計算機(jī)人工社會模型時必須按照計算機(jī)語言形式進(jìn)行描述,因此在使用MAIA工具前必須將它們進(jìn)行重新定義和格式化.這種規(guī)范方式一般稱為元模型方式.對模型的精準(zhǔn)描述能夠更好地挖掘、分析和理解所要模擬的定義域.用來描述模型的一組正式規(guī)范的概念稱之謂元模型[13-14].根據(jù)IAD框架的核心思想:搞清楚行動舞臺中行動情境和行動者在外生變量影響下的相互作用及其產(chǎn)生的結(jié)果對兩者的反作用,MAIA對IAD框架進(jìn)行了分解和組合,形成了一個包括5個部分的元模型并給出了如圖3的關(guān)系圖[15]:集體模塊、體制模塊、物質(zhì)模塊、操作模塊、評估模塊.
圖3 MAIA元模型框架
在這5個模塊中,可以大致認(rèn)為集體模塊定義了參與者的信息;體制模塊定義了行動情境中的社會環(huán)境以及規(guī)則;物質(zhì)模塊定義了行動情境中自然條件以及規(guī)則;操作模塊定義了互動模式;評估模塊定義了對結(jié)果的驗(yàn)證和衡量模式.
將圖2的制度分析與發(fā)展框架轉(zhuǎn)變?yōu)閳D3的MAIA元模型框架是建立基于Agent的人工社會模型非常重要的一步,這一步是概念轉(zhuǎn)化過程,它將抽象的、自然語言描述的社會結(jié)構(gòu)轉(zhuǎn)變?yōu)橐?guī)范的,格式化的模型結(jié)構(gòu),為建立計算機(jī)軟件模型做好了充分的準(zhǔn)備.
(2)MAIA工具
Ghorbani為了支持MAIA元模型的應(yīng)用,開發(fā)了基于web的MAIA工具來處理概念化過程,并分別對元模型種的5大模塊進(jìn)行說明.
①集體模塊:在集體模塊中定義了所有Agents,并詳細(xì)描述了每個Agent的屬性.在MAIA中Agent被定義為系統(tǒng)中制度驅(qū)動的實(shí)體,它必須擔(dān)任能完成系統(tǒng)任務(wù)的角色.一個Agent包括屬性、個人價值、信息、物質(zhì)成分、可能的角色、內(nèi)在行為和判斷標(biāo)準(zhǔn)幾個內(nèi)容.
②體制模塊:體制模塊定義了三個對象:角色,制度以及角色之間的依賴關(guān)系.
角色是一系列行為的表示,是一種身份.角色的行為是根據(jù)系統(tǒng)規(guī)則為了完成社會目標(biāo)做出的,它由獨(dú)立定義在集體模塊中的Agent扮演.一個Agent可能同時或者先后擔(dān)任多個角色.不同的agent擔(dān)任相同的角色可能因?yàn)樗麄儍?nèi)在特性的差異(比如個人價值)有不同的行為.一個角色有下列性質(zhì):目標(biāo),規(guī)則制度,入場條件,責(zé)任.
角色的屬性中的規(guī)則制度在體制模塊中作為制度專門列出來進(jìn)行了說明.制度的制定遵循ADICO(Attributes,Deontic,aIm,Condition and Orelse),它分別為:屬性、義務(wù)、目標(biāo)、條件,否則.Agent根據(jù)他們所擔(dān)任的角色遵守這些制度.
依賴關(guān)系描述了一個角色在實(shí)現(xiàn)自己目標(biāo)時對其它角色的依賴.依賴對象是一個角色的目標(biāo).依賴者是這角色,它實(shí)現(xiàn)依賴對象的目標(biāo).
③物質(zhì)模塊:物質(zhì)模塊由系統(tǒng)中所有具有物質(zhì)表現(xiàn)的實(shí)體,以及這些物質(zhì)實(shí)體的合成物、連接物組成.它分三個方面說明:物質(zhì)成分、物質(zhì)聯(lián)系、物質(zhì)合成.
系統(tǒng)中的一個物質(zhì)成分是一個能反映系統(tǒng)中Agent行為的實(shí)體.一個物質(zhì)成分可能被指定給一個Agent從頭到尾扮演的角色,或者可能是Agent自身擁有的,與它所扮演的角色無關(guān).它包括特性、類型、行為、功能性幾個方面.
物質(zhì)成分之間可能存在各種關(guān)系,比如在門和房間之間有一個關(guān)聯(lián).同時物質(zhì)成分能夠有其它物質(zhì)成分構(gòu)成,比如一輛汽車由輪子、發(fā)動機(jī)等組成.
④操作模塊:操作模塊借助在物質(zhì)模塊、集體模塊中定義的概念為Agent提供一個基本的動態(tài)模型.使用一次操作模塊就完成一次模擬.操作模塊有一個精確的活動區(qū)域,這區(qū)域被一系列活動環(huán)境所定義.操作模塊中包括實(shí)體行為、計劃、活動區(qū)域、角色扮演幾個部分.每個實(shí)體都要自己的行為,這些行為具有下列屬性:行為執(zhí)行者、行動集、決策、前提、后置條件.
實(shí)體的行為是按計劃進(jìn)行.在系統(tǒng)中有四種不同類型的計劃.原子計劃,單一實(shí)體行為組成,比如員工演變?yōu)閱挝焕习?;順序計劃,由一套按特定次序?zhí)行的計劃組成;可選擇計劃,由一套隨機(jī)選擇的計劃組成(平等機(jī)會);循環(huán),由一套保持條件的重復(fù)計劃組成.
活動區(qū)域根據(jù)實(shí)體活動環(huán)境定義,每個活動環(huán)境的繪制是根據(jù)計劃清單中大量相關(guān)實(shí)體行動發(fā)生次序完成的.在操作模塊中Agent將被選為實(shí)體行為的實(shí)施者,也就是說Agent在不同行動中扮演某個角色.
⑤評估模塊:評估模塊幫助模型設(shè)計者分析模型仿真結(jié)果,評估模型的有效性(是否滿足現(xiàn)實(shí)需要),可使用性(能幫助探索預(yù)先的問題).評估模塊的評估方式是利用模型參數(shù)進(jìn)行分析,包括問題領(lǐng)域變量、確認(rèn)變量.
模型的執(zhí)行不能違背現(xiàn)實(shí)世界條件,根據(jù)現(xiàn)實(shí)世界條件定義問題領(lǐng)域變量.它用于監(jiān)控模型的運(yùn)行,可從模擬運(yùn)行結(jié)果的數(shù)據(jù)和變量中計算出來.問題領(lǐng)域變量與實(shí)體行為之間的關(guān)系用問題領(lǐng)域矩陣描述,變量和實(shí)體行為之間的關(guān)系可以是直接關(guān)系,也可以是間接關(guān)系.確認(rèn)變量根據(jù)設(shè)計者想探索的問題來定義.
(3)MAIA建模思路
分析現(xiàn)實(shí)社會進(jìn)行形式化;建立個體、社會模型;編寫仿真程序并進(jìn)行仿真運(yùn)算;分析仿真結(jié)果并修正仿真模型,這是人工社會研究方法的基本步驟.它對于缺乏計算機(jī)學(xué)科背景的社會科學(xué)研究者是一件相當(dāng)困難的事情.為此一些學(xué)者提出了以模型概念設(shè)計,運(yùn)行模型,校正和數(shù)據(jù)分析為基本步驟的基于主體的人工社會建模指南[16].其中模型概念設(shè)計是人工社會模型能否被合理有效構(gòu)建出來的關(guān)鍵.計算機(jī)建模語言很多,結(jié)構(gòu)化方法,面向?qū)ο蠓椒?,面向目?biāo)建模方法,情景實(shí)例方法,形式化方法等[17].這里選擇UML(Unified Modeling Language)進(jìn)行討論.
通過IDA框架我們可以確定研究問題,確定系統(tǒng)重要參數(shù)和條件,但這些問題、參數(shù)、條件的描述是一種自然語言的描述.在實(shí)現(xiàn)人工社會模型仿真中,我們需要準(zhǔn)確的,形式化的計算機(jī)建模語言描述.MAIA元模型結(jié)構(gòu)條理化人工社會模型中的各個要素,它對人工社會模型中的各個概念按模塊進(jìn)行的定義和說明,這些定義和說明在UML中的靜態(tài)視圖中按照程序設(shè)計思路用類圖進(jìn)一步完善并建立各對象之間的關(guān)系,為軟件工程建模做準(zhǔn)備.MAIA一方面是模型分析者和程序員之間的交流工具;另一方面它生產(chǎn)的概念模型表達(dá)了社會學(xué)研究者和程序員對所研究的社會模型的理解,以方便對模型的評估和校對.MAIA建模思路是利用MAIA元模型建立起了這樣的一座橋梁:IAD—MAIA—UML.
基于IAD結(jié)構(gòu)發(fā)展起來的MAIA元模型與其它人工社會模型相比,它將社會制度和Agent全面的聯(lián)系起來,更好地反映社會結(jié)構(gòu)特征.根據(jù)MAIA元模型得到的MAIA工具定位在人工社會模型設(shè)計階段:IAD框架的社會描述與計算機(jī)軟件模型設(shè)計兩個步驟之間,為社會學(xué)研究者和程序設(shè)計人員之間建立了一座橋梁,方便了兩者的溝通交流.但是社會的復(fù)雜性不是能完全用MAIA元模型來體現(xiàn)的.在實(shí)際運(yùn)用中,在具體的社會環(huán)境中,有些特定的參數(shù)需要專門列出來討論.
[1]張江,李學(xué)偉.人工社會——基于Agent的社會學(xué)仿真[J].系統(tǒng)工程,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.規(guī)則、博弈與公共池塘資源[M].王巧玲,任睿譯.西安:陜西人民出版社,2011.
[12]王群.奧斯特羅姆制度分析與發(fā)展框架評介[J].經(jīng)濟(jì)學(xué)動態(tài),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]牛曦,劉強(qiáng).軟件工程需求建模方法的比較與分析[J].微計算機(jī)應(yīng)用,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
四川省教育廳資助項(xiàng)目(14ZA0266);宜賓學(xué)院資助項(xiàng)目(2011Z17)
劉益(1971-),男,副教授,碩士研究生,研究方向?yàn)橛嬎銠C(jī)邏輯、人工智能
時間:2014-05-16 11:31
http://www.cnki.net/kcms/detail/51.1630.Z.20140516.1301.012.html