动态规划 Floyd最短路径算法 高文宇 gwyy@163.com.

Slides:



Advertisements
Similar presentations
我的未来不是梦 攀枝花市经贸旅游学校. 1. 文中案例王萍苦恼的原因是 什么? 2. 你有哪些办法可以帮助王萍? 导入 思考  谁来帮帮她?
Advertisements

第2章 证券市场的运行与管理.
我国青少年题材邮票欣赏 一、各个历史时期的重大题材 二、青少年德、智、体题材 三、童话题材 四、少儿绘画创作题材 五、儿童附捐邮票
報告書名:父母會傷人 班級:二技幼四甲 姓名:吳婉如 學號:1A2I0034 指導老師:高家斌
复习: :对任意的x∈A,都有x∈B。 集合A与集合B间的关系 A(B) A B :存在x0∈A,但x0∈B。 A B A B.
NOI 2008 employee 招募一批志愿者,这个项目需要N 天才能完成,其中第i 天至少需要Ai 个人。 一共有M 类志愿者可以招募。其中第i 类可以从第Si 天工作到第Ti 天,招募费用是每人Ci 元。用尽量少的费用招募足够的志愿者.
关于市场营销的分析 ——以九阳豆浆机为例 品牌经营——让每一个家庭都拥有一台九阳豆浆机 营销管理——采取文化、概念、网络等营销组合
手太阳小肠经.
媽,我們真的不一樣 青少年期與中年期 老師: 趙品淳老師 組員: 胡珮玟4A1I0006 馬菀謙4A1I0040
第五章 二次型. 第五章 二次型 知识点1---二次型及其矩阵表示 二次型的基本概念 1. 线性变换与合同矩阵 2.
游泳四式技術分析暨初級教法.
第三章 函数逼近 — 最佳平方逼近.
班級:二幼三甲 姓名:郭小瑄 、 詹淑評 學號:1A2I0029 、1A2I0025
指導老師:陳韻如 姓名:吳宜珊 學號:4A0I0911 班級:幼保二乙
授课教师简历 刘付才,男,中学高级教师,亳州一中南校体 育教研组长,全国体育优质课一等奖获得者,华佗 五禽戏第五十八代传承人;长期从事五禽戏教学和 研究工作,参与创编了国家级课题“校园五禽戏”; 2014年全国学生运动会展示中获得优秀表演奖; 2015年指导的五禽戏传人进行的五禽戏教学获得全 国一等奖,编著的《华佗五禽戏之简易健身操》即.
洪涝灾害重点传染病的预防 江苏省疾病预防控制中心 汪华.
Chapter 12 圖形結構 12.1 圖形的一些專有名詞 12.2 圖形資料結構表示法 12.3 圖形追蹤 12.4 擴展樹
第十九课 南吕•一枝花 不 伏 老 关汉卿.
小 桔 灯 市场赢利能力与战略 主讲:杨贤耀.
傳統童玩遊戲創新 組別:第八組 班級:幼保二甲 組員: 4A0I0005柯舒涵 4A0I0011謝孟真
践行新时期广东精神 推进广东公路文化繁荣与发展 ——关于广东省公路文化建设与实践的思考
弘ㄧ大師-李叔同.
探索三角形相似的条件(2).
马克思主义基本原理概论 第三章 人类社会及其发展规律.
Chap5 Graph.
Chap5 Graph.
第8章 圖形結構(Graphs) 8-1 圖形的基本觀念 8-2 圖形的表示法 8-3 圖形的走訪 8-4 擴張樹
第八章 图 图的基本概念 图的存储结构 图的遍历与连通性 最小生成树 最短路径 活动网络.
The Greedy Method.
圖論 (Graph Theory) B 電機四 大鳥 B 電機四 酋長 B 電機四 炫大
强连通分量 无向图 1、任意两顶点连通称该图为连通图 2、否则将其中的极大连通子图称为连通分量 A D C B E 有向图
Graph Theory Graph theory is the study of the properties of graph structures. It provides us with a language with which to talk about graphs.
101北一女中 資訊選手培訓營 最短路徑 Shortest Path Nan.
第16讲 图的矩阵表示, 赋权图与最短路径 主要内容: 1.图的矩阵表示. 2.赋权图与最短路径..
§2 求导法则 2.1 求导数的四则运算法则 下面分三部分加以证明, 并同时给出相应的推论和例题 .
动态规划(Dynamic Programming)
Chapter12 Graphs Definitions Applications Properties
Ch07 圖形與網路 淡江大學 周清江
最速就業職種養成! 護理、軍人、職人 花蓮縣學生輔導諮商中心 適性輔導組 游賀凱
数据结构概论 第7章 图 董黎刚 浙江工商大学信电学院 2019年4月8日.
Floyd-Warshall 算法构造最短路径
知识点回顾 拓扑排序 关键路径 应用领域、求解步骤、算法实现过程 应用领域 求解步骤
最短路徑 The Shortest Path.
线段的有关计算.
算法设计与分析 ——贪心法. 算法设计与分析 ——贪心法 贪心算法 主要内容: 介绍贪心法的基本原理,贪心算法设计的基本方法和应用例子 。
今天, AC 你 了吗? 2019/4/21.
复习.
第16讲 相似矩阵与方阵的对角化 主要内容: 1.相似矩阵 2. 方阵的对角化.
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
双调欧几里得旅行商问题 Bitonic Euclidean Traveling-salesman Problem
1.设A和B是集合,证明:A=B当且仅当A∩B=A∪B
算法基础 上机实验 4 学 期: 2016 (秋).
最短通路问题.
树和图 tree and graph 蔡亚星.
网络模型 Network Modeling Operations Research 运 筹 学
第七、八次实验要求.
2.2矩阵的代数运算.
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
§2 方阵的特征值与特征向量.
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
All Sources Shortest Path The Floyd-Warshall Algorithm
Advanced Competitive Programming
圖形結構 Graph Structure chapter 9 德明科技大學資訊科技系.
Graph 1 Michael Tsai 2012/4/24 連載: 學生上課睡覺姿勢大全
离散数学─归纳与递归 南京大学计算机科学与技术系
最小生成树 最优二叉树.
§2 自由代数 定义19.7:设X是集合,G是一个T-代数,为X到G的函数,若对每个T-代数A和X到A的函数,都存在唯一的G到A的同态映射,使得=,则称G(更严格的说是(G,))是生成集X上的自由T-代数。X中的元素称为生成元。 A变, 变 变, 也变 对给定的 和A,是唯一的.
南昌大学研究生数学建模竞赛教学案例(库)
3.3.2 两点间的距离 山东省临沂第一中学.
JAVA 程式設計與資料結構 第二十一章 Graph.
Presentation transcript:

动态规划 Floyd最短路径算法 高文宇 gwyy@163.com

不同难度的动态规划 状态数为线性的 状态数为平方级的 状态数为立方级的 …

活动选择问题 活动选择问题:在一系列给出的活动中选出一个最大兼容活动子集(数目最多)。 例如以下示例中,子集{a3, a9, a11}是一个解,然而最优解是{a1, a4, a8, a11} ,或{a2, a4, a9, a11},最优解的大小为4。

带权活动选择问题 带权的活动选择问题:给定一系列活动Ai,其对应的开始时间为si,结束时间为fi,每个活动还有一个对应的权值vi(价值),问题是需要找出若干个相容的活动,使得总的权值最大。

预处理 按活动的结束时间Fi递增的顺序对活动排序,并依次编号。对活动j定义p(j)为使得活动i与j相容的最大标记i<j。简单地说,活动i是最右边的在活动j开始之前结束的活动。如下图所示。

考虑一个最优解 假设存在一个最优解O,现在来分析活动n属于或不属于O。 (1)若n∈O,则处于p(n)和n之间的活动不能属于O,此时问题变为在活动{1,2,…,p(n)}中寻找最优解,再加上活动n; (2)若n不属于O,则问题变为在活动{1,2,…,n-1}中寻找最优解。

递归解 定义OPT(j)为活动{ 1, 2, …, j }上的最优解,则有: 总的状态数为线性,即OPT(1) ~ OPT(n)

状态数为平方级的动态规划 矩阵乘法顺序 最优二叉查找树 背包问题

图中所有点对间的最短路径 Floyd算法 Floyd-Warshall 算法考虑最短路径上的中间节点(intermediate),简单路径 p = 〈v1, v2,..., vl〉上的中间节点是除v1 和 vl,以外的任意节点。

递归解 设 G 的节点为 V = {1, 2,..., n},对参数k考虑节点集 {1, 2,..., k} 。对任意一对节点 i, j ∈ V, 考虑从 i 到 j 且中间节点都属于集合 {1, 2,..., k}的所有路径,设 p 是其中的最短路径。记为d(i, j, k)有如下结论。 若 k 不是路径 p的中间节点,则p的所有中间节点属于集合 {1, 2,..., k - 1}。即d(i, j, k)= d(i, j, k-1) 若 k 是 p的中间节点,则如下图,可将p分解为两条子路径,即i~ k~ j。p1 是从 i 到 k 中间节点属于集合 {1, 2,..., k - 1}的最短路径, p2 是从 k 到 j 中间节点属于 {1, 2,..., k - 1}的最短路径。

递归解 Floyd-Warshall 算法的递归解。 d(i, j, k)表示从 i 到 j 且中间节点都属于集合 {1, 2,..., k}的所有路径中的最短路径的权值。

Floyd算法示例 1

Floyd算法示例 2

Floyd算法 Floyd /* A[ ] contains the adjacency matrix with A[ i ][ i ] = 0 */ /* D[ ] contains the values of the shortest path */ /* N is the number of vertices */ /* A negative cycle exists iff D[ i ][ i ] < 0 */ void AllPairs( TwoDimArray A, TwoDimArray D, int N ) { int i, j, k; for ( i = 0; i < N; i++ ) /* Initialize D */ for( j = 0; j < N; j++ ) D[ i ][ j ] = A[ i ][ j ]; for( k = 0; k < N; k++ ) /* add one vertex k into the path */ for( i = 0; i < N; i++ ) if( D[ i ][ k ] + D[ k ][ j ] < D[ i ][ j ] ) /* Update shortest path */ D[ i ][ j ] = D[ i ][ k ] + D[ k ][ j ]; }

任务 (1)编程实现Floyd最短路径算法。 (2)如何使用Path矩阵构造出最短路径经过的节点。 (4)比较Dijkstra算法和Floyd算法。

再见 再见