第四章 細胞自動機行人流模式建立
第三節 NotLogo4.0.4 程式行人流模式建立
第三節 第三節 NotLogo4.0.4 程式行人流模式建立 程式行人流模式建立 程式行人流模式建立 程式行人流模式建立
本研究以 NotLogo4.0.4 撰寫模擬程式,此軟體為建立「個體行為者導向模 型」的眾多軟體之一。NotLogo 為 Starlogo 的更新版本,應用行為者基礎模型概 念軟體,由西北大學設計,以 Java 語言寫成,經簡化 CA 概念後,使者用僅須 學習本軟體下指令的方式,就可以建立自己的行為者基礎模型。本軟體以在應 用數學、生物、物理、化學各種科學領域。(Wilensky, 1999)
介紹 NotLogo4.0.4 程式概念與行人流程式介面,程式建構行人流模式之速 率值與觀測行人流模式之速率值差異性分析。
NotLogo4.0.4 程式概念為操作系統、模擬系統與指令建構,詳細操作系統 說明如下:(林峰田,2006)
1. 本軟體操作系統由「界面」(Interface)、「程式模組」(Procedures)及「本模 組操作說明」(Information)組成。
2. 「程式模組」(Procedures)由一些 procedure 及變數宣告所組成。Procedure 的始末由「to … end」所界定。
3. 界面(Interface)的元件包括了 Button, Slider, Switch, Monitor, Plot, … 等。
4. Button 對應到 某些主 要的(提供 給使用 者 選按之)procedure。(其他的 procedure 可以被這些主要的 procedure 呼叫)。Button 會顯示該模組係屬 observer、patch 或 turtle 之指令。習慣上,以「setup」做初始設定,以「go」
開始執行(可以設為無限次)。
5. Slider 是可讓使用者操控的全域變數(Global variables);若程式自 用,不必 讓使用者知道的全域變數,可以寫在 Procedures。
6. Switch 是 ON/OFF 的全域變數。
7. Monitor 可以顯示程式內部的全域變數值的數值變化。
8. Plot 可以顯示程式內部的全域變數值的動態變化歷程。
瞭解操作系統撰寫方式之後,開始模擬系統撰寫步驟,須針對模擬系統做 說明,其詳細說明如下:
1. 模擬系統由 patch(es)及 turtle(s)所構成。
2. Patches 相當於「底座環境」,為網格(grid)網格系統,縱橫格數可以在界面 上直接拉框調整(或設定其格數)。坐標原點(0,0)在正中央。
3. Turtle(s)即是行為者(agent),可在 patches 的網格環境裡自由移動。
4. Patches 和 turtles 均可以帶有自己的屬性,可以在界面的圖窗點選查詢。
5. 理論上,patches 和 turtles 的數目無限制,端視電腦記憶體容量及 CPU 速 度。
理解模擬系統撰寫方式,接著對指令作撰寫方式瞭解,須針對指令做說明,
其詳細說明如下:
1. Observer 是指系統程式寫作者,可以操控 patches 和 turtles 以及一些 系統 環境變數。
2. Patches 和 turtles 有不同的指令,須運用 Ask 指令來驅動,其詳細說明如下:
(1) 可以 Ask 指令要求個別 patches 或 turtles 或全部的 patches 和 turtles 做 任何動作。
(2) 每一塊 patch 和每一隻 turtle 均由系統自動賦予一編號,可以直接針對 個別的 patch 和 turtle 改變其屬性或行為。
(3) 界面下方 Command Center 有三種模式:Observer, patch, turtle。在 patch 或 turtle 模式時,可以直接下各該指令,不用 ask。
NotLogo4.0.4 行人流程式介面,藉由程式場景、模擬時間與時間步階、行 人到達間隔時間、行人數量、行人流量速率統計以及行人流 KQV 關係圖建構。
程式場景介面,如圖 46 所示,程式場景運用程式 patches 與 setup 指令,使 程式介面產生一灰一白的道路,程式設計一個格子長 0.4 公尺與寬 0.75 公尺,
當行人從右邊產生,行走方向為右邊走道左邊到達目地,則行人從左邊產生,
行走方向為左邊走道右邊到達目地。
圖46 NotLogo4.0.4 程式場景介面圖
模擬時間與時間步階介面,如圖 47 所示,模擬時間與時階運用程式 Slider 與 Monitor 指令,使程式模擬時階為 0.25 秒,模擬時階為 14400 個時階,相當 於 60 分鐘,而當模擬時階為 14400 時階,模式就會停止。
圖47 NotLogo4.0.4 程式模擬時間與時階介面圖
行人到達間隔時間介面,如圖 48 所示,行人到達間隔時間運用程式 Monitor 與 go 指令,再經由行人族群比例、到達間隔時間亂數導數函數與行人位置方向 判斷式結果,程式流程順序產生行人,產生行人後,產生亂數導數函數給予行 人步行速率,使行人可以在模擬場景行走。
圖48 NotLogo4.0.4 程式行人到達間隔時間介面圖
行人數量介面,如圖 49 所示,行人數量運用程式 Monitor 指令,可以監控 行人數量,了解有多少行人在道路上行走。
圖49 NotLogo4.0.4 程式行人數量監控介面圖
行人速率與行人流量監控,如圖 50 所示,行人速率與行人流量紀錄運用程 式 Monitor 指令,可以紀錄行人步行速率與行人通過數量。
圖50 NotLogo4.0.4 程式行人數量紀錄介面圖
行人流之平均步行速率紀錄,如圖 51 所示,行人流速率運用程式 Plot 指令,
可以記錄每分鐘行人流量、行人平均速率,當模擬時階到達限制時階時,最後 能計算有多少位行人樣本與行人平均速率。
圖51 NotLogo4.0.4 程式行人流之平均步行速率介面圖
本研究程式設定離峰時段孩童、成人與高齡者之行人族群比例都占全部 100%及尖峰時段成人之族群比例占全部 100%進行步行速率分析,模擬時階都 為 14400 時階,為模擬時間 60 分鐘。
程式設定離峰時段孩童行人族群比例為占全部 100%,分析結果如表 19 所 示,樣本數為 262 位,平均步行速率為 1.27(公尺/秒),標準差為 0.06(公尺/秒)。
表 19
離峰時段程式分析孩童之步行速率表
樣本數 平均步行速率(公尺/秒) 標準差(公尺/秒)
262 1.27 0.06
程式設定離峰時段成人行人族群比例為占全部 100%,分析結果如表 20 所 示,樣本數為 167 位,平均步行速率為 1.33(公尺/秒),標準差為 0.14(公尺/秒)。
表 20
離峰時段程式分析成人之步行速率表
樣本數 平均步行速率(公尺/秒) 標準差(公尺/秒)
167 1.33 0.14
程式設定離峰時段高齡者行人族群比例為占全部 100%,分析結果如表 21 所示,樣本數為 120 位,平均步行速率為 0.89(公尺/秒),標準差為 0.13(公尺/
秒)。
表 21
離峰時段程式分析高齡者之步行速率表
樣本數 平均步行速率(公尺/秒) 標準差(公尺/秒)
120 0.89 0.13
程式設定尖峰時段成人行人族群比例為占全部 100%,分析結果如表 22 所 示,樣本數為 759 位,平均步行速率為 1.17(公尺/秒),標準差為 0.05(公尺/秒)。
表 22
尖峰時段程式分析成人之步行速率表
樣本數 平均步行速率(公尺/秒) 標準差(公尺/秒)
759 1.17 0.05
本研究整理各時段行人族群之觀測平均步行速率與程式分析平均步行速率 如,表 23 所示,離峰時段孩童觀測值樣本數為 153(位)、平均步行速率為 1.26(公 尺/秒)、標準差為 0.16(公尺/秒),離峰時段孩童程式分析樣本數為 262(位)、平 均步行速率為 1.27(公尺/秒)、標準差為 0.06(公尺/秒),離峰時段成人觀測值樣 本數為 212(位)、平均步行速率為 1.32(公尺/秒)、標準差為 0.22(公尺/秒),離峰 時段成人程式分析樣本數為 167(位)、平均步行速率為 1.33(公尺/秒)、標準差為 0.14(公尺/秒),離峰時段高齡者觀測值樣本數為 242(位)、平均步行速率為 0.91(公尺/秒)、標準差為 0.24(公尺/秒),離峰時段高齡者程式分析樣本數為 120(位)、平均步行速率為 0.89(公尺/秒)、標準差為 0.13(公尺/秒);尖峰時段成 人觀測值樣本數為 334(位)、平均步行速率為 1.19(公尺/秒)、標準差為 0.23(公尺 /秒),尖峰時段成人程式分析樣本數為 759(位)、平均步行速率為 1.17(公尺/秒)、
標準差為 0.05(公尺/秒)可知觀測值與程式分析平均步行速率差異性不大,但本 研究還需進行觀測值與程式分析之獨立樣本母體平均差檢定,才可得知差異性 結果。
表 23
程式分析步行速率與觀測步行速率結果總整理表
時段 對象 類型 樣本數(位) 平均值(公尺/秒) 標準差(公尺/秒)
觀測值 153 1.26 0.16
孩童 程式分析值 262 1.27 0.06
觀測值 212 1.32 0.22
成人 程式分析值 167 1.33 0.14
觀測值 242 0.91 0.24
離峰 時段
高齡
者 程式分析值 120 0.89 0.13
觀測值 334 1.19 0.23
尖峰
時段 成人
程式分析值 759 1.17 0.05
本研究進行獨立樣本母體平均差檢定,採用大樣本 Z 檢定,分別進行離峰 時段孩童、成人與高齡者的觀測值與程式分析之平均步行速率是否接受虛無假 說;尖峰時段成人的觀測值與程式分析之平均步行速率是否接受虛無假說。
離峰時段孩童觀測值樣本數為 153 位,平均速率為 1.26(公尺/秒),標準差 為 0.16(公尺/秒),離峰時段孩童程式分析值樣本數為 262 位,平均速率為 1.27(公 尺/秒),標準差為 0.06(公尺/秒),進行獨立獨立樣本母體平均差檢定,代入下列
公式後,結果為-0.7431 大於Z(0.025)= -1.96,落在接受區域,接受虛無假設。 故 在 α = 0.05 下,步行速率並無顯著差異。
0134 . 262 0
) 06 . 0 ( 153
) 16 . 0
( 2 2
2 1
= +
−X = SX
(16) 7431
. 0134 0
. 0
27 . 1 26 .
1 − = −
Z =
(17)
離峰時段成人觀測值樣本數為 212 位,平均速率為 1.32(公尺/秒),標準差 為 0.22(公尺/秒),離峰時段成人程式分析值樣本數為 167 位,平均速率為 1.33(公 尺/秒),標準差為 0.14(公尺/秒),進行獨立獨立樣本母體平均差檢定,代入下列 公式後,結果為-0.54 大於Z(0.025)= -1.96,落在接受區域,接受虛無假設。故在 α
= 0.05 下,步行速率並無顯著差異
0185 . 167 0
) 14 . 0 ( 212
) 22 . 0
( 2 2
2 1
= +
−X = SX
(18) 54
. 0185 0
. 0
33 . 1 32 .
1 − = −
= Z
(19)
離峰時段高齡者觀測值樣本數為 242 位,平均速率為 0.91(公尺/秒),標準 差為 0.24(公尺/秒),離峰時段高齡者程式分析值樣本數為 120 位,平均速率為 0.89(公尺/秒),標準差為 0.13(公尺/秒),進行獨立獨立樣本母體平均差檢定,代 入下列公式後,結果為 1.0275 小於Z(0.975)= 1.96,落在接受區域,接受虛無假設。
故在 α = 0.05 下,步行速率並無顯著差異。
0194 . 120 0
) 13 . 0 ( 242
) 24 . 0
( 2 2
2 1
= +
−X = SX
(20) 0275
. 0194 1
. 0
89 . 0 91 .
0 − =
Z =
(21)
尖峰時段成人觀測值樣本數為 334 位,平均速率為 1.19(公尺/秒),標準差 為 0.23(公尺/秒),尖峰時段成人程式分析值樣本數為 759 位,平均速率為 1.17(公 尺/秒),標準差為 0.05(公尺/秒),進行獨立獨立樣本母體平均差檢定,代入下列 公式後,結果為 1.5729 小於Z(0.975)= 1.96,落在接受區域,接受虛無假設。故在 α = 0.05 下,步行速率並無顯著差異。
0127 . 759 0
) 05 . 0 ( 334
) 23 . 0
( 2 2
2 1
= +
−X = SX
(22) 5729
. 0127 1
. 0
17 . 1 19 .
1 − =
Z =
(23)