上次介绍了香农无损编码定理以及一些不同类别的编码。这次介绍kraft不等式以及huffman编码,并且说明霍夫曼编码的最优性。

Kraft不等式为前缀码约束条件。在前缀码中,显然不能使用所有的最短的码字,这样的话前缀码的条件就无法满足。就用二叉树来编码(二进制编码)的时候,如果一个节点被作为码字,则它的子树结点都无法作为码字。

Kraft不等式

kraft不等式定义如下:

任意D-进制码前缀码其码长$l_1,l_2,…,l_m$,满足

反之,如果码长约束满足上述不等式,则必然可以构造出具有此码长的前缀码。

Kraft不等式的证明是非常直接的:必要性:

我们依然从D叉树来考虑这个问题。假如码字最长为$l_{max}$.当一个结点被选做码字的时候,假设这个结点的深度为$l_i$,也就是码长为$l_i$.那么因为它的存在,它子树的结点都不能再次作为码字。因此我们就损失了$D^{l_{max} - l_i}$个叶子结点(注意,这里说的是叶子结点)。

这棵树的所有叶子结点数目为:$D^{l_max}$.我们最多把所有的叶子结点都给剪掉。

现在假设一共有m个码字,则:

两侧同时除以$D^{l_{max}}$,就得到了kraft不等式。充分性

充分性更好证明。我们只要在树上就可以很容易构造出来这样的编码。

Kraft不等式给出了即时码的充要条件,但是和最优码长无关。

任意前缀码码长约束

对随机变量X进行D进制前缀码编码,得到的码长满足:

等号当且仅当$D^{-l_i} = p_i$时候成立。这个L为平均码长。

证明如下:

也许大家会觉得从(1)可以直接得到:D(PVert D^{-l}),然后由互信息大于0从而完成证明。但这样是不严谨的,因为我们无法保证$sum D^{-l_i} = 1$.

因此这里需要做一个归一化处理:

令:$r_i = frac{D^{-l_i}}{Delta},Delta = sum D^{-l_i}$

(这个地方真是不容易想到啊,很容易就不严谨了)

则(1)可以写为:

而$D(PVert r) + log frac 1 Delta ge 0$(由对数性质,鉴别信息性质以及Kraft不等式决定).

所以,我们完成了对上述定理的证明。

最优前缀码定理(香农第一定理)

该定理描述如下:

对随机变量X进行D进制前缀编码,得到的最优码长满足下列不等式:

左侧是不用证明的,因为上个定理已经证明了。我们主要需要证明的是右侧。

香农通过构造香农码来证明右侧:

取$lceil log_D frac 1{P_i} rceil$为码字长度,这样的编码是满足kraft不等式的:

因此我们可以根据这个码长来构造出相应的前缀码。

我们知道:

如果对上述不等式的所有side求期望,得到:

这就是香农码,到这里我们就完成了香农第一定理的证明。要注意,香农码不一定是最优的,实际中一般来说它离最优还差很远。

分组前缀码

定长编码定理告诉我们,$epsilon$可以任意小,而变长编码告诉我们,我们付出的代价小于1。能不能让这个代价能保证比1更小呢?这就是分组编码。

对于信源X进行分组前缀编码,得到的编码长度$L_n^*$满足不等式:

如果信源稳恒,则$L_n^* rightarrow H(X)$.

这要求我们对X进行分组,因此会有解码延迟,也需要缓冲区。但是通过这个,可以使得平均码长代价更小。天下没有免费的午餐。

编码效率与互信息

最优前缀码的编码与信源的分布密切相关,但是我们不一定能准确知道信源的分布。如果信源分布估计出现偏差,则平均码长就会受到惩罚。

Penalty分析:

可以证明,对于服从p(x)信源X进行前缀编码,如果码字长度取$l(x) = lceil log frac 1 {q(x)}rceil$,则平均码长满足:

很神奇的是,在penalty中kl divergence出来了。

非香农类信息不等式_信息论——Kraft不等式以及变长编码定理相关推荐

  1. 非香农类信息不等式_ICLR2020|北大图灵班本科生满分论文:计算约束下有用信息的信息论...

    机器之心转载 来源: 北京大学前沿计算研究中心 作者:许逸伦 本文是第八届国际表征学习会议 (ICLR 2020) 入选口头展示论文 (oral)<基于计算约束下的有用信息的信息论 (A The ...

  2. 香农信息论的基本理论探究

    摘要:信息是自从人类出现以来就存在于这个世界上了,天地万物,飞禽走兽,以及人类的生存方式都离不开信息的产生和传播.人类每时每刻都在不停的接受信息,传播信息,以及利用信息.从原来的西汉时期的造纸,到近代 ...

  3. [转]香农信息论与毒药称球问题

    原文链接 如果从'信息'的角度来分析某些问题,可以使你更登高望远,对问题能有更深层的理解,更容易融合各学科的间隙,达到借他山之石而攻玉的效果. 作者:张天蓉 老鼠检测毒药瓶 我出过一道有关用老鼠检测毒 ...

  4. 香农说,要有熵。信息时代由此开启……

    2016年四月三十日是克劳德·艾尔伍德·香农(Claude Elwood Shannon)的一百周年诞辰.虽然香农被学术届尊为信息时代之父,听说过这位科学巨人名字的想必比知道宋仲基的人少得多.不过不管 ...

  5. 技术前沿与经典文章10:信息论之父香农,20世纪伟大的科学家,一个理论改变了一个时代

    一.信息论的奠基之作 1687年7月5日,牛顿的<自然哲学的数学原理>首次出版发行,引爆了整个学术圈,从此奠定了他的江湖地位,而这本书也奠定了现代科学的范式. 1948年,香农发表了一篇英 ...

  6. 手机可用熵_信息论的熵

    我们现在不是讨论事物本身的信息量,而是讨论描述事物的文字符号包含的信息量.先讨论比较简单的数字符号. 二进制数:二进制数只有2个符号:0和1.一位二进制数有2种可能性,其信息量是1比特.n位二进制数可 ...

  7. 香农的贡献及其对后世的影响

    转载一篇纪念香农的文章,此公是我人生中的灯塔. 香农的贡献及其对后世的影响 Claude E. Shannon: His Work and Impact 张卫国,高新波,蒋洪波 关键词:香农:信息论: ...

  8. 信息论与编码_香农三大定理

    离散平稳无记忆序列变长编码定理(无失真信源编码定理.香农第一定理): 香农第一定理是克劳德·香农在 1948 年提出的,它指出,对于任何一个给定的信息源,其信息熵(即信息的期望值)是有限的,并且信息熵 ...

  9. 香农费诺编码 c语言实现,信息论课程设计(香农、费诺编码)

    <信息论课程设计(香农.费诺编码)>由会员分享,可在线阅读,更多相关<信息论课程设计(香农.费诺编码)(34页珍藏版)>请在人人文库网上搜索. 1.华北科技学院信息论基础课程设 ...

最新文章

  1. 短序比对工具 bowtie vs BWA vs Subread vs SOAP vs NovoAlign
  2. MySQL性能优化(八)
  3. 环境测试明日最后一天 16万次公交车确保市民出行
  4. html+id选择器如何使用方法,id选择器_HTML+CSS前端基础知识教程_腾讯视频
  5. Linux学习笔记之一
  6. 「BZOJ2200」[Usaco2011 Jan] 道路和航线 - 最短路+拓扑排序
  7. 3617. 子矩形计数
  8. python 文本相似度_【机器学习】使用gensim 的 doc2vec 实现文本相似度检测
  9. 万字详解Docker架构原理、功能及使用
  10. Linux mail 邮件发送
  11. mysql collate
  12. Creating Your First Mac App--Implementing Action Methods 实现动作方法
  13. 陕西省单招计算机应用考什么,陕西省对口单招计算机应用基础模拟试题四
  14. 安徽省c语言程序设计省二题库,C语言程序设计题库二.pdf
  15. 信度spss怎么做_Spss详细图文教程——问卷信度和效度检验步骤图解
  16. 重庆大学大数据与软件学院阿里云大数据实训总结报告
  17. keystone 存储 android,KeyStone存储器架构
  18. PostgreSQL 视图
  19. 互联网公司无线接入平台怎么样
  20. python裁剪图像

热门文章

  1. 商标遭遇侵权,企业该如何反击?
  2. 找工作经验——EE Master 找CS工作总结
  3. 全能卸载优化工具(HiBit Uninstaller)1.4.45汉化便携版
  4. ienumerable vs iqueryable异常
  5. 软考题目快速学习法(个人笔记)
  6. 第一门编程语言选谁?
  7. 一个小工具,帮你找到赚钱思路
  8. FlinkSQL JDBC 批处理 java heap space
  9. 【读书笔记】文案创作完全手册
  10. html页面顶部横条,CSS:页面顶部的精简横幅(如本页中的橙色横幅)