Skip to main content
QUICK REVIEW

[论文解读] Text Compression using Abstract Numeration System on a Regular Language

Ryoma Sin’ya|arXiv (Cornell University)|Aug 1, 2013
semigroups and automata theory参考文献 9被引用 5
一句话总结

本文提出了一种基于正则语言上抽象记数系统(ANS)的新型文本压缩方法,通过语言间的进制转换实现在亚线性时间内的压缩。核心贡献是一个理论严谨的框架,可计算平均压缩比,并实现无需牺牲压缩比的分块压缩,利用阶乘语言实现最优性能。

ABSTRACT

An abstract numeration system (ANS) is a numeration system that provides a one-to-one correspondence between the natural numbers and a regular language. In this paper, we define an ANS-based compression as an extension of this correspondence. In addition, we show the following results: 1) an average compression ratio is computable from a language, 2) an ANS-based compression runs in sublinear time with respect to the length of the input string, and 3) an ANS-based compression can be extended to block-based compression using a factorial language.

研究动机与目标

  • 开发一种基于正则语言上抽象记数系统(ANS)的压缩框架。
  • 分析 ANS 原原子(如表示函数与估值函数)的计算复杂度。
  • 推导出基于 ANS 的压缩方法的平均压缩比的可计算公式。
  • 设计一种分块压缩方法,利用阶乘语言保持高效率的压缩性能。
  • 证明当分块大小足够大时,分块压缩可保持与单个字符串压缩相同的压缩比。

提出的方法

  • 该方法通过抽象记数系统(ANS)在自然数与正则语言中的字符串之间建立一一对应关系。
  • 利用自动机矩阵表示与邻接矩阵,定义两种正则语言之间的进制转换。
  • 表示函数 rep_S 将自然数映射为正则语言 L 中的字符串,而估值函数 val_S 则将字符串映射回数字。
  • 压缩过程首先使用 rep_S 将输入字符串转换为数值表示,再通过进制转换编码至目标语言 L'。
  • 对于分块压缩,输入被划分为固定长度的块,每个块使用源自原始语言的阶乘语言转换,以保持顺序与压缩效率。
  • 分块压缩后的长度通过对数方式编码,当分块大小足够大时,总开销可忽略不计。

实验结果

研究问题

  • RQ1能否从底层正则语言的结构中计算出基于 ANS 的压缩的平均压缩比?
  • RQ2在输入长度方面,核心 ANS 操作(rep_S 与 val_S)的时间复杂度是多少?
  • RQ3是否可以设计一种分块压缩方法,使其保持与单个字符串压缩相同的压缩比?
  • RQ4使用阶乘语言如何影响压缩效率与分块编码的开销?
  • RQ5在何种条件下,分块压缩中编码分块长度的开销可忽略不计?

主要发现

  • 基于 ANS 的压缩的平均压缩比可从正则语言的结构中计算得出,如定理 4.1 所形式化。
  • 基于 ANS 的压缩算法在输入字符串长度上呈亚线性时间复杂度,如表 1 所示。
  • 使用阶乘语言的分块压缩方法在分块大小足够大时,其压缩比与单个字符串压缩相同,如定理 5.1 所证明。
  • 分块长度的编码开销为最大分块长度的对数级,当分块大小足够大时,该开销可忽略不计,从而确保整体压缩效率无损失。
  • 该压缩框架在自动机理论基础上严格构建,利用无歧义有限自动机(UFA)的矩阵表示来计算计数函数并支持进制转换。
  • 基于 ANS 的压缩库已开源,可供验证与扩展。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。