Academic Commons Search Results
http://academiccommons.columbia.edu/catalog.rss?f%5Bauthor_facet%5D%5B%5D=Giancarlo%2C+Raffaele&f%5Bdepartment_facet%5D%5B%5D=Computer+Science&q=&rows=500&sort=record_creation_date+desc
Academic Commons Search Resultsen-usSparse Dynamic Programming I: Linear Cost Functions
http://academiccommons.columbia.edu/catalog/ac:143179
Eppstein, David; Galil, Zvi; Giancarlo, Raffaele; Italiano, Giuseppe F.http://hdl.handle.net/10022/AC:P:12180Wed, 11 Jan 2012 00:00:00 +0000We consider dynamic programming solutions to a number of different recurrences for sequence comparison and for RNA secondary structure prediction. These recurrences are defined over a number of points that is quadratic in the input size; however only a sparse set matters for the result. We give efficient algorithms for these problems, when the weight functions used in the recurrences are taken to be linear. Our algorithms reduce the best known bounds by a factor almost linear in the density of the problems: when the problems are sparse this results in a substantial speed-up.Computer sciencezg1Computer ScienceTechnical reportsSparse Dynamic Programming II: Convex and Concave Cost Functions
http://academiccommons.columbia.edu/catalog/ac:143182
Eppstein, David; Galil, Zvi; Giancarlo, Raffaele; Italiano, Giuseppe F.http://hdl.handle.net/10022/AC:P:12181Wed, 11 Jan 2012 00:00:00 +0000We consider dynamic programming solutions to a number of different recurrences for sequence comparison and for RNA secondary structure prediction. These recurrences are defined over a number of points that is quadratic in the input size; however only a sparse set matters for the result. We give efficient algorithms for these problems, when the weight functions used in the recurrences are taken to be linear. Our algorithms reduce the best known bounds by a factor almost linear in the density of the problems: when the problems are sparse this results in a substantial speed-up.Computer sciencezg1Computer ScienceTechnical reportsSpeeding up Dynamic Programming with Application to the Computation of RNA Structure
http://academiccommons.columbia.edu/catalog/ac:142356
Eppstein, David; Galil, Zvi; Giancarlo, Raffaelehttp://hdl.handle.net/10022/AC:P:11945Wed, 07 Dec 2011 00:00:00 +0000We describe the solution of a two dimensional recurrence used to compute the secondary structure of RNA. A naive dynamic programming solution to this recurrence takes time O (n4); this time had previously been improved to O (n3). Our new algorithm makes use of the convexity of the energy functions for RNA secondary structure to reduce the time to O(n2 1og2 n). When the energy function is modeled by logarithms or other simple functions we solve the recurrence in time O(n2Iognloglogn). Our algorithms are simple and practical.Computer sciencezg1Computer ScienceTechnical reportsSpeeding up dynamic programming with applications to molecular biology
http://academiccommons.columbia.edu/catalog/ac:142560
Galil, Zvi; Giancarlo, Raffaelehttp://hdl.handle.net/10022/AC:P:11870Fri, 02 Dec 2011 00:00:00 +0000Consider the problem of computing E[j] = mit:! {D[k] + w(k, j)}, j = 1, ... , n, O~k~]-l where w is a given weight function, D[D] is given and for every k = 1, ... , n, D[k] is easily computable from E[k]. This problem appears as a subproblem in dynamic programming solutions to various problems. Obviously, it can be solved in time O( n2 ), and for a general weight function no better algorithm is possible. We consider two dual cases that arise in applications: In the concave case, the weight function satisfies the quadrangle inequality: w(k,j) + w(l,j') ~ w(l,j) +w(k,j'), for all k ~ 1 ~ j ~ j'. In the convex case, the weight function satisfies the inverse quadrangle inequality. In both cases we show how to use the assumed property of w to derive an O( n log n) algorithm. Even better, linear-time algorithms are obtained if w satisfies the following additional closest zero property: for every two integers 1 and k, 1 < k, and real number a, the smallest zero of f(x) = w(l,x) - w(k,x) - a which is larger than 1 can be found in constant time. Surprisingly, the two algorithms are also dual in the following sense: Both work in stages. In the j-th stage they compute Elj]. They maintain a set of candidates which satisfies the property that Elj] depends only on D[k] + w(k, j) for k's in the set. Moreover, each algorithm discards candidates from the set, and discarded candidates never rejoin the set. To be able to maintain such a set of candidates efficiently one uses the following "dual" data structures: a queue in the concave case and a stack in the convex case. The two algorithms speed up several dynamic programming routines that solve as a subproblem the problem above. The speed-up is from O(n3 ) to O(n2Iogn) or O(n2 ). Applications include algorithms for comparing DNA sequences, algorithms for determining the secondary structure of RNA, and algorithms used in speech recognition and geology. One typical problem is the following: Given the cost of substituting any pair of symbols and a convex cost function g for gaps (where g(r) is the cost of a gap of size r), compute the modified edit distance between the two given sequences.Computer sciencezg1Computer ScienceTechnical reportsData structures and algorithms for approximate string matching Zvi Galil, Raffaele Giancarlo
http://academiccommons.columbia.edu/catalog/ac:142117
Galil, Zvi; Giancarlo, Raffaelehttp://hdl.handle.net/10022/AC:P:11869Fri, 02 Dec 2011 00:00:00 +0000This paper surveys techniques for designing efficient sequential and parallel approximate string matching algorithms. Special attention is given to the methods for the construction of data structures that efficiently support primitive operations needed in approximate string matching.Computer sciencezg1Computer ScienceTechnical reports