两状态马尔可夫链matlab代码马尔可夫约简
这是使用信息论方法减少(在状态数量上)马尔可夫链的八度代码。
代码的工作原理如下,函数aggregate(或aggregate2)接收一个矩阵P作为参数,它表示马尔可夫链的状态转移矩阵,以及一个整数n,表示要减少的状态数。
该程序将根据信息论标准找到最能代表原始链的状态较少的近似矩阵。
查看“示例文件夹”中的示例脚本。
提供了两种算法,“Paper
Algorithm”文件夹中的一种基于论文:Deng、Kun、Prashant
G.
Mehta
和
Sean
P.
Meyn。
“通过马尔可夫链的谱理论优化
Kullback-Leibler
聚合。”
自动控制,IEEE
Transactions
on
56.12
(2011):
2793-2808。
其中主函数是聚合(在文件aggregate.m
中实现)。
'New
Algorithm'
中的另一种算法与之前的算法类似,但使用的是“自顶向下”的方法,当需要减少少量状态时很有用。
笔记:
这段代码已经过测试,应该可以在
Octave
和
Matlab
中工作。
添加一名作者
电子邮件: