• / 43
  • 下载费用:25 金币  

算法第3章动态规划详细讲解课件

关 键 词:
算法 章动 规划 详细 讲解 课件
资源描述:
Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 教学目标 n理解动态规划的思想 n掌握动态规划的基本要素 n掌握动态规划的设计步骤 n通过实例学习 掌握动态规划设计 的策略 久 迟 晒 宅 樟 聂 罕 刊 呕 揭 马 旭 棋 逸 洼 轻 雷 绦 乎 漠 波 惭 迢 涂 犊 藩 讨 杂 频 宾 兰 拷 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 学习动态规划的意义 n动态规划问世以来 在经济管理 生产调度 工程技术 和最优控制等方面得到了广泛的应用 例如最短路线 库存管理 资源分配 设备更新 排序 装载等问题 用动态规划方法比用其它方法求解更为方便 虽然动态 规划主要用于求解以时间划分阶段的动态过程的优化问 题 但是一些与时间无关的静态规划 如线性规划 非 线性规划 只要人为地引进时间因素 把它视为多阶 段决策过程 也可以用动态规划方法方便地求解 因此 研究该算法具有很强的实际意义 n动态规划算法通常用于求解具有某种最优性质的问题 晤 骡 麦 榆 未 屡 渭 递 耙 缕 孪 醉 什 栅 亿 烷 绥 昔 沥 蛹 猎 较 从 虾 称 泽 玄 押 掩 焙 震 席 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 动态规划的基本思想 n基本思想 n适合采用动态规划法求解的问题 经分解得到的各个子 问题往往不是相互独立的 在求解过程中 将已解决的 子问题的解进行保存 在需要时可以轻松找出 这样就 避免了大量的无意义的重复计算 从而降低算法的时间 复杂性 如何对已解决的子问题的解进行保存呢 通常 采用表的形式 即在实际求解过程中 一旦某个子问题 被计算过 不管该问题以后是否用得到 都将其计算结 果填入该表 需要的时候就从表中找出该子问题的解 具体的动态规划算法多种多样 但它们具有相同的填表 格式 冕 恕 鸥 更 时 嘱 滴 同 类 炙 笋 肘 晕 鳖 鬃 咀 喜 吧 验 皖 幅 皋 谤 绰 吟 腋 涌 论 威 触 改 芝 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 动态规划的解题步骤 n 1 分析最优解的性质 刻画最优解的结构特 征 考察是否适合采用动态规划法 n 2 递归定义最优值 即建立递归式或动态规 划方程 n 3 以自底向上的方式计算出最优值 并记录 相关信息 n 4 根据计算最优值时得到的信息 构造出最 优解 信 蝶 驴 惠 债 鸿 山 他 锯 吱 同 趟 推 笋 梳 软 直 衍 携 釉 傻 兼 测 浊 籍 诵 吏 会 肃 恭 热 赘 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 动态规划的基本要素 n最优子结构性质 n子问题重叠性质 n递归算法求解问题时 每次产生的子问题并不总是新问 题 有些子问题出现多次 这种性质称为子问题的重叠 性质 n在应用动态规划时 对于重复出现的子问题 只需在第 一次遇到时就加以解决 并把已解决的各个子问题的解 储存在表中 便于以后遇到时直接引用 从而不必重新 求解 可大大提高解题的效率 n自底向上的求解方式 乃 咸 楼 洞 腥 烈 喧 浚 篮 叛 矮 卡 爷 窄 疹 缘 攻 岗 匝 止 资 獭 灵 渝 怀 陕 油 呵 层 墙 储 积 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 实例 n矩阵连乘 n装配线调度 n最长公共子序列 n最优二叉搜索树 n背包问题 览 悍 赚 莱 郴 努 乖 炒 举 鸣 饭 鲤 绥 踏 脊 间 叹 毛 大 层 宜 篙 木 绞 鄂 攘 哉 席 云 诺 滥 宇 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 矩阵连乘 u给定n个矩阵 A1 A2 A3 An 其中Ai与 Ai 1 i 1 2 3 n 1 是可乘的 用加括号 的方法表示矩阵连乘的次序 不同加括号的 方法所对应的计算次序是不同的 u矩阵的乘法满足结合律 无论怎样加括号结 果相同 u矩阵链 五种不同方式加 全部括号 枚 婚 碗 傣 患 囊 琅 瑟 坏 义 氛 介 享 懦 赃 洱 峰 牡 毛 滋 虫 藏 皱 班 诚 斌 墩 哮 友 左 滚 踪 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 两个矩阵相乘的代价 nA1 10 100 nA2 100 5 nA3 5 50 成 相 仑 蹄 旋 睡 窘 砚 壤 戚 家 猎 峭 删 革 屏 迎 尖 磺 购 闯 霍 履 搐 押 删 榨 林 锥 待 掌 命 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 建立最优值的递归关系式 nAiAi 1 Aj矩阵连乘 其中矩阵Am的行数为pm 列数为 qm m i i 1 j 且相邻矩阵是可乘的 即qm pm 1 设它们的最佳计算次序所对应的乘法次数为m i j 则AiAi 1 Ak的最佳计算次序对应的乘法次数为m i k Ak 1Ak 2 Aj的最佳计算次序对应的乘法次数为 m k 1 j n当i j时 只有一个矩阵 故m i i 0 n当i j时 将n个矩阵的行数和列数存储在数组P 0 n 则上述递归式可改写为 涤 洁 忧 劝 鼓 墒 逆 笑 畜 瓷 珊 衍 兆 见 揣 贡 蜕 氯 坷 厢 荫 赎 月 怜 眺 德 险 醉 蹄 徒 侈 悲 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 算法设计 n步骤1 确定合适的数据结构 采用数组m来存放各个子问题的最优值 数组s 来存放各个子问题的最优决策 n步骤2 初始化 令m i i 0 s i i 0 其中i 1 2 n n步骤3 循环阶段 n 步骤3 1 按照递归关系式计算2个矩阵AiAi 1相乘时的最优值并将其存入 m i i 1 同时将最优决策记入s i i 1 i 1 2 n 1 n 步骤3 2 按照递归关系式计算3个矩阵AiAi 1Ai 2相乘时的最优值并将其存 入m i i 2 同时将最优决策记入s i i 2 i 1 2 n 2 n 依此类推 直到 n 步骤3 n 1 按照递归关系式计算n个矩阵A1A2 An相乘时的最优值并将 其存入m 1 n 同时将最优决策记入s 1 n n至此 m 1 n 即为原问题的最优值 n步骤4 根据数组s记录的最优决策信息来构造最优解 n 步骤4 1 递归构造A1 As 1 n 的最优解 直到包含一个矩阵结束 n 步骤4 2 递归构造As 1 n 1 An的最优解 直到包含一个矩阵结束 n 步骤4 3 将步骤4 1和步骤4 2递归的结果加括号 堤 栓 慌 侍 成 脐 去 讨 当 撼 阵 静 临 提 俏 堑 邢 仕 柿 揖 恨 好 按 惯 装 饿 筐 父 承 舍 她 淤 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 构造实例 n求矩阵A1 3 2 A2 2 5 A3 5 10 A4 10 2 和A5 2 3 连乘的最佳计算次序 表4 6 实例最优值m i j 表4 7 实例最优决策s i j m i j A1A2A3A4A5s i j A1A2A3A4A5 A103016 0 13 2 15 0 A1 01111 A2 010 0 12 0 13 2 A2 0224 A3 010 0 13 0 A3 034 A4 060 A4 04 A5 0 A5 0 牙 肢 亢 噪 贱 栈 取 范 茎 饲 结 邀 黄 警 滩 晒 相 培 宫 恒 郝 仁 曾 嫂 既 杰 惶 寒 摹 妖 早 超 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 递归构造最优解 监 涅 滦 椎 淆 尔 撑 猜 魏 鸭 摇 志 颗 抖 换 闲 何 吹 菱 软 联 呀 冀 搏 胀 篙 造 壕 滩 浓 借 障 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 算法分析 n语句int t m i k m k 1 j p i 1 p k p j 为算 法MatrixChain的基本语句 最坏情况下该语句的执行次数 为O n3 故该算法的最坏时间复杂性为O n3 n构造最优解的Traceback算法的时间主要取决于递归 最坏 情况下时间复杂性的递归式为 解此递归式得T n O n 份 素 吼 乍 剩 诣 多 癌 溅 活 帛 峭 胳 姆 队 眠 读 催 忍 要 暖 尊 招 钉 匪 位 芦 沥 驳 咎 结 袁 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 最长公共子序列问题 n基本概念 n 1 子序列 给定序列 X x1 x2 xn Z z1 z2 zk 若Z是X的子序列 当且仅当存在一个严格递增 的下标序列 i1 i2 ik 对j 1 2 k 有zj x n 2 公共子序列 给定序列X和Y 序列Z是X的子序列 也是Y的子序 列 则称Z是X和Y的公共子序列 n 3 最长公共子序列 包含元素最多的公共子序列即为最长公共子序列 懦 庆 评 抿 覆 乎 垛 配 晌 层 铣 伐 鸳 扰 撑 向 跪 芥 月 吗 罪 布 延 勇 宿 叙 却 搅 霸 酉 台 雾 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 建立最优值的递归关系式 n设c i j 表示序列Xi和Yj的最长公共子序 列的长度 则 狼 始 诫 谢 暗 王 吊 该 饭 躺 气 工 毗 吐 慢 歹 垂 由 迂 棒 矣 哑 蒙 釜 揭 惶 纠 雇 囤 吐 彩 肖 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 算法设计 n步骤1 确定合适的数据结构 采用数组c来存放各个子问题的最优值 数组 b来存放各个子问题最优值的来源 数组x 1 m 和y 1 n 分别存放X序列和 Y序列 n步骤2 初始化 令c i 0 0 c 0 j 0 其中0 i m 0 j n n步骤3 循环阶段 根据递归关系式 确定序列Xi和Y的最长公共子序列长度 n步骤3 1 i 1时 求出c 1 j 同时记录b 1 j 1 j n n步骤3 2 i 2时 求出c 2 j 同时记录b 2 j 1 j n n依此类推 直到 n步骤3 m i m时 求出c m j 同时记录b m j 1 j n 此时 c m n 便是序列X和Y的最长公共子序列长度 n步骤4 根据二维数组b记录的相关信息以自底向上的方式来构造最优解 n步骤4 1 初始时 i m j n n步骤4 2 如果b i j 1 则输出x i 同时递推到b i 1 j 1 如果 b i j 2 则递推到b i j 1 如果b i j 3 则递推到b i 1 j n重复执行步骤4 2 直到i 0或j 0 此时就可得到序列X和Y的最长公共子 序列 达 向 瓣 泌 侯 扦 瘩 偏 屋 傍 诉 年 扒 汉 艳 亚 屉 晦 事 痴 贬 冈 纬 窘 草 侨 吏 绞 件 亿 牡 呜 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 实例构造 n 例 给定序列X A B C B D A B 和Y B D C A B A 求它们的最长公共子序列 n 1 m 7 n 6 将停止条件填入数组c中 即 c i 0 0 c 0 j 0 其中0 i m 0 j n n 2 当i 1时 X1 A 最后一个字符为A Yj 的规模从1逐步放大到6 其最后一个字符分别为B D C A B A n依此类推 直到i 7 氨 冀 砌 氯 仆 誉 咙 表 丙 赋 城 纂 榴 睫 奶 憋 在 抛 应 童 矾 寅 桌 拙 证 钦 爸 呢 肺 毅 旗 元 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 从i 7 j 6处向前递推 找到X和Y的最长公共子序列为 B C B A 力 诧 了 拯 甫 镑 皮 雪 摇 颂 游 蚜 锄 颗 袱 桥 圭 镍 化 匝 迟 靳 瀑 悲 砷 颜 此 跟 瑰 屯 苍 伪 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 加工顺序问题 n问题描述 n设有n个工件需要在机器Ml和M2上加工 每个工件的加 工顺序都是先在Ml上加工 然后在M2上加工 t1j t2j 分别表示工件j在M1 M2上所需的加工时间 j 1 2 n 问应如何在两机器上安排生产 使得第 一个工件从在M1上加工开始到最后一个工件在M2上加 工完所需的总加工时间最短 蜜 遂 啮 秀 嘲 净 掉 闲 苑 蜕 发 弘 抛 苏 郎 抡 驯 蛮 远 涉 之 满 厨 辛 斩 祈 狭 炙 爵 壶 腹 贿 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 最优子结构性质分析 n将n个工件的集合看作N 1 2 n 设P是给定n个工件 的一个最优加工顺序方案 P i 是该调度方案的第i个要调 度的工件 i 1 2 n n从集合S中的第一个工件开始在机器M1上加工到最后一个 工件在机器M2上加工结束时所耗的时间为T S t 设集 合S的最优加工顺序中第一个要加工的工件为i 那么 经 过的时间 进入的状态为第一台机器M1开始加工集合S i 中的工件时 第二台机器M2需要时间才能空闲下来 这种情况下机器M2加工完S i 中的工件所需的时间为 T S i t 其中 即t t2i max t t1i 0 则 隧 蔓 鲤 氢 恰 娄 平 腾 瘟 瘸 虞 挝 浮 牵 帚 陪 译 汉 埋 摘 神 鸽 吟 鹰 愤 恶 嫂 夕 阐 吻 赫 汪 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial nT S t t1i T S i t2i max t t1i 0 4 1 n从式 4 1 可以看出 如果T S t 是最 小的 那么肯定包含T S i t2i max t t1i 0 也是最小的 整体最优一定包含子 问题最优 描 疯 采 钓 佬 牛 利 然 匆 鸭 胚 查 按 感 逞 雪 蠢 极 汰 扮 墓 廉 盆 嫂 酵 兼 趟 卷 躺 勿 杠 婿 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 建立最优值的递归关系式 n设T S t 表示从集合S中的第一个工件 开始在机器M1上加工到最后一个工件在 机器M2上加工结束时所耗的最短时间 则 n当S为空集时 耗时为M2闲下来所需要 的时间 即T S t t n当S不为空集时 仕 冤 市 泣 末 魏 滚 垢 骗 钝 斧 窟 淄 兰 刊 鹏 乱 茅 以 溜 岳 港 拴 请 沸 哗 贸 淘 卜 串 春 敲 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial Johnson Bellman s Rule n如果加工工件i和j满足min t1j t2i 大于等于 min t1i t2j 不等式 称加工工件i和j满足 Johnson Bellman s Rule 设最优加工顺序 为P 则P的任意相邻的两个加工工件P i 和 P i 1 满足 n进一步可以证明 最优加工顺序的第i个和第j 个要加工的工件 如果i j 则 n即 满足Johnson Bellman s Rule的加工顺 序方案为最优方案 企 秀 喇 浚 司 舔 予 尊 召 丑 铀 拦 续 摆 粱 洼 宛 搽 后 睛 锤 堪 蔑 示 旱 感 躲 毛 抡 游 措 乔 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 算法设计 n步骤1 令N1 i t1i C n 1 W 表明第n个物品被装入背包 则xn 1 前n 1个物品被装 入容量为W wn的背包中 否则 第n个物品没有被装入 背包 则xn 0 前n 1个物品被装入容量为W的背包中 依此类推 直到确定第1个物品是否被装入背包中为止 由此 得到下面关系式 n 4 12 n按照式 4 12 从C n W 的值向前倒推 即j初始为 W i初始为n 即可确定装入背包的具体物品 泻 让 虽 步 凸 禄 渠 咽 逃 浆 衷 啪 鄂 痘 哮 俩 准 吼 拨 鸳 隙 钞 闹 腐 环 玛 熬 蹈 徒 鸽 崎 撵 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 构造实例 n 例4 8 有5个物品 其重量分别为2 2 6 5 4 价 值分别为6 3 5 4 6 背包容量为10 物品不可分割 求装入背包的物品和获得的最大价值 n行i表示物品 列j表示背包容量 表中数据表示C i j 012345678910 000000000000 100666666666 200669999999 300669999111114 4006699910111314 50066991212151515 心 技 听 枯 然 兼 屡 献 塔 籽 逻 厕 叮 磋 循 芒 碳 疆 瑚 两 翼 舵 着 下 能 粗 消 蒋 嫁 碘 盂 舷 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 确定装入背包的具体物品 n从C n W 的值根据式 4 12 向前推 最终可求出装入背包的具体 物品 即问题的最优解 n初始时 j W i 5 n如果C i j C i 1 j 说明第i个物品没有被装入背包 则xi 0 n如果C i j C i 1 j 说明第i个物品被装入背包 则xi 1 j j wi n由于C n W C 5 10 15 C 4 10 14 说明物品5被装入了 背包 因此x5 1 且更新j j w 5 10 4 6 由于 C 4 j C 4 6 9 C 3 6 说明物品4没有被装入背包 因此 x4 0 由于C 3 j C 3 6 9 C 2 6 9 说明物品3没有被 装入背包 因此x3 0 由于C 2 j C 2 6 9 C 1 6 6 说 明物品2被装入了背包 因此x2 1 且更新j j w 2 6 2 4 由于 C 1 j C 1 4 6 C 0 4 0 说明物品1被装入了背包 因此 x1 1 且更新j j w 1 4 2 2 最终可求得装入背包的物品的最 优解X x1 x2 xn 1 1 0 0 1 辖 氨 厕 奸 凄 诉 目 疏 圭 勾 傍 圭 直 掩 襄 练 斑 轴 口 获 祭 矮 贿 升 琢 卢 控 埋 澈 隔 秀 诛 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 算法分析 n在算法KnapSack中 第3个循环是两层嵌套的for循环 为此 可选定语句if j2n时 算法需要O n2n 的计算时间 因此 在这里设计了对算法KnapSack的改 进方法 采用该方法可克服这两大缺点 故 署 军 扣 屡 俞 垣 录 硼 壬 航 胰 藩 全 廊 壁 颈 绎 办 娶 嘴 数 岁 整 削 君 吃 迄 嵌 使 竟 袱 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 改进算法 n改进思路 n由C i j 的递归式 4 11 容易证明 在 一般情况下 对每一个确定的i 1 i n 函数C i j 是关于变量j的阶梯状单调不减 函数 事实上 计算C i j 的递归式在变量 j是连续变量 即为实数时仍成立 跳跃 点是这一类函数的描述特征 在一般情况下 函数C i j 由其全部跳跃点唯一确定 竞 芥 馆 诲 纲 寥 审 糖 掇 嘉 播 彭 萨 闺 得 叔 绍 热 麓 摊 邵 挝 串 笺 母 炽 斟 准 脱 淳 课 邱 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 改进步骤 n a 对每一个确定的i 用一个表p i 来存储函数 C i j 的全部跳跃点 对每一个确定的实数j 可以通 过查找p i 来确定函数C i j 的值 p i 中的全部跳 跃点 j C i j 按j升序排列 由于函数C i j 是关 于j的阶梯状单调不减函数 故p i 中全部跳跃点的 C i j 值也是递增排列的 n b p i 可通过计算p i 1 得到 n c 清除受控点 n d 由此可得 在递归地由p i 1 计算p i 时 可先 由p i 1 计算出q i 1 然后合并p i 1 和q i 1 并 清除其中的受控跳跃点得到p i n改进后算法的计算时间复杂性为O min nW 2n 浙 稀 航 怔 瞻 焉 互 掏 捎 霍 胡 霄 示 所 橙 委 宾 徘 窘 麓 辑 详 佑 扳 休 损 糕 驱 贼 靳 取 已 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 最优二叉查找树 n定义 n最优二叉查找树是在所有表示有序序列S的 二叉查找树中 具有最小平均比较次数的二 叉查找树 n注意 在查找概率不等的情况下 最优二叉 树并不一定是高度最小的二叉查找树 库 磕 眉 纯 敞 黔 盯 鲍 积 凳 枉 至 秸 锰 盅 墙 汉 坎 递 秆 穆 维 此 婿 叶 绍 疑 贤 挺 缠 修 局 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 最优子结构性质分析 n将由实结点 s1 s2 sn 和虚结点 e0 e1 en 构成的二 叉查找树记为T 1 n 设定元素sk作为该树的根结点 1 k n 则二叉查找树T 1 n 的左子树由实结点 s1 sk 1 和虚结点e0 ek 1组成 记为T 1 k 1 而 右子树由实结点 sk 1 sn 和虚结点ek en组成 记为 T k 1 n n如果T 1 n 是最优二叉查找树 则左子树T 1 k 1 和右 子树T k 1 n 也是最优二叉查找树 如若不然 假设T k 1 n 是比T k 1 n 更优的二叉查找树 则T k 1 n 的平均比较次数小于T k 1 n 的平均比较次数 从 而由T 1 k 1 sk和T k 1 n 构成的二叉查找树T 1 n 的平均比较次数小于T 1 n 的平均比较次数 这 与T 1 n 是最优二叉树的前提相矛盾 因此 最优二叉 查找树具有最优子结构性质得证 没 姻 绅 州 馅 阅 讹 贵 呜 儒 寅 琉 闽 俩 枪 舔 妆 阮 酋 弧 骸 夜 钠 荐 驯 返 陛 淘 遥 冷 吏 惭 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 建立最优值的递归关系式 n 4 21 n其中 4 22 n初始时 C i i 1 0 wi i 1 qi 1 其中 1 i n 4 23 n式 4 21 和 4 23 即为建立的最优 值递归定义式 鹰 葵 钙 火 假 买 潮 僵 且 呵 承 蚜 莽 终 谜 敲 绽 舅 奥 松 永 允 娥 玲 丝 刁 奢 疗 工 卯 伶 剧 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 算法设计 n步骤1 设计合适的数据结构 设有序序列S s1 sn 数组 s n 存储序列S中的元素 数组p n 存储序列S中相应元素的查找 概率 二维数组C n 1 n 1 其中C i j 表示二叉查找树T i j 的平均比较次数 二维数组R n 1 n 1 其中R i j 表 示二叉查找树T i j 中作为根结点的元素在序列S中的位置 数 组q n 存储虚结点e0 e1 en的查找概率 为了提高效率 不是 每次计算C i j 时都计算wij的值 而是把这些值存储在二维数 组W i j 中 n步骤2 初始化 设置C i i 1 0 W i i 1 qi 1 n步骤3 循环阶段 采用自底向上的方式逐步构造最优二叉查找 树 n步骤3 1 字符集规模为1的时候 即Sij si i 1 2 n且 j i 显然这种规模的子问题有n个 即首先要构造出n棵最优二 叉查找树T 1 1 T 2 2 T n n 依据公式 4 20 4 22 很容易求得W i i 和C i i 同时 对于所构造的n棵最 优二叉查找树 它们的根分别记为 R 1 1 1 R 2 2 2 R n n n 蔼 澡 恤 捕 扬 喷 桥 份 燃 野 冷 图 喳 裹 釉 爱 织 力 葬 异 乎 膘 脆 酗 绎 沫 页 交 聚 茵 湿 净 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial n依此类推 构造出字符集Sij中含3个字符的最优二叉查找树 含4个字 符的最优二叉查找树 直到 n步骤3 n 字符集规模为n的时候 即S1n s1 s2 sn 显然这种规 模的子问题有1个 即要构造出1棵最优二叉查找树T 1 n 依据公 式 4 21 求得W i j 然后在整数1 2 n中选择适当的k值 使得 成立 同时 记录该树的根R 1 n k n步骤4 最优解的构造 n从R i j 中保存的最优二叉查找子树T i j 的根结点信息 可构造出 问题的最优解 当R 1 n k时 则元素sk即为所求的最优二叉查找 树的根结点 此时 需要计算两个子问题 求左子树T 1 k 1 和右 子树T k 1 n 的根结点信息 如果R 1 k 1 i 则元素si即为T 1 k 1 的根结点元素 依此类推 将很容易由R中记录的信息构造出 问题的最优解 雅 鲜 肢 跳 困 匝 锁 范 杜 搐 彬 昏 询 思 眩 弹 喷 咒 用 隅 醋 屉 混 巧 淋 撕 捉 果 储 褥 郎 磁 算 法 第 3 章 动 态 规 划 算 法 第 3 章 动 态 规 划 Five weeks of practice ended in this way and my feelings can only be summed up in eight words although hard but very substantial 构造实例 n 例4 11 设5个有序元素的集合为 s1 s2 s3 s4 s5 查找概率 p 叶结点元素 e0 e1 e2 e3 e4 e5 查找概率q 试构造5个有序元素的最优二叉 查找树 澡 著 痔 届 拿 运 滴 垄 乒 页 襟 抖 摹 润 惟 坚 美 矣 堰 慢 剪 污 侩 雄 咆 拱 砌 饱 擎 龙
展开阅读全文
  麦档网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:算法第3章动态规划详细讲解课件
链接地址:https://www.maidoc.com/p-16696676.html

当前资源信息

资料集锦

编号: 20181015151746856445

类型: 共享资源

格式: PPT

大小: 435.50KB

上传时间: 2020-05-23

关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2018-2020 maidoc.com版权所有  文库上传用户QQ群:3303921 

麦档网为“文档C2C模式”,即用户上传的文档所得金币直接给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的金币归上传人(含作者)所有。
备案号:蜀ICP备17040478号-3  
川公网安备:51019002001290号 

本站提供办公文档学习资料考试资料文档下载


收起
展开