Results 1 
4 of
4
Faster Algorithms for RNAfolding using the FourRussians method
, 2013
"... The secondary structure that maximizes the number of noncrossing matchings between complimentary bases of an RNA sequence of length n can be computed in O(n 3) time using dynamic programming. FourRussians is a technique that will reduce the running time for certain dynamic programming algorithms b ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
(Show Context)
The secondary structure that maximizes the number of noncrossing matchings between complimentary bases of an RNA sequence of length n can be computed in O(n 3) time using dynamic programming. FourRussians is a technique that will reduce the running time for certain dynamic programming algorithms by a factor after a preprocessing step where solutions to all smaller subproblems of a fixed size are exhaustively enumerated. Frid and Gusfield designed an O ( n3) algorithm for RNA folding using the FourRussians technique. However, in their log n algorithm the preprocessing is interleaved with the algorithm computation. We simplify the algorithm and the analysis by doing the preprocessing once prior to the algorithm computation. We call this the twovector method. We also show variants where instead of exhaustive preprocessing, we only solve the subproblems encountered in the main algorithm once and memoize the results. We give a proof of correctness and explore the practical advantages over the earlier method. The Nussinov algorithm admits an O(n 2) parallel algorithm. We show an parallel algorithm using the twovector idea that improves the time bound to O(n 2 / log n). We have implemented the parallel algorithm on Graphical processing units using CUDA platform. We discuss the organization of the data structures to exploit coalesced memory access for fast running time. These ideas also help in improving the running time of the serial algorithms. For sequences of up to 6000 bases the parallel algorithm takes only about 2 secs, the twovector and memoized versions are faster than the FridGusfield algorithm by a factor of 3, and faster than Nussinov by a factor of 20. 1
Sparsification in Algebraic Dynamic Programming
"... Sparsification is a technique to speed up dynamic programming algorithms which has been successfully applied to RNA structure prediction, RNARNAinteraction prediction, simultaneous alignment and folding, and pseudoknot prediction. So far, sparsification has been more a collection of loosely relate ..."
Abstract
 Add to MetaCart
(Show Context)
Sparsification is a technique to speed up dynamic programming algorithms which has been successfully applied to RNA structure prediction, RNARNAinteraction prediction, simultaneous alignment and folding, and pseudoknot prediction. So far, sparsification has been more a collection of loosely related examples and no general, well understood theory. In this work we propose a general theory to describe and implement sparsification in dynamic programming algorithms. The approach is formalized as an extension of Algebraic Dynamic Programming (ADP) which makes it applicable to a variety of algorithms and scoring schemes. In particular, this is the first approach that shows how to sparsify algorithms with scoring schemes that go beyond simple minimization or maximization, like enumeration of suboptimal solutions and approximation of the partition function. As an example, we show how to sparsify different variants of RNA structure prediction algorithms. 1
Faster Language Edit Distance, Connection to Allpairs Shortest Paths and Related Problems
"... Given a context free language L(G) over alphabet Σ and a string s ∈ Σ∗, the language edit distance problem seeks the minimum number of edits (insertions, deletions and substitutions) required to convert s into a valid member of L(G). The wellknown dynamic programming algorithm solves this problem i ..."
Abstract
 Add to MetaCart
(Show Context)
Given a context free language L(G) over alphabet Σ and a string s ∈ Σ∗, the language edit distance problem seeks the minimum number of edits (insertions, deletions and substitutions) required to convert s into a valid member of L(G). The wellknown dynamic programming algorithm solves this problem in O(n3) time (ignoring grammar size) where n is the string length [Aho, Peterson 1972, Myers 1985]. Despite its numerous applications in data management, machine learning, compiler optimization, computational biology, computer vision and linguistics, there is no algorithm known till date that computes or approximates language edit distance problem in true subcubic time. In this paper we give the first such algorithm that computes language edit distance almost optimally. For any arbitrary > 0, our algorithm runs in Õ ( n ω poly() ) time and returns an estimate within a multiplicative approximation factor of (1 + ) with high probability, where ω is the exponent of ordinary matrix multiplication of n dimensional square matrices. It also computes the edit script. We further solve the local alignment problem; for all substrings of s, we can estimate their language edit distance
Complexity of the path avoiding forbidden pairs problem revisited
"... Let G = (V, E) be a directed acyclic graph with two distinguished vertices s, t, and let F be a set of forbidden pairs of vertices. We say that a path in G is safe, if it contains at most one vertex from each pair {u, v} ∈ F. Given G and F, the path avoiding forbidden pairs (PAFP) problem is to fin ..."
Abstract
 Add to MetaCart
(Show Context)
Let G = (V, E) be a directed acyclic graph with two distinguished vertices s, t, and let F be a set of forbidden pairs of vertices. We say that a path in G is safe, if it contains at most one vertex from each pair {u, v} ∈ F. Given G and F, the path avoiding forbidden pairs (PAFP) problem is to find a safe s–t path in G. We systematically study the complexity of different special cases of the PAFP problem defined by the mutual positions of fobidden pairs. Fix one topological ordering ≺ of vertices; we say that pairs {u, v} and {x, y} are disjoint, if u ≺ v ≺ x ≺ y, nested, if u ≺ x ≺ y ≺ v, and halving, if u ≺ x ≺ v ≺ y. The PAFP problem is known to be NPhard in general or if no two pairs are disjoint; we prove that it remains NPhard even when no two forbidden pairs are nested. On the other hand, if no two pairs are halving, the problem is known to be solvable in cubic time. We simplify and improve this result by showing an O(M(n)) time algorithm, where M(n) is the time to multiply two n × n boolean matrices.