一. 定义
马尔科夫链:已知若干种状态,从当前状态转移到下一状态的概率,只取决于当前和上一步的状态,与其他状态无关。
首达时:从某状态i出发,首次到达状态j时经历的时间。
二. 假设条件
已知共有k个状态(0,1,...,K-1),状态转移矩阵M(k*k),求从某状态i出发,首次到达状态K的时间向量v=(v0,v1,...vk-1)。这里假设是离散时间马尔科夫链,
三. 问题求解
求解公式如下:
v=r+M'v
其中,r是大小为(k,1)的,元素除最后一位为0外全为1的矩阵(即(1,1,...,1,0)),M'是矩阵M将最后一行置0,v是一个向量,其对应第i位的数表示从状态i出发,第一次到达状态K的时间。
公式中,r、M'已知,v未知。所以可通过它求出“首达时向量”v。
那么,为什么能列出这个公式呢?下面来详细解释一下。
考虑v的第一个元素v0,其物理意义是从状态0出发,到达状态K的时间(即经过的
步数)。再考虑等式右边。M'v是一个大小为(k,1)的向量。下面考察其第一个元素。
设状态转移矩阵M的第一行元素为(p00,p01,...p0k-1),那么M'v的第一个元素为:
p00*v0+p01*v1+...+p0k-1*vk-1 其中每一项的含义是,从状态0出发,经一步到达某状态(0,1,...,k),
然后从某状态首次到达状态K的概率。每一项相加,就是从状态0出发,走一步后,平均又
经过多少步到达状态K。所以,上述式子加一,就是从状态0出发,首次到达状态K时平均
走的步数。这与左边对应项v0的含义相同,故等式成立。
那么,为什么要将M的最后一行和r的最后一个元素置0呢?因为vk的含义是从状态K
出发,首次到达状态K的步数。在这种情况下,首达时定义为0,因为其初始状态已经是
目标状态了。将M和r的最后一行置0,就是为了使vk=0.
以上。