《principles of model checking》中的离散时间马尔科夫链

说明:此文为我自学《principles of model checking》第十章内容的笔记。

一、离散时间马尔可夫链的定义,目标问题和一些辅助定义。

二、将迁移系统转化为矩阵表达及一简例

三、列出方程X=AX+B

四、对于解该方程的一点个人想法

五、作者给出的解法

一、离散时间马尔可夫链的定义,目标问题和一些辅助定义。

一个离散时间马尔可夫链定义为一个五元组,其中

  1. S:一个可数非空集合,元素为状态。
  2. P:到[0,1]的迁移概率函数。对所有的状态s有
  3. :S->[0,1]是初始概率分布。
  4. AP是原子命题,L是标签函数。(这两个定义沿袭迁移系统的定义,具体可见维基百科的transition system页面,在这章中未产生作用)

  目标问题:求解各个状态到达给定的最终状态的概率。

  一些辅助定义:

  C U B(读作 C until B):表示通过C到达B(或者说到达B的路径上的每个点都在V集合内)

  C U (<=n)B:表示在n步及以内通过C到达B

  另外用S1,S?,S0将S划分成三部分:

  (我这里写的定义也原文略有不同,我把定义收紧了,方便叙述)

  以下是书上这部分原文:

二、将迁移系统转化为矩阵表达及一简例

想法非常直观,将每个状态编个号然后令aij为从i到j的转移概率即可

以下是《principles of model checking》中给的一个例子。

P第一行表示start,第二行表示try,第三行lost,第四行delivered。

矩阵乘以行向量的物理意义是:走一步。得到的结果是走一步之后的新概率分布。

注意:这样写的矩阵在进行乘操作时得写为 行向量 乘 矩阵。上面那个初始向量写为列向量是与P不匹配的。

三、列出方程X=AX+B

X=AX+B这一行方程,可以求出各个状态点到达最后的胜利区域的概率。

以下是原文供参考:

  可以发现我写的跟原文略有不同:原文中走一步后的情况分为两类:到达胜利区和未到达。将之后胜利概率为0的情况包括在未到达胜利区了。我在这里小小改动了一下主要是想着可以实现的时候缩小矩阵。

另外关于如何划分S1,S?,S0的问题:

首先胜利区域和失败区域应该是由人工指定的,并将其对应的Xs标记为1和0.从胜利区域出发逆向搜索(将图中所有边反向),取补集得到死路区。再从死路区出发搜索(这时候图里的边不反向)所有能到达的非胜利区即为问号区。

四、解方程的个人想法

作者对于如何解这个方程更多的从物理(或者说实际?)角度考虑,利用模型对应的意义给出了一个构造性解法。之后还给了一个特殊情况求逆法。

而我由于刚学完一年的线性代数,刚看到这个问题的时候主要是从纯数学的角度考虑。

X=AX+b移项后得到(I-A)X=B。这是一个线性代数基本问题,即解CX=D。先考虑是否有解,再考虑有多少解,最后考虑怎么求解或者解之间有什么关系。

设C的列向量为c1,c2,…,cn,判断CX=D是否有解等价于判断D是否可以由c1,c2,…,cn线性表出。或者说,D是否在c1,c2…,cn形成的线性子空间中。

运用矩阵工具这个问题被转化为判断C和C上D的增广矩阵是否等秩。

若rank(C)=rank(C,D),则有解,rank(C)<rank(C,D),则无解。不可能有rank(C)>rank(C,D)(一组基加上一个向量D生成的子空间不可能减秩)。

特殊地,如果矩阵C是满秩的,rank(C)与rank(C,D)必然相等。同时方程的解唯一(因为矩阵的逆唯一)。

在rank(C)=rank(C,D)的情况下,若C不满秩,方程有无穷解(因为有自由变量)。

于是我觉得解(I-A)X=B可以采用线性代数的方法:先计算(I-A)的秩,若满秩则用求逆算法得A的逆。将其与B相乘得到答案。不满秩再计算B的逆,判断是否有解,有解的话解出解空间找出最小可行解即可。

五、作者给出的解法

作者一共给出了两种解法,无限迭代法与一种特殊的求逆法。

无限迭代法非常有意思,简而言之是令X初始为0,用X=AX+B反复迭代直到X值不变。

以下证明这种无限迭代会产生一个单调上升并收敛的数列。并且,若X初始为0的时候得到的数列极限为最小不动点(方程X=AX+B的最小解).

  

然后作者证明了只要S0确实包括且仅包括了所有绝对不可能胜利的点,那么方程就将只有唯一解。

之后作者简略叙述了唯一解的另一种证明思路。

主要讲的是A的特征值的绝对值必然小于1,从而I+A+A^2+……+A^n+……收敛

证明它就是I-A的逆,从而方程有唯一解

但是我实在没懂”by roughly the same arguments as in proof of Theorem10.15(即前文中我贴出来的原文)”是怎么证出来不存在绝对值大于等于1的特征值的。

我试图自行证明,但在证明大于-1的时候遇到了一些问题。。。。我还是把这个未完成的证明放上来,望有人指正。

《principles of model checking》中的离散时间马尔科夫链的更多相关文章

  1. 机器学习中的隐马尔科夫模型(HMM)详解

    机器学习中的隐马尔科夫模型(HMM)详解 在之前介绍贝叶斯网络的博文中,我们已经讨论过概率图模型(PGM)的概念了.Russell等在文献[1]中指出:"在统计学中,图模型这个术语指包含贝叶 ...

  2. N元马尔科夫链的实现

    马尔可夫模型(Markov Model)是一种统计模型,广泛应用在语音识别,词性自动标注,音字转换,概率文法等各个自然语言处理等应用领域.经过长期发展,尤其是在语音识别中的成功应用,使它成为一种通用的 ...

  3. 马尔科夫链蒙特卡洛(Markov chain Monte Carlo)

    (学习这部分内容大约需要1.3小时) 摘要 马尔科夫链蒙特卡洛(Markov chain Monte Carlo, MCMC) 是一类近似采样算法. 它通过一条拥有稳态分布 \(p\) 的马尔科夫链对 ...

  4. 从随机过程到马尔科夫链蒙特卡洛方法(MCMC)

    从随机过程到马尔科夫链蒙特卡洛方法 1. Introduction 第一次接触到 Markov Chain Monte Carlo (MCMC) 是在 theano 的 deep learning t ...

  5. 蒙特卡洛马尔科夫链(MCMC)

    蒙特卡洛马尔科夫链(MCMC) 标签: 机器学习重要性采样MCMC蒙特卡洛 2016-12-30 20:34 3299人阅读 评论(0) 收藏 举报  分类: 数据挖掘与机器学习(41)  版权声明: ...

  6. MCMC(二)马尔科夫链

    MCMC(一)蒙特卡罗方法 MCMC(二)马尔科夫链 MCMC(三)M-H采样和Gibbs采样(待填坑) 在MCMC(一)蒙特卡罗方法中,我们讲到了如何用蒙特卡罗方法来随机模拟求解一些复杂的连续积分或 ...

  7. 13张动图助你彻底看懂马尔科夫链、PCA和条件概率!

    13张动图助你彻底看懂马尔科夫链.PCA和条件概率! https://mp.weixin.qq.com/s/ll2EX_Vyl6HA4qX07NyJbA [ 导读 ] 马尔科夫链.主成分分析以及条件概 ...

  8. 【HDOJ6229】Wandering Robots(马尔科夫链,set)

    题意:给定一个n*n的地图,上面有k个障碍点不能走,有一个机器人从(0,0)出发,每次等概率的不动或者往上下左右没有障碍的地方走动,问走无限步后停在图的右下部的概率 n<=1e4,k<=1 ...

  9. 【强化学习】MOVE37-Introduction(导论)/马尔科夫链/马尔科夫决策过程

    写在前面的话:从今日起,我会边跟着硅谷大牛Siraj的MOVE 37系列课程学习Reinforcement Learning(强化学习算法),边更新这个系列.课程包含视频和文字,课堂笔记会按视频为单位 ...

随机推荐

  1. Android系统--输入系统(十六)APP跟输入系统建立联系_InputChannel和Connection

    Android系统--输入系统(十六)APP跟输入系统建立联系_InputChannel和Connection 0. 核心:socketpair机制 1. 回顾Dispatch处理过程: 1.1 放入 ...

  2. Scala关于软件的安装

    1.安装JDK 因为很多系统都会预装java,所以我们首先要测试Java版本.这里我们要求要在1.8以上.在终端输入java -version来测试版本 Windows 关于Windows,我们首先要 ...

  3. Missing number - 寻找缺失的那个数字

    需求:给出一个int型数组,包含不重复的数字0, 1, 2, ..., n:找出缺失的数字: 如果输入是[0, 1, 2] 返回 3 输入数组 nums = [0, 1, 2, 4] :应该返回 3 ...

  4. [权限相关]在PeopleSoft中查找可以使用DataMover的用户

    DataMover是一个功能非常强大的工具,它的访问权限应该被控制,特别是在PRD环境中.在每个公司,许多用户可能在一段时间内切换部门,角色和职责,所以每隔一段时间就应该检查这些用户的权限,以确认他们 ...

  5. 整理的 matplotlib 绘图笔记

  6. jmeter断言:断言条件之间是“或”的关系

    有时,我们在做断言时,需要同时满足一系列条件,这在jmeter自带响应断言中已经实现: 有时,同一请求在不同时间,返回的响应是不同的,而这都是正确的响应,也就是说,我们判断的条件之间是或的关系,此时, ...

  7. spring mvc3 静态文件放在WEB-INF下无法访问解决和解决@Controller失效问题

    今天整合spring+mybatis+easyui碰到的问题 将easyui放在WEB-INF下后无法访问, 解决:需配置<mvc:resources mapping="/easyui ...

  8. 还在为CSS布局发愁?你该看看这7条原则

    一.网页结构分析七条原则 这以下7个原则是经过多年网站实战经验之后的总结,只要掌握这7个原则,可以解决大部分在编写网站布局中的问题. 1.先结构后样式. 2.能用CSS表现出来的效果,就尽量少用图像. ...

  9. Redux源码分析之combineReducers

    Redux源码分析之基本概念 Redux源码分析之createStore Redux源码分析之bindActionCreators Redux源码分析之combineReducers Redux源码分 ...

  10. C语言开发面试题

    (以下是题主参加的一家偏向Linux平台开发的公司软件岗位笔试题,分享原题,后面附上题主91分的部分参考答案^V^) 一.(8分)请问一下程序输出什么结果? char *getStr(void) { ...