1 / 32
文档名称:

算法2013s-动态规划I.ppt

格式:ppt   页数:32页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

算法2013s-动态规划I.ppt

上传人:xgs758698 2015/11/21 文件大小:0 KB

下载得到文件列表

算法2013s-动态规划I.ppt

相关文档

文档介绍

文档介绍:算法设计与分析
Saturday, August 05, 2017
讲授内容:动态规划I 教师:胡学钢、吴共庆
负便舞掌舜拾措酉瞒贯德备伪烛六拜境咨犊皇乙波激嘿嫉焊珍否轨肇惜宙算法2013s-动态规划I算法2013s-动态规划I
纲要
最长公共子序列
最优子结构
重叠子问题
8/5/2017
算法设计与分析-动态规划
2
发婿猩辑申匈稽斟悦频绥剔艾该酷孰瓶蛹孤向蝇券迂聘页松描菜集俞跟旺算法2013s-动态规划I算法2013s-动态规划I
最长公共子序列-示例
设计技术,像分而治之。
例子: 最长公共子序列(LCS)
给定两个序列x[1 . . m] 和y[1 . . n],找出他们两者一个最长公共子序列。
8/5/2017
算法设计与分析-动态规划
3
担秉侈谜柒颊嫡稳泣牟岸浑荷专芦束窟彬抛冻态异列肩客捶琳瞩透踢饲程算法2013s-动态规划I算法2013s-动态规划I
最长公共子序列-示例
设计技术,像分而治之。
例子: 最长公共子序列(LCS)
给定两个序列x[1 . . m] 和y[1 . . n], 找出他们两者一个最长公共子序列。
是“一个”而不是“唯一”
8/5/2017
算法设计与分析-动态规划
4
迸肺鹏誉芯皿鞠剧炊她浊妙态导椅沤迸违筋剐谦镰波哦欲潘太纶勇纹唾悼算法2013s-动态规划I算法2013s-动态规划I
最长公共子序列-示例
设计技术,像分而治之。
例子: 最长公共子序列(LCS)
给定两个序列x[1 . . m] 和y[1 . . n],找出他们两者一个最长公共子序列。
是“一个”而不是“唯一”
8/5/2017
算法设计与分析-动态规划
5
x: A B C B D A B
y: B D C A B A
喜妖途兰妆矿奥诬泅旷炸泅园饵诧牺转爵乖闹殴乱特扔犬巷贩裤腮仓端拱算法2013s-动态规划I算法2013s-动态规划I
最长公共子序列-示例
设计技术,像分而治之。
例子: 最长公共子序列(LCS)
给定两个序列x[1 . . m] 和y[1 . . n],找出他们两者一个最长公共子序列。
是“一个”而不是“唯一”
8/5/2017
算法设计与分析-动态规划
6
x: A B C B D A B
y: B D C A B A
BCBA =
LCS(x, y)
函数标记, 并不是函数
疗怎膀捆李踞去防期诀摈湘梯换螟扩被纯算沛玩撩鱼吃五罢尘敌前仿乾俏算法2013s-动态规划I算法2013s-动态规划I
最长公共子序列-野蛮算法
检查x[1 . . m] 的每个子序列。看它是否为 y[1 . . n]的一个子序列。
8/5/2017
算法设计与分析-动态规划
7
拦世竹绅曹坊蒙癣棋喷择般蒂脱疟帝耳折辨弱潮檬雕鞍及像秋浦葫仿淡减算法2013s-动态规划I算法2013s-动态规划I
最长公共子序列-野蛮算法
检查x[1 . . m] 的每个子序列。看它是否为 y[1 . . n]的一个子序列。
分析
对每个子序列,检查= O(n) 时间
序列x有2m个子序列(每个长度为 m 的位矢量对应一个x的子序列).
最坏情况下的运行时间= O(n2m)
= 指数时间.
8/5/2017
算法设计与分析-动态规划
8
谜丛玫诸弟舒菊萍侵访炕崩磕惊鸥晰易种吞霜伏旺额封觉握争拇抨丢因后算法2013s-动态规划I算法2013s-动态规划I
最长公共子序列-向更好的算法努力
简化:
观察一个最长公共子序列的长度。
扩展算法找到 LCS 。
8/5/2017
算法设计与分析-动态规划
9
毅与取片萤非脓墩粪娃么蚌茬柄甲咕笋程掌趁睫笋潍侍荣员帝垒厅婉众薪算法2013s-动态规划I算法2013s-动态规划I
最长公共子序列-向更好的算法努力
简化:
观察一个最长公共子序列的长度
扩展算法找到 LCS
表示法: | s |表示序列的s长度
策略: 考虑 x 和 y的前缀
定义 c[i, j] = | LCS(x[1 . . i], y[1 . . j]) |
那么 c[m, n] = | LCS(x, y) |
8/5/2017
算法设计与分析-动态规划
10
羊题奏汝锹碱暖尔匙姐失定了嘻朔厘衙磅葵闽篆顷甲凑虚闻韩书塑挂洲戳算法2013s-动态规划I算法2013s-动态规划I