看完这篇文章,你一定能看懂viterbi 算法!

先上图
在这里插入图片描述
找出从H到G的最短路径,记得上面的每个箭头都是含有路径长短的的哈,例如H–>A1为3,H–>A2为5,H–>A3为8。
那除了全遍历,还有什么处理方式呢?
让我们来看下面这种方式,即维特比算法去处理最优路径问题。

  1. 让我们一列一列的分析问题。从H到A这一列有:H–>A1,H–>A2,H–>A3,此时,哪一个都可能是全局最短路径的备选项。所以我们继续往下一列即B列看。
  2. 按照B1,B2,B逐个分析,先看B1:
    在这里插入图片描述
    有路径:H–>A1–>B1,H–>A2–>B1,H–>A3–>B1
    假设经过累加路径后,H–>A1–>B1最短,故删去其他两条路径,留下此条路径:
    在这里插入图片描述
    同理,对于B2,假设经过累加路径后H–>A3->B2最短:
    在这里插入图片描述
    对于B3,假设经过累加路径后H–>A2->B3最短:
    在这里插入图片描述
    所以,我们获得了上述的三条备选路径,它们每一条都有可能成为未来最短路径的基石。如下图所示:
    在这里插入图片描述
  3. 接下来到了C列了,我们继续按照C1,C2,C3节点分析。
    先看C1:
    在这里插入图片描述
    我们发现,从H到C1仍然有三条路径:H–>A1–>B1–>C1,H–>A2–>B3–>C1,H–>A3–>B2–>C1。假设经过累加路径后,H–>A3–>B2–>C1最短,则删去其他两条路径,留下该条路径:
    在这里插入图片描述
    接下来的C2,C3同理,我们最终得到从G到C这一列的最短路径的备选路径如下:
    在这里插入图片描述
  4. 最后,我们来看最后一列:G列:
    在这里插入图片描述
    此时从H到G仍有三条路径,假设经过计算后H–>A2–>B3–>C1–>G这条路径的累加路径最短。则我们已经找到了最短路径,若要实现编程,我们进行回溯即可得到最短路径:
    在这里插入图片描述
    最后,在这里插入图片描述
  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值