东南大学:《数据结构》课程教学资源(PPT课件讲稿)动态规划

动态规划 东南大学计算机学院方效林
东南大学计算机学院 方效林 动态规划

本章内容 动态规划原理 ■矩阵连乘 钢条切割 最长公共子序列 最优二叉搜索树 流水作业调度 0背包问题
本章内容 ◼ 动态规划原理 ◼ 矩阵连乘 ◼ 钢条切割 ◼ 最长公共子序列 ◼ 最优二叉搜索树 ◼ 流水作业调度 ◼ 0/1背包问题 2

动恋规划原理 n与分治法类似,动态规划法也是把问题一层 层地分解为规模逐渐减小的同类型的子问题 分治法 子问题是相互独立的 口若不独立,将重复计算 动态规划 口可分为多个相关子问题 口子问题的解被重复使用 口子问题只求解一次,结果保存在表中,以后用到时 直接存取
动态规划原理 ◼ 与分治法类似,动态规划法也是把问题一层一 层地分解为规模逐渐减小的同类型的子问题 ◼ 分治法 子问题是相互独立的 若不独立,将重复计算 ◼ 动态规划 可分为多个相关子问题 子问题的解被重复使用 子问题只求解一次,结果保存在表中,以后用到时 直接存取 3

动恋规划原理 动态规划的条件 口最优子结构 当一个问题的最优解包含了子问题的最优解时,称这 个问题具有最优子结构 口重叠子问题 在问题的求解过程中,很多子问题的解将被多次使用
动态规划原理 ◼ 动态规划的条件 最优子结构 ➢ 当一个问题的最优解包含了子问题的最优解时,称这 个问题具有最优子结构 重叠子问题 ➢ 在问题的求解过程中,很多子问题的解将被多次使用 4

矩阵连乘 a两矩阵A和B,其维数分别是pxq和qxr,这两 矩阵相乘需进行 pxxN次乘法
矩阵连乘 ◼ 两矩阵A和B,其维数分别是pq和qr,这两 矩阵相乘需进行pqr次乘法 5

矩阵连乘 3个矩阵相乘MM2M3,其维数分别为10×100, 100×5和5×50 口可按MM2M)的方法计算, 计算M2M3:100×5×50=25000 计算MM2M3):10×100×50=5000 乘法运算总共250050,000=75,000 口也可按MM2M3的方法计算 计算MM2:10×100×5=5000 计算MM2M3:10×5×50=2500 乘法运算总共5,000+2500=7,500 不同的计算顺序计算代价不同
矩阵连乘 ◼ 3个矩阵相乘M1M2M3,其维数分别为10100, 1005和550 可按M1 (M2M3 )的方法计算, ➢ 计算M2M3:100550 = 25000 ➢ 计算M1 (M2M3 ) :1010050 = 50000 ➢ 乘法运算总共25,000+50,000= 75,000 也可按(M1M2 )M3的方法计算 ➢ 计算M1M2:101005 = 5000 ➢ 计算(M1M2 )M3 :10550 = 2500 ➢ 乘法运算总共5,000+2,500=7,500 不同的计算顺序计算代价不同 6

矩阵连乘 n个矩阵相乘,最小化乘法运算次数? 口解空间大小 令pn为n个矩阵相乘不同计算方法的总数,则有 p(n)=1 if nE1 >p(n= keip(kp(n-k if n>1 MM2. MK(M k+1K+2n p(门)正好是 catalan数C21 解空间巨大无法枚举
矩阵连乘 ◼ n个矩阵相乘,最小化乘法运算次数? 解空间大小 ➢ 令p(n)为n个矩阵相乘不同计算方法的总数,则有 ➢ p(n) = 1 if n=1 ➢ p(n) = σ𝐤=𝟏 𝐧−𝟏𝐩 𝐤 𝐩(𝐧 − 𝐤) if n>1 ➢ p(n)正好是catalan数= 𝟏 𝒏 𝑪2(𝒏−𝟏) 𝒏−𝟏 7 (M1M2 … Mk )(Mk+1Mk+2 … Mn ) 解空间巨大无法枚举

矩阵连乘 n个矩阵相乘,最小化乘法运算次数? 口但是,若可分别得到MM2M和M+M+2Mn的 最小乘法次数,则可以得到在k处断开的连乘方法 (MM2M)(Mk+1M+2M的最小乘法次数 令MM2…M的最小乘法次数为m1k] k+1k+2 Mn的最小乘法次数为m[k+1n] 则k处断开的最少乘法数m[1,k]+mk+1,n]+r1×c1xcn 具有最优子结构: 问题的最优解包括子问题最优解
矩阵连乘 ◼ n个矩阵相乘,最小化乘法运算次数? 但是,若可分别得到M1M2 … Mk和Mk+1Mk+2 … Mn的 最小乘法次数,则可以得到在 k处断开的连乘方法 (M1M2 … Mk )(Mk+1Mk+2 … Mn )的最小乘法次数 ➢ 令M1M2 … Mk的最小乘法次数为m[1,k] ➢ Mk+1Mk+2 … Mn的最小乘法次数为m[k+1,n] ➢ 则k处断开的最少乘法数m[1,k] + m[k+1,n] +r1ckcn 8 具有最优子结构: 问题的最优解包括子问题最优解

矩阵连乘 M,M2M3M4 M1(M2M3M4)(M1M2)(M3M4)(MM2M3)M4 M, M3 M3M4. M, M2M2Ms 具有子问题重叠性
矩阵连乘 9 M1M2M3M4 M1 (M2M3M4 ) (M1M2 ) (M3M4 ) (M1M2M3 ) M4 M2M3 M3M4 M1M2 M3M4 M1M2 M2M3 具有子问题重叠性

矩阵连乘 令m]表示MM+1…M的最小乘法次数 n则m[1,n表示MM2…,Mn的最小乘法次数 在k处断开m[]=m]+mk+1]+xr好r1 n考虑所有k,则有 o m[i,j= minisksifm[i, k]+ m[k+1,j] +ri xrkxri1, if isj am[】j]=0, if i=j 10
矩阵连乘 ◼ 令m[i,j]表示MiMi+1 … Mj的最小乘法次数 ◼ 则m[1,n]表示M1M2 … Mn的最小乘法次数 ◼ 在k处断开m[i,j] = m[i,k] + m[k+1,j]+rirkrj ◼ 考虑所有k,则有 m[i,j] = mini≤k<j{m[i,k] + m[k+1,j] +rirkrj }, if i<j m[i,j] = 0, if i=j 10
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 上海交通大学:Mining Massive Datasets(PPT讲稿).ppt
- 电子工业出版社:《计算机网络》课程教学资源(第五版,PPT课件讲稿)第一章 概述(谢希仁).ppt
- 北京航空航天大学:《数据挖掘——概念和技术(Data Mining - Concepts and Techniques)》课程教学资源(PPT课件讲稿)Chapter 03 Data Preprocessing.ppt
- 《数字图象处理》课程教学资源(PPT课件讲稿)第七章 邻域运算.ppt
- 上海交通大学:《编译器构造》课程教学资源(PPT讲稿,马融)Compiler.pptx
- 《软件工程 Software Engineering》教学资源:课程教学大纲.pdf
- 沈阳理工大学:《单片机C语言应用程序设计》课程PPT教学课件(单片机C语言编程)04 C51编程设计(廉哲).pptx
- 中国科学技术大学:《信号与图像处理基础 Signal and Image Processing》课程教学资源(PPT课件讲稿)傅里叶分析与卷积 Fourier Analysis and Convolution.pptx
- 北京科技大学:物联网知识体系和学科建设(PPT讲稿,王志良).ppt
- 香港理工大学:Discovering Classification Rules.ppt
- 《软件质量与测试》课程教学资源(PPT大纲课件,目录版).pptx
- 安徽理工大学:《汇编语言》课程教学资源(PPT课件讲稿)第七章 高级汇编语言技术(主讲:李敬兆).ppt
- 《Vb程序设计教程》课程教学资源(PPT课件讲稿)第三章 VB语言基础.pps
- 吉林大学:《C语言》课程教学资源(PPT课件讲稿)第6章 利用数组处理批量数据.ppt
- 《计算机组成原理》课程教学资源(PPT课件讲稿)第4章 处理器(CPU).ppt
- 北京大学:人工神经网络(PPT课件讲稿)Artificial Neural Networks,ANN.ppt
- 西安电子科技大学:《神经网络与模糊系统》课程教学资源(PPT课件讲稿)Chapter 6 结构和平衡 Architecture and Equilibria.ppt
- 清华大学:A Feature Weighting Method for Robust Speech Recognition(Speech Activities in CST).ppt
- 北京师范大学现代远程教育:《计算机应用基础》课程教学资源(PPT课件讲稿)第2章 计算机网络应用.ppsx
- 《Java网站开发》教学资源(PPT讲稿)第9章 过滤器和监听器技术.ppt
- 《数据结构》课程教学资源:课程教学资源(PPT课件讲稿)第九章 查找表.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)抽象数据类型 Abstract Data Types.ppt
- 中国科学技术大学:《并行计算 Parallel Computing》课程教学资源(PPT课件讲稿)并行编译简介.ppt
- 《单片机原理及应用》课程教学资源(PPT课件讲稿)第6章 AT89S52单片机的串行口.ppt
- 上海交通大学:《程序设计》课程教学资源(PPT课件讲稿)第4章 循环控制.ppt
- 上海交通大学:《通信网络》课程PPT教学课件(Communication Networks)Introduction(主讲:叶通).pptx
- 北京师范大学:《多媒体技术基础》课程教学资源(PPT课件讲稿)第二章 数字图像(曾兰芳).ppt
- 利用EXCEL进行数据分析与图表处理(PPT讲稿).pptx
- 上海交通大学:《程序设计》课程教学资源(PPT课件讲稿)第9章 模块化开发.ppt
- 《计算科学基础研究》课程教学资源(PPT课件讲稿)类的定义.ppt
- 南京大学:《编译原理》课程教学资源(PPT课件讲稿)第九章 机器无关的优化(赵建华).ppt
- 《电子商务概论》课程教学资源(PPT课件讲稿)第一章 电子商务基础知识(主讲:贾朝辉).pptx
- 《操作系统》课程教学资源(PPT课件讲稿)内存管理 Memory Management.ppt
- 沈阳理工大学:《大学计算机基础》课程教学资源(PPT课件讲稿)第3章 编辑排版软件(Microsoft Word 2000).pps
- 《C语言程序设计》课程电子教案(PPT课件讲稿)第4章 算法控制结构.ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第二章 线性表.ppt
- 上海交通大学:《数字图像处理 Digital Image Processing》课程教学资源(PPT课件讲稿,第三版)Chapter 12 Object Recognition.pptx
- 《The C++ Programming Language》课程教学资源(PPT课件讲稿)Lecture 01 From C to C++.ppt
- 《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第一讲 绪论.ppt
- 《计算机网络安全技术》课程教学资源(PPT课件讲稿)第五章 防火墙技术.ppt