最近除了鍛鍊,一直看 head first 叢書系列的第二本,今天看了90多頁,整個章節都是關於時間管理的,和數學關聯較多,這次的24道習題居然全對了。
有兩個 term 比較有意思,可以寫寫。
乙個是monte carlo simulation,這又是個從賭場匯出的統計模擬演算法,在金融建模方面也有廣泛應用,用最簡單的話來解釋,就是隨機產生的系列結果聚合起來得到乙個相對準確的模型,隨機模擬次數越多,越逼近真實值。一般在無法用常規方法估算結果的時候會用到這種模擬。
wiki 上有個很好的例子,就是圓周率 π 的計算,首先畫乙個正方形,然後在正方形裡面畫乙個內切圓出來,接著開始在正方形內隨機撒公尺,當然有的公尺會落在圓內,有的會落在圓外緣和正方形的空隙之間,計算落在圓行內的公尺粒個數和正方形內所有公尺粒個數的比例,就可以大致的得到 π/4, 公尺粒越多就越精確。
這當然也可以用公式匯出,設圓的半徑為 r, 圓的面積為 r*r*π, 而正方形的面積為 4*r*r, 所以兩者比例為 π/4.
第二個 term cpa 和會計考試無關,指的是critical path analysis
當我們做計畫的時候需要統計實現這個計畫要多長時間,如何去**這個時間呢? 似乎很簡單
1. break down, 將大的目標分解成小的可以估量的 activity,做乙個 activity list 出來。
2. 估算單個 activity 所花費的時間,最後累加起來就是實現整個大目標的總時間
但是事情往往並沒有這麼簡單,activity 之間有 dependency, 還可能是多執行緒同步進行,這種情況如何估算,如何做 scheduler 呢?
這個過程和玩拼圖有點類似,找出 activity 之間的依賴關係, 然後拼一幅 precedence diagram 出來,從起點到終點會有多條不同的路徑,將每條路徑上的 activity 的 duration 累加起來,費時最多的路徑就是 critical path 了。而其他路徑和 critical path 的時間點數差就是他們的 float, 也稱 slack.
根據路徑的 float offset 可以計算出每乙個 activity 的 early start, early finish, late start, late finish, 也就知道了每乙個 activity 應該什麼時候進行。
緊急情況下縮短 critical path 時間的方法有 crashing 和 fast-tracking, 前者會增加成本,而後者帶來風險。
蒙地卡羅樹搜尋
這個也不是我原創的,我只是個學習者。第一次聽蒙地卡羅樹搜尋是關於阿爾法狗大戰李世石。回合制遊戲中,每個選手都沒有什麼資訊可以對對方隱藏的,而且也沒有概率的因素在裡面,比如擲骰子或者從牌隊裡面抽一張牌出來。很多遊戲都是這種型別,比如西洋棋,圍棋等。什麼東西在這類遊戲中都是確定的,從理論上來說,可以構建...
蒙地卡羅法求 PI
蒙地卡羅法求 pi 蒙地卡羅為摩洛哥王國之首都,該國位於法國與義大利國境,以賭博聞名。蒙地卡羅的基本原理為以亂數配合面積公式來進行解題,這種以機率來解題的方式帶有賭博的意味,雖然在精確度上有所疑慮,但其解題的思考方向卻是個值得學習的方式。演算法說明 蒙地卡羅的解法適用於與面積有關的題目,例如求pi值...
蒙地卡羅法求 PI
蒙地卡羅為摩洛哥王國之首都,該國位於法國與義大利國境,以賭博聞名。蒙地卡羅的基本原理為以亂數配合面積公式來進行解題,這種以機率來解題的方式帶有賭博的意味,雖然在精確度上有所疑慮,但其解題的思考方向卻是個值得學習的方式。解法蒙地卡羅的解法適用於與面積有關的題目,例如求pi值或橢圓面積,這邊介紹如何求p...