源编码技能Skill source-coding

该技能专注于信息论中的源编码问题,提供解决策略和工具,包括霍夫曼编码、算术编码、率失真理论等,用于优化数据压缩和编码效率。关键词:源编码,信息论,数据压缩,编码理论,熵。

数据工程 0 次安装 0 次浏览 更新于 3/14/2026

name: source-coding description: “信息论中源编码问题的解决策略” allowed-tools: [Bash, Read]

源编码

何时使用

在信息论中处理源编码问题时使用此技能。

决策树

  1. 源编码定理

    • 最小平均码长 >= H(X)
    • 可通过最优编码实现
    • z3_solve.py prove "shannon_bound"
  2. 霍夫曼编码

    • 已知分布下的最优前缀码
    • 构建树:合并两个概率最小的符号
    • 平均长度:H(X) <= L < H(X) + 1
    • sympy_compute.py simplify "expected_code_length"
  3. 克拉夫特不等式

    • 对于前缀码:sum 2^{-l_i} <= 1
    • 必要且充分条件
    • z3_solve.py prove "kraft_inequality"
  4. 算术编码

    • 对于任何分布逼近熵
    • 将整个消息编码为区间 [0,1)
    • 适用于自适应/未知分布
  5. 率失真理论

    • 有损压缩:以率换失真
    • R(D) = min_{p(x_hat|x): E[d(X,X_hat)]<=D} I(X;X_hat)
    • 达到失真 D 的最小率
    • sympy_compute.py minimize "I(X;X_hat)" --constraint "E[d] <= D"

工具命令

Scipy_Huffman

uv run python -c "print('霍夫曼编码:a=0.5, b=0.25, c=0.125, d=0.125 的编码:a=0, b=10, c=110, d=111')"

Sympy_Kraft

uv run python -m runtime.harness scripts/sympy_compute.py simplify "2**(-l1) + 2**(-l2) + 2**(-l3) + 2**(-l4)"

Z3_Shannon_Bound

uv run python -m runtime.harness scripts/z3_solve.py prove "expected_length >= entropy"

关键技术

来自索引教科书:

  • [信息论基础] Elements of Information Theory – Thomas M_ Cover & Joy A_ Thomas – 第2版, 纽约, NY, 2012 – Wiley-Interscience – 9780470303153 – 2fcfe3e8a16b3aeefeaf9429fcf9a513 – Anna’s Archive. Shannon–Fano–Elias 编码过程也可应用于随机变量序列。关键思想是使用序列的累积分布函数,以适当精度表示,作为序列的代码。
  • [信息论、推理与学习算法] A binary data sequence of length 10 000 transmitted over a binary symmetric channel with noise level f = 0:1. Dilbert image Copyright c Syndicate, Inc. 物理解决方案是改进通信信道的物理特性以降低其错误概率。
  • [信息论、推理与学习算法] 编码器 解码器 t 噪声信道 6 r 而物理解决方案只能以不断增长的成本带来渐进的信道改进,系统解决方案可以将噪声信道转变为可靠的通信信道,唯一的成本是编码器和解码器的计算要求。编码理论关注实用编码和解码系统的创建。我们现在考虑编码和解码系统的例子。向传输中添加有用冗余的最简单方法是什么?

认知工具参考

查看 .claude/skills/math-mode/SKILL.md 获取完整工具文档。