说到概率在计算机中的应用,这里就不得不提出一个东西:马尔可夫链。你绝对想不到这个让众多高中生头疼的扩展知识是如何在计算机中得到广泛应用的?首先我们要知道什么叫马尔可夫链。
这是它的公式:P(X_{t+1} = x | X_0=x_0, X_1=x_1, ..., X_t=x_t) = P(X_{t+1} = x | X_t=x_t)
有没有发现其中没有t-1?
所以,
简单的说,一件事情在未来发生的概率只取决于当下,和过去无关,就可以被看成一个马尔可夫链模型。它的核心思想就是无记忆性。这下知道为什么每次高考押题的时候总是押不中了吧?
符合结果马尔可夫链的过程叫做马尔可夫过程。给大家介绍几种常见的应用。
1.智能输入
大家在打字的时候,有没有发现当你输入一串字符之后,系统就会自动跳出另外一串字符?比如你输入今天,就会自动弹出早上。这种输入法叫智能输入法,它的原理之一就是马尔可夫过程。系统首先会不停的消化语句,如果它"读"到10万个"我爱你"后面是"宝宝〞,100个"我爱你"后面是"星期四"。那么他下一次很大概率输出的是"宝宝"(这要取决于你的输入法用的是什么模型)。其实还可以根据你自己的习惯进行输出,如果你经常输入某个句子,久而久之,当你输入前半个句子的时候,就会弹出后半个句子。当然了,拼音输入法和5笔输入法(还有人记得吗?)也是一样的。会根据你打这个音标的频率,自动帮你把最符合你心意的放在前面。
2.智能扩图
智能扩图都用过吧, 和智能输入一样,它的原理之一也是马尔可夫过程。有没有发现,每次当你扩图的时候,扩图内容边缘与原图片边缘都是很缝合的?这就是我们说到的,用现在估计未来。它只会用现有的图像去估计将要扩出来的样子,而不是在基础上进行随意创作。如果是一个三角形,缺了很小一角,它就很有可能会扩成一个三角形,而不是一个梯形。但是实际上,扩的比较好的地方也只有那些重合的部分,其他地方有时也是乱七八糟的。
3.机器学习
大家有没有发现?当一个机器人走了一步的时候,它就会自动再走一步,而不是会立即倒下。这里也涉及马尔可夫过程。但在介绍原理之前,我们要知道一个事实。机器人的外壳不仅仅是一具铁壳,实际上里面会安装各种各样的传感器,这些传感器能保证机器人的正常运行,它们的功能和人类的皮肤很相似,能让机器人"感觉"到外部环境。当它们走了一步之后,机器人就会根据脚上的摩擦力,重心位置等来判断下一步该做的动作,也就是用现在估计未来。值得一提的是,虽然行走对于人类来说是一个简单的不能再简单的动作,但对于机器人来说却好比大学生学习概率理论。机器人可是一项顶级的科学技术。
总而言之,马尔可夫分布在计算机、人工智能等众多领域都有着不可或缺的作用。
对于我们来说,只要理解这个式子就行了。