Skip to main content
QUICK REVIEW

[论文解读] Lempel-Ziv Factorization May Be Harder Than Computing All Runs

Dmitry Kosolobov|arXiv (Cornell University)|Sep 19, 2014
Algorithms and Data Compression参考文献 3被引用 14
一句话总结

该论文证明了在决策树模型中,计算Lempel-Ziv分块需要Ω(n log σ)次比较,从而表明其本质上比计算所有周期串更困难。相比之下,作者提出了一种O(n)时间的决策树算法来寻找所有周期串,证明在该模型中周期串问题严格比Lempel-Ziv分块更简单,支持了关于在一般有序字母表上存在线性时间RAM算法计算周期串的猜想。

ABSTRACT

The complexity of computing the Lempel-Ziv factorization and the set of all runs (= maximal repetitions) is studied in the decision tree model of computation over ordered alphabet. It is known that both these problems can be solved by RAM algorithms in $O(n\logσ)$ time, where $n$ is the length of the input string and $σ$ is the number of distinct letters in it. We prove an $Ω(n\logσ)$ lower bound on the number of comparisons required to construct the Lempel-Ziv factorization and thereby conclude that a popular technique of computation of runs using the Lempel-Ziv factorization cannot achieve an $o(n\logσ)$ time bound. In contrast with this, we exhibit an $O(n)$ decision tree algorithm finding all runs in a string. Therefore, in the decision tree model the runs problem is easier than the Lempel-Ziv factorization. Thus we support the conjecture that there is a linear RAM algorithm finding all runs.

研究动机与目标

  • 在决策树模型中建立计算Lempel-Ziv分块复杂度的下界。
  • 研究在字符串中计算所有周期串是否与计算Lempel-Ziv分块一样困难。
  • 提出一种线性时间决策树算法来寻找所有周期串,证明周期串可比Lempel-Ziv分块更高效地计算。
  • 支持如下猜想:在一般有序字母表上,存在一个线性时间RAM算法来计算所有周期串。

提出的方法

  • 证明在决策树模型中,计算Lempel-Ziv分块所需的比较次数存在Ω(n log σ)的下界。
  • 设计一种决策树算法,通过递归处理立方周期串和周期子串,以O(n)次比较找到所有周期串。
  • 基于最小周期和周期性进行递归分解,以避免冗余比较。
  • 应用组合引理来界定递归调用的总次数,并确保比较次数为线性。
  • 分析所有立方周期串的指数之和,表明递归子问题足够快地缩小。
  • 采用分治策略,利用周期结构和不等式比较来识别最大重复子串。

实验结果

研究问题

  • RQ1在决策树模型中,Lempel-Ziv分块是否在计算上比计算所有周期串更困难?
  • RQ2能否构建一个O(n)时间的决策树算法来在字符串中找到所有周期串?
  • RQ3如果存在一个线性时间决策树算法用于周期串,是否意味着Lempel-Ziv分块不能作为线性时间周期串计算的基础?
  • RQ4在有序字母表上,计算Lempel-Ziv分块所需的最少比较次数是多少?
  • RQ5决策树模型能否揭示周期串与Lempel-Ziv分块之间复杂度的分离?

主要发现

  • 在决策树模型中,Lempel-Ziv分块需要Ω(n log σ)次比较,证明了非平凡的下界。
  • 存在一个O(n)时间的决策树算法用于计算所有周期串,表明周期串可比Lempel-Ziv分块更高效地找到。
  • 该算法通过递归处理立方周期串和周期子串,并利用不等式比较,避免了对Lempel-Ziv分块的依赖。
  • 递归调用中比较次数的总和被限制在O(n/p)以内,从而保证整体复杂度为线性。
  • 所有最小周期≥d的立方周期串的指数之和小于12n/d,从而支持高效的递归。
  • 该结果支持了如下猜想:在一般有序字母表上,存在一个线性时间RAM算法用于计算所有周期串。

更好的研究,从现在开始

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

无需绑定信用卡

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