克劳夫特不等式的证明 P22214015刘诗萌 P22214016谢明扬

夫特不等式是编码理论中的一个数学关系,给出了一个码字长度集合存在唯一可解编码/单义可译码(uniquely decodable code)的必要条件 。因为这个不等式在前缀码上面应用很多,所以在计算机科学和信息学中很常用。夫特不等式(Kraft inequality)信源编码理论中的一个重要不等式.当一个码的任意码字与比它更长的任意码字的字首不相同时,称此码为满足字首条件的码.由码字分别为N;(i=1,2,……,M)的M个码字所组成而且又满足字首条件的码,其存在的充分必要条件是满足公式M-N<1此式称为克夫特不等式.

信源编码的设计准则是,设计完成的编码必须是唯一可译码才能够被使用。根据唯一可译码的定义:任意有限长的码元序列,只能被唯一地分割成一个个的码字,便被称为唯一可译码。希望在得到一组编码之后,能够判断所设计出来的是否是唯一可译码。

唯一可译码存在的充分和必要条件为各码字的长度Ki应符合克劳夫特不等式:

\sum_{i=1}^{n}{_{m}}^{-Ki}\leqslant1

公式中m为进制数(如二进制编码,则m=2)

显然,克劳夫特不等式只涉及唯一可译码的存在问题而不涉及具体的码。它强调的是存在,但这并不是唯一可译码判断的充要条件。也就是说,唯一可译码一定满足克拉夫特不等式,但是反之,满足克拉夫特不等式的码不一定是唯一可译码。

证明过程如下:

以二进制为例,如图为一个二进制码数,由图可知,0、1为一级节点,以此类推。则第r级节点数目为{_{m}}^{r }


由码树图得:若满足唯一可译码,则对于码长为Ki的码字而言,其分支不可再参与译码,否则会造成译码歧义。以一级节点为例,令a1=1,a2=10,a3=101,则产生歧义。故若采用一级节点1进行编码,接下来的编码只能运用一级节点0的分支。

Kraft不等式的证明:

充分性:以二进制编码为例,若满足Kraft不等式,设节点级数为n,由码树图不难得出每级节点仅有不多于1/{_{2}}^{n-1}

个节点参与编码,若某一级节点全部参与编码,则编码到此截止,此时Kraft公式等号成立,且此级节点以上节点仅有每行的1/{_{2}}^{n}

。由图可得,一定存在唯一可译码。

必要性:设最大码字长度为Kmax,设码数中任一终端节点的长度为K‘。由该编码方式满足唯一可译码可得:该终端节点以下的分支不再参与编码。故损失的节点数为
{_{m}}^{Kmax-K'}个。

对于最大码字长度,该编码的全部最底层节点数为{_{m}}^{Kmax}个。可得:             

\sum_{i=1}^{n}{_{m}}^{Kmax-Ki}\leqslant{_{m}}^{Kmax}

仅需两边同时除以{_{m}}^{Kmax}即可得到Kraft公式。

克劳夫特不等式对码字限制长度以保证前缀编码的可能性。这个不等式说明码字长度指数的倒数的分布和概率质量函数很相似。克劳夫特不等式可以想象成一个受限的编码库,越短的编码代价越大。

  • 如果克劳夫特不等式中严格成立,相应的编码有冗余(redundancy)。
  • 如果克劳夫特不等式中等式成立,相应的编码被称作完备码(complete code)。
  • 如果克劳夫特不等式不成立,相应的编码不是唯一可解编码(uniquely decipherable)。 [1]
  • 对于每一个唯一可解码的代码,都存在一个长度分布相同的前缀码。 

克劳夫特不等式,码长和熵的关系

核心思想:比方说有一本书,书里的有些词是高频词,那么我们就希望这些高频词能用码长尽量短的码来表示,而把码长长的码分配给低频词,以最小化总的码长。

在这种情况下,可以用“码长的期望∑p_x*l(x)”来作为需要最优化的目标函数,因为概率其实代表出现的频率,频率高时就要让被分配的码长l(x)尽可能小,而当p_x本身很小时I(x)大一些也没所谓。

克劳夫特不等式:∑0.5^(l(x))≤1一-针对:可解码

两个“界”:

1. E(I(X))≥H(X)(基于克劳夫特不等式导出)--针对:可解码

2. E(I(X))≤H(X)+1(香农码)--针对:互不为前缀码(即可瞬时解码)

1.克劳夫特不等式

课本给的证明不是更一般的情况(可解码),而是特殊的情况(可瞬时解码),以下对这个证明做出总结。

由上一次笔记可得知:“获取互不为前缀的一组码”等同于“构建一棵二叉树并取叶节点”,证明充分性和必要性都是围绕二叉树入手,从二叉树可以导出获取的叶节点之和最大不超过1,从克劳夫特不等式出发可以构建一棵二叉树。

注意:构建好二叉树并且得到很多叶节点后不代表所有这些叶节点都要投入使用,只使用一部分就会使得克劳夫特不等式左边的求和项小于1。

2.码长期望与熵的关系1

若要让等号成立,则公式3.10和公式3.12那两个不等式要是等号才行:

3.10变成等号意味着t=1,也就是满足克拉夫特不等式;

3.12变成等号意味着相对熵为0,也就是此时 Px和Qx的pmf是一模一样的,由于Px的pmf是定的,而Qx却不一定一一因为l(x)是变化的,所以需要找到一组lx(即定值)使得Qx定下来、且每根pmf和Px的pmf-一对应相等。

3.码长期望与熵的关系2-香农码

гx┐指的是对x向上取整,就是给它拉大了。公式3.14第二个不等式的来历:0.5^x是一个单调递减函数,x被拉大了,0.5^x就减小了。

证明思路:先说明这样给I(x)取值满足克拉夫特不等式,然后如刚才命题3.2所述,从克拉夫特不等式出发可以构建一棵二叉树,也就是找到一组互不为前缀码。总结一下就是这样给I(x)取值是可以找到一组prefixcode,并且在代入I(x)=...后可以得到一个不等式E(I(X))≤ H(X)+1。

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值