Efficient parallel algorithms for chordal graphs

P.N. Klein
1988 [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science  
We give the first efficient parallel algorithms for recognizing chordal graphs, finding a maximum clique and a maximum independent set in a chordal graph, finding an optimal coloring of a chordal graph, finding a breadth-first search tree and a depth-first search tree of a chordal graph, recognizing interval graphs, and testing interval graphs for isomorphism. The key to our results is an efficient parallel algorithm for finding a perfect elimination ordering. The isomorphism algorithm requires
more » ... the CRCW PRAM to be of type "priority" (highernumbered processors win in case of write conflicts). It makes use of an efficient parallel algorithm for tree isomorphism. 1.2. Other parallel algorithms. In a previous work, Naor, Naor, and Schiffer [34] gave parallel algorithms for chordal-graph problems 1-4. Their algorithm for problem 1 used O(n2m) processors. They also gave an algorithm for problem 2 that required O(n5+) processors to achieve O(log 2 n) time and O(n4) processors to achieve O(log n) time. They showed how, subsequent to the solution of problem 2, problems 3 and 4 could be solved in O (log 2 n) additional time using O (n2) processors. Thus they identified problem 2 as a bottleneck in analyzing chordal graphs. Subsequent research (independent of and concurrent with our work) by Dahlhaus and Karpinski [12], [13] and Ho and Lee [24] reduced the processor bound for problem 2 to O(n4) and O(n3), respectively; because of the algorithms of [34], these processor bounds then apply also to problems 3 and 4. The algorithm of Ho and Lee required only O (log n) time. A parallel algorithm for finding a depth-first search tree in an arbitrary graph was given by Aggarwal and Anderson [2] . Their algorithm is randomized and uses O(nM(n)) processors. A parallel algorithm for breadth-first search in an arbitrary graph that uses M(n) processors was given by Gazit and Miller [20] that uses M(n) processors. Depth-first and breadth-first algorithms specifically for chordal graphs have not previously appeared in the literature. To our knowledge, no previous NC algorithm was known for interval-graph isomorphism. Recognition of interval graphs was previously shown to be in NC by Kozen, Vazirani, and Vazirani [30], but no specific time or processor bound was given. Novick [37] has given an O(log n)-time, n3-processor CRCW algorithm for recognizing interval graphs. He has also claimed [36] an algorithm with the same bounds for constructing a PQ-tree representing a given interval graph. He observed [35] that this latter task is the first step in Lueker and Booth's interval-graph isomorphism algorithm and suggested that the remaining steps might be parallelizable. Savage and Wloka [41 have given an efficient parallel algorithm for optimum coloring of interval graphs. Their algorithm takes O (log n) time using n processors of an exclusive-read exclusive-write (EREW) PRAM, assuming that the interval representation of the graph has been provided. 1.3. Background. The key to our algorithmic results is our use of the perfect elimination ordering (PEO) of a graph, a node ordering that exists if and only if the graph is chordal. Fulkerson and Gross [17] discovered the PEO and used it to find all the maximal cliques of a chordal graph. Rose [39] has related the PEO to the process of Gaussian elimination in a sparse symmetric positive definite linear system. Rose, Tarjan, and Lueker [40] gave a linear-time algorithm for finding a PEO in a chordal graph using the notion of lexicographic breadth-first search. This yields a linear-time sequential algorithm for recognizing chordal graphs (problem 1). Once a PEO for a graph is known, algorithms due to Gavril [18] for problems 2-4 can be implemented in linear time. Thus the PEO has emerged as the key technique in sequential algorithms for chordal graphs, and its study has yielded important algorithmic ideas in the sequential realm. Researchers in parallel algorithms, however, have largely abandoned use of the PEO-largely because finding a PEO in parallel seemed so difficult. The existence of an NC algorithm for finding a PEO algorithm was left open by Edenbrandt [15], [16] and by Chandrasekharan Here M(n) denotes the time required to multiply two n x n matrices. The best bound known, due to Coppersmith and Winograd [11] , is O(n2376).
doi:10.1109/sfcs.1988.21933 dblp:conf/focs/Klein88 fatcat:cdmk6ju75rbdfbxfcymexdrgwy