Domain Specific Hierarchical Huffman Encoding
在本文中,我们重温了经典的领域特定文本的数据压缩问题。众所周知,经典的霍夫曼算法对于前缀编码是最优的,并且压缩是在字符级进行的。由于许多数据传输是领域特定的,例如,下载课堂讲稿、网络博客等,很自然地想到更大维度(即字级而不是字符级)的数据压缩。我们的框架采用了两级压缩方案,其中第一级使用经典的频繁模式算法识别文本中的频繁模式。识别出的模式被替换为特殊字符串,并且为了获得更好的压缩比,特殊字符串的长度确保小于对应模式的长度。经过这种变换后,对得到的文本,我们采用经典的哈夫曼数据压缩算法。简而言之,在第一级中,压缩是在单词级进行的,而在第二级中,压缩是在字符级进行的。有趣的是,这种针对特定领域文本的两级压缩技术优于经典的霍夫曼技术。为了支持我们的主张,我们已经提出了理论和模拟结果的特定领域的文本。
2013-07-03 cs.DS cs.IT math.IT
Weighted Adaptive Coding
霍夫曼编码是已知的最佳,但其动态版本在实践中可能更有效。最近已经提出了一种新的霍夫曼编码变体,其可证明总是比静态霍夫曼编码好至少$m-1$比特,其中$m$表示字母表的大小,并且具有比标准动态霍夫曼编码更好的最坏情况。本文介绍了一种新的通用编码方法,扩展了已知的静态和动态变量,并将它们作为特例。事实上,这种推广适用于所有的统计方法,包括算术编码。这导致了一种新的自适应编码方法的形式化,该方法可证明总是至少与迄今为止已知的最佳动态变体一样好。此外,我们提出的实证结果表明,静态和动态霍夫曼和算术编码所实现的方法,即使当编码文件包括模型描述的改进。
2020-05-17 cs.DS
Efficient Graph Compression Using Huffman Coding Based Techniques
图已被广泛用于表示来自各个领域的数据。在大数据时代,信息正在以快速的速度生成,分析信息是一项挑战。已经提出了各种方法来加速数据分析并从中挖掘信息。所有这些通常涉及使用大量计算节点阵列,并通过网络传输数据。当然,由于数据量巨大,这对从数据中收集情报的任务提出了一个重大问题。因此,为了解决大数据的这些问题,使用数据压缩技术是一个可行的选择。由于图表示大多数真实世界的数据,压缩图的方法一直处于这种努力的最前沿。在本文中,我们提出的技术,通过找到特定的模式,并取代那些标识符是可变长度的,一个想法的启发霍夫曼编码压缩图。具体来说,给定一个图G =(V,E),其中V是一组顶点和E是一组边,和|V| = n,我们提出的方法来减少空间的要求,通过压缩的邻接表示相同的图。所提出的方法显示高达80%的减少是存储图形所需的空间相比,使用邻接矩阵。该方法也可以应用于其他表示。所提出的技术有助于解决与在资源有限的计算节点上的图上的计算有关的问题,以及在分布式计算的情况下减少通过网络传输数据的延迟。
2018-06-15 cs.DS cs.IT math.IT
Massively Parallel Algorithms for Huffman Coding
Tehran Institute of Advanced Studies(德黑兰高等研究院)
针对哈夫曼编码问题,提出首个非平凡的大规模并行算法,在亚对数轮数和次线性每机内存下实现精确构造,总内存与计算量近线性。
2026-11-02 cs.DS
A Generic Top-Down Dynamic-Programming Approach to Prefix-Free Coding
给定一个概率分布在一组n个字被发送,霍夫曼编码问题是找到一个最小成本的前缀免费代码发送这些字。基本的霍夫曼编码问题可以在O(n log n)时间内解决,但变化更困难。用于解决这些变化的标准技术之一利用自上而下的动态规划方法。在本文中,我们表明,这种方法是经得起动态规划加速技术,允许一个数量级的加速许多算法在文献中的混合基数,保留长度和单端编码等变化。这些加速是一个一般的结构属性,允许并行计算许多DP条目的直接影响。
2008-09-26 cs.DS cs.IT math.IT
PivCo-Huffman
提出一种基于小波树数据结构的PivCo-Huffman编码方法,通过SIMD友好操作实现高吞吐量解码,并选择性应用ANS编码以接近ANS的压缩比同时保持高速解压。
2026-06-04 cs.DS cs.PF
Space-Efficient Huffman Codes Revisited
规范哈夫曼码是一种最佳的无前缀压缩码,其码字按字典顺序排列,形成一个长度不减的二进制字列表。Gagie等人(2015)给出了这种编码的表示,能够在恒定的最差情况时间内对符号进行编码或解码。它使用空间的$σ\lg \ell_{\text{max}} + o(σ) + O(\ell_{\text{max}}^2)$位,其中$σ$和$\ell_{\text{max}}$分别是字母表大小和最大码字长度。我们改进他们的表示,以减少空间复杂度为$σ\lg \ell_{\text{max}} (1 + o(1))$位,同时保持恒定的编码和解码时间。我们的算法思想可以应用于任何规范代码。
2021-08-12 cs.DS cs.IT math.IT
Twenty (or so) Questions: $D$-ary Length-Bounded Prefix Coding
有效的最佳前缀编码早已通过霍夫曼算法实现。然而,关于霍夫曼问题的变体,仍然有改进和探索的空间。对许多实际应用有用的长度受限霍夫曼编码就是这样一种变体,对于该变体,代码被限制为其中没有$n$码字长于给定长度$l_{\max}$的代码集合。二进制长度受限编码可以通过广泛使用的Package-Merge算法在$O(n l_{\max})$时间和O(n)空间中完成,并且使用不太知名的算法具有更小的渐近复杂度。在本文中,这些算法进行了推广,而不增加复杂性,以引入一个最小的码字长度约束$l_{\min}$,允许目标函数以外的预期码字长度的最小化,并适用于二进制和非二进制代码;非二进制代码以前使用较慢的动态规划的方法来解决。这些扩展具有各种应用--包括快速解压缩和游戏"二十步“的修改版本--并且可以用于解决寻找具有有限边缘的最佳代码的问题,即,在最长和最短码字之间具有最大差异的代码中寻找最佳代码。以前提出的解决这个问题的方法是非多项式时间的,而使用新的线性空间算法解决这个问题只需要$O(n (l_{\max}- l_{\min})^2)$时间,或者如果$l_{\max}- l_{\min}$不是$O(\log n)$,甚至更少。
2007-06-20 cs.DS cs.IT math.IT
Source Coding for Quasiarithmetic Penalties
霍夫曼编码找到一个前缀码,该前缀码对于有限数量的项上的给定概率分布最小化平均码字长度。坎贝尔将霍夫曼问题推广到一类问题,其目标不是最小化平均码字长度,而是最小化称为拟算术或拟线性平均的广义平均值。这样的一般化装置具有许多不同的应用,包括在装配中的应用。几个拟算术平均值问题在广义熵的意义下有新的简单冗余界。一个相关的性质涉及到最佳代码的存在:对于“良好的”成本函数,最佳代码总是存在于具有有限广义熵的(可能是无限字母表)源。解决这些问题的有限实例是通过推广的算法,找到长度有限的二进制代码的一个新的算法,找到最佳的二进制代码的任何quasiarithmetic平均凸成本函数。该算法可以使用二次时间和线性空间来执行,并且可以扩展到其他罚函数,其中一些罚函数可以以类似的空间和时间复杂度来求解,而其他罚函数可以以稍微更大的复杂度来求解。这降低了队列中涉及最小延迟的问题的计算复杂性,允许优化先前考虑的问题的组合,并且极大地扩展了在二次时间和线性空间中可解的问题的空间。该算法可以被扩展用于诸如打破可能不同的最佳代码之间的联系的目的,如底部合并霍夫曼编码。
2006-05-22 cs.DS cs.IT math.IT
Prefix Codes: Equiprobable Words, Unequal Letter Costs
描述了一种用于霍夫曼编码变体的近线性时间算法,其中字母可以具有不均匀的长度(如莫尔斯码),但限制每个要编码的单词具有相等的概率。[See Huffman Coding with Unequal Letter Costs(英语:Huffman Coding with Unequal Letter Costs)
2002-05-18 cs.DS
A General Framework for Codes Involving Redundancy Minimization
一个框架,两个标量参数的各种问题,找到一个前缀码最小化的编码惩罚函数。该框架包括以前提出的霍夫曼,坎贝尔,纳特,Drmota和Szpankowski的问题,这些问题之间的关系阐明。特别是,纳特的范围内的问题可以被看作是桥接最小平均冗余问题的霍夫曼与最小最大逐点冗余问题的Drmota和Szpankowski。使用这个框架,两个线性时间霍夫曼算法设计的最小最大逐点冗余问题,唯一一个在框架中以前没有解决的霍夫曼算法。这两种算法都提供了解决这个问题的共同点和Nath的问题的一个子范围,第二种算法的区别在于它能够找到最小方差的解决方案之间的所有解决方案共同的最小最大逐点冗余和Nath问题。简单的冗余界限。
2005-11-01 cs.DS cs.IT math.IT
Reserved-Length Prefix Coding
霍夫曼编码为给定的概率质量函数找到最佳前缀码。考虑这样的情况,其中希望找到具有所有码字具有位于用户指定的长度集合中的长度(或者,等效地,没有码字具有位于互补集合中的长度)的限制的最优代码。本文介绍了一个多项式时间的动态规划算法,找到这个保留长度前缀编码问题的最佳代码。这具有快速编码和解码无损代码的应用。此外,该方法的一种修改解决了任何准算术前缀编码问题,而另一种修改找到了限于具有针对用户指定的g的g码字长度的代码集合的最佳代码(例如,g=2)。
2007-12-30 cs.DS cs.IT math.IT
Source Coding with Free Bits and the Multi-Way Number Partitioning Problem
Isfahan University of Technology(伊斯法罕理工大学);The Chinese University of Hong Kong(香港中文大学)
本文提出了一种新的信源编码方法,用于通过两个并行信道传输信息,并将其与多方式数字分组问题联系起来,通过改进的霍夫曼编码算法解决该问题。
2026-01-29 cs.DS cs.IT math.CO
Renyi to Renyi -- Source Coding under Siege
一种新颖的无损信源编码范例适用于具有低比特率的不可靠无损信道的问题,其中在通信终止之前需要发送重要消息。这一范例可以应用到阿尔弗雷德·雷尼(Alfred Renyi)对古代围城的二手描述中,其中一名间谍被派去侦察敌人,但被抓获。逃跑后,这名间谍回到基地,无法说话,也无法写作。他的指挥官问了他一些问题,他可以点头或摇头回答,堡垒就用这些信息保卫起来。Renyi在讲述这个故事时参考了前缀编码,但最大化围困场景中的生存概率与最小化预期码字长度的传统信源编码目标不同,但又相关。不是找到最小化期望码字长度$\sum_{i=1}^n p(i) l(i)$的码,而是围攻问题涉及对于已知$θ\in (0,1)$最大化$\sum_{i=1}^n p(i) θ^{l(i)}$。当对码字没有限制时,这个问题可以使用霍夫曼编码的已知推广来解决。最佳解决方案的编码范围是函数的Renyi熵,除了已知的界限,新的界限推导出这里。这个问题的几何约束版本在搜索树和诊断测试中有应用。一种新的动态规划算法-基于最古老的已知算法为传统的字母问题-优化这个问题在$O(n^3)$时间和$O(n^2)$空间,而两个新的近似算法可以找到一个次优的解决方案更快:一个在线性时间,另一个在$O(n \log n)$。编码界限的字母版本的这个问题也提出了。
2006-05-22 cs.DS cs.IT math.IT
Run-Length Encoding in a Finite Universe
文本压缩方案和紧凑数据结构通常将复杂的概率模型与基本编码方法相结合,其平均码字长度与已知分布的熵紧密匹配。在基本编码表示具有概率$p$(即几何分布$\Pr(i)=p^i(1-p)$)的结果的游程长度的常见情况下,\emph{Golomb code}是最佳瞬时码,其具有额外的优点,即可以仅使用从$p$计算的整数参数来计算码字,而不需要大的或复杂的数据结构。然而,Golomb编码不能优雅地处理游程长度由已知整数~ $n$限制的情况。在这种情况下,为情况$i>n$分配的码字被浪费。虽然对于大的$n$可以忽略,但是这使得Golomb编码在$n$递归地小的情况下没有吸引力,例如,当表示从有限范围中抽取的整数的许多短列表时,或者当通过递归算法缩小$n$的范围时。我们解决的问题,选择一个代码的情况下,从信息理论和计算的角度考虑效率,并在一个简单的代码,允许计算一个码字只使用$O(1)$简单的计算机操作和$O(1)$机器字。我们的实验表明,所得到的表示长度是非常接近(在大多数测试情况下相等)的最佳霍夫曼码,在某种程度上,预期的差异几乎可以忽略不计。我们描述了有效的分支无实现的编码和解码。
2019-10-01 cs.DS cs.IT math.IT
Optimal Prefix Free Code in Linear Time
我们描述了一个算法计算的最佳前缀自由码从$N$未排序的正整数权重的时间线性的机器字的数量持有这些权重。该算法利用了常见的非代数指令,以及最佳前缀自由码的具体结果。这个结果改进了代数决策树模型中的$O(N\lg N)$和RAM模型中的$O(N\lg\lg N)$的现有技术的复杂性,用于计算霍夫曼代码,这是自1952年以来压缩和编码的里程碑。
2017-03-01 cs.DS