我想使用Haskell进行随机模拟,但我不知道如何。我读过Hutton的“Haskell编程”,我很乐意编写确定性函数程序。但是,我不知道如何开始编写R或python等命令式语言中易于使用的随机模拟。是否有关于此的教程或入门,我可以阅读,或者任何人都可以提供一些入门提示?
答案 0 :(得分:6)
关于这个主题,有一篇很好的独立论文Erwig and Kollmansberger: Functional Pearls - Probabilistic Functional Programming in Haskell。我用它作为在Haskell中编写基于隐马尔可夫模型的自然语言处理器的起点。有一个基于本文的package,它似乎也提供了R绘图的基本界面。
HaskellWiki上还有一个entry,它有更多的hackage链接。特别是,ProbabilityMonads包可能对您有用。
答案 1 :(得分:-1)
http://learnyouahaskell.com/a-fistful-of-monads#the-list-monad
Learn You a Haskell中的这一小部分讨论了如何使用List monad和functor函数来轻松处理非确定性。根据您的需求可能有点简单,但要充分利用标准库中已有的工具。