如何理解状态转移方程变为滚动数组

如何理解状态转移方程通过降维变成滚动数组,实在想不明白,怎么就能把i给去了呢

邹博 - 计算机科学博士,深谙机器学习算法原理

赞同来自: fish 洪宇舟

计算(i,j)的时候,最多只需要第(i-1,j),(i-1,j+1),(i-1,j+2)...(i-1,N-1)以及(i,0),(i,1),(i,2)....(i,j-1)这N个数,就足矣了。因为dp(i,j)=max(dp(i-1,j),dp(i,j-1))。 从而利用一维数组即完成了整个代码。 咱们的上课视频中我有画图的。再看看?

邹博 - 计算机科学博士,深谙机器学习算法原理

赞同来自: fish

@acm79 和标准的滚动数组一样,如果是仅仅计算HMM中最大可能的隐状态的概率值本身,可以用滚动数组;但如果需要计算最大可能的隐状态本身,则需要记录中间过程了。

acm79

赞同来自:

滚动最常见的就是求余滚动,因为运算总是从前往后进行的,你在进行这一轮运算之前,上一次状态中的数值(你所用到的位置)还并没有被覆盖掉,所以可以降维滚动处理。这个地方是不是能衍生到比如说HMM,状态只和前一个状态或者前两个状态有关??老师回答一下吧。

要回复问题请先登录注册