TY - GEN
T1 - Efficient parallel algorithms for testing connectivity and finding disjoint s-t paths in graphs
AU - Khuller, Samir
AU - Schieber, Baruch
PY - 1989
Y1 - 1989
N2 - An efficient parallel algorithm for testing whether a graph G is k-vertex connected, for any fixed k, is presented. The algorithm runs in O(log n) time and uses nC(n, m) processors on a concurrent-read, concurrent-write parallel random-access machine (CRCW PRAM), where n and m are the number of vertices and edges of G and C(n, m) is the number of processors required to compute the connected components of G in logarithmic time. An optimal speedup algorithm for computing connected components would induce an optimal speedup algorithm for testing k-vertex connectivity, for any k > 4. To develop the algorithm, an efficient parallel algorithm is designed for the following disjoint s-t paths problem: Given a graph G and two specified vertices s and t, find k-vertex disjoint paths between s and t, if they exist. If no such paths exist, find a set of at most k - 1 vertices whose removal disconnects s and t. The parallel algorithm for this problem runs in O(log n) time using C(n, m) processors. It is shown how to modify the algorithm to find k-edge disjoint paths, if they exist. This yields an efficient parallel algorithm for testing whether a graph G is k-edge connected, for any fixed k. The algorithm runs in O(log n) time and uses nC (n, n) processors on a CRCW PRAM. Again, an optimal speedup algorithm for computing connected components would induce an optimal speedup algorithm for testing k-edge connectivity. Further applications of the disjoint s-t paths algorithm are described.
AB - An efficient parallel algorithm for testing whether a graph G is k-vertex connected, for any fixed k, is presented. The algorithm runs in O(log n) time and uses nC(n, m) processors on a concurrent-read, concurrent-write parallel random-access machine (CRCW PRAM), where n and m are the number of vertices and edges of G and C(n, m) is the number of processors required to compute the connected components of G in logarithmic time. An optimal speedup algorithm for computing connected components would induce an optimal speedup algorithm for testing k-vertex connectivity, for any k > 4. To develop the algorithm, an efficient parallel algorithm is designed for the following disjoint s-t paths problem: Given a graph G and two specified vertices s and t, find k-vertex disjoint paths between s and t, if they exist. If no such paths exist, find a set of at most k - 1 vertices whose removal disconnects s and t. The parallel algorithm for this problem runs in O(log n) time using C(n, m) processors. It is shown how to modify the algorithm to find k-edge disjoint paths, if they exist. This yields an efficient parallel algorithm for testing whether a graph G is k-edge connected, for any fixed k. The algorithm runs in O(log n) time and uses nC (n, n) processors on a CRCW PRAM. Again, an optimal speedup algorithm for computing connected components would induce an optimal speedup algorithm for testing k-edge connectivity. Further applications of the disjoint s-t paths algorithm are described.
UR - http://www.scopus.com/inward/record.url?scp=0024766682&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0024766682&partnerID=8YFLogxK
U2 - 10.1109/sfcs.1989.63492
DO - 10.1109/sfcs.1989.63492
M3 - Conference contribution
AN - SCOPUS:0024766682
SN - 0818619821
SN - 9780818619823
T3 - Annual Symposium on Foundations of Computer Science (Proceedings)
SP - 288
EP - 293
BT - Annual Symposium on Foundations of Computer Science (Proceedings)
PB - Publ by IEEE
T2 - 30th Annual Symposium on Foundations of Computer Science
Y2 - 30 October 1989 through 1 November 1989
ER -