On the Computational Complexity of Dynamic Graph Problems

Abstract A common way to evaluate the time complexity of an algorithm is to use asymptotic worst-case analysis and to express the cost of the computation as a function of the size of the input. However, for an incremental algorithm this kind of analysis is sometimes not very informative. (By an “incremental algorithm”, we mean an algorithm for a dynamic problem.) When the cost of the computation is expressed as a function of the size of the (current) input, several incremental algorithms that have been proposed run in time asymptotically no better, in the worst-case, than the time required to perform the computation from scratch. Unfortunately, this kind of information is not very helpful if one wishes to compare different incremental algorithms for a given problem. This paper explores a different way to analyze incremental algorithms. Rather than express the cost of an incremental computation as a function of the size of the current input, we measure the cost in terms of the sum of the sizes of the changes in the input and the output. The change in approach allows us to develop a more informative theory of computational complexity for dynamic problems. An incremental algorithm is said to be bounded if the time taken by the algorithm to perform an update can be bounded by some function of the sum of the sizes of the changes in the input and the output. A dynamic problem is said to be unbounded with respect to a model of computation if it has no bounded incremental algorithm within that model of computation. The paper presents new upper-bound results as well as new lower-bound results with respect to a class of algorithms called the locally persistent algorithms. Our results, together with some previously known ones, shed light on the organization of the complexity hierarchy that exists when dynamic problems are classified according to their incremental complexity with respect to locally persistent algorithms. In particular, these results separate the classes of polynomially bounded problems, inherently exponentially bounded problems, and unbounded problems.

[1]  Roger Hoover Incremental Graph Evaluation , 1987 .

[2]  Hans Rohnert,et al.  A Dynamization of the All Pairs Least Cost Path Problem , 1985, STACS.

[3]  Barbara G. Ryder,et al.  Data-flow analysis and incremental iteration , 1989 .

[4]  Barbara G. Ryder,et al.  Profiling an Incremental Data Flow Analysis Algorithm , 1990, IEEE Trans. Software Eng..

[5]  Robert E. Tarjan,et al.  Data structures and network algorithms , 1983, CBMS-NSF regional conference series in applied mathematics.

[6]  Grant Arthur Cheston Incremental algorithms in graph theory. , 1976 .

[7]  Peter S Loubai A NETWORK EVALUATION PROCEDURE , 1967 .

[8]  Philip M. Morse,et al.  Methods of Operations Research , 1952 .

[9]  Thomas W. Reps Optimal-time incremental semantic analysis for syntax-directed editors , 1982, POPL '82.

[10]  Dashing Yeh On incremental evaluation of ordered attributed grammars , 1983, BIT Comput. Sci. Sect..

[11]  Barry K. Rosen Linear cost is sometimes quadratic , 1981, POPL '81.

[12]  Alberto L. Sangiovanni-Vincentelli,et al.  A new shortest path updating algorithm , 1978, Networks.

[13]  John David Murchland,et al.  A fixed matrix method for all shortest distances in a directed graph and for the inverse problem , 1970 .

[14]  F. Kenneth Zadeck,et al.  Incremental data flow analysis in a structured program editor , 1984, SIGPLAN '84.

[15]  Robert E. Tarjan,et al.  Relaxed heaps: an alternative to Fibonacci heaps with applications to parallel computation , 1988, CACM.

[16]  Thomas W. Reps,et al.  Incremental evaluation for attribute grammars with unrestricted movement between tree modifications , 1988, Acta Informatica.

[17]  John H. Reif A Topological Approach to Dynamic Graph Connectivity , 1987, Inf. Process. Lett..

[18]  Giuseppe F. Italiano,et al.  Incremental algorithms for minimal length paths , 1991, SODA '90.

[19]  Robert Paige,et al.  Binding performance at language design time , 1987, POPL '87.

[20]  Saharon Shelah,et al.  Time Polynomial in Input or Output , 1989, J. Symb. Log..

[21]  Barbara G. Ryder,et al.  An efficient hybrid algorithm for incremental data flow analysis , 1989, POPL '90.

[22]  V. V. Rodionov The parametric problem of shortest distances , 1968 .

[23]  Barbara G. Ryder,et al.  Data flow update via dominator and attribute updates , 1988 .

[24]  Shimon Even,et al.  An On-Line Edge-Deletion Problem , 1981, JACM.

[25]  Alan K. Halder The Method of Competing Links , 1970 .

[26]  Chih-Chung Lin,et al.  On the dynamic shortest path problem , 1991 .

[27]  Barbara G. Ryder,et al.  Incremental data-flow analysis algorithms , 1988, TOPL.

[28]  Thomas W. Reps,et al.  Remote attribute updating for language-based editors , 1986, POPL '86.

[29]  René Dionne Etude Et Extension D’Un Algorithme De Murghland , 1978 .

[30]  Richard M. Karp,et al.  Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems , 1972, Combinatorial Optimization.

[31]  Grant Cheston,et al.  Graph Property Update Algorithms and Their Appligation to Distance Matrices , 1982 .

[32]  Robert Paige,et al.  Language Polynomial in the Input Plus Output , 1991, AMAST.

[33]  Bowen Alpern,et al.  Incremental evaluation of computational circuits , 1990, SODA '90.

[34]  P. Gács,et al.  Algorithms , 1992 .

[35]  Shimon Even,et al.  Updating distances in dynamic graphs , 1985 .

[36]  Thomas W. Reps,et al.  Incremental Context-Dependent Analysis for Language-Based Editors , 1983, TOPL.

[37]  G. Ramalingam Bounded Incremental Computation , 1996, Lecture Notes in Computer Science.

[38]  Thomas Reps,et al.  The Synthesizer Generator: A System for Constructing Language-Based Editors , 1988 .

[39]  Thomas W. Reps,et al.  Generating Language-Based Environments , 1982 .

[40]  A. Pan,et al.  On Finding and Updating Spanning Trees and Shortest Paths , 1975, SIAM J. Comput..