Dynamic Transitive Closure via Dynamic Matrix Inverse (Extended Abstract)

  • Authors:
  • Piotr Sankowski

  • Affiliations:
  • Warsaw University

  • Venue:
  • FOCS '04 Proceedings of the 45th Annual IEEE Symposium on Foundations of Computer Science
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

We consider dynamic evaluation of algebraic functions such as computing determinant, matrix adjoint, matrix inverse and solving linear system of equations. We show that in the dynamic setup the above problems can be solved faster than evaluating everything from scratch. In the case when rows and columns of the matrix can change we show an algorithm that achieves O(n虏) arithmetic operations per update and O(1) arithmetic operations per query. Next, we describe two algorithms, with different tradeoffs, for updating the inverse and determinant when single entries of the matrix are changed. The fastest update for the first tradeoff is 0(n^{1.575} ) arithmetic operations per update and O(n^{0.575} ) arithmetic operations per query. The second tradeoff gives O(n^{1.495} ) arithmetic operations per update and O(n^{1.495} ) arithmetic operations per query. We also consider the case when some number of columns or rows can change. We use dynamic determinant computations to solve the following problems in the dynamic setup: computing the number of spanning trees in a graph and testing if an edge in a graph is contained in some perfect matching. These are the first dynamic algorithms for these problems. Next, with the use of dynamic matrix inverse, we solve fully dynamic transitive closure in general directed graphs. The bounds on arithmetic operations for dynamic matrix inverse translate directly to time bounds for dynamic transitive closure. Thus we obtain the first known algorithm with O(n虏) worstcase update time and constant query time and two algorithms for transitive closure in general digraphs with subquadratic update and query times. Our algorithms for transitive closure are randomized with one-sided error. We also consider for the first time the case when the edges incident with a part of vertices of the graph can be changed.