当前位置: 首页 > news >正文

信息论与编码篇---最佳不等长编码

简单来说,最佳不等长编码就是:在保证无损压缩的前提下,让平均码字长度最短的那种编码方法


1. 什么是不等长编码?

想象你要给一本小说做数字压缩:

  • 等长编码(笨办法):不管"的"(出现几万次)还是"龘"(出现1次),每个字都用相同长度的二进制码。这很浪费,因为"的"完全可以编得更短。

  • 不等长编码(聪明办法)高频用短码,低频用长码。就像摩尔斯电码一样,最常用的E.,很少用的Q--.-


2. 什么是"最佳"?

"最佳"有两个含义:

层面含义通俗理解
理论最佳平均码长 ≥ 信源熵 H熵 H 是理论下限,不可能更低
实际最佳平均码长 L 无限接近 H找一种编码让 L 尽量小

最佳不等长编码就是:在给定信源概率分布的情况下,找到一种编码方法,使得平均码长 L 最小,同时还要满足唯一可译(解码无歧义)。


3. 最经典的算法:哈夫曼编码

哈夫曼编码是最佳不等长编码的代表。它的核心思想特别简单:

把概率最小的两个符号,合并成一个新符号,反复进行,直到只剩一个符号。

步骤图解(以符号 A、B、C、D 为例):

假设概率:A=0.5,B=0.25,C=0.125,D=0.125

  1. 第一步:找概率最小的两个(C和D,都是0.125),合并成新节点 CD=0.25

  2. 第二步:现在有 A=0.5,B=0.25,CD=0.25。再找最小的两个(B和CD),合并成 BCD=0.5

  3. 第三步:现在有 A=0.5,BCD=0.5。合并成 ABCD=1.0

  4. 第四步:从根往下走,左边标0,右边标1(反过来也行)

结果:A=0,B=10,C=110,D=111

检查:平均码长 = 0.5×1 + 0.25×2 + 0.125×3 + 0.125×3 = 1.75 比特,正好等于熵(理论最优)。


4. 最佳不等长编码的特点

特点说明
概率匹配概率越大的符号,码字越短
前缀码任何一个码字都不是另一个的前缀,解码无歧义
即时解码读到最后一个比特就能立刻解码,不需要往后看
最优性在给定的概率分布下,平均码长最小
唯一性码字分配可能不唯一(0/1可以互换),但平均码长唯一

5. 生活中的类比

想象你要给一个班级的同学编学号,但学号长度根据姓氏出现频率来定:

  • 张同学(概率30%)→ 学号0(最短)

  • 王同学(概率25%)→ 学号10(次短)

  • 李同学(概率20%)→ 学号110(中等)

  • 其他同学(概率25%,各1-2%)→ 学号11101111等(长)

这样设计,点名时平均报号长度最短,但又不会搞混谁是谁。


6. Mermaid总结框图

框图解读:

  1. 起点(蓝色):已知信源的概率分布。

  2. 目标(粉色):找到平均码长最小的不等长编码。

  3. 方法(绿色):哈夫曼编码是最经典的实现算法。

  4. 步骤:反复合并最小概率的两个符号,构建码树。

  5. 结果(黄色)

    • 概率匹配:高频短码,低频长码

    • 前缀码:保证唯一可译和即时解码

    • 最优性:平均码长最小,逼近理论极限熵 H


一句话总结:最佳不等长编码就是哈夫曼编码,它通过给高频符号分配短码、低频符号分配长码,让平均码长最短,同时保证解码无歧义。

http://www.jsqmd.com/news/385327/

相关文章:

  • PostgreSQL:详解 pgAudit 插件的使用(数据脱敏与审计)
  • PostgreSQL:如何配置数据库的传输层加密(SSL加密连接)
  • 15 分钟用 FastMCP 搭建你的第一个 MCP Server(附完整代码)
  • 诚信认证最新口碑专业协商律所机构专业贷款协商机构口碑信用卡分期协商排行榜 - 代码非世界
  • Bandit Algorithms 学习笔记
  • 数据仓库建设中的聚合事实表设计
  • 大数据领域数据产品的智慧智能家居应用案例与技术发展
  • 2026-02-15学习
  • 修改CrowdSec的端口(由z.ai回答),
  • 学习记录260215
  • SQL SELECT TOP 指令详解
  • 【每日一题】LeetCode 67. 二进制求和
  • 2026抗衰老保健品大盘点,满足你的需求,抗衰老片/保健品,抗衰老保健品产品排行榜 - 品牌推荐师
  • Perl 正则表达式
  • Python SMTP:全面指南
  • 系统思考:认知边界与组织发展
  • [精品]基于微信小程序的汽车车险销售系统 UniApp
  • 一文搞懂基于FISCO BCOS 部署 Solidity投票智能合约 并基于GO SDK进行合约调用:核心原理+实战案例
  • 2026年普通人职业转型必备:一篇详细的实战指南,助你抓住新机遇!
  • 信息论与编码篇---等长编码
  • 什么,你说后来?
  • AI Agent架构揭秘:大模型、提示词、工具与MCP的协同艺术
  • 红榜2026最新口碑专业协商律所贷款协商机构排行榜(负债人实测版) - 代码非世界
  • 大模型上下文工程深度解析:从提示工程到智能体构建
  • 当AI学会拍短剧:Huobao Drama全栈AI短剧生成平台深度解析 - 详解
  • 保存站
  • 抗衰老保健品2026年热推:自然成分,守护青春,保健品/抗衰老片,抗衰老保健品食品推荐榜单 - 品牌推荐师
  • 为什么 RAG 一定需要 Rerank?看完你就懂了!!!
  • diff-gaussian-rasterization: Visual Studio 2019 编译流程记录
  • 题解:洛谷 P11542 [Code+#5] 有人吗?