On Dynamic Algorithms for Algebraic Problems

In this paper, we examine the problem of incrementally evaluating algebraic functions. In particular, iff(x1,x2,?,xn)=(y1,y2,?,ym) is an algebraic problem, we consider answering on-line requests of the form “change inputxito valuev” or “what is the value of outputyj?” We first present lower bounds for some simply stated algebraic problems such as multipoint polynomial evaluation, polynomial reciprocal, and extended polynomial GCD, proving an ?(n) lower bound for the incremental evaluation of these functions. In addition, we prove two time-space trade-off theorems that apply to incremental algorithms for almost all algebraic functions. We then derive several general-purpose algorithm design techniques and apply them to several fundamental algebraic problems. For example, we give anO(n)time per request algorithm for incremental DFT. We also present a design technique for serving incremental requests using a parallel machine, giving a choice of either optimal work with respect to the sequential incremental algorithm or superfast algorithms withO(loglogn) time per request with a sublinear number of processors.

[1]  Michael Conner,et al.  Recursive fast algorithm and the role of the tensor product , 1992, IEEE Trans. Signal Process..

[2]  Leslie G. Valiant,et al.  The Complexity of Computing the Permanent , 1979, Theor. Comput. Sci..

[3]  Franco P. Preparata,et al.  The cube-connected-cycles: A versatile network for parallel computation , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[4]  Jeffrey D Ullma Computational Aspects of VLSI , 1984 .

[5]  Greg N. Frederickson,et al.  A data structure for dynamically maintaining rooted trees , 1997, SODA '93.

[6]  Michael L. Fredman,et al.  The Complexity of Maintaining an Array and Computing Its Partial Sums , 1982, JACM.

[7]  J. Tukey,et al.  An algorithm for the machine calculation of complex Fourier series , 1965 .

[8]  Greg N. Frederickson Ambivalent Data Structures for Dynamic 2-Edge-Connectivity and k Smallest Spanning Trees , 1997, SIAM J. Comput..

[9]  Allan Borodin,et al.  The computational complexity of algebraic and numeric problems , 1975, Elsevier computer science library.

[10]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[11]  V. Pan,et al.  Polynomial and matrix computations (vol. 1): fundamental algorithms , 1994 .

[12]  V. Pan,et al.  Polynomial and Matrix Computations , 1994, Progress in Theoretical Computer Science.

[13]  Sanjeev Saxena,et al.  On Parallel Prefix Computation , 1994, Parallel Process. Lett..

[14]  M. Rabin,et al.  Fast evaluation of polynomials by rational preparation , 1972 .

[15]  David Eppstein,et al.  Dynamic half-space reporting, geometric optimization, and minimum spanning trees , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[16]  D. Heller A Survey of Parallel Algorithms in Numerical Linear Algebra. , 1978 .

[17]  Martin Tompa Time-Space Tradeoffs for Computing Functions, Using Connectivity Properties of Their Circuits , 1980, J. Comput. Syst. Sci..

[18]  David Eppstein,et al.  Sparsification—a technique for speeding up dynamic graph algorithms , 1997, JACM.

[19]  Martin Tompa,et al.  Time-space tradeoffs for computing functions, using connectivity properties of their circuits , 1978, J. Comput. Syst. Sci..

[20]  Don Coppersmith,et al.  Matrix multiplication via arithmetic progressions , 1987, STOC.

[21]  Robert E. Tarjan,et al.  A data structure for dynamic trees , 1981, STOC '81.

[22]  Kenneth J. Supowit,et al.  New techniques for some dynamic closest-point and farthest-point problems , 1990, SODA '90.

[23]  Frank Thomson Leighton Introduction to parallel algorithms and architectures: arrays , 1992 .

[24]  F. Leighton,et al.  Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes , 1991 .