首页> 外文会议>IEEE Annual Symposium on Foundations of Computer Science >Fast Space-Efficient Approximations of Language Edit Distance and RNA Folding: An Amnesic Dynamic Programming Approach
【24h】

Fast Space-Efficient Approximations of Language Edit Distance and RNA Folding: An Amnesic Dynamic Programming Approach

机译:语言编辑距离和RNA折叠的快速且节省空间的近似方法:一种健忘的动态编程方法

获取原文

摘要

Dynamic programming is a basic, and one of the most systematic techniques for developing polynomial time algorithms with overwhelming applications. However, it often suffers from having high running time and space complexity due to (a) maintaining a table of solutions for a large number of sub-instances, and (b) combining/comparing these solutions to successively solve larger sub-instances. In this paper, we consider a canonical cubic time and quadratic space dynamic programming, and show how improvements in both its time and space uses are possible. As a result, we obtain fast small-space approximation algorithms for the fundamental problems of context free grammar recognition (the basic computer science problem of parsing), the language edit distance (a significant generalization of string edit distance and parsing), and RNA folding (a classical problem in bioinformatics). For these problems, ours are the first algorithms that break the cubic-time barrier of any combinatorial algorithm, and quadratic-space barrier of “any” algorithm significantly improving upon their long-standing space and time complexities. Our technique applies to many other problems as well including string edit distance computation, and finding longest increasing subsequence. Our improvements come from directly grinding the dynamic programming and looking through the lens of language edit distance which generalizes both context free grammar recognition, and RNA folding. From known conditional lower bound results, neither of these problems can have an exact combinatorial algorithm (one that does not use fast matrix multiplication) running in truly subcubic time. Moreover, for language edit distance such an algorithm cannot exist even when nontrivial multiplicative approximation is allowed. We overcome this hurdle by designing an additive-approximation algorithm that for any parameter k > 0, uses O(nk log n) space and O(n2k log n) time and provides an additive O(nk log n)approximation. In particular, in Õ(n)1 space and Õ(n2) time it can solve deterministically whether a string belongs to a context free grammar, or ϵ-far from it for any constant ϵ > 0. We also improve the above results to obtain an algorithm that outputs an ϵ · n-additive approximation to the above problems with space complexity O(n2/3 log n). The space complexity remains sublinear in n, as long as ϵ = o(n-1/4 ). Moreover, we provide the first MapReduce and streaming algorithms for them with multiple passes and sublinear space complexity.
机译:动态编程是开发具有大量应用程序的多项式时间算法的基础,也是最系统的技术之一。但是,由于(a)维护大量子实例的解决方案表,以及(b)组合/比较这些解决方案以连续解决更大的子实例,因此,它通常具有较高的运行时间和空间复杂度。在本文中,我们考虑了标准立方时间和二次空间动态规划,并说明了如何在时间和空间使用上进行改进。结果,我们获得了快速的小空间近似算法,用于上下文无关文法识别(解析的基本计算机科学问题),语言编辑距离(字符串编辑距离和解析的重要概括)以及RNA折叠的基本问题(生物信息学中的经典问题)。针对这些问题,我们的算法是第一个打破任何组合算法的三次时间障碍的算法,而“任何”算法的二次空间障碍则大大改善了它们长期存在的时空复杂性。我们的技术还适用于许多其他问题,包括字符串编辑距离计算和找到最长的递增子序列。我们的改进来自直接磨练动态程序设计,并通过语言编辑距离的镜头进行观察,该语言将上下文无关的语法识别和RNA折叠都进行了概括。从已知的条件下界结果来看,这些问题都没有一个可以在真正的次立方时间内运行的精确组合算法(一种不使用快速矩阵乘法的算法)。而且,对于语言编辑距离,即使允许非平凡的乘法近似,这种算法也不存在。我们通过设计一个加法逼近算法克服了这一障碍,该算法对于任何参数k> 0,使用O(nk log n)空间和O(n 2 k log n)时间,并提供加法O( nk log n)近似值。特别是,在Õ(n) 1 空间和Õ(n 2 )时间中,它可以确定性地解决字符串是否属于上下文无关文法,还是ϵ-far远离对于任何常数ϵ> 0,它都得到改善。我们还改进了以上结果,获得了针对上述问题以空间复杂度O(n2 / 3 log n)输出ϵ·n可加逼近的算法。只要ϵ = o(n -1 / 4 ),空间复杂度就在n中保持亚线性。此外,我们为他们提供了首批具有多次通过和亚线性空间复杂度的MapReduce和流算法。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号