亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Mesa的ABM仿真

        2021-10-15 01:13:12劉艷玲姚建盛
        電腦與電信 2021年7期
        關(guān)鍵詞:可視化功能模型

        劉艷玲 姚建盛*

        (1.桂林理工大學(xué)旅游與風(fēng)景園林學(xué)院,廣西 桂林 541004;2.廣西旅游產(chǎn)業(yè)研究院,廣西 桂林 541004)

        1 引言

        在許多實(shí)際的大型系統(tǒng)中,如社會(huì)系統(tǒng)、經(jīng)濟(jì)系統(tǒng)和生物系統(tǒng)等,各個(gè)要素之間的相互作用錯(cuò)綜復(fù)雜,系統(tǒng)演化的方式很難通過數(shù)理模型描述,因此仿真是研究這類復(fù)雜系統(tǒng)的重要手段之一[1]。另外,仿真相對(duì)于實(shí)物模擬,具有降低風(fēng)險(xiǎn)和節(jié)約成本的優(yōu)點(diǎn),而且可用于預(yù)測(cè)和論證方案可行性[2]。

        智能體模型(ABM,Agent-based Modeling)是一種流行的建模和仿真技術(shù),將人、組織、企業(yè)、動(dòng)物等個(gè)體建模為智能體Agent,Agent具有自身狀態(tài)和行為規(guī)則,通過微觀個(gè)體(Agent)行為和交互活動(dòng),可以再現(xiàn)突發(fā)現(xiàn)象、動(dòng)態(tài)均衡和非線性結(jié)果等,從而推演系統(tǒng)的宏觀現(xiàn)象和運(yùn)行結(jié)果,是當(dāng)前復(fù)雜系統(tǒng)研究的重要方法之一,已經(jīng)廣泛應(yīng)用于社會(huì)科學(xué)、生物學(xué)、化學(xué)、地球科學(xué)和計(jì)算機(jī)科學(xué)等多個(gè)領(lǐng)域[3]。

        ABM通過計(jì)算機(jī)程序模擬系統(tǒng)的動(dòng)態(tài)運(yùn)行,迄今為止已有眾多ABM仿真工具軟件,如Swarm、NetLogo、Repast等等,其中在社會(huì)生態(tài)領(lǐng)域應(yīng)用最廣泛的是NetLogo[4]。NetLogo是基于ABM模型對(duì)自然和社會(huì)現(xiàn)象進(jìn)行仿真的可編程建模環(huán)境,特別適合對(duì)隨時(shí)間演化的復(fù)雜系統(tǒng)進(jìn)行建模。但是,NetLogo的建模語言Lisp屬于一個(gè)古老而奇異的編程語言家族,看似簡(jiǎn)單,實(shí)則龐大精深,想精通難度很大。尤其在設(shè)計(jì)復(fù)雜系統(tǒng)調(diào)參時(shí),NetLogo無法像腳本語言一樣方便配置參數(shù)和對(duì)比分析不同參數(shù)環(huán)境下系統(tǒng)輸出結(jié)果[5]。

        鑒于Python語言在數(shù)據(jù)統(tǒng)計(jì)分析、挖掘和可視化上的強(qiáng)大功能,有項(xiàng)目基于Python開發(fā)控制NetLogo的平臺(tái),如PyNetLogo[4]和NL4Py[5]等,但是同時(shí)使用多種語言對(duì)于社會(huì)科學(xué)研究人員來說還是有難度。另外一個(gè)項(xiàng)目Mesa基于Python3開發(fā)一個(gè)ABM框架[6],既可以利用Python語言建立ABM模型,又可以充分利用Python語言的強(qiáng)大功能,進(jìn)行數(shù)據(jù)分析和可視化,方便學(xué)術(shù)研究。論文通過示例介紹Mesa,為ABM仿真研究者提供一個(gè)新的選擇工具和快速入門途徑。

        2 Mesa——ABM仿真框架

        Mesa是基于Python3開發(fā)的、模塊化的開源ABM仿真框架,可用于構(gòu)建、分析和可視化ABM模型。Mesa從頭開始構(gòu)建,能夠借鑒當(dāng)前主流ABM仿真工具的優(yōu)勢(shì)和彌補(bǔ)不足,借助Python語言的優(yōu)勢(shì),Mesa目標(biāo)是成為一個(gè)可以替代基于其他語言的ABM流行框架,比如NetLogo、Repast或MASON。目前Mesa在Github上擁有2.4k個(gè)star和588個(gè)fork,并且一直處于活躍更新狀態(tài)。

        Mesa的體系架構(gòu)如圖1所示,框架整體由三部分組成,分別是模型(Modeling)、分析(Analysis)和可視化(Visualization)。其中模型(Modeling)包括三部分,即仿真空間(Space)、智能體(Agent)和調(diào)度器(Scheduler),Space是Agent的活動(dòng)場(chǎng)景,Scheduler決定Agent在Space上的活動(dòng)順序,Modeling負(fù)責(zé)配置三個(gè)組件。分析(Analysis)模塊主要是數(shù)據(jù)收集器和批處理運(yùn)行器??梢暬P蛥?shù)設(shè)置可視化、仿真場(chǎng)景可視化和仿真結(jié)果可視化三部分。

        圖1 Mesa體行架構(gòu)

        Mesa框架系統(tǒng)文件及其相關(guān)功能如下:

        agent.py、model.py分別是Agent和Model的基類,由用戶依據(jù)實(shí)際仿真任務(wù)進(jìn)行繼承和擴(kuò)展;space.py是Space空間類,實(shí)現(xiàn)了包括Grid、ContinuousSpace、NetworkGrid等仿真空間;time.py實(shí)現(xiàn)了調(diào)度器功能,包括BaseScheduler、RandomActiation、SimultaneousActivation、StagedActivation等調(diào)度策略;datacollection.py和batchrunner.py實(shí)現(xiàn)數(shù)據(jù)收集和批處理不同參數(shù)等功能;目錄Visualization中的文件Modular-Visualization.py、TextVisualization.py、UserParam.py實(shí)現(xiàn)模型可視化、文本可視化和參數(shù)可視化功能。

        3 仿真示例

        通過示例演示Mesa的使用和仿真效果,選擇典型的病毒傳播模型SIR作為仿真案例。在SIR中,種群(Population)內(nèi)個(gè)體的狀態(tài)可分三類:

        (1)S:易染狀態(tài)(Susceptible),即健康狀態(tài);

        (2)I:感染狀態(tài)(Infected),處于感染狀態(tài)的個(gè)體,可以感染其他健康狀態(tài)個(gè)體;

        (3)R:移除狀態(tài)或者恢復(fù)狀態(tài)(Removed or Recovered),也稱為免疫狀態(tài),即個(gè)體被感染后恢復(fù),不再被感染,也不感染其他個(gè)體。

        設(shè)S(t)是t時(shí)刻“S”狀態(tài)的個(gè)體數(shù),I(t)是t時(shí)刻“I”狀態(tài)的個(gè)體數(shù),R(t)是t時(shí)刻“R”狀態(tài)的個(gè)體數(shù),N(t)是t時(shí)刻整個(gè)種群的個(gè)體數(shù)量,個(gè)體接觸率為λ,治愈率為μ,則agent狀態(tài)遷移圖如圖2所示。

        圖2 SIR模型狀態(tài)遷移圖

        設(shè)種群總數(shù)為固定值N,則有式(1)的微分方程組:

        在傳統(tǒng)的仿真中,基于公式(1)計(jì)算仿真結(jié)果,能看到標(biāo)準(zhǔn)的圖形,但與現(xiàn)實(shí)不符。基于ABM的仿真,每個(gè)個(gè)體隨機(jī)移動(dòng),接觸率與種群密度和移動(dòng)模型相關(guān)。設(shè)個(gè)體間傳染概率為β,恢復(fù)概率為γ,當(dāng)易感染agent同時(shí)接觸n個(gè)感染agent時(shí),感染概率是n*β。

        依據(jù)Mesa框架編寫3個(gè)代碼文件:

        (1)agent.py實(shí)現(xiàn)People類,繼承Mesa的智能體基類Agent,設(shè)置agent具有三種狀態(tài)及其狀態(tài)改變規(guī)則,通過代碼:

        實(shí)現(xiàn)agent的簡(jiǎn)單隨機(jī)游走功能。

        (2)model.py實(shí)現(xiàn)SIR類,繼承Mesa的智能體基類Model,主要是配置仿真空間、調(diào)度器、數(shù)據(jù)收集器、生成agent等,關(guān)鍵代碼如下:

        (3)server.py實(shí)現(xiàn)可視化web服務(wù)器:

        定義自定義函數(shù)sir_portrayal(agent),設(shè)計(jì)agent在仿真空間的形狀、顏色等信息;

        設(shè)置畫布、大小,并將函數(shù)sir_portrayal(agent)傳遞給畫布:

        設(shè)計(jì)收集數(shù)據(jù)的可視化圖表:

        設(shè)置四個(gè)仿真模型參數(shù),用滑塊設(shè)置默認(rèn)值、最小值、最大值和step步長(zhǎng):

        配置可視化文本服務(wù)器,包括模型、畫布、圖表、參數(shù)等信息:

        仿真運(yùn)行界面如圖3所示:

        圖3 仿真可視化界面

        4 結(jié)語

        本文介紹了ABM模型仿真在復(fù)雜系統(tǒng)研究中的重要作用,重點(diǎn)闡述基于Python的ABM仿真框架Mesa的優(yōu)勢(shì)、結(jié)構(gòu),并通過SIR模型仿真案例描述Mesa的使用方法,為Python用戶實(shí)現(xiàn)ABM仿真探索一個(gè)新方法。

        猜你喜歡
        可視化功能模型
        一半模型
        也談詩(shī)的“功能”
        基于CiteSpace的足三里穴研究可視化分析
        基于Power BI的油田注水運(yùn)行動(dòng)態(tài)分析與可視化展示
        云南化工(2021年8期)2021-12-21 06:37:54
        重要模型『一線三等角』
        基于CGAL和OpenGL的海底地形三維可視化
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        “融評(píng)”:黨媒評(píng)論的可視化創(chuàng)新
        關(guān)于非首都功能疏解的幾點(diǎn)思考
        3D打印中的模型分割與打包
        在线看片免费人成视频久网下载| 国产白丝在线| 久久久午夜毛片免费| 久久精品久久精品中文字幕| 白嫩丰满少妇av一区二区| 伊人久久大香线蕉综合网站| 456亚洲老头视频| 亚洲一区久久久狠婷婷| 黄片视频免费在线播放观看| 天天天天躁天天爱天天碰2018| 国产亚洲av综合人人澡精品| 免费看国产成年无码av| 美女福利视频网址导航| 人人妻人人澡人人爽精品日本| 精品久久久久久久无码人妻热| 亚洲国产精品va在线播放| 亚洲A∨无码国产精品久久网| 水蜜桃一二二视频在线观看免费 | 国产成人亚洲日韩欧美| 精品国产91久久综合| 美利坚合众国亚洲视频| 欧美国产激情二区三区| 日本巨大的奶头在线观看 | 台湾佬中文偷拍亚洲综合| 日本精品一区二区三区在线观看 | 99福利在线| 国内精品久久人妻性色av| 亚洲精品国产第一区二区| 亚洲人成网站18禁止久久影院| 久久久精品国产亚洲成人满18免费网站| 国产精品日日摸夜夜添夜夜添| 国产一区二区三区涩涩涩| 日韩精品无码一区二区三区 | 黄片视频免费观看蜜桃| 人妻少妇精品无码专区二区| 色伊人国产高清在线| 亚洲国产一区二区视频| 国产丝袜美女一区二区三区| 自拍偷自拍亚洲精品播放| 国产黑色丝袜在线观看网站91| 国产一区二区三区我不卡 |