我有一个问题,给定一个隐马尔可夫模型,状态SI需要找到一个算法,该算法在时间O(| S |)中返回给定序列X的隐马尔可夫模型中最可能的路径。
我正在考虑开发一个图表,我将在X中的不同位置处拥有所有不同的状态,并在此图上运行最短路径算法。但是我将有n | S | ^ 2个边(其中n是X中的状态数)和n | S |顶点。
我发现的最好的算法是在我的情况下在时间O(| E | + | V |)中运行的非循环最短路径,它是O(| S | ^ 2)。 有没有我可以开发的算法让它在时间O(| S |)运行?我只需要一般的想法。
由于
答案 0 :(得分:1)
我认为如果您想要检索最可能的序列,则无法在所有实例的线性时间内执行此操作。但是,如果您的符号空间是离散的,则平均时间复杂度可能会降低。看看Ukkonen的计算编辑距离优化及其generalizations。另请查看compression based techniques这也是基于Ukkonen的工作。