主要内容

hittime

计算马尔可夫链命中次数

描述

实例

ht= hittime (mc,目标)返回预期的第一次击中时间ht对于指定的状态子集目标,从马尔可夫链中的每个状态开始mc.如果目标形成一个循环类,元素ht预期吸收时间

实例

ht= hittime (mc,目标,“图形”,真)绘制的有向图mc节点颜色表示预期的首次命中时间。颜色条总结颜色编码。

[ht,H) = hittime (mc,目标,“图形”,真)还返回打印句柄。使用H在创建绘图后修改它的属性。

[ht,H) = hittime (斧头,mc,目标,“图形”,真)在指定的坐标轴上绘图斧头而不是当前的轴(gca).

例子

全部崩溃

考虑这个理论的,一个随机过程的右随机转移矩阵。

P = [ 1. 0 0 0 1. / 2. 0 1. / 2. 0 0 0 0 1. 0 0 1. / 2. 1. / 2. ]

建立以转移矩阵为特征的马尔可夫链P

P = [1 0 0 0;1/2 0 1/2 0;0 0 0 1;0 0 1/2 /2];mc = dtmc (P);

画一个马尔可夫链的有向图。通过使用节点颜色直观地识别每个状态所属的通信类。

图;图幅(mc,“ColorNodes”,真正的);

图中包含一个轴对象。axis对象包含4个类型为graphplot, line的对象。这些对象表示短暂的,非周期的。

从马尔可夫链中的每个状态开始,计算状态3的预期首次命中时间。

ht = hittime (mc, 3)
ht =4×1Inf 0 2

因为状态3从状态1是不可达的,所以状态1是相对于状态3的远程状态,预期的第一次命中时间为

状态3可以从状态2到达,但状态2有正概率转换到状态1,状态1是吸收状态。因此,状态2是相对于状态3的远程可到达状态,预期第一次命中时间为

因为状态3是目标,它预期的第一次命中时间是0

状态3从状态4开始的预期第一次击球时间是2.时间步长。

考虑这个理论的,一个随机过程的右随机转移矩阵。

P = [ 0 1. / 2. 0 1. / 2. 2. / 3. 0 1. / 3. 0 0 1. / 2. 0 1. / 2. 1. / 3. 0 2. / 3. 0 ]

建立以转移矩阵为特征的马尔可夫链P

P = [0 1/2 0 1/2 2/3 0 1/ 0 0 1/2 0 1/3 0 2/ 0];mc = dtmc (P);

绘制马尔可夫链的有向图mc.显示转换概率。

graphplot (mc,“ColorEdges”,真正的)

图中包含一个轴对象。axis对象包含一个graphplot类型的对象。

从马尔可夫链的每个状态开始,计算状态1的期望第一次命中时间。

ht=命中时间(mc,1)
ht =4×10 2.3333 4.0000 3.6667

绘制马尔可夫链的有向图。指定表示状态1的预期首次命中时间的节点颜色,从马尔可夫链中的每个状态开始。

hittime (mc, 1“图形”,真正的);

图中包含一个Axis对象。Axis对象包含两个graphplot、line类型的对象。此对象表示目标状态(ht=0)。

绘制另一个有向图。包括状态4作为目标状态。

hittime (mc (1 - 4),“图形”,真正的);

图中包含一个轴对象。axis对象包含两个类型为graphplot, line的对象。这个对象表示目标状态(ht = 0)。

建立以转移矩阵为特征的马尔可夫链:

P = [ 1. / 2. 0 1. / 2. 0 0 0 0 0 1. / 3. 0 2. / 3. 0 0 0 1. / 4. 0 3. / 4. 0 0 0 0 0 2. / 3. 0 1. / 3. 0 0 0 1. / 4. 1. / 8. 1. / 8. 1. / 8. 1. / 4. 1. / 8. 0 1. / 6. 1. / 6. 1. / 6. 1. / 6. 1. / 6. 1. / 6. 0 1. / 2. 0 0 0 0 0 1. / 2. ]

P =[1/2 0 0 0 0 0 0 0 1/3 2/3 0 0 0 1/4 0 3/4 0 0 0 0 0 0 0 0 0 1/3 2/3 1/4 1/8 1/8 1/8 1/4 1/8 0 1/6 1/6 1/6 1/6 1/6 1/6 0 0 0 0 0 0 1/2半];mc = dtmc (P);

从马尔可夫链中的每个状态开始,计算状态1的预期首次命中时间mc. 另外,绘制一个有向图并指定表示状态1的预期首次命中时间的节点颜色。

ht=命中时间(mc,1,“图形”,真正的)

图中包含一个轴对象。axis对象包含4个类型为graphplot, line的对象。这些对象表示目标状态(ht = 0),远程(ht = Inf),远程可达(ht = Inf)。

ht =7×10 Inf 4 Inf Inf 2

状态2和4形成一个吸收类。因此,状态1无法从这些状态访问。吸收类相对于状态1是远程的,预期第一次命中时间为

状态1可以从状态5和状态6到达,但从状态5和状态6过渡到吸收类的概率不为零。因此,状态5和状态6相对于状态1是远程可达的,预期的首次命中时间为

从状态7开始状态1的预期第一次击球时间是2个时间步。从状态3开始状态1的预期第一次击球时间是4个时间步。

从一个随机生成的转移矩阵中创建一个八状态的马尔可夫链,该转移矩阵具有随机位置的50个不可行的转移。一个不可行的过渡是一个发生概率为零的转移。给各州取任意的名字。

numStates = 8;0 = 50;stateNames = strcat (repmat (“政权”,1,8),字符串(1:8));rng(1617676169)%的再现性mc = mcmix (8,“零”,零,“StateNames”, stateNames);

绘制马尔可夫链的有向图mc.指定节点颜色,以标识瞬态和循环状态以及通信类。

图;图幅(mc,“ColorNodes”,真正的);

图中包含一个轴对象。axis对象包含5个类型为graphplot, line的对象。这些对象表示短暂的,非周期的。

在马尔可夫链中找到一个递归类mc通过以下步骤:

  1. 通过传递对状态进行分类mc分类.返回类成员身份的数组ClassStates以及指定类是否为循环类的逻辑向量ClassRecurrence

  2. 通过使用逻辑向量在数组中建立索引,从类数组中提取递归类。

[~, ClassStates IsClassRecurrent] = (mc)进行分类;复发性= ClassStates {IsClassRecurrent}
复发性=1 x4字符串"制度2" "制度3" "制度6" "制度8"

计算循环类状态的预期命中时间,从马尔可夫链中的每个状态开始。

ht=命中时间(mc,周期性);

提取并显示从瞬态开始的预期吸收时间。

istransient=~ismember(mc.StateNames,循环);absorbtime=ht(istransient);table(absorbtime,“RowNames”,mc.StateNames(istransient))
ans =4×1表吸收时间__________方案1 5.8929方案4 1方案5 1.7777方案7 4.8929

从一个随机转移矩阵中创建一个50状态的马尔可夫链,其中大多数转移是不可行的和随机放置的。

rng (1)%的再现性mc=mcmix(50,“零”,2400);

通过绘制有向图并指定节点颜色表示状态1从每个状态开始的预期第一次命中时间,可视化马尔可夫链的混合时间。

hittime (mc, 1“图形”,真正的);

图中包含一个Axis对象。Axis对象包含两个graphplot、line类型的对象。此对象表示目标状态(ht=0)。

可视化状态5的马尔可夫链的混合时间。

hittime (mc 5“图形”,真正的);

图中包含一个Axis对象。Axis对象包含两个graphplot、line类型的对象。此对象表示目标状态(ht=0)。

这个预计通勤时间来自国家 J 马尔可夫链从状态过渡所需的预期时间是多少 J (预计首次命中时间)ht ( , J ) ),然后返回州政府 (ht ( J , ) ).正式来说,预期的通勤时间是

C ( , J ) = ht ( , J ) + ht ( J , )

创建一个“哑铃”马尔可夫链,每个“权重”包含10个状态,“条”包含3个状态。

  • 在每个权重内指定状态之间的随机转移概率。

  • 如果马尔可夫链达到最接近杆的权值状态,则指定一个高概率的过渡到杆的状态。

  • 指定条形图中状态之间的统一过渡。

rng (1);%的再现性w = 5;%哑铃DBar = [0 1 0;1 0 1;0 1 0];%哑铃棒DB=blkdiag(兰特(w),DBar,兰特(w));%转移矩阵连接哑铃和杠铃DB(w,w+1)=1;DB(w+1,w)=1;DB(w+3,w+4)=1;DB(w+4,w+3)=1;mc=dtmc(DB);

绘制马尔可夫链的有向图mc.抑制节点标签。

图;graphplot (mc);

图中包含一个轴对象。axis对象包含一个graphplot类型的对象。

考虑计算从状态1到状态10的预期通勤时间。

计算ht(1,10),状态10从状态1开始期望的第一次敲击时间。

ht = hittime (mc, 10);ht1to10 = ht (1);

计算ht(10,1),状态1从状态10开始期望的第一次敲击时间。

ht = hittime (mc, 1);ht10to1 = ht (10);

计算从状态1到状态10的预期通勤时间。

C1to10 = ht1to10 + ht10to1
C1to10 = 236.6165

从状态1到状态10再返回的预计通勤时间为236.62个时间步。

输入参数

全部崩溃

离散时间马尔可夫链NumStates状态与转移矩阵P,指定为dtmc对象。P必须详细说明(否条目)。

状态的目标子集,指定为正整数的数字向量、字符串向量或字符向量的单元向量。

  • 对于数字向量,表示目标对应于转移矩阵的行mc.P

  • 对于字符向量的字符串向量或单元格向量,元素目标必须是州名在州名

例子:["制度1" "制度2"]

数据类型:|字符串|单间牢房

用于绘图的轴,指定为对象。

默认情况下,hittime绘制到当前坐标轴(gca).

输出参数

全部崩溃

预期的第一次命中时间,作为长度的数字向量返回mc.NumStatesht(J)是目标状态的指定子集的预期第一次命中时间吗目标从起始状态J

如果ht(J)=,国家J是一个偏远的国家remote-reachable状态对于目标状态目标

图形打印的句柄,在“图形”名称-值对参数为真正的H是唯一标识符,可以使用它查询或修改绘图的属性。

更多关于

全部崩溃

偏远的国家

偏远国家是目标状态不可达的状态。一个偏远州被击中的概率是0以及预计的第一次撞击时间有关命中概率的更多详细信息,请参阅hitprob

Remote-Reachable状态

Remote-reachable州是指目标状态可到达且具有达到吸收类的正概率的状态。远程可达状态的预期首次命中时间为用于目标状态。

算法

hittime使用linprog求系统的最小范数非负解:

{ K A. = 0 , A. K A. = 1. + J A. P J K J A. , A. ,

在哪里

  • K A. =ht(),状态子集的预期第一次敲击时间A.,从州开始

  • A.是中状态的索引集目标

  • P=mc.P

  • N=mc.NumStates[1]

参考文献

[1]诺里斯,j . R。马尔可夫链。英国剑桥:剑桥大学出版社,1997。

在R2019b中引入