发表机构
Tehran Institute of Advanced Studies(德黑兰高等研究院)
机构由 AI 辅助整理,请以论文原文为准。AI 中文总结
针对哈夫曼编码问题,提出首个非平凡的大规模并行算法,在亚对数轮数和次线性每机内存下实现精确构造,总内存与计算量近线性。
AI 中文摘要
哈夫曼编码是计算机科学中最古老且最基础的问题之一。给定一个长度为 $\TextLength$ 的字符串,其字符来自一个通用字母表,目标是为每个字符分配一个二进制码字,使得没有码字是另一个码字的前缀,并且字符串的总编码长度最小。哈夫曼编码广泛应用于实际压缩系统,包括文件压缩。随着现代数据集的不断增长,自然要研究是否可以在大规模并行计算(\MPC)模型中高效地构造哈夫曼码。著名的哈夫曼编码算法有两种直接的 \MPC 实现:对于任意常数 $\epsilon\in(0,1)$,一种实现每台机器使用 $O(\TextLength^\epsilon)$ 内存,但需要 $\Theta(\log \TextLength)$ 轮;另一种实现在 $O(1)$ 轮内完成,但每台机器需要 $\Theta(\sqrt{\TextLength})$ 内存。我们给出了第一个非平凡的 \MPC 哈夫曼编码算法,它同时绕过了这两种限制。对于每个常数 $\epsilon>0$,我们的算法使用 $O_\epsilon(\log\log \TextLength)$ 轮和每台机器 $\softO(\TextLength^\epsilon)$ 内存,而其总内存和总计算量均为 $\softO(\TextLength)$。这提供了一个罕见的例子,其中经典算法本质上是串行的问题,可以在亚对数轮数的 \MPC 轮数内获得精确解。
英文摘要
Huffman coding is one of the oldest and most fundamental problems in computer science. Given a string of length $\TextLength$ over a general alphabet, the goal is to assign a binary codeword to each character so that no codeword is a prefix of another and the total encoded length of the string is minimized. Huffman coding is widely used in practical compression systems, including file compression. As modern datasets continue to grow, it is natural to study whether a Huffman code can be constructed efficiently in the massively parallel computation (\MPC) model. The celebrated Huffman coding algorithm admits two straightforward \MPC implementations: for any constant $ε\in(0,1)$, one uses $O(\TextLength^ε)$ memory per machine but requires $Θ(\log \TextLength)$ rounds, while the other runs in $O(1)$ rounds but requires $Θ(\sqrt{\TextLength})$ memory per machine. We give the first nontrivial \MPC algorithm for Huffman coding that bypasses both limitations. For every constant $ε>0$, our algorithm uses $O_ε(\log\log \TextLength)$ rounds and $\softO(\TextLength^ε)$ memory per machine, while its total memory and total computation are $\softO(\TextLength)$. This provides a rare example in which an exact solution to a problem whose classical algorithm is sequential in nature can be obtained in a sublogarithmic number of \MPC rounds.