Publication Information
J. H. Reif and S. R. Tate. Dynamic Algebraic Algorithms, in Proceedings of the Fifth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), 1994, pp. 290--301. Online AlgorithmsConference
Abstract
In this paper, we examine the problem of incrementally evaluating algebraic functions. In particular, if is an algebraic problem, we consider answering on-line requests of the form “change input to value ” or “what is the value of output ?” While incremental evaluation of problems in graph theory and computational geometry have been examined, there is very little literature on the incremental evaluation of algebraic problems, with the exception of the prefix sum problem for which [Fredman, 82] showed tight bounds. In this paper, we examine both lower bounds and algorithm design techniques for algebraic problems.
We first present lower bounds for some simply stated algebraic problems: multipoint polynomial evaluation, polynomial reciprocal, and extended polynomial GCD. In all cases we prove an lower bound for the incremental evaluation of these functions. In addition, we give a rather surprising space-time trade off that applies to most interesting algebraic functions, including those with good incremental algorithms such as prefix sum, which are the first space-time trade-offs known for incremental algorithms. In particular, if we have storage locations available in addition to the inputs, then incremental algorithms for most problems require time per request.
Secondly, we present two general purpose techniques for designing incremental algorithms. The first method can produce highly efficient incremental algorithms, giving for example an time per request algorithm for evaluating order- linear recurrences, and an time bound for incremental computation of the Discrete Fourier Transform. The second technique gives slightly slower incremental algorithms for these problems, but is applicable to a wider class of problems than the first method. Using the second method, we give incremental algorithms for multipoint evaluation with changing coefficients, polynomial multiplication, and restricted polynomial reciprocal that have request time , where denotes the “soft-O” which neglects polylog factors. We also apply these techniques to various matrix problems, giving fast incremental algorithms.
Lastly, we consider answering the on-line requests with a parallel machine (a PRAM). We show that requests can be answered very efficiently for the problems of DFT, two-dimensional DFT, multipoint polynomial evaluation with changing coefficients, and the chirp -transform with constant . We show a continuous processor-time trade-off for these problems, where the total amount of work equals our sequential algorithms for processors, and at the fastest end of the spectrum requests can be handled in time using processors for any constant . Clearly, the sequential lower bounds can be translated to work lower bounds for our parallel algorithms.