Math 是函数式编程&;马尔可夫链有什么关系?

Math 是函数式编程&;马尔可夫链有什么关系?,math,functional-programming,lambda-calculus,markov-chains,markov,Math,Functional Programming,Lambda Calculus,Markov Chains,Markov,David Silver将马尔可夫链的一个特性描述为: 鉴于现在,未来独立于过去 (视频播放4分钟) 这引起了我的共鸣,因为我目前正在学习函数式编程(FP) 在FP中,您也可以忽略过去,因为您的函数只需要当前状态即可执行某些操作并输出新状态。对于面向对象,这不一定是正确的,因为您的输出可能依赖于不同位置的几个状态 我不知道FP和马尔可夫链之间有没有更深层次的联系 例如,用FP编写的函数是确定性马尔可夫链,这是否准确?马尔可夫链与函数编程之间确实存在联系。马尔可夫链是一种非确定性(FSM),而链接

David Silver将马尔可夫链的一个特性描述为:

鉴于现在,未来独立于过去

(视频播放4分钟)

这引起了我的共鸣,因为我目前正在学习函数式编程(FP)

在FP中,您也可以忽略过去,因为您的函数只需要当前状态即可执行某些操作并输出新状态。对于面向对象,这不一定是正确的,因为您的输出可能依赖于不同位置的几个状态

我不知道FP和马尔可夫链之间有没有更深层次的联系


例如,用FP编写的函数是确定性马尔可夫链,这是否准确?

马尔可夫链与函数编程之间确实存在联系。马尔可夫链是一种非确定性(FSM),而链接纯函数将产生确定性FSM。这里需要注意的是,在现实世界中(例如,Web应用程序),您通常还需要非纯函数(例如,修改或查询外部数据库)


我发现将程序状态建模为有限状态机(FSM)非常有用,既可以作为隐喻,也可以作为建模状态和转换的具体方式。例如,FSM在实现(Web)用户界面时表现得很好

你可能只是在想状态机(又称有限自动机)。“不同的地方”!=“过去”。此外,在OOP中,未来状态将仅取决于当前状态,而不取决于以前的操作。这是时间的一个基本属性,这使得马尔可夫链适合于建模。它与FP无关,只是两者都与数学密切相关。自从Markov于1922年去世以来,我要说的是,他关于Markov链的思想不包括函数编程。太好了——我喜欢将纯函数程序视为确定性FSM的想法。我认为很酷的一点是,仅仅在有限状态机上增加一些随机性,就会产生一个马尔可夫链,它起初似乎与函数编程完全无关。