三年前的思維,再這次修改案中又重現。而且記得更多,三年級的統計學、四年級的線性代數、五年級的數值分析和作業研究,相關科目記得還有離散數學、拓璞學等。我不是數學高手,會注意到這些管理數學類的東西,是因為它們的目的是要預測更貼近真實,更貼近生活週遭。目前Java大概只有Apache的commons-math套件提供免費封裝好的元件,更不及現有著名的數學軟體Matlib。就算不用commons-math,也Google到有人用Java寫出蒙地卡羅模擬器,但…應該很累。
蒙地卡羅(Monte-Carlo)是一種藉用數百次,乃至數萬次的模擬,藉大數法則來對非線性、非常態分配的數據模型進行推估預測。翻成白話,比如男生平均壽命75、女生平均壽命82,是可預測的正常分布(常態分配);而地球被外星撞上的新聞,科學家都藉由模擬來評估有幾千或幾萬分之一的機率撞上地球,是就已知可掌握的因素加上未知不可預測風險因素評估出來的。蒙地卡羅模擬也後來被實證有相當的準確性。
目前知道commons-math和蒙地卡羅有關的Class是CorrelatedRandomVectorGenerator,其建構函數應與風險因子數據有關,而method nextVector則是一次次模擬出來的二維double陣列,但要寫成一個蒙地卡羅專用的utility,難矣!
1/21補述:老魚工作室http://code.google.com/p/java-ffa/似可有借鑑之處。
全站熱搜