文档详情

南开大学算法导论第六章课件.pdf

发布:2017-05-17约4.31万字共127页下载文档
文本预览下载声明
第六章 动态规划 苏 明 1 算法回顾 贪心算法 利用局部最优化原理,逐渐建立起完整 的最优解 构成算法设计最自然的方法;对人们碰 到的大多数问题,实际困难不在于确定 几个贪心策略中那一个是正确的,而是 事实上可能不存在有效的贪心算法 2 算法回顾 分治策略 把问题递归分解成几个更小规模的子问 题;然后通过一个合理的复杂度把子问 题的解合并成全局的解 分治策略没有强到可以把指数的蛮力搜 索减少到多项式时间;倾向于降低已经 存在的多项式阶算法的阶数 3 算法介绍 动态规划 通过把事情分解为一系列子问题,然后 对越来越大的子问题建立正确的解,从 而隐含的探查所有可行解的空间。 穿过问题可行解的指数规模的集合,不 必明确检查所有的解 4 动态规划简介 Bellman 1950s 为了研究系统控制问题 而提出了动态规划的方法; 对控制理论界和数学界有深远影响。 Dynamic programming = planning over time. 5 动态规划应用 应用领域 生物信息学 控制论 信息论 行为学研究. 计算机科学: 理论, 图形, 人工智能, 系统, …. 一些经典的动态规划算法 Unix 比较两个文件的不同算法 Smith-Waterman序列比对算法. Bellman-Ford 网络中的最短路径路由算法 Cocke-Kasami-Younger 自然语言处理算法 6 6.1 带权的区间调度 问题的提出 对于区间调度问题,不同区间有一样的权重, 贪心算法可以得到最优解 如果不同区间有不同的权重: 任务 j 在 s 时间开始,f 时刻结束,且其权重为v . j j j 两个任务如果对应的时间区间不相交,称为相容. 目标:寻找最大的不相容的区间子集,使得所选区 间的权重之和最大。 7 带权的区间调度 不同区间的影响是不一样的 a b c d e f g h
显示全部
相似文档