Dyn-FO: A Parallel, Dynamic Complexity Class

Traditionally, computational complexity has considered only static problems. Classical Complexity Classes such as NC, P, NP, and PSPACE are defined in terms of the complexity of checking—upon presentation of an entire input—whether the input satisfies a certain property. For many, if not most, applications of computers including: databases, text editors, program development, it is more appropriate to model the process as a dynamic one. There is a fairly large object being worked on over a period of time. The object is repeatedly modified by users and computations are performed. Thus a dynamic algorithm for a certain class of queries is one that can maintain an input object, e.g. a database, and process changes to the database as well as answering queries about the current database. Here, we introduce the complexity class, Dynamic First-Order Logic (Dyn-FO). This is the class of properties S, for which there is an algorithm that can perform inserts, deletes and queries from S, such that each unit insert, delete, or query is first-order computable. This corresponds to the sets of properties that can be maintained and queried in first-order logic, i.e. relational calculus, on a relational database. We investigate the complexity class Dyn-FO. We show that many interesting properties are in Dyn-FO including, among others, graph connectivity, k-edge connectivity, and the computation of minimum spanning trees. Furthermore, we show that several NP complete optimization problems admit approximation algorithms in Dyn-FO. Note that none of these problems is in static FO, and this fact has been used to justify increasing the power of query languages beyond first-order. It is thus striking that these problems are indeed dynamic first-order, and thus, were computable in first-order database languages all along. We also define “bounded expansion reductions” which honor dynamic complexity classes. We prove that certain standard complete problems for static complexity classes, such as AGAP for P remain complete via these new reductions. On the other hand, we prove that other such problems including GAP for NL and 1GAP for L are no longer complete via bounded expansion reductions. Furthermore, we show that a version of AGAP called AGAP+ is not in Dyn-FO unless all of P is contained in parallel linear time. Our results shed light on some of the interesting differences between static and dynamic complexity.

[1]  Moshe Y. Vardi The complexity of relational query languages (Extended Abstract) , 1982, STOC '82.

[2]  Greg N. Frederickson,et al.  Ambivalent data structures for dynamic 2-edge-connectivity and k smallest spanning trees , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[3]  Håkan Jakobsson,et al.  On Materializing Views and On-Line Queries , 1992, ICDT.

[4]  Mihalis Yannakakis,et al.  Optimization, approximation, and complexity classes , 1991, STOC '88.

[5]  Neil Immerman,et al.  Languages that Capture Complexity Classes , 1987, SIAM J. Comput..

[6]  Jeffrey D. Ullman,et al.  Principles Of Database And Knowledge-Base Systems , 1979 .

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

[8]  Yuri Gurevich,et al.  Algebras of feasible functions , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[9]  Liz Sonenberg,et al.  Integrity Constraint Checking in Stratified Databases , 1987, J. Log. Program..

[10]  Neil Immerman,et al.  Descriptive and Computational Complexity , 1989, FCT.

[11]  Neil Immerman,et al.  An optimal lower bound on the number of variables for graph identification , 1989, 30th Annual Symposium on Foundations of Computer Science.

[12]  Guozhu Dong,et al.  Incremental Evaluation of Datalog Queries , 1992, ICDT.

[13]  Jianwen Su,et al.  Incremental and Decremental Evaluation of Transitive Closure by First-Order Queries , 1995, Inf. Comput..

[14]  R. Tamassia,et al.  Dynamic expression trees and their applications , 1991, SODA '91.

[15]  Bowen Alpern,et al.  Uniform memory hierarchies , 1990, Proceedings [1990] 31st Annual Symposium on Foundations of Computer Science.

[16]  Jeffrey Scott Vitter,et al.  A Complexity Theoretic Approach to Incremental Computation , 1993, STACS.

[17]  David Harel,et al.  Structure and complexity of relational queries , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

[18]  M. Rauch,et al.  Fully dynamic biconnectivity in graphs , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[19]  V. S. Subrahmanian,et al.  Maintaining views incrementally , 1993, SIGMOD Conference.

[20]  Peter Bro Miltersen,et al.  Complexity Models for Incremental Computation , 1994, Theor. Comput. Sci..

[21]  David Eppstein,et al.  Sparsification-a technique for speeding up dynamic graph algorithms , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[22]  Neil Immerman,et al.  The Complexity of Iterated Multiplication , 1995, Inf. Comput..

[23]  James C. Corbett,et al.  On the Relative Complexity of Some Languages in NC , 1989, Inf. Process. Lett..