计算机问题求解 – 论题3-8 - 单源最短通路算法

Slides:



Advertisements
Similar presentations
臺中市大里國民運動中心興建計畫案 地方說明會 2015/03/27 設計單位 : 蘇懋彬建築師事務所 委託單位 : 臺中市政府.
Advertisements

旋毛虫病  旋毛虫为毛首目毛形科的线虫,是一种人 畜共患病。幼虫寄生于肌肉中称肌旋毛虫, 成虫寄生于小肠称肠旋毛虫。它是多宿主 寄生虫。除猪、人以外,鼠类、狗、猫、 熊、狼等均可感染,目前已有 65 种哺乳动 物可感染此病。
什么是遗传病? 它与非遗传病 如何区别 遗传病:是由引起 遗传病:是由遗传物质改变引起 的或者是由所控制的人 类疾病. 的或者是由致病基因所控制的人 类疾病.基因 遗传病的概念.
世界文化與自然遺產 整理: Henry 音樂 : 世界遺產名錄 ( 陳悅 ) 據統計,被聯合國列為世界文化與自然遺產有 850 多處。 這些世界各地的自然文化遺產因其獨特性而各具風情, 但並不是每個人都有機會去親自一探究竟。 有一位旅日的華人攝影家周劍生為了讓大多數人 能認識和了解世界遺產的歷史與文化價值,
東元綜合醫院 主講人:醫事課 課長 張桂瑛 醫管處醫事課 新人教育訓練課程 -批價作業.
四川通信科研规划设计有限责任公司 李燚 2014年4月
公務員申領小額款項專案法紀宣導 法務部廉政署 編製
细胞中的糖类和脂质.
美味料理 5223汪芮臣.
臺大法律學院 科際整合法律學研究所 105年招生說明會 (五) 14:00 -17:00.
给宝宝合理补钙 北京大学医学部 李可基教授.
中国建筑特色 2013美国富布莱特项目 ——华文教师班暑期课 授课人:邵 英
中华传统文化 ——礼俗、宗法.
山东农业大学 选课 山东农业大学教务处 山东农业大学教学信息中心.
宋词四首.
企业所得税政策辅导 北京市地方税务局 企业所得税处.
审计学原理课件 江苏省淮阴商业学校 财贸系会计教研室 沈 扬.
丹 溪 翁 传 戴 良.
秘書處政風室 公務員申領小額款項專案法紀教育
汽 车 市 场 发 展 趋 势 徐长明 高级经济师 国家信息中心信息资源部 主任.
税收新政 -2008年度.
國立台東高中104學年度校園教室分布平面圖 操場 試場數:23 桂林南路 台東市中華路一段 女廁 女廁
.目标市场营销及市场定位 制作:江胜.
第9章 企业所得税的其他筹划策略 主 讲 人:张 睿
第9章 企业所得税的其他筹划策略.
第十六讲 中国古代建筑屋顶 本讲内容: 1 概述; 2 屋顶做法。 本讲重点: 中国古代屋顶的基本形式及屋面曲线的形成原因。
總務處報告 總務處 林蕙雅組長.
高等学校实验室信息系统 的使用及指标体系说明
高等学校实验室信息系统 的使用及指标体系说明
彩盒工艺培训.
期末测试讲评.
述 职 报 告 单 位:机械学院 实践教学部 述职人:钮平章.
Network Optimization: Models & Algorithms
你知道营养与身体健康的关系吗? 你知道如何合理地选择食物吗?
房地合一新制介紹 (含本法及申報作業要點) 財政部南區國稅局澎湖分局
一、营改增试点全面推开后,对新试点纳税人和原增值税纳税人有哪些影响?
ACM/ICPC暑期集训讲座 二分图匹配 cnhawk
学习贯彻十七大 提出的国防和军队 建设的方针原则和任务要求
研究目的:通过对众泰5008上市传播的分析, 了解众泰5008传播推广方式
四色UV滚印研究报告 为 名 牌 打 造 王 冠 海普制盖 烟台海普研发部
模块1 汽车的整体认识
海洋文學 Warm up by Su.
小说与诗歌、散文、戏剧并称为四大文学体裁。
《战国策》:范雎说秦王学习要点 一、《战国策》题解 二、长沙马王堆汉墓简介 三、《范雎说秦王》说明 四、《范雎说秦王》语言角度分析
前不久看到了这样一则报道:某个大学校园里,一个大学生出寝室要给室友留一张字条,告诉他钥匙放在哪里。可是“钥匙”两个字他不会写,就问了其他寝室的同学,问了好几个,谁也不会写,没办法,只好用“KEY”来代替了。 请大家就此事发表一下自己看法。
麻疹的院内感染控制 敦煌市医院院感科 梁荣.
产量分析表(6月) 轿车 MPV SUV 狭义乘用车合计 微客 广义乘用车合计 6月产量 907, , ,562
丹江口市实验中学 王元智.
苏轼的才能炉火纯青,苏轼的诗文才气贯天,苏轼的思想博大精深,苏轼的人格光芒万丈。 
孙权劝学 滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江楮上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 都付笑谈中.
友信不銹鋼工程有限公司 台北市康定路4號 工廠:台北縣三重市竹圍仔街22-3號
利用共同供應契約 辦理大量訂購流程說明.
Bellman 查經 兩個有關婚宴的比喻 馬太福音 22:1~14, 25:1~13.
第9章 基本图算法 本章内容将包含基本的图形表示法,以及先深搜寻,先广搜寻,拓朴排序,Strongly Connected Components。
数据结构概论 第7章 图 董黎刚 浙江工商大学信电学院 2019年4月8日.
语文版八年级语文上册 第六单元 第22课 记承天寺夜游 苏轼 主教: 游建凌.
延安纺车抒怀 吴伯箫 纺线.
華山立牌規範及說明 自105.03啟用.
算法导论第三次习题课.
兒童及少年保護、 家庭暴力及性侵害事件、 高風險家庭 宣導與通報
教育部特殊教育通報網 學生異動、接收操作說明.
聰明管理零用錢 主講人:高鳳儀 行政院金融監督管理委員會銀行局 指導 中華民國銀行公會暨信合社聯合社 主辦.
進貨管理介接更動 有關「匯入進貨資料」傳,請注意「上游業者出貨單號」,上游業者出貨單號要配合「匯出上游出貨資料」中的「出貨單號」或是「自有系統上傳的出貨單號」。 Ø  若「自有系統上傳的出貨單號」有值,則「匯入進貨資料」中的「上游業者出貨單號」就要key入「匯出上游出貨資料」中的「自有系統上傳的出貨單號」。
Bellman 查經 處理憂慮 馬太福音 6:25~34.
一、学生实验:探究——电流与电压、电阻的关系
世界文化與自然遺產 音樂 : 世界遺產名錄 (陳悅) 整理:Henry.
10801: Lift Hopping ★★★☆☆ 題組:Problem Set Archive with Online Judge
姓名:林鳳珍 小名:阿Key 身高:160 體重:65 年齡:23
第七章 能量 7-3核分裂與核熔合.
PIXAR 皮克斯動畫工作室 極致力+整合力.
Presentation transcript:

计算机问题求解 – 论题3-8 - 单源最短通路算法 计算机问题求解 – 论题3-8 - 单源最短通路算法 2018年10月30日

什么是最短通路问题? 问题1: 输入是什么?输出是什么? Dijkstra算法为什么可能不是最小生成树?

问题2: 单源最短路问题的解必定是一棵树? 所有节点都在源点s到某个节点的最短路径上 广度优先搜索树 由.π决定的最短路径树:

单源最短路问题具有最佳子结构性

简单的greedy策略不能正确解决最短通路 问题! 为什么? 1 6 s v 2 7 问题3: 简单的greedy策略不能正确解决最短通路 问题! 为什么? 贪心选择策略出现了问题,不能保证贪心特性存在

问题4: 具有负值权的回路对于单源 最短通路问题的解有什么影 响?非负值权的回路呢? 前者无解,定义为无穷小; 后者不影响

问题5: 在本章中介绍的算法基本 思路是一样的,那是什么? 预估+修正=松弛 松弛+有序的松弛 效率的不断提高

“预估”与“修正” Relax用来描述v.d这个上限的紧缩过程。 Relax:v.d<=u.d+w(u,v)其实不容易得到保证:初始时v.d=无穷大,修正(松弛)时也只能保证当时满足。如果u.d变小了,该约束又可能不满足。 修正使得该条件越来越容易得到保证。如果v.d=&(s,v)以及u.d=&(s,u),该约束无条件满足。

遍历顺序

问题6: Relax中的“修正”到底在 干什么?

当我们有u.d这么一个预估值后,v.d这个预估值必须小于u.d+w(u,v)(三角不等式), s v u 当我们有u.d这么一个预估值后,v.d这个预估值必须小于u.d+w(u,v)(三角不等式), 如果relax时不小于,修正v.d为u.d+w(u,v) 修正后的v.d满足三角不等式的可能性大大提高 满足三角不等式的“压力”变小了

这是最短的路的权重 这是某条路径的权重而已 保证了修正一定是降低的v.d,至少不增。

v.d的上界特性 Never changes其实很重要,它保证了v.d一旦收敛到&,就不会再发生变化 既不会再减小,也不会增大

问题6: “修正”最终“可能”导致v.d=(s,v)。 但“可能”会变成“一定”吗? 每次修正都是将预估值v.d缩小(最多不变)。 为什么一定能变成“一定”是理解算法的第一重点

假设s,…,u,v是s到v的一条最短路,算法执行某轮relax后有u.d= &(s,u) v.d>=&(s,v)(上界特性) 在下一轮relax(u,v)后,有v.d<=u.d+w(u,v)(类三角原理) u1 v.d=&(s,v) Sj Sj-1 u V S S2 S1 v.d<=u.d+w(u,v) =&(s,u)+w(u,v) =&(s,v) Um 其实,一旦v完成收敛,最短路已经形成,之后的relax已经无关

“一定”何时会发生

按照任意的次序做|V|-1次所有边的relax,一定让所有的v.d收敛?

其实,边数为k的最短路,第k次relax后就得到了!

Bellman-Ford算法的“部分”正确性 每轮relax中都对所有边进行 为什么?

只要没有源点可达的负权值回路,这个条件一定不会满足。只要有源点可达的负权值回路,这个条件一定会满足。

效率 这会影响什么?

问题7: Bellman-Ford算法的复 杂度是O(VE), 你是否觉 得relax操作太多了一些? 有什么办法吗? 哪些边的relax是多余的?最短路径上已经收敛到&(s,v)的(u,v)边其实不用relax了。

换一种边的顺序,可能减少边的relax次数!

如果没有回路…

问题8: 为什么不需要做那么多次 relax操作了? 关键是被relax的边的顺序。

问题9: 没有回路的要求过高了, 有什么办法达到类似的效 果呢?

在V-S结点集合中,选择当前预估值最低的结点,放入S中。该点的d一定是& 问题10: 为什么这被认为是一个Greedy算法?

Dijkstra算法的正确性 用反证法证明关键的一步: 任一次特定循环, 即将加入S的顶点u必须满足 u.d = (s,u). 循环不变式: 用反证法证明关键的一步: 任一次特定循环, 即将加入S的顶点u必须满足 u.d = (s,u). u是第一个即将被加入S但不满足d=&的节点: 在左图的形势下(s到u的最短路), u.d既不能大 于y.d(否则不可能选u加入S), 也不能小于y.d (y.d=(s,y)<=&(s,u))。 因此,只能是u.d=y.d=(s,d)=&(s,u) 如果su最短路上还有Y-S节点,找到第一个y节点,x是y的直接前驱

问题11: Dijkstra算法对每条边最多relax 一次, 而且不要求输入是DAG, 它付出的代价是什么? 为什么必 须如此? 空间

问题12: 为什么说Dijkstra算法的复 杂度与其实现方法有关? 显性或者隐性的优先队列操作 最小优先队列的三个基本操作:insert,extract-min,decrease-key(隐含在relax操作中)

问题13: 你能比较一下Dijkstra算法与 计算最小生成树的Prim算法 吗?Dijkstra算法的结果是否 一定是一个最小生成树? 非也! Dijkstra算法得到一棵最短路径树;(相对于结点v0) 最短路径树是一个生成树,但未必最小(贪心的策略不一样)

Open Topics 请证明BF算法一定能够找到负权重环,请改造BF算法,输出负权重环; 请分析,如果用Fibonacci堆实现优先队列的话,Dijkstra算法时间复杂度为O(V*lgV + E)