跳轉到內容

使用 AnyLogic 進行模擬/基於 Agent 的建模/步驟 3. 新增來自廣告的採用

來自 Wikibooks,開放世界中的開放書籍

步驟 3. 新增來自廣告的採用

在這個模型中,廣告量和潛在採用者因接觸到一定數量的廣告而採用的機率假定在每個時期都是恆定的。因此,我們將使用一個引數來模擬廣告效果 - 來自廣告的採用率。

我們將在Person 類中建立此引數。由於所有代理都由此活動物件類的物件表示,因此它們具有我們在此定義的相同特徵。可選地,您可以透過更改某些代理的引數值來為每個代理單獨定義特徵。

定義人的廣告敏感度

  1. 開啟Person 類圖
  2. Parameter 元素從Palette檢視的General頁面拖放到圖上。
  3. Properties檢視的General頁面上,設定引數屬性。
  4. 更改引數的名稱。在Name編輯框中鍵入AdEffectiveness
  5. Default Value編輯框中,鍵入0.011

現在我們將使用狀態圖來定義代理的行為。

建立一個狀態圖

  1. 繪製以下狀態圖
  2. 首先,繪製一個狀態。將State 元素從Palette檢視的Statechart頁面拖放到圖上。
  3. 透過拖動狀態邊界來調整它的大小。將其Name更改為PotentialAdopter
  4. 新增指向此狀態的狀態圖入口指標,如圖所示。將Statechart Entry Point 元素從Palette檢視的Statechart頁面拖動到圖形編輯器中,使其結束點連線到狀態的上邊界
  5. 現在PotentialAdopter是狀態圖的初始狀態,因為狀態圖入口指標指向它。該人保持潛在採用者,直到此狀態處於活動狀態。
  6. 在已建立的狀態下方新增一個狀態。您可以簡單地按住 Ctrl 鍵拖動PotentialAdopter狀態。這將建立一個狀態的副本。將此狀態命名為Adopter。當此狀態變為活動狀態時,此人將變為採用者。
  7. 新增從PotentialAdopter狀態到Adopter狀態的轉換。將Transition 元素從Palette檢視的Statechart頁面拖放到活動物件類的圖上,使轉換的起點連線到PotentialAdopter狀態的下邊界。
  8. 將轉換的終點拖動到Adopter狀態的邊界上。轉換應該看起來像下圖
  9. 這種轉換模擬了此人購買產品的行為。得出購買產品結論所需的時間取決於該人的廣告敏感度呈指數增長。因此,請設定此轉換將以AdEffectiveness速率進行。轉到轉換Properties檢視的General頁面,並從Triggered by下拉列表中選擇Rate。在下面的Rate欄位中鍵入AdEffectiveness。您可以在鍵入引數名稱時使用程式碼完成助手。只鍵入名稱的前幾個字母,然後按Ctrl+space。這將開啟一個助手對話方塊,列出模型的引數、變數和函式。滾動到AdEffectiveness引數並雙擊它插入其名稱。
華夏公益教科書