李航P184中有句话非常奇怪,是这样的:
“根据动态规划原理,最优路径具有这样的特性:如果最优路径在时刻t通过节点it∗i_t^*it∗​,那么这一路径从节点it∗i_t^*it∗​到终点iT∗i_T^*iT∗​的部分路径,对于从it∗i_t^*it∗​到iT∗i_T^*iT∗​的所有可能的部分路径来说,必须是最优的.因为假如不是这样,那么从it∗i_t^*it∗​到iT∗i_T^*iT∗​就有另一条更好的部分路径存在,如果把它和从i1∗i_1^*i1∗​到iT∗i_T^*iT∗​的部分路径连接起来,就会形成一条比原来的路径更优的路径”
什么意思呢?一张图来解释

上面书上的这段话什么意思呢?
也就是说图中我们假设S-A2-B2-C3是最优路径,
那么蓝色这条线段是B2到iT∗i_T^*iT∗​之间的最优路径.
#############################################3
一些疑问:

图(1)

因为dijistra和viterbi十分相似,所以,我们会有这样的疑问,如果viterbi碰到了上面这个图咋办?
会不会存在选择了0.6*0.7这样的结果呢?
两方面来分析,
首先上面这个图是学过dijistra的同学马上能想到的,但是在viterbi中,注意,不存在这样的图.
只有下面两种图是可能的:


注意,如果是dijistra算法,最后在图形上一定是"汇总"的,但是
viterbi算法最后的节点数一定是和每一层节点数是一样的,一般不存在最右侧终点状态呈现"汇总",除非是下面这种特殊情况:
此时终点状态才会有"汇聚"的效果.

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


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

图解比较李航书上的viterbi算法和dijistra算法相关推荐

  1. 使用Apriori算法和FP-growth算法进行关联分析

    目录 1. 关联分析 2. Apriori原理 3. 使用Apriori算法来发现频繁集 4. 使用FP-growth算法来高效发现频繁项集 5. 示例:从新闻网站点击流中挖掘新闻报道 扩展阅读 系列 ...

  2. lru调度算法例题_FIFO调度算法和LRU算法

    微信公众号关注我,更多计算机知识告诉你! 一.理论 FIFO:先进先出调度算法 LRU:最近最久未使用调度算法 两者都是缓存调度算法,经常用作内存的页面置换算法. 打一个比方,帮助你理解.你有很多的书 ...

  3. 数据结构与算法—最小生成树(Prim算法和Kruskal算法算法详解)

    前言 在数据结构与算法的图论中,(生成)最小生成树算法是一种常用并且和生活贴切比较近的一种算法.但是可能很多人对概念不是很清楚.我们看下百度百科对于最小生成树定义: 一个有 n 个结点的连通图的生成树 ...

  4. 【数据结构】最小生成树问题(Prim算法和Kruskal算法)

    相关概念 连通图与它的生成树 连通图的生成树是包含图中全部顶点的一个极小连通子图.若图的顶点数为n,则它的生成树含有n-1条边.一个连通图可能拥有多个生成树. 最小生成树(Minimum-Spanni ...

  5. Kruskal算法和Prim算法

    Kruskal算法和Prim算法 在无向图中,连通且不含圈的图称为树.给定一个无向图G=(V,E),连通G中所有点,且边集使E的子集的树称为G的生成树,其中权值最小的生成树称为最小生成树(MST).构 ...

  6. 操作系统之存储管理——FIFO算法和LRU算法

    操作系统之进程调度--优先权法和轮转法(附上样例讲解) 操作系统之银行家算法-详解流程及案例数据 操作系统之多线程编程-读者优先/写者优先详解 操作系统之存储管理--FIFO算法和LRU算法 操作系统 ...

  7. Prim算法和Kruskal算法

       Prim算法和Kruskal算法都能从连通图找出最小生成树.区别在于Prim算法是以某个顶点出发挨个找,而Kruskal是先排序边,每次选出最短距离的边再找. 一.Prim(普里姆算法)算法: ...

  8. 基于Huffman算法和LZ77算法的文件压缩的改进方向

    基于Huffman算法和LZ77算法的文件压缩(八) 到这里已经简单实现基于Huffman算法和LZ77算法的文件压缩, GitHub源码:点我 根据基于Huffman算法和LZ77算法的文件压缩(七 ...

  9. 用Spark学习FP Tree算法和PrefixSpan算法

    在FP Tree算法原理总结和PrefixSpan算法原理总结中,我们对FP Tree和PrefixSpan这两种关联算法的原理做了总结,这里就从实践的角度介绍如何使用这两个算法.由于scikit-l ...

最新文章

  1. linux之history命令
  2. 5.3.3 TCP可靠传输
  3. Dart 调用C语言混合编程
  4. Hadoop集群(第6期)_WordCount运行详解
  5. Java 编译期与运行期,别傻傻分不清楚!
  6. EOS资源模型(1)资源说明
  7. 封装、继承、多态的理解
  8. 【MySQL】数据库死锁查询及处理
  9. Spring Boot JPA中使用@Entity和@Table
  10. running Extension project directly on ABAP server without Launchpad
  11. python 虚拟环境原理_Python 虚拟环境
  12. 设计模式 生成器_生成器设计模式的应用
  13. Spring JMS 整合 ActiveMQ
  14. 动态磁盘转换成基本磁盘
  15. 计算机网络的分类3:按网络的工作方式分类,分为集中式网络、分布式网络
  16. superset 可视化平台搭建
  17. 墨刀原型设计工具学习体会——临摹网易云音乐App
  18. Android开源框架:Retrofit
  19. 无限乱斗连接服务器失败,LOL新版无限乱斗模式服务器挤爆怎么办 客户端哪些功能被限制...
  20. AD7606调试过程与源码

热门文章

  1. “会”和 好”纯粹是两个概念
  2. 关于Java在Linux or Android平台调用.so库
  3. Oracle----date
  4. for(;;)和 while(1) 有什么区别吗?for()和while()的使用情景。
  5. 用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联
  6. C Primer Plus(第六版):C语言概述
  7. oracle 物理读突然增加的原因_请教一个诡异的物理读比逻辑读还多的问题!!!!
  8. Windows 目录结构,服务以及端口, DOS常用命令学习
  9. mysql及mybatis知识点_MyBatis知识点详解
  10. 每天定时查询CSDN博客访问量,并通过echarts进行展示