個體為本模型

出自維基百科,自由嘅百科全書
跳去導覽 跳去搵嘢
大量嘅個體各自行動,形成整體嘅規律:

個體為本模型go3 tai2 wai4 bun2 mou4 jing4英文agent-based model / individual-based modelABM / IBM)係電腦模擬上會用到嘅一種運算模型。一個 ABM 會建立一大柞虛擬嘅個體,每個個體都會跟某啲法則嚟行動,而研究者做呢種模擬嘅目的就係想測試「如果啲個體按噉噉噉嘅法則行動,佢哋整體會出現噉噉噉嘅現象」嘅假說[1][2]

舉個例說明,想像家陣有位生物學家想研究一群同動物之間嘅互動,佢寫個程式,個程式會[3][4]

  1. 若干()咁多個模擬嘅個體;
  2. 每個個體都會按某啲法則()行事,而個體之間可以有差異;
  3. 行若干時間,睇吓整體會唔會出現佢預想中嗰種現象,
  4. 如果會,佢就可以話「法則 可以解釋嗰種現象」。

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

基本定位[編輯]

想像家陣設定 細胞;假想啲細胞每粒都淨係按自己規律行事;隨住時間演進,佢哋整體會出現咩規律呢?
內文:電腦模擬科學運算
睇埋:物件導向編程

喺基本上,行 ABM 嘅程式做嘅嘢可以用以下呢幾個步驟總括[3][4]

  1. 初始化,建構 個(離散嘅)個體agent / individual),當中每個個體都掕住一啲參數數值表示佢嘅個體特性[註 1]。喺實際應用上, 嘅數值通常閒閒地係幾百。
  2. 設做 0。呢個變數代表時間
  3. 喺呢個時間點 foreach 個體,按呢個個體嘅行動法則同埋特性(),計吓佢跟住落嚟嘅狀態會點變;
  4. 如果個模型涉及一啲整體性嘅變數,按啲個體嘅新狀態嚟計呢啲整體變數嘅新數值;
  5. t = t + 1 數值上升 1);
  6. 一路係噉重複步驟 3 至 5,直至結束條件達到為止。

如果模擬結果係會出現研究者想要嘅某種現象,噉研究者就有理由作出一個論證,話「 嗰啲法則同特性可以解釋到嗰種現象點解會發生」-ABM 嘅最重要用途係

理解宏觀層面嘅現象點樣由微觀(個體)層面嘅行為嗰度創發(emerge)出嚟。

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

生物醫療應用[編輯]

睇埋:運算生物學進化論同埋超生物

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

有關生物學 ABM 嘅例子,可以睇埋生物學入面嘅 ABM

群動[編輯]

OpenGL 整嘅群動模擬
2006 年影到嘅一大群椋鳥一齊飛嘅姿態;鳥類學家發覺,雀鳥成群飛嗰陣形成嘅姿態好多時望落都似群動出嘅圖像。
內文:群動

群動(flocking)係生物學 ABM 嘅一個出名例子,想像家陣有一大拃個體一齊移動,途中每個個體都會守三條規則[9]

  • 分隔-唔好撞到隔離嘅其他個體;
  • 順向-將自己方向對準周圍其他個體嘅平均
  • 凝聚-將自己置於周圍其他個體嘅平均嘅位置。

電腦模擬嘅話,個程式會類似噉

物件同埋設好佢哋嘅初始位置(1)
 設 (時間)= 0;(2)
 While  未到某個值,
   Foreach 物件(3 同 4)
     計「如果呢件物件跟嗰三條法則郁,佢嘅新位置會响邊」;
   顯示出每件物件嘅新位置;
    上升 1;(5)

於是研究者就能夠知道

如果群動嗰三條法則(微觀定律)正確,啲物件郁起上嚟望落會係點嘅樣(宏觀現象)?

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

生態模型[編輯]

2010 年影到嘅一幅相;隻豌豆蚜將佢好似針噉嘅口器插咗入樖植物度,吸樖植物嘅汁液,會對樖植物造成破壞。
2008 年影到嘅一幅相;相入面隻瓢蟲喺度咬住隻蚜蟲-蚜蟲破壞好多農作物,瓢蟲會消滅蚜蟲,所以畀好多農夫視為益蟲
內文:生態模型

生態模型(ecosystem model)成日都會用到 ABM:生態模型係指將生態系統想像成抽象化數學模型噉研究;生態系統本質上就係由大量嘅個體生物組成嘅系統,所以自然有可能用 ABM,將每隻生物當做一個個體噉模擬,而進階啲嘅研究仲有可能將成個種群當做一個個體[11][12]

例:2004 年蚜蟲 ABM 研究

蚜蟲(aphid;學名Aphidoidea)係一個超科昆蟲,包含多個唔同嘅物種,出嗮名係一啲鍾意蛀食植物嘅害蟲,會對好多農作物造成破壞。因為噉,有唔少從事昆蟲農業相關研究嘅科學家都有研究蚜蟲,想透過理解蚜蟲解答「點樣先可以有效防治蚜蟲」等嘅問題[13]

喺 2004 年,有一班英格蘭科學家針對稻麥蚜(學名:Rhopalosiphum padi;其中一種最常見嘅蚜蟲,英格蘭都唔少)做咗份研究,佢哋用 Java 呢隻物件導向程式語言寫咗個程式,段虛擬碼大致係噉嘅[12]:p. 3-4

 件物件,每件物件表示一隻蚜蟲,每隻蟲有以下呢啲數值:(1)
   3D 嘅位置值(position)、
   年紀值(age),數值係 0.00-2.00,當中 1.00 算係成年、
   佢過往嘅行為紀錄、
   佢獨有嘅 ID 值,方便部電腦監察住佢哋邊隻打邊隻
 設 (時間)= 0;(2)
 設定風向氣溫等嘅環境變數;
 
 While 場模擬行緊,(3 同 4)
   將氣溫等嘅環境變數,設做數據庫紀錄咗嘅數值;(班研究者事先問有關單位攞咗數據。)
   Foreach 蚜蟲個體
     age 數值升;
     if age >= 2.00
       隻蟲就死;
     隻蟲有若干機率會死; # 模擬「一隻蚜蟲就算唔老死,都有可能死於畀瓢蟲等嘅獵食者捕食」呢點,具體數值嚟自打前研究嘅估計。 
     if age >= 1.00
       隻蟲有若干機率會遷徙; # 具體數值都係嚟自打前研究嘅估計
       隻蟲有若干機率會繁殖,繁殖會產生新個體,呢啲個體 age 冚唪唥係 0.00; # 具體數值都係嚟自打前研究嘅估計
     
       # 已知蚜蟲嘅遷徙同繁殖會受氣溫等嘅環境因素影響,即係 繁殖率 環境因素
    上升 1;(5)

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

我哋用咗嘅嗰拃蚜蟲個體行為定律(微觀定律),可以有效解釋過往嘅蚜蟲數量變化數據(宏觀現象)。

打後嘅研究者,知道個模型係掂(做到準確預測)嘅,仲可以攞個模型去估未來嘅蚜蟲數量變化,幫手做防治蚜蟲嘅工作[15]

流行病學[編輯]

流行病學研究嘅想像圖:幅圖描繪咗座城市嘅一個區,每點表示一個人;可唔可以模擬啲人嘅流動,再按佢哋嘅位置估計隻病會點喺佢哋之間傳播呢?
睇埋:運算流行病學

流行病學(epidemiology)係一門醫療領域,專研究同第啲健康相關狀態點樣喺群體當中分佈。流行病學專家會(例如)剖析傳染病點樣喺人之間傳播,用呢啲知識幫助醫療上嘅工作。運算流行病學就係指專門用運算方法(例如電腦模擬)做流行病學上嘅研究:流行病學本質上就會想知「人類(個體)嘅行為點樣影響病喺佢哋之間嘅傳播」,所以會用到 ABM [16][17]

例:2011 年傳染病 ABM 研究

醫療工作者好睇重「對疫潮做準備」呢樣工作:要為疫潮作出準備,起碼要估計應付疫潮需要幾多人力物力資源,而要準備呢啲資源,就要估計「會有幾多人惹到隻病」;流行病學專家好興用 ABM 電腦模擬[註 2],作出(簡化講)「如果每個人嘅行為係噉噉噉而隻病嘅傳染力係噉噉噉,最後會有幾多幾多人惹到隻病」噉嘅估計[18]

喺 2011 年,有一班科學家做咗份研究,用 2009 年嘅墨西哥 A 型 H1N1 流行性感冒病毒爆發做數據。佢哋指出,傳染病嘅傳播主要取決於人嘅流動同埋人際接觸(睇埋社會網絡嘅概念)。佢哋個模型大致係噉嘅[19]:p. 3-4

 件物件,每件物件表示一個人,每個人有以下呢啲數值:(1)
   3D 嘅位置值(position)、
   移動模型(mobility model;表示嗰個人傾向喺座城市邊個區活動-包含「喺禮拜日,呢個人會喺 A 區嘅機率」噉嘅資訊)、
   社會網絡(social network;表示嗰個人同邊啲人有密切關係-「有密切關係」表示「成日會喺同區活動,大機率會互相傳病」)、
   佢獨有嘅 ID 值,方便部電腦監察住佢哋邊個打邊個
 設 (時間)= 0;(2)
 設定隻病嘅特性(disesase model):
   個體間傳播(transmission)-反映「如果家陣有兩個人密切接觸,當中一個人有隻病,隻病會傳畀另外嗰個人嘅機率」等、
   個體內漸進(progression)-反映「如果個人惹咗隻病,喺幾耐嘅時間會冇症狀、喺幾耐嘅時間會有傳染性...」噉嘅資訊
 
 隨機揀個人,設定佢惹到隻病
 
 While 場模擬行緊,(3 同 4)
   Foreach 人類個體
     按 mobility model 設定佢嘅位置;
   Foreach 地區
     計出佢有冇受感染嘅人喺入面;
   Foreach 有感染力嘅人類個體 i
     搵出佢身處嗰區入面嗰啲可以受感染嘅個體;
     Foreach 可以受感染嘅個體 j
       按社會網絡計出 j 同 i 密切接觸嘅機率;
       按密切接觸嘅機率同 transmission,計出 j 畀 i 惹到嘅機率;
     
     按 progression 更新 i 嘅狀態(例如由「有感染力」演變成「好返嗮」);
     # transmission 同 progression 入面嗰啲具體數值,可以由打前嘅研究度得知。
   
    上升 1;(5)

班研究者睇過打前嗰啲研究,知道「如果家陣有兩個人密切接觸,當中一個人有隻病,隻病會傳畀另外嗰個人嘅機率」等嘅資訊。然後佢哋就攞咗 2009 年嘅墨西哥 H1N1 爆發嘅數據嚟睇,用手機數據估計啲人嘅移動模型同社會網絡,並且進行模擬,計吓「喺每點時間,會有幾多人惹到隻病」(想像畫幅圖,X 軸做時間 Y 軸做惹到隻病嘅人嘅數量)。佢哋嘅模擬顯示,政府下令限制啲人嘅流動(睇埋 lockdown 嘅概念)令惹到隻病嘅人數下降咗成 10% 咁多[19]。喺呢個過程裏面,班研究者做到[19]

考慮個體人嘅流動同埋人際接觸(微觀因素),估計個群體入面有幾多 % 嘅人惹咗隻病(整體現象)。
2021 年香港一場 lockdown;ABM 研究顯示,好似噉嘅 lockdown 能夠明顯減低惹到隻病嘅人嘅數量。

社會科學應用[編輯]

內文:個體為本社會模擬
睇埋:運算社會科學

個體為本社會模擬(agent-based social simulation,ABSS)係指用 ABM 研究社會社會科學係研究人類社會嘅科學,包括心理學社會學經濟學呀噉,所以自然會關注「個體人類嘅活動,會點樣引致社會現象?」噉嘅問題。社會科學當中嘅 ABM 通常會係用個體人類做個模型當中嘅個體,亦有部份模型會將一個組織當係個體噉分析[20]

經濟學[編輯]

呢位消費者得知一隻佢打前未買過嘅穀類早餐,喺度睇吓隻產品包含啲咩材料。佢會唔會決定採用呢隻新產品呢?
睇埋:運算經濟學同埋博弈論

經濟學係專門研究資源分配嘅社會科學。經濟學家成日都會將人想像成理性(或者响限制下盡可能做到理性)嘅決策者,會按照「邊樣行動能夠令自己效益有咁大得咁大」做決策,而效益可以用數值顯示,可以輕易噉想像成 ABM 模型[21]

例:創新滲透模型

創新(innovation)係指產生新同有用嘅產品嘅工作,係經濟增長等現象不可或缺嘅一環。創新滲透(diffusion of innovation)就指一件創新嘅產品「擴散」(由冇乜人用變成好多人用)嘅過程,有好多工作者都想理解創新滲透,解答「點解有啲創新產品會成功,有啲會失敗」等嘅問題[22][23]

商業管理[編輯]

睇埋:科學化管理

理論思考[編輯]

睇埋:創發同埋複雜系統

公開模型[編輯]

AI 概念[編輯]

睇埋[編輯]

註釋[編輯]

  1. 呢點令 ABM 當中嘅個體同物理學上成日研究嘅粒子唔同-同一種類嘅粒子粒粒都一個板,但 ABM 裏面嘅個體彼此之間可以有差異。
  2. 廿世紀尾嘅研究表明,齋靠「將人類群體想像成幾個子群體」唔能夠準確噉模擬傳染病嘅傳播。

文獻[編輯]

[編輯]

  1. Grimm, Volker; Railsback, Steven F. (2005). Individual-based Modeling and Ecology. Princeton University Press. p. 485.
  2. Niazi, Muaz; Hussain, Amir (2011). "Agent-based Computing from Multi-agent Systems to Agent-Based Models: A Visual Survey" (PDF). Scientometrics. 89 (2): 479-499.
  3. 3.0 3.1 Shoham, Yoav; Leyton-Brown, Kevin (2009). Multiagent Systems: Algorithmic, Game-Theoretic, and Logical Foundations. Cambridge University Press.
  4. 4.0 4.1 Schelling, T. C., (1971). "Dynamic Models of Segregation 互聯網檔案館歸檔,歸檔日期2021年6月5號,. (PDF)," Journal of Mathematical Sociology, 1: 143–186.
  5. Heckbert, S., Baynes, T., & Reeson, A. (2010). Agent‐based modeling in ecological economics 互聯網檔案館歸檔,歸檔日期2021年12月6號,. (PDF). Annals of the New York Academy of Sciences, 1185(1), 39-53.
  6. Beaufils, B., Delahaye, J. P., & Mathieu, P. (1997, July). Our meeting with gradual, a good strategy for the iterated prisoner's dilemma. In Proceedings of the Fifth International Workshop on the Synthesis and Simulation of Living Systems (pp. 202-209). MIT press.
  7. Wallace, H. M., Exline, J. J., & Baumeister, R. F. (2008). Interpersonal consequences of forgiveness: Does forgiveness deter or encourage repeat offenses?. Journal of Experimental Social Psychology, 44(2), 453-460.
  8. Zhang, B., & DeAngelis, D. L. (2020). An overview of agent-based models in plant biology and ecology. Annals of Botany, 126(4), 539-557.
  9. 9.0 9.1 Reynolds, Craig W. (1987). "Flocks, herds and schools: A distributed behavioral model.". ACM SIGGRAPH Computer Graphics. 21. pp. 25-34.
  10. An, G., Mi, Q., Dutta‐Moscato, J., & Vodovotz, Y. (2009). Agent‐based models in translational systems biology. Wiley Interdisciplinary Reviews: Systems Biology and Medicine, 1(2), 159-171.
  11. Murphy, K. J., Ciuti, S., & Kane, A. (2020). An introduction to agent‐based models as an accessible surrogate to field‐based research and teaching. Ecology and evolution, 10(22), 12482-12498.
  12. 12.0 12.1 12.2 Parry, H., Evans, A. J., & Morgan, D. (2004). Aphid population dynamics in agricultural landscapes: an agent-based simulation model (PDF).
  13. Piper, Ross (2007). Extraordinary Animals: An Encyclopedia of Curious and Unusual Animals. Greenwood Press. pp. 6-9.
  14. Morgan, D. (2000). Population dynamics of the bird cherry‐oat aphid, Rhopalosiphum padi (L.), during the autumn and winter: a modelling approach. Agricultural and Forest Entomology, 2(4), 297-304.
  15. Thornley, J. H., & Newman, J. A. (2022). Climate sensitivity of the complex dynamics of the green spruce aphid—Spruce plantation interactions: Insight from a new mechanistic model. Plos one, 17(2), e0252911.
  16. Hunter, E., Mac Namee, B., & Kelleher, J. D. (2017). A taxonomy for agent-based models in human infectious disease epidemiology. Journal of Artificial Societies and Social Simulation, 20(3).
  17. Barrett, C. L., Bisset, K. R., Eubank, S. G., Feng, X., & Marathe, M. V. (2008, November). Episimdemics: an efficient algorithm for simulating the spread of infectious disease over large realistic social networks (PDF). In SC'08: Proceedings of the 2008 ACM/IEEE Conference on Supercomputing (pp. 1-12). IEEE.
  18. Epstein, J. M., Goedecke, D. M., Yu, F., Morris, R. J., Wagener, D. K., & Bobashev, G. V. (2007). Controlling pandemic flu: the value of international air travel restrictions. PloS one, 2(5), e401.
  19. 19.0 19.1 19.2 FRIÁS-MARTÍNEZ, E., Williamson, G. & Friás-Martínez, V. (2011). An agent-based model of epidemic spread using human mobility and social network information (PDF). IEEE Conference on Social Computing.
  20. Li, Xiaochen; Mao, Wenji; Zeng, Daniel; Wang, Fei-Yue (2008). "Agent-Based Social Simulation and Modeling in Social Computing". Lecture Notes in Computer Science. 5075/2008: 401-412.
  21. Gallegati, M., & Kirman, A. (2012). Reconstructing economics: Agent based models and complexity. Complexity Economics, 1(1), 5-31.
  22. Bass, F. M. (1969). A new product growth for model consumer durables. Management science, 15(5), 215-227.
  23. 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.

[編輯]