考察某工厂一台自动加工机的工作状态。该机器有两种工作状态:正常状态和故障状态。在每个整数钟点的起始时刻检查机器的工作情况,若机器处于正常状态,则让它继续工作;若机器处于故障状态,则对他进行检修。假设处于正常状态的机器,在1小时后发生故障的概率为0.05;处于故障状态的机器,在1小时内排除故障的概率0.6
显然任何时刻,机器只能处于正常状态或故障状态,我们分别用1和2表示这两种状态。
那么,这台机器在第n小时的状态Xn或者等于1,或者等于2,即Xn是仅取两个值的
离散型随机变量。我们关心的是Xn的随机变化规律。
由于处于正常状态的机器1小时后发生故障的概率为0.05,即
所以机器1小时后任处于正常状态的概率为
此时,X1的分布列由条件概率构成,这个分布列实际是已知X0=1的情况下X1的条件分布列
,用表格表示如下:
X1 |
1 |
2 |
P(.|X0=1) |
0.95 |
0.05 |
已知机器在第n小时处于故障状态,等价于事件{Xn=2}已经发生.此时在第n+1小时机器
处于第j(j=1,2)状态的概率是条件概率P(Xn+1=j|Xn=2).类似于前面的讨论,由故障机器
在1小时内被修复的概率为0.6,得
因此,若机器在第n小时处于故障状态,则Xn+1的条件分别列为
Xn+1 |
1 |
2 |
P(.|Xn=2) |
0.6 |
0.4 |
类似地,若已知机器在第n小时处于正常状态,则机器在第n+1小时处于第j(j=1,j=2)
状态的概率为
因此,若机器在第n小时处于正常状态,则Xn+1的条件分别列为
Xn+1 |
1 |
2 |
P(.|Xn=1) |
0.95 |
0.05 |
事实上,在已知机器在第n小时所处状态Xn的情况下,Xn+1的随机变化规律与X0,X1,...,
Xn的取值都没关系。随机变量序列{Xn}所具有的这类性质称为马尔可夫性,也可以解析为
:在已知现在情况下,将来的随机变化规律与过去发生的事件无关。
利用矩阵可以直观地表达马尔可夫链的各个状态间的转移概率,并且这种表达方式还
为研究马尔可夫链的随机变化规律提供了方便.例如,在表示机器运行状态的马尔可夫链
{Xn)中, Xn的分布列可以表示为
Xn+1的分布列可以表示为
Xn的两个状态间的转移概率可以表示为
于是,利用向量与矩阵的乘法运算
一般地, 对于一个马尔可夫链,像P这样的矩阵称为该马尔可夫链的转移概率矩阵,
像这样的行向量称为该马尔可夫链在时刻n的分布,简称为分布。
转移概率矩阵由所有的转移概率构成,它刻画了马尔可夫链各个状态经单位时间相互
转化的概率规律,而时刻n的分布则刻画了马尔可夫链{Xn}中随机变量X的概率分布规
律,该分布与Xn的分布列相互唯一确定.
特别地,马尔可夫链在0时刻的分布称为初始分布,初始分布刻画了马尔可夫链最初
时刻(n=0)的概率分布规律,例如,在表示机器运行状态的马尔可夫过程中,初始分布
(1 0)表示机器最初处于正常状态, 初始分布(0 1)表示 机器最初处于故障状态,初始分
布(0.5 0. 5)表示机器最初处于正常状态的概率为0.5,处于故障状态的概率也为0.5.
再看一个例子:
某工厂一台 自动加工机有两种工作状态:正常状态和故障状态,在每个整数
钟点的起始时刻检查机器的工作情况,若机器处于正常状态,则让它继续工作;若机器处
于故障状态,则对它进行检修,假设处于正常状态的机器,在1小时后发生故障的概率为
0.05.对于故障机器有两种检修方案可供选择,一种是加急检修,在1小时内排除故障的
概率为0.9;一种是常规检修,在1小时内排除故障的概率为0. 6.
已知这台机器正常工作1小时可收益10元,加急检修1小时费用为9元,常规检修
1小时费用为6元。那么,当机器出现故障时,应选择哪种检修方案排除故障?
这是一个决策问题,决策目标是使机器的生产获得最大的收益可供选择的行动方案包括:
d:加急检修,d2: 常规检修.
在前两讲中,决策问题中所出现的状态都与时间无关,而这里机器在第n小时的工作
状态Xn与时间有关,且{Xn)是-一个马尔可夫链.因此各个行动方案的收益也会随着时间
的改变而改变.为了获得最优决策,我们需要确定在各个整数钟点时机器的状态情况,进
而确定相应的收益情况.
上述马尔可夫链{Xn)的转移概率矩阵与所采用的行动方案有关吗?
为了回答这个问题,只需考察马尔可夫链{Xn )在行动方案d1和d2下的转移概率矩阵.
行动方案d1的转移概率矩阵为
行动方案d2的转移概率矩阵为
由此可见,马尔可夫链{Xn)的转移概率矩阵与所采用的行动方案有关.
下面,我们考虑机器在时间段[n, n+1) (n≥0)内的收益情况,当机器在n时刻处
于正常状态时,行动方案d和行动方案dr在该时间段内的收益都是10元;当机器在n时
刻处于故障工作状态时,行动方案d在该时间段内的收益是-9元,行动方案dh在该时
间段内的收益是-6元,因此,机器在时间段[n, n+1)内的收益矩阵为
在行动方案山之下,利用公式(1), 可以计算机器各个时刻的概率分布,例如,当机
器最初为正常工作状态时,初始分布为
时刻1的分布为
时刻2的分布为
连续使用矩阵乘法公式可得n时刻的分布
即马尔可夫链在时刻n的分布完全由初始分布和转移概率矩阵所决定.
因此,行动方案d1在时间段[n, n十1)内的平均收益为
行动方案d2在时间段[n, n十1)内的平均收益为
我们按照平均收益最大准则选择最优决策。如果我们只关心机器在时间
段[n, n+ 1)内的收益,就可以通过比较Q(d1, n) 和Q(d2, n)来做出决策,这可以使机器
在该单位时间段内获得最大平均收益、但是,这样获得的决策不一-定能够保证在[0, n+1)
时间段内获得最大平均收益.例如,当机器最初为正常工作状态时,初始分布为(1 0),
表列出了Q(d1,n)和Q(d2. n)的取值情况:
n |
Q(d1 n) |
Q(d2 n) |
1 |
9.05 |
9.2 |
2 |
9.0025 |
8.92 |
3 |
9.000125 |
8.822 |
4 |
9.00000625 |
8.7877 |
5 |
9.00000031 |
8.775695 |
6 |
9.00000002 |
8.77149325 |
7 |
9. |
8.77002264 |
计算的python代码如下:
def MarkovChain():
P = array([[0.95, 0.05], [0.9, 0.1]]) #转移矩阵
P1 = array([[10], [-9]])
n = 7 #预测n天的事件发生概率
for j in range(n):
j=j+1
Init_State = array([1, 0]) #初始状态分布
for i in range(j):
S = matmul( Init_State, P)
Init_State = S
S = matmul( Init_State,P1)
print(f'第{j}天收益分布:{S.T}')
由表可以看出,仅在时间段[1,2)内,行动方案d2的平均收益大于行动方案d1
的平均收益.按照机器在时间段[1, 2)内的平均收益最大准则选择行动方案,应该选择
行动方案d2.但是如果机器运行的时间超过4小时,行动方案d2就不是平均收益最大的
方案了!(此时行动方案d2在各个时间段内的平均收益之和小于行动方案d1的平均收益
之和).