网站大量收购独家精品文档,联系QQ:2885784924

算法设计-3.210.ppt

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法设计-3.210

* 例 题 算法设计与分析 动态规划 问题陈述:数字化图像是n?n的像素阵列. 假定每个像素有一个0~255 的灰度值, 因此存储一个像素至多需8位. 为了减少存储空间, 采用变长模式, 即不同像素用不同位数来存储, 步骤如下. 1) 图像线性化:将n ? n维图像转换为1 ? n2向量 {p1,p2,...pn2} 3.7 图像压缩 2) 分段: 将像素分成连续的m段s1,s2,...sm,使每段中的像素存储位数 相同. 每个段是相邻像素的集合且每段最多含256个像素, 若相同 位数的像素超过 256个的话, 则用两个以上段表示。 3) 创建三个表 l: l[i]存放第i段长度, 表中各项均为8位长 B: b[i]存放第i段中像素的存储位数,表中各项均为3位长. P: {p1,...p n2}以变长格式存储的像素的二进制串。 设产生了m个段,则存储第i段像素所需要的空间为:l[i]*b[i]+11 总存储空间为 11m+∑ l[i]*b[i] ; 问题要求找到一个最优分段。使存储空间最少 * 例 题 算法设计与分析 动态规划 分段: [10, 9, 12], [40, 50, 35], [15, 12, 8, 10, 9, 15, 11], [130, 160, 240] L={2,2, 6,2};B={3,5,3,7}; P包含16个灰度值,其中头三个各用4位存储,接下来三个各用6位再接下来的七个各用4位,最后三个各用8位存储。 1010 1001 1100 111000 110010 100011 ... 三个表需要存储空间分别为: L: B: P: 例: 考察4?4图像 灰 度 值 10 9 12 40 50 35 15 12 8 10 9 15 11 130 160 240 像素位数 4 4 4 6 6 6 4 4 4 4 4 4 4 8 8 8 10 9 12 40 12 15 35 50 8 10 9 15 240 160 130 11 共需126位。 将段1,2合并,则l={5, 6, 2} ; b={5, 3, 7 }; 合并后P的第一段为 001010 001001 001100 111000 110010 100011 其余不变.三个表需要存储空间分别为: L:24位 B:9位 P:88位 (共121位。) 为什么少了5位? 32位 12位 82位 * 例 题 算法设计与分析 动态规划 s[i]= {s[i-k]+ lsum(i-k+1,i)*bmax(i-k+1,i) } +11 1)最优解结构 :设n个段的最优合并为C, 若在合并C中,第n段与 n-1,n-2,...n-k+1段合并, 则n-1,n-2,...n-k+1段的合并也必是最优的. 最优合并C所需要的空间消耗为: 第一段到第n-k段最优合并空间+lsum(n-k+1,n)*bmax(n-k+1,n)+11 其中lsum(a, b)= , bmax(a, b)=max{ b[a],..., b[b] } 算法思路: 化为多步决策, 先求有一个段时的最优分段,再求有2个段时的最优分段,有3个段时的最优分段... 3)构造最优解:记k[i]为s[i]取得最小值时k的值, 可由k的值构造相应 的最优解. 2) 递推关系:令s[i]为前i个段最优合并的存储位数,则 若i=5,最优s[5]是在k=3时取得的,表示?? * 例 题 算法设计与分析 动态规划 s[0] =0. 现计算s[1], s[1] = s[0]+l[1]*b[1]+11=17 , k[1]=1 s[2] = min{s[1]+ l[2]*b[2], s[0]+(l[1]+l[2])*max{b[1], b[2]}}+11 = min{17+6, 0+9*2}+11=29, k[2]=2以此类推,可得 s[1], …s[5]= [17, 29, 67, 73, 82], k[1],,…k[5]= [1, 2, 2, 3, 4] 因为s[5]=82, 所以最优空间合并需82位的空间。 可由k[5]导出本合并的方式,过程如下: 因为k[5]=4, 所以s[5]是在

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档