ModelOff攻略 - 解答篇(3)
步驟與策略
建立蒙地卡羅方法的參考步驟如下:
- Define a domain of possible inputs.(定義長度50、元素介於1~6的陣列)
- Generate inputs randomly from a probability distribution over the domain.(元素隨機產生)
- Perform a deterministic computation on the inputs.(計算步數結果並重複5000回)
- Aggregate the results.(統計步數結果的分布)
在Sheet1中,假設擲骰子50次以內可結束遊戲,因此隨機產生50組骰子點數以模擬遊戲1回的結果。在G欄與H欄的5000回結果是利用假設狀況分析中的「列表運算」,設定空白的「欄變數儲存格」且不指定「欄變數」而得到。
在雙人參與遊戲的情境下,勝方的步數是其單獨進行遊戲的步數2倍再減1。因為Player 1是先手,所以Player 1單獨進行遊戲的步數等於Player 2單獨進行遊戲的步數時亦獲勝。
在雙人參與遊戲的情境下,勝方的步數是其單獨進行遊戲的步數2倍再減1。因為Player 1是先手,所以Player 1單獨進行遊戲的步數等於Player 2單獨進行遊戲的步數時亦獲勝。
在Sheet2中,當Player 2起點位置移至6時才使得兩者勝率相當。
在Sheet3中,若Player 2對第一次遇到蛇頭時有豁免而能夠留在原位時,則Player 1的勝率將下降至約42.5%。
結語
本題重點在塑造自己能夠熟悉的一套蒙地卡羅方法建模流程。
1 則留言:
感謝你的這篇文章,讓我看見運算列表的另一種可能性。
過去我總是利用VBA撰寫巨集來進行模擬,在速度上自然比不過運算列表。
謝謝!
張貼留言