郑州网站app开发的,wordpress 主题后门,全国公示信用信息系统,电脑软件商店十大排名如果说等长编码定理告诉我们压缩的底线在哪里#xff0c;那这个定理就是告诉我们如何通过巧妙的设计#xff0c;实际触碰到那条底线。它是所有现代无损压缩算法#xff08;如ZIP、PNG图片压缩#xff09;的理论源头。1. 为什么需要不等长编码…如果说等长编码定理告诉我们压缩的底线在哪里那这个定理就是告诉我们如何通过巧妙的设计实际触碰到那条底线。它是所有现代无损压缩算法如ZIP、PNG图片压缩的理论源头。1. 为什么需要不等长编码想象你在设计一套密文想让它尽可能短问题日常语言中每个字出现的频率是不一样的。比如中文的的字出现的概率是5%而魑字出现的概率可能只有0.0001%。直觉如果给的编一个很短的码比如0给魑编一个很长的码比如111110那平均下来整篇文章的密文就会变短。这就是不等长编码的核心思想看人下菜碟高频用短码低频用长码。2. 不等长编码定理的核心内容这个定理即香农第一定理又称无失真信源编码定理可以拆解为三个层次第一层存在一个无法突破的极限概念每个符号的平均编码长度 L 不能低于信源的熵 H。通俗解释熵 HH 是信源本身的信息密度。就像水在常温下只能压缩到1克/毫升你再怎么用力也压不下去。熵就是信息的密度极限。公式L≥H第二层不等长编码可以接近极限概念通过优秀的编码方法如哈夫曼编码、香农-范诺编码我们可以把平均码长控制在 HH 到 H1之间。通俗解释用单字编码每次只处理一个符号你最多比理论极限多花1个比特。比如理论需要5.0比特你实际能做到5.2比特那个0.2就是整数限制的代价。公式H≤LH1第三层分组可以让它无限逼近极限概念如果你不编单个字而是把 N 个符号组合成一个大符号叫扩展信源然后给这些大符号编不等长码平均到每个符号的码长 LN​ 可以无限接近 H。通俗解释单字编码就像零售总有些零头浪费。分组编码就像批发把多个字打包处理浪费的比例就变小了。公式lim⁡N→∞LNH3. 生活中的类比搬家打包想象你要把家里所有物品信源符号运到新家物品有大有小概率不同。等长编码笨办法不管沙发还是牙签都用同样大小的箱子。小物品浪费空间。不等长编码聪明办法第一步单字编码给大件物品用大箱子短码因为搬得快给小件物品用小箱子长码。虽然省空间了但每个箱子总有空隙平均每件物品浪费0.1个箱子的空间。第二步分组编码如果你不单件搬而是把很多物品组合在一起打包扩展信源比如沙发电视牙签装一个定制箱箱子刚好装满。这样平均每件物品浪费的空间就趋近于0。4. 为什么这很重要这个定理告诉工程师两件事目标在哪熵 H 就是那个不可能更低的目标值。怎么达到如果不追求极致用哈夫曼编码单符号就能做到 H 到 H1如果想极致压缩就增加分组长度比如LZ77、LZ78算法让平均码长无限逼近 HH。5. Mermaid 总结框图下面这张图梳理了定理的核心逻辑和内涵框图解读左上角信源信源里的符号概率不同可以计算出理论极限——熵 H。蓝色编码方法不等长编码的核心是高频用短码低频用长码并且必须用前缀码来保证解码不乱。粉色第一层告诉你有条红线 H你永远跨不过去。绿色第二层告诉你只要用单符号不等长编码比如哈夫曼就能把平均码长压在 [H,H1)之间。黄色第三层告诉你如果追求极致就把符号分组打包平均码长可以无限接近 H。这个定理完美地回答了无损压缩到底能有多强这个问题你可以无限接近熵但永远达不到除非分组无穷大。