Parallel algorithms for the transitive closure and the connected component problems

  • Authors:
  • D. S. Hirschberg

  • Affiliations:
  • -

  • Venue:
  • STOC '76 Proceedings of the eighth annual ACM symposium on Theory of computing
  • Year:
  • 1976

Quantified Score

Hi-index 0.04

Visualization

Abstract

Parallel programs are presented that determine the transitive closure of a matrix using n3 processors and connected components of an undirected graph using n2 processors. In both cases, the desired results are obtained in time 0(log2n). It is assumed that the processors have access to common memory. Simultaneous access to the same location is permitted for fetch, but not store, instructions. The problem of determining the connected components of a graph using a parallel computer has recently appeared in the literature [1,2]. The result in [1] is based on finding the transitive closure of a matrix in time 0(log2n) which can be done using 0(n3) processors. We show that n2 processors are sufficient to solve the connected component problem in time 0(log2n). We present algorithm CLOSURE that will find the transitive closure of Boolean matrix M [n by n] using n3 processors [numbered P(0,0,0) through P(n−1 ,n−1, n−1)] each of which has local memory and each of which can access common array A [n by n].