图解比较李航书上的viterbi算法和dijistra算法

李航P184中有句话非常奇怪,是这样的:
“根据动态规划原理,最优路径具有这样的特性:如果最优路径在时刻t通过节点 i t ∗ i_t^* it,那么这一路径从节点 i t ∗ i_t^* it到终点 i T ∗ i_T^* iT的部分路径,对于从 i t ∗ i_t^* it i T ∗ i_T^* iT的所有可能的部分路径来说,必须是最优的.因为假如不是这样,那么从 i t ∗ i_t^* it i T ∗ i_T^* iT就有另一条更好的部分路径存在,如果把它和从 i 1 ∗ i_1^* i1 i T ∗ i_T^* iT的部分路径连接起来,就会形成一条比原来的路径更优的路径”
什么意思呢?一张图来解释
图解比较李航书上的viterbi算法和dijistra算法_第1张图片
上面书上的这段话什么意思呢?
也就是说图中我们假设S-A2-B2-C3是最优路径,
那么蓝色这条线段是B2到 i T ∗ i_T^* iT之间的最优路径.
#############################################3
一些疑问:
图解比较李航书上的viterbi算法和dijistra算法_第2张图片
图(1)

因为dijistra和viterbi十分相似,所以,我们会有这样的疑问,如果viterbi碰到了上面这个图咋办?
会不会存在选择了0.6*0.7这样的结果呢?
两方面来分析,
首先上面这个图是学过dijistra的同学马上能想到的,但是在viterbi中,注意,不存在这样的图.
只有下面两种图是可能的:
图解比较李航书上的viterbi算法和dijistra算法_第3张图片
图解比较李航书上的viterbi算法和dijistra算法_第4张图片
注意,如果是dijistra算法,最后在图形上一定是"汇总"的,但是
viterbi算法最后的节点数一定是和每一层节点数是一样的,一般不存在最右侧终点状态呈现"汇总",除非是下面这种特殊情况:图解比较李航书上的viterbi算法和dijistra算法_第5张图片
此时终点状态才会有"汇聚"的效果.

那么好了,如果是下面这样的结构,对于计算的影响是怎样的呢?

图解比较李航书上的viterbi算法和dijistra算法_第6张图片
第一级积累的概率是0.6,会不会导致第二级别"偏爱"0.6的这条路线呢?
答案是不会的.因为:
“黑色线上面的转移概率”·“抽小球的概率”·
“粉色线上面的转移概率”·“抽小球的概率”
最大时,才会被记录为
李航书上的 δ 2 ( i ) \delta_2(i) δ2(i),
也就是t=2时选择的第i个盒子(这里是"两个盒子摸红、白小球"案例)

你可能感兴趣的:(机器学习算法)