- NetLogo多主體建模入門
- 集智俱樂部
- 1403字
- 2022-04-18 10:59:46
1.2 多主體模擬
這種通過模擬微觀個體的相互作用,從而實現對整個復雜系統的宏觀現象模擬的技術有一個特別的名字,叫作多主體模擬(multi agents simulation,MAS),而構建這種多主體模擬模型的過程叫作多主體建模。這個工具非常厲害,它可以幫助我們解決現實世界的很多問題。
比如,大型集會的人群踩踏事件就是一個典型的復雜系統問題,而這個問題也恰恰是多主體模擬方法的用武之地。
2014年12月31日臨近午夜12點的時候,很多市民和游客聚集到上海市黃浦區外灘陳毅廣場東南角,準備進行跨年慶祝活動。這時,人行通道階梯處底部突然有人失衡跌倒,繼而引發多人摔倒、疊壓,致使擁擠踩踏事件發生。最后,該事件造成36人死亡,49人受傷。
這種事件并非偶發,2018年9月9日,在塔那那利佛馬哈馬西納體育場舉行的2019年非洲國家杯足球賽預選賽,馬達加斯加隊對塞內加爾隊的比賽正在進行,僅能容納2萬人的體育場涌進了4萬余名觀眾。體育場外大量球迷在入口處擁擠,導致踩踏事故發生,造成1人死亡,47人受傷,如圖1-1所示。

圖1-1 馬達加斯加體育場踩踏事故
這樣的事故還有許多,在此不再一一列舉。那么,我們如何防止這樣的事件發生呢?一種可能的途徑是通過改造現有體育場館或人行街道的布局,例如在道路上人為設置一些引導,從而盡可能地避免踩踏事件發生。但問題是,這樣的引導究竟怎么設置呢?這個問題就可以通過計算機中的多主體模擬方法來進行探索和回答。
解決這個問題的關鍵自然是在計算機中搭建一個可以模擬人群行動的多主體模型。只有當這個模型能夠非常逼真地模擬實際情況的時候,我們才有可能在這個模型的基礎之上討論人為設置引導因素的問題。
要設計這樣一個多主體模型,目前科學家們已經有了一個比較成熟的方案,叫作“社會力模型”。該模型將人群中的每個人設定為一個虛擬的智能主體(agent),它可以像人一樣聰明地尋找門的位置,也可以跟其他模擬人進行互動。人和人的實際互動顯然會非常復雜,比如他們可以聊天,可以手挽手,而在社會力模型中,我們顯然要忽略這些復雜因素,而將人抽象成一個個粒子,將人和人之間的相互作用抽象成粒子之間的力。具體的建模過程,這里就不詳細探討了,感興趣的讀者可以去讀《預知社會》這本書的第6章,也可以學習GitHub上SocialForceModel這個NetLogo程序。總之,如今這種人群模擬的多主體模型已經比較成熟了。
這樣的話,我們就可以逼真地模擬人群疏散現象,并在這個模型的基礎之上,進行大量模擬實驗。比如,可以考察體育場館中門的形狀和位置是如何影響人群疏散效率的。那么,我們只需要在模擬世界里設定各種門的形狀和位置,從而觀察模擬人群疏散的效率(單位時間內的疏散人數)。總之,我們可以在這個模擬世界中做大量模擬實驗,從而找到最優的門的形狀和位置,如圖1-2所示。

圖1-2 人群疏散模擬
科學家們通過計算機模擬得出了一個有趣的結論:在房間門口立一個圓形障礙物,不但不會妨礙人群疏散,反而會在緊急情況發生時,提高人群的逃生速度。原來,當危機出現時,人們由于恐慌會盲目地涌向門口,從而導致人和人之間的摩擦力和阻塞力增大,甚至可能導致有些人卡在門口,這大大降低了疏散效率。反之,如果在門口前方立一根圓柱,更多的人就會被這根柱子擋住,從而卸掉部分人群的壓力,使得更多的人能夠高效地從門口逃生出去。這就是為什么很多建筑物門口立著一根“討厭的”大柱子。
這就是典型的多主體模擬的一個應用場景。實際上,最近幾年這種多主體模型大量出現,讓我們可以模擬包括社會、經濟、政治、文化在內的一系列復雜現象。
- UG NX 8.0基礎與實例教程
- Celtx: Open Source Screenwriting Beginner's Guide
- 中文版Premiere Pro CC實用教程
- Oracle Siebel CRM 8 User Management: LITE
- Midjourney AI案例實戰:繪本+動漫+插畫
- Photoshop網店圖片處理實訓教程
- 中文版Dreamweaver基礎培訓教程
- 從零開始:Illustrator CC中文版基礎培訓教程
- Unreal Development Kit Beginner's Guide
- 金融精英PPT實操手冊:世界知名公司這樣展示研究報告
- Photoshop海報設計技巧與實戰
- Magento 1.3 Theme Design
- Drupal 7
- Illustrator CC 2018 基礎與實戰教程(全彩版)
- AI繪畫精講:Stable Diffusion從入門到精通