香农-范诺编码计算器

这个在线计算器根据一组符号及其概率生成香农-范诺编码

这个在线计算器为给定概率的一组符号生成香农-范诺编码。在计算器下面可以找到一些理论。

PLANETCALC, 香农-范诺编码

香农-范诺编码

符号概率表

名称
每页项目:

小数点后的数字: 2
加权路径长度
 
香农熵
 
这个文件很大。浏览器在加载和创建过程中可能会减速。

香农-范诺编码

在数据压缩领域,香农-范诺编码(Shannon - Fano coding)以克劳德香农和罗伯特范诺的名字命名,是一种基于一组符号及其概率(估计或测量)构建前缀码的技术。 它还不是最理想的,因为它没有达到霍夫曼编码这样的最低可能期望码字长度。

在香农-范诺编码中,符号按照从最可能到最不可能的顺序排列,再分成两个总概率尽可能接近相等的集合。 然后,所有符号都指定了其编码的第一个数字; 第一集合中的符号得到“0”,第二集合中的符号得到“1”。 只要有多于一个成员的集合存在,就对这些集合重复同样的过程,以确定其代码的连续位数。 当一个集合被简化为一个符号时,这意味着该符号的代码是完整的,不会构成任何其他符号的代码的前缀。

该算法产生相当有效的可变长度编码; 当分区产生的两个较小的集合实际上具有相等的概率时,用于区分它们的一位信息被最有效地使用。 不幸的是,香农-范诺编码并不总产生最佳前缀代码; 概率集合 {0.35, 0.17, 0.17, 0.16, 0.15} 就是香农-法诺编码分配非最佳代码的示例。

由于这个原因,香农-范诺编码几乎没有被使用过;霍夫曼编码在计算上几乎同样简单,在每个符号由一个整数位组成的代码表示的约束条件下,产生的前缀代码总是能达到最低的预期代码字长1

URL 复制到剪贴板
PLANETCALC, 香农-范诺编码计算器

评论