7.3.7規則
規則用來描述遊客的空間行為模式,TSBS通過一係列的規則設定,使遊客具有遊客的空間行為相關知識與決策方法,實現遊客對遊客空間行為智能的模擬。
(1)規則定義
TSBS中,有三種規則,基本移動規則、基本規則變化的規則,以及屬性變化規則。這三種規則都采用基於事件激發的規則(ECA)模式:
on event if conditions do action.
規則可以讀為:某種條件下發生某種時間時激發某個動作。動作激發是調用動作庫中的一個動作。動作庫中的每個動作已經由開發者標記好激發條件。一個事件可以定義為:發生的導致位置發生顯著變化的現象。其中顯著的定義是和事件的粒度相關的。TSBS中,事件可以是人群的移動,屬性的變化或者開發者定義的其他操作。事件也可以是由時間直接激發。
有兩種類型的事件,基本事件和複合事件。複合事件時有一係列的基本事件或複合事件由一係列的事件操作符連接組成。
(2)基本移動規則
基本移動規則包括3種,是否待在目前位置,下一步到哪個位置,以及下一個位置是否可進入。無論考慮什麼粒度移動模擬,個體移動的決策都采用同樣的模式。首先,個體決定是否待在目前位置,如果決定移動,就判斷下一步到那個位置,在選定下一步的位置後,個體判斷下一個位置是否可進入,如果可進入,則進入該位置否則就繼續以上的過程。
是否待在目前位置的規則的觸發事件是個體在當前位置完成相應行為或其他事件。例如,如果發生“商店打烊”事件,顧客就決定離開商店。顧客離開商店也可被認為是一個事件,也可能是其他規則的觸發事件,如設定的滯留時間。
“下一步到什麼位置”規則由當前位置、目標、條件確定。從當前位置到目標位置,有一個中轉站點列表。下一步位置實際上是中轉站點列表中的一個中轉站點。每一個從當前位置到目標位置的順序列表是一個路徑,路徑是由起始點、目標點、中轉點組成的列表。下一步位置在選定路徑後就可確定從當前位置到目標位置可能有多條路徑。“下一步位置”規則就是如何選擇路徑的規則。路徑有兩種方式獲得,一種是直接從路徑表中獲取,另一種是通過路徑規則直接計算而得。TSBS中,用路徑規則類表示路徑規則。路徑類表示所有從起始位置到目標位置的可能路徑,該類是關係數據表,每行表示選擇路徑的條件。條件包括成本、中轉點標記。路徑規則表包括以下基本列:起始點、目標點、中轉點、主體、中轉點順序、及成本。
“下一位置是否可進入”規則是由位置屬性、位置規則、主體屬性以及下一位置狀態確定。此基本規則同樣用關係數據表表示。此數據表包括以下基本列:規則標誌、規則條件、主體、可進入性。
(3)基本規則變化的規則
滯留時間、路徑和可進入性與屬性變化(主體、位置)相關,也和人群的移動時間相關。因此需要有規則來表示這些基本規則的變化。基本規則的變化是由基於事件觸發的規則,隨著一些事件的發生,基本規則數據表中可以增加新的規則或者已有的規則可以被修改或刪除。此機製建立十分複雜的表示人的行為變化的規則。
(4)屬性變化規則
人群移動決策與人群特征以及位置屬性相關,並且人群的移動也會是人的屬性以及位置的屬性發生變化,TSBS中,所有的移動都被作為事件進行記錄。一些時候,一些人群屬性的變化會引起另一些人群屬性的變化。屬性的變化也可被認為是一個事件。因此,用ECA規則描述屬性變化規則是非常自然的。
7.3.8遊客空間行為模擬
TSBS中,所有的遊客都采取的控製結構:遊客通過環境信息感知模塊感知環境信息,通過其他遊客信息感知模塊感知其他遊客的位置及狀態。通過自身信息感知模塊獲知自己所在的位置及狀態,再從獲得規劃路徑表中獲得當前任務,將這些信息傳送到決策與控製模塊,做出下一時刻的空間移動行為,並將決策結果輸入遊客狀態數據庫。
(1)遊客控製實現算法
遊客控製實現的算法。整個係統由一個虛擬的時鍾控製,時鍾每增加一個步長,係統對所有的遊客計算一次其新的速度、運動方向、動態屬性與位置,並將每一次的計算結果存入遊客狀態數據表。以下對流程中幾個關鍵的步驟進行介紹。
(2)虛擬時鍾
虛擬時鍾是控製整個係統運行的中樞,有兩個基本屬性:時長、步長。時長指模擬時段的長度,步長指TSBS更新遊客狀態、位置數據所依據最小時間計算單位。
一般來說,總時長應等於景區一天開放的時段。當然,根據實際情況,用戶可以自行設定模擬時長。