數學建模學習工坊 / 04
代理人:局部選擇與整體圖案
改變更新次序,能否改變湧現圖案?
學習目標與先備條件
陣列、概率、抽樣及 Python 迴圈。
- 明確指定代理人、鄰域與更新慣例。
- 區分單次實現與重複試驗證據。
- 避免把抽象類別當成實測社會分類。
01 / 08 · 10 分鐘
觀察情境
兩類抽象代理人與空位組成方格世界;顏色代表類型,不是真實人口群體。同類已佔用鄰居比例不足的代理人會搬移。圖案可以很吸引,但科學比較需要明確分數與重複試驗。
描述預期空間圖案,定義能量度該圖案的數量。
02 / 08 · 10 分鐘
提出問題
比較逐次更新與快照更新下的平均同類鄰居比例,藉此隔離排程假設。分數描述局部相似性,不能直接量度福利、偏見或社會因果效應。
查看網格前,寫出兩種更新規則及比較指標。
03 / 08 · 15 分鐘
假設與變數
採週期 Moore 鄰域:八個周邊格跨邊界相接。空位不入分母;孤立代理人按慣例設比例為一。不滿意代理人均勻抽取空位搬入,不要求新位置更好。
解釋各項慣例如何影響行為;你會先挑戰哪一項?
04 / 08 · 20 分鐘
建立模型
先寫局部比例,與閾值 θ 比較,再指定搬移規則。逐次決策用當前網格,快照決策用每輪起始網格,並預留不重複的起始空位。同一偏好規則因此依賴不同資訊。
在 3×3 網格中,中心有兩名已佔用鄰居、兩類各一名,手算中心比例。
05 / 08 · 15 分鐘
設計算法
每次重複試驗給兩模式相同種子,記錄 d=逐次分數−快照分數。報告平均差及近似區間:平均±1.96 SE。少量重複下這只是粗略常態近似,不保證精確涵蓋率。
設計只改閾值的配對實驗,解釋共用種子的好處與限制。
06 / 08 · 25 分鐘
Python 實驗
完成 student_model,回傳鄰域比例。查看起始網格、你的最終網格、參照快照網格與逐輪動畫。重複試驗摘要比較兩個參照排程;你的網格與局部規則檢查另外顯示。
執行 θ=0、0.5、0.8,比較 6 與 24 次重複,記錄不確定性區間如何改變。
07 / 08 · 25 分鐘
驗證與修訂
θ=0 時無代理人需要搬移;兩排程都必須保持各類人口數。一幅好看的網格無法證明差異穩健,趨勢也可能依賴空位比例、網格大小或孤立代理人的處理。
在下載的 notebook 改一項邊界或孤立慣例,指出哪些量仍必須守恆。
08 / 08 · 15 分鐘
撰寫結論
報告規則、分數、種子安排、試驗預算與結果分布。抽象機制可展示邏輯可能性,但不能辨識真實社群原因;穩健性失敗結果也要保留。
撰寫機制層面的結論,指出提出社會主張前需要甚麼實證。
需要一點提示?
1. 概念提示
列出八組偏移,以網格大小取模,排除值為零的鄰居。
2. 數學/算法提示
同類數除以已佔用數;已佔用數為零時回傳 1.0。
3. 參考實作導引
對照參照鄰域規則,在 3×3 手算案例逐步追蹤。
先比較推理,再選擇是否套用。套用前會另存你目前的程式。
實驗協定:比較、失效與延伸
指定比較
固定種子與人口組成,比較逐次與快照排程。
失效實驗
把單一網格當普遍證據,或把空位計作異類,都會改變主張或模型。
研究延伸
固定空位比例研究有限尺寸效應,預先定義收斂準則。
PYTHON WORKBENCH
先預測,再執行。
實驗參數與種子
可直接修改以上程式,或開啟語法標示編輯器。起始碼的待完成部分會令相關檢查失敗;請依推導修正 student_model。
按啟動才下載運算環境;每次實驗使用獨立命名空間,最多 30 秒。
無法載入?仍可下載獨立 notebook,在安裝 NumPy、SciPy、Matplotlib 的 Python 環境執行。 參考 notebook
把這一課連回你的書架。
課文與寫作 Notes
書籍章節(PDF 頁與印刷頁分列)
- Smaldino — Modeling Social Behavior
3: Schelling; 8: Scientific process; 10: Models and reality
PDF 72–73; 242–243; 312–313 · 印刷頁 53–54; 223–224; 293–294