鉴于网上很多人对于马尔可夫都讲的不明不白,有的只是理论,看不太懂,有的一上来是一大串算式,很多人一脸懵了。
本篇用最浅显易懂的详细介绍,更举例运用在老虎机与捕鱼机上的马尔可夫模型。

首先,介绍下最关键核心马尔可夫过程(Markov process),是由俄国数学家马尔可夫于1907年提出。
特性:在已知目前状态(现在)的条件下,它未来的演变(将来)不依赖于它以往的演变 (过去 )。
马尔科夫过程中最核心的几个概念:过去,现在,将来。
马尔可夫模型是什么?怎么就出现在捕鱼机老虎机了?
一个马尔科夫过程就是指过程中的每个状态的转移只依赖于之前的 n个状态,这个过程被称为 n阶马尔科夫模型,其中 n是影响转移状态的数目。
最简单的马尔科夫过程就是一阶过程,每一个状态的转移只依赖于其之前的那一个状态,这也是后面很多模型的讨论基础。
而马尔可夫模型(Markov Model)是最常见的应用,广泛使用在语音识别,音字转换,概率文法、序列分类等各个自然语言处理等应用领域,当然也出现在电子捕鱼机和老虎机上面。

马尔可夫模型的案例,捕鱼机游戏

下面是一个马尔可夫模型在捕鱼机游戏的简单举例,当然实际上游戏还会加入很多变数。
假设该捕鱼机使用马可夫模型,并非单一独立机率的状态,且如下设定:
第一发子弹击杀小鱼,第二发还是击杀小鱼的概率是0.8,没死的概率是0.2;
那第一发子弹没死,第二发子弹还是没死的概率是0.6,而击杀的概率是0.4。
问:
- 如果第一发子弹击中,而第二发子弹又击中的概率是多少?
- 第十发子弹没打中的概率是多少?
- 打了很久,打中与没打中的概率分别是多少?
以下详细说说,首先构建转移概率矩阵,由于这里每发子弹的状态就是击杀或没死两种情况,所以矩阵是2×2的,如下:
| 击杀 | 没死 | |
| 0.8 | 0.4 | 击杀 |
| 0.2 | 0.6 | 没死 |
注意:每列和为1,这就是转移概率矩阵了。如下:

假设初始状态击杀,我们记为

这里【1,0】分别对于没死,击杀。
初始条件:第一发击杀,第二发也击杀(记为P1)的概率为:
P1 = AxP0
得到P1 = 【0.8,0.2】,刚好满足击杀概率为0.8。
下面计算第十发(记为P9)没死概率:
![]()
得到,第十发击杀概率为0.668,没死的概率为0.332。
下面计算经过很长一段时间后击杀与没死的概率,显然就是下面的递推公式了:
![]()
而当n趋于无穷即很长一段时间以后,Pn = 【0.67,0.33】。
即击杀概率为0.67,没死概率为0.33。
并且,我们发现:初始状态如果是P0 =【0,1】,最后结果仍然是Pn = 【0.67,0.33】。
证明马尔可夫过程与初始状态无关。
解答:
- 如果第一发子弹击杀,那第二发子弹又击杀的概率是多少?
80%,马尔科夫过程与初始状态无关。 - 第十发子弹没打中的概率是多少?
约等于33.3%,第十发击杀概率为0.6668,没死的概率为0.3332。 - 打了很久,击杀与没死的概率分别是多少?
击杀概率为67%,没死概率为33%

马尔可夫模型的案例,老虎机游戏
- 注意,这是假设该老虎机的机率设置如下,实际上并不一定是这样
将老虎机轮轴15格简化出来,比较好理解:
老虎机机率法为中奖或者不中奖,游戏过程会转出J、Q、K三种样式,而马尔可夫链是透过三角分析学来取出机率问题,那么,老虎机游戏策略可能分为两种。
- 第一轮策略:是37%J、33%Q、30%K,整体为100%。
- 第二轮策略:上一轮中奖,下一轮就相同。如果上一轮输或平,下轮就改另外一个,概率各为50%。
从上面两点可以看出,
- 第一轮P1是固定的37%J、33%Q、30%K,
- 第二轮P2被判定修改了初始法,所以第一个是100%,下一个会形成100%的胜利结果或者50%的另外两个。
假设第一轮出Q,则第五次游戏第二轮的分配概率为何?
- P2K=(1K&2K) + [ P(1noQ&2J) + P(1noJ&2K)]/2=100%
- P2Q=0%
- P2J=0%
以此延伸,第五次游戏第二轮概率如下:
- P2K=31.6%
- P2Q=33.1%
- P2J=35.2%
让我们想象老虎机游戏就是把它分成15个轮的独立方块。
个别乘区,这样就很好理解了。
在随机数排序中,游戏方块可能形成3行、4行、5行,或者1格无行、2格无行等结果。

结语
马尔可夫模型是概率模型。
还是要记住马尔可夫过程中最核心的几个概念:过去,现在,将来。
每一个时间点的观测值体现为某一个类别的概率;
而当前状态与之前状态的关系是通过转移概率、转移概率矩阵来决定的。











