個體為本模型

係電腦模擬上會用到嘅一種運算模型。一個 ABM 會建立一大柞虛擬嘅個體，每個個體都會跟某啲法則嚟行動，而研究者做呢種模擬嘅目的就係想測試「如果啲個體按噉噉噉嘅法則行動，佢哋整體會出現噉噉噉嘅現象」嘅假說。

舉個例說明，想像家陣有位生物學家想研究一群蜜蜂之間嘅互動，佢寫個程式，個程式會
設若干隻虛擬嘅蜜蜂個體；
設定好每個個體都會按某啲法則行事，個體之間可以有差異；
行若干時間，睇吓喺噉嘅情況下，蜜蜂群整體會唔會出現佢預想中嗰種現象，
如果會，佢就可以話「法則  能夠可以解釋呢樣蜜蜂相關嘅現象」。

ABM 呢種研究方法常用於生態學同社會科學：呢啲領域研究都成日會研究一大柞嘅個體－好似係人或者第啲動物呀噉－分別噉做決策，仲有係研究呢啲個體決策點樣引致一啲整體嘅現象，而 ABM 仲造就咗唔少重大嘅發現，例子可以睇吓重複監犯困境噉。

以下嘅內容，假設讀者已經識嗮程式編寫嗰啲基本概念。

基礎 

ABM 呢家嘢早喺 1970 年代初嗰陣已經存在。喺最基本上，行 ABM 嘅程式做嘅嘢可以用以下呢幾個步驟總括：
初始化，建構  個個體，當中每個個體都掕住一啲參數數值表示佢嘅個體特性。喺實際應用上， 嘅數值通常閒閒地係幾百。
將  設做 0。呢個變數代表時間。
喺呢個時間點 ，foreach 個體，按呢個個體嘅行動法則同埋特性，計吓佢跟住落嚟嘅狀態會點變；
如果個模型涉及一啲整體性嘅變數，按啲個體嘅新狀態嚟計呢啲整體變數嘅新數值；
t = t + 1；
一路係噉重複步驟 3 至 5，直至結束條件達到為止。
如果模擬結果係會出現研究者想要嘅某種現象，噉研究者就有理由作出一個論證，話「 嗰啲法則同特性可以解釋到嗰種現象點解會發生」－ABM 嘅最重要用途係

有關創發等概念嘅詳情，可以睇吓複雜系統等嘅概念。

生物應用 

生物學係研究生命嘅科學，成日都會用到 ABM。生物學嘅 ABM 通常都會將每隻生物當做一個個體嚟行 ABM，當中「一隻生物」可以係一隻細菌、一樖植物以至一隻動物呀噉；生物學 ABM 有陣時甚至可以將成個種群當做一個個體噉嚟分析。

有關生物學 ABM 嘅例子，可群動 

群動係生物學 ABM 嘅一個出名例子，想像家陣有一大拃個體一齊移動，途中每個個體都會守三條規則：
分隔－唔好撞到隔離嘅其他個體；
順向－將自己方向對準周圍其他個體嘅平均；
凝聚－將自己置於周圍其他個體嘅平均嘅位置。

用電腦模擬嘅話，個程式會類似噉：
  設  件物件同埋設好佢哋嘅初始位置
  設 = 0；
  While  未到某個值，
    Foreach 物件
      計「如果呢件物件跟嗰三條法則郁，佢嘅新位置會响邊」；
    顯示出每件物件嘅新位置；
     上升 1；
於是研究者就能夠知道

事實表明咗，群動模型會引起類似某啲自然現象噉嘅規律，例如某啲物種嘅雀鳥成群一齊飛嗰陣個雀群成嘅形態噉，就俾人指望落好似群動出嘅規律噉－於是研究者就可以提出個主張話「嗰三條法則能夠解釋雀群嘅形態點解會係噉嘅樣」。

生態模型 

生態模型成日都會用到 ABM：生態模型係指將生態系統想像成抽象化嘅數學模型噉研究；生態系統本質上就係由大量嘅個體生物組成嘅系統，所以自然有可能用 ABM，將每隻生物當做一個個體噉模擬，而進階啲嘅研究仲有可能將成個種群當做一個個體。
例：2004 年蚜蟲 ABM 研究
蚜蟲係一個超科嘅昆蟲，包含多個唔同嘅物種，出嗮名係一啲鍾意蛀食植物嘅害蟲，會對好多農作物造成破壞。因為噉，有唔少從事昆蟲同農業相關研究嘅科學家都有研究蚜蟲，想透過理解蚜蟲解答「點樣先可以有效防治蚜蟲」等嘅問題。

喺 2004 年，有一班英格蘭科學家針對稻麥蚜做咗份研究，佢哋用 Java 呢隻物件導向程式語言寫咗個程式，段虛擬碼大致係噉嘅：
  設  件物件，每件物件表示一隻蚜蟲，每隻蟲有以下呢啲數值：
    3D 嘅位置值、
    年紀值，數值係 0.00-2.00，當中 1.00 算係成年、
    佢過往嘅行為紀錄、
    佢獨有嘅 ID 值，方便部電腦監察住佢哋邊隻打邊隻
  設 = 0；
  設定風向同氣溫等嘅環境變數；

While 場模擬行緊，
    將氣溫等嘅環境變數，設做數據庫紀錄咗嘅數值；
    Foreach 蚜蟲個體
      age 數值升；
      if age >= 2.00
        隻蟲就死；
      隻蟲有若干機率會死；  
      if age >= 1.00
        隻蟲有若干機率會遷徙； 
        隻蟲有若干機率會繁殖，繁殖會產生新個體，呢啲個體 age 冚唪唥係 0.00； 

上升 1；

班研究者睇過打前嗰啲研究，知道「蚜蟲嘅繁殖率同氣溫等嘅環境因素成咩數學關係」。有咗個程式，佢哋就可以教部電腦計出笪地方「每日會有幾多隻蚜蟲」，並且將呢啲數值以線噉嘅形式呈現出嚟－即係好似上圖噉 X 軸做時間 Y 軸做嗰種生物嘅個體數量；跟住佢哋攞呢啲數值同實際數據對比。佢哋發覺模擬得出嘅數值同實際數據嘅相當吻合，於是班研究者就可以作出噉嘅推論：

打後嘅研究者，知道個模型係掂嘅，仲可以攞個模型去估未來嘅蚜蟲數量變化，幫手做防治蚜蟲嘅工作。

醫療應用 

ABM 喺醫療相關嘅研究上都有用。

流行病學係一門醫療領域，專研究病同第啲健康相關狀態點樣喺群體當中分佈。流行病學專家會剖析傳染病點樣喺人之間傳播，用呢啲知識幫助醫療上嘅工作。運算流行病學就係指專門用運算方法做流行病學上嘅研究：流行病學本質上就會想知「人類嘅行為點樣影響病喺佢哋之間嘅傳播」，所以會用到 ABM 。
例：2011 年傳染病 ABM 研究
醫療工作者好睇重「對疫潮做準備」呢樣工作：要為疫潮作出準備，起碼要估計應付疫潮需要幾多人力物力資源，而要準備呢啲資源，就要估計「會有幾多人惹到隻病」；流行病學專家好興用 ABM 電腦模擬，作出「如果每個人嘅行為係噉噉噉而隻病嘅傳染力係噉噉噉，最後會有幾多幾多人惹到隻病」噉嘅估計。

喺 2011 年，有一班科學家做咗份研究，用 2009 年嘅墨西哥 A 型 H1N1 流行性感冒病毒爆發做數據。佢哋指出，傳染病嘅傳播主要取決於人嘅流動同埋人際接觸。佢哋個模型大致係噉嘅：
  設  件物件，每件物件表示一個人，每個人有以下呢啲數值：
    3D 嘅位置值、
    移動模型、
    社會網絡、
    佢獨有嘅 ID 值，方便部電腦監察住佢哋邊個打邊個
  設 = 0；
  設定隻病嘅特性：
    個體間傳播－反映「如果家陣有兩個人密切接觸，當中一個人有隻病，隻病會傳畀另外嗰個人嘅機率」等、
    個體內漸進－反映「如果個人惹咗隻病，喺幾耐嘅時間會冇症狀、喺幾耐嘅時間會有傳染性...」噉嘅資訊

隨機揀個人，設定佢惹到隻病

While 場模擬行緊，
    Foreach 人類個體
      按 mobility model 設定佢嘅位置；
    Foreach 地區
      計出佢有冇受感染嘅人喺入面；
    Foreach 有感染力嘅人類個體 i
      搵出佢身處嗰區入面嗰啲可以受感染嘅個體；
      Foreach 可以受感染嘅個體 j
        按社會網絡計出 j 同 i 密切接觸嘅機率；
        按密切接觸嘅機率同 transmission，計出 j 畀 i 惹到嘅機率；

按 progression 更新 i 嘅狀態；

上升 1；

班研究者睇過打前嗰啲研究，知道「如果家陣有兩個人密切接觸，當中一個人有隻病，隻病會傳畀另外嗰個人嘅機率」等嘅資訊。然後佢哋就攞咗 2009 年嘅墨西哥 H1N1 爆發嘅數據嚟睇，用手機數據估計啲人嘅移動模型同社會網絡，並且進行模擬，計吓「喺每點時間，會有幾多人惹到隻病」。佢哋嘅模擬顯示，政府下令限制啲人嘅流動 社科應用 

個體為本社會模擬係指用 ABM 研究社會：社會科學係研究人類社會嘅科學，包括心理學、社會學同經濟學呀噉，所以自然會關注「個體人類嘅活動，會點樣引致社會現象？」噉嘅問題Stefan, F. M., & Atman, A. P. F. (2015). Is there any connection between the network morphology and the fluctuations of the stock market index?. Physica A: Statistical Mechanics and its Applications, 419, 630-641.。社會科學當中嘅 ABM 通常會係用個體人類做個模型當中嘅個體，亦有部份模型會將成個組織當係一個個體噉分析Hughes, H. P. N.; Clegg, C. W.; Robinson, M. A.; Crowder, R. M. (2012). "Agent-based modelling and simulation: The potential contribution to organizational psychology". Journal of Occupational and Organizational Psychology. 85 (3): 487-502.。

例子可以睇吓重複監犯困境相關嘅研究，或者有關工作團隊嘅管理學 ABM 研究Crowder, R. M., Robinson, M. A., Hughes, H. P., & Sim, Y. W. (2012). The development of an agent-based modeling framework for simulating engineering team work (PDF). IEEE Transactions on Systems, Man, and Cybernetics-Part A: Systems and Humans, 42(6), 1425-1439.。

例：2018 年火燭疏散 ABM 研究
「緊急疏散要點做？」係唔少社會科學家關注嘅一個課題。緊急疏散定義係指「喺一笪地方有危險嘢嗰陣，要笪地方嘅人有咁快得咁快移去安全地方」嘅相關工作，對建築設計嘅安全考量嚟講好重要。社會科學家好興用 ABM 研究人緊急疏散嗰陣嘅行為－佢哋會將每個人視為一個個體，當佢哋傾向會按某啲法則郁動，並且行個 ABM 睇吓「如果啲人按噉噉噉嘅法則郁動，佢哋走起火警上嚟會出現點嘅情況」Aguirre, B. E., El-Tawil, S., Best, E., Gill, K. B., & Fedorov, V. (2011). Contributions of social science to agent-based models of building evacuation (PDF). Contemporary Social Science, 6(3), 415-432.。

喺 2018 年，有班科學家就做咗份研究，模擬一棟建築物火燭嗰時啲人嘅疏散情況，用 GAMA 平台嚟做模擬，個模型大致係噉嘅：

設  個人，每個都具有：
    位置值
    行為模型，個模型包括「聽到火警鐘響就會開始疏散」等嘅多條法則，仲有搵路演算法教佢郁動
    個值表示生命，如果佢掂到火或者濃煙，生命值會跌，生命值變 0 佢就會死
    個值表示佢走得有幾快
    如果個人離開咗棟建築物，佢就算係安全
  設  個火頭，每個都具有：
    位置值
    個值表示佢擴散得幾快
  設  股濃煙，每個都具有：
    位置值
    會由火度產生出嚟
  設  個火警鐘，每個都具有：
    位置值
    一個範圍，一旦有火或者濃煙進入佢嘅範圍，佢就會響
    個持久值，表示個鐘會響幾耐

設 = 0；

While 場模擬行緊，
    Foreach 個體
      按個個體啲法則，更新佢嘅狀態
     上升 1；

有咗好似上述噉嘅模型，研究者就可以攞住好多唔同嘅建築物平面圖，試行個模型，解答「如果棟建築物嘅設計係噉噉噉，火燭嗰陣會有幾多人死？」噉嘅問題。然後佢哋仲會同建築師等嘅人員合作－例如想像有班建築師要設計一棟建築物，佢哋諗咗好幾個方案出嚟，跟住就需要決定採用邊個方案；佢哋可以同每個方案都行一次模擬，模擬嗰套方案有幾安全，就可以幫手決定「邊套方案比較好」。

理論思考 

理論上，ABM 最大嘅功用係可以用嚟剖析由多個有自主性嘅個體响廿一世紀初，好似 ABM 噉嘅電腦模擬係應對複雜系統嘅一種常用技術。如果想像成數學模型嘅話，複雜系統特徵係變數多。而家想像一個得 3 個變數  嘅簡單系統，研究者淨係需要計
time 1: x1, x2, x3
time 2: x1, x2, x3
time 3: x1, x2, x3
... 如此類推，當中 time n 係指「第 n 點時間」，就做到可以大致想像個系統「跟住會點變化」；但想像如果變數嘅數量係10,000，條數就撈絞到冇可能齋靠人手計－所以科學家研究複雜系統嗰陣，就要用到電腦幫手計數，而 ABM 正正就可以用嚟研究由好多個個體組成嘅複雜系統，包括生態系統同社會呀噉。

ABM 裏面嘅個體可以有呢啲特徵Epstein, J. M. (1999). Agent-based computational models and generative social science. Complexity, 4 (5), 41-60.：
決策：ABM 個體可以識得各自噉做資訊處理，再按某啲法則做獨自決策，例如睇返上面火燭模擬嘅例子噉，啲個體識得做「if 聽到火警鐘嘅聲，就疏散；否則繼續做自己嘢」噉嘅決策；進階啲嘅模型，仲可以教啲個體跟更加複雜嘅法則行事，例子可以睇吓電子遊戲人工智能同有限理性方面嘅內容；
個體差異：ABM 入面嘅個體可以好似現實世界嘅生物噉，有個體差異－喺現實世界，人之間可以喺好多方面有差異，例如模擬火燭嗰陣，研究者可以設成唔同人行路嘅速度唔同，而模擬火燭嘅模型需要考慮埋呢點，做出「多數人行路速度，起碼係 x 咁多，但如果有啲人行路速度慢過 x，佢哋嚟唔嚟得切疏散呢？」噉嘅思考；呢點令 ABM 個體有異於物理學同化學嘅粒子－同類嘅粒子之間粒粒都係一個板嘅。
學習：ABM 個體可以好似現實嘅生物噉曉學習－喺編程上，一個個體學習可以想像成「佢內部啲參數起變化」，例如一個個體從來都未學過有關火警鐘嘅嘢，佢可能會唔知「聽到火警鐘響就要疏散」呢點，而模擬火燭嘅 ABM 模型有陣時要考慮埋「啲人係咪個個都識火警鐘表示嘅嘢」呢點。複雜適應系統同機械學習嘅概念。
... 呀噉。

公開模型 
Multi-agent Meeting Scheduling System Model by Qasim Siddique.
Multi-firm market simulation by Valentino Piana.

AI 概念 

智能體
遺傳演算法
群體智能
人工生命

方程為本模型
物件導向編程
格仔自動機
粒子系統
羅拔·阿塞羅德
分散運算，有研究者指呢種運算方式可以提升 ABM 嘅界限，處理個體數量更大嘅 ABM 模型。

文獻 

Bass, F. M. (1969). A new product growth for model consumer durables. Management science, 15(5), 215-227.
Bazzan, A. L., & Klügl, F. (2014). A review on agent-based technology for traffic and transportation. The Knowledge Engineering Review, 29(3), 375-403，呢篇綜述文講有關「用 ABM 分析交通現象」嘅研究。
Bonabeau, E. (2002). Agent-based modeling: Methods and techniques for simulating human systems. Proceedings of the national academy of sciences, 99(suppl_3), 7280-7287.
Carley, Kathleen M. "Smart Agents and Organizations of the Future". In Lievrouw, Leah; Livingstone, Sonia (eds.). Handbook of New Media. Thousand Oaks, CA: Sage. pp. 206-220.
Crooks, A. T., & Heppenstall, A. J. (2012). Introduction to agent-based modelling (PDF). In Agent-based models of geographical systems (pp. 85-105). Springer, Dordrecht，呢篇文由地理學嘅角度介紹 ABM 嘅基礎。
Crowder, R. M., Robinson, M. A., Hughes, H. P., & Sim, Y. W. (2012). The development of an agent-based modeling framework for simulating engineering team work (PDF). IEEE Transactions on Systems, Man, and Cybernetics-Part A: Systems and Humans, 42(6), 1425-1439.
Farmer, J. D., & Foley, D. (2009). The economy needs agent-based modelling. Nature, 460(7256), 685-686.
Gallegati, M., & Kirman, A. (2012). Reconstructing economics: Agent based models and complexity. Complexity Economics, 1(1), 5-31.
Gilbert, N., & Troitzsch, K. (2005). Simulation for the social scientist. McGraw-Hill Education (UK).
Helbing, D. (Ed.). (2012). Social self-organization: Agent-based simulations and experiments to study emergent social behavior. Springer.
Holland, J. H. (1992). Genetic algorithms. Scientific American, 267(1), 66-73.
Kiesling, E., Günther, M., Stummer, C., & Wakolbinger, L. M. (2012). Agent-based simulation of innovation diffusion: a review (PDF). Central European Journal of Operations Research, 20(2), 183-230，呢篇文講用 ABM 剖析創新滲透嘅現象。
Lansdowne, A. (2006). Traffic simulation using agent-based modelling. Bristol: University of the West of England.
Miller, J. H., Page, S. E., & LeBaron, B. (2008). Complex adaptive systems: an introduction to computational models of social life. Journal of Economic Literature, 46(2), 427-428.
Naldi, G., Pareschi, L., & Toscani, G. (Eds.). (2010). Mathematical modeling of collective behavior in socio-economic and life sciences. Springer Science & Business Media.
O'Sullivan, D., & Haklay, M. (2000). Agent-based models and individualism: is the world agent-based? (PDF). Environment and Planning A, 32(8), 1409-1425.
Preis, T., Golke, S., Paul, W., & Schneider, J. J. (2006). Multi-agent-based order book model of financial markets. EPL (Europhysics Letters), 75(3), 510.
Sun, Ron, ed. (March 2006). Cognition and Multi-Agent Interaction: From Cognitive Modeling to Social Simulation. Cambridge University Press.
Wilensky, U., & Rand, W. (2015). An introduction to agent-based modeling: modeling natural, social, and engineered complex systems with NetLogo''. Mit Press.

攷

拎 

Agent-based models of social networks, java applets.
On-Line Guide for Newcomers to Agent-Based Modeling in the Social Sciences.
Introduction to Agent-based Modeling and Simulation. Argonne National Laboratory, November 29, 2006.
Network for Computational Modeling in the Social and Ecological Sciences' Agent Based Modeling FAQ
Multiagent Information Systems – Article on the convergence of SOA, BPM and Multi-Agent Technology in the domain of the Enterprise Information Systems. Jose Manuel Gomez Alvarez, Artificial Intelligence, Technical University of Madrid – 2006
Artificial Life Framework
Article providing methodology for moving real world human behaviors into a simulation model where agent behaviors are represented.
Agent-based Modeling Resources, an information hub for modelers, methods, and philosophy for agent-based modeling
An Agent-Based Model of the Flash Crash of May 6, 2010, with Policy Implications, Tommi A. Vuorenmaa (Valo Research and Trading), Liang Wang (University of Helsinki - Department of Computer Science), October, 2013.

電腦模擬
社會科學